Differences between revisions 9 and 66 (spanning 57 versions)
Revision 9 as of 2011-04-05 23:23:18
Size: 10972
Editor: SamatJain
Comment:
Revision 66 as of 2012-08-21 10:31:42
Size: 9268
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= More file descriptors for Transmission on Linux = = An Albuquerque Code 66 2012 debrief =
Line 5: Line 5:
Have you run out of file descriptors for [Transmission][transmission]? The torrent will be stopped (for no apparent reason), and when you examine it: A couple weeks ago, I participated in Albuquerque's Code 66 Hackathon.
Line 7: Line 7:
  [transmission]: http://www.transmissionbt.com/ [What's a hackathon?][hackathon] My one sentence definition: a weekend where the goal is to go from idea to demoable product (usually a <abbr title="Minimum Viable Product">MVP</abbr>, but not exactly) as quickly as possible.
Line 9: Line 9:
<code>
$ transmission-remote -t 1 -i | grep -i descriptor
</code>
One of the progressive civic movements in the past decade is that of civic open data. That is, data about your city & government should be freely accessible for use by citizens, who are free to do. After all, it is citizen tax dollars that pay for it!
Line 13: Line 11:
Time to increase the number of file descriptors available. This article is tailored towards Debian and Ubuntu. This June, the city of Albuquerque was one the latest cities in the country to start its open data initiative (Dear Las Cruces, Ruidoso, Roswell, El Paso, et al—what exactly are all of you doing?), and they've [published several open data sets][abqdata].
Line 15: Line 13:
It's unlikely you'll need to raise your system's global limit. Check with: Oh, and if you figure out a creative way to use this data, Albuquerque has a [$30,000 apps challenge][abq-apps] with, as you might have guessed, a $30,000 grand prize!
 
  [hackathon]: https://en.wikipedia.org/wiki/Hackathon
  [abqdata]: http://cabq.gov/abq-data
  [abq-apps]: http://cabq.gov/abq-data/apps-competition
}}}
Line 17: Line 20:
<code>
$ cat /proc/sys/fs/file-max
397460
</code>
= A week with Verizon's HomeFusion =
Line 22: Line 22:
The OS needs a couple thousand file descriptors for itself. Make sure to make space for them with whatever numbers to choose below. In my case, I've more than enough. {{{#!text_markdown
Living in the tree-less high desert, I have [line of sight][los] to two different cellular towers, one to the direct north and one to the south–southeast.
Line 24: Line 25:
But, if you need to, you can; to set it to a million (this will be remembered across reboots):

<code>
sudo sh -c "echo fs.file-max=$(dc -e '2 20 ^ p') > /etc/sysctl.d/file-descriptors-max.conf
sudo service procps restart
</code>

While you may not need to change your system's global limit, you probably will need to change the limit for your users. Check the limit with:

<code>
$ ulimit -Hn
1024
$ ulimit -Sn
1024
</code>

If you're working with hundreds of torrents (each with dozens to hundreds of files) with Transmission, this isn't enough. To let a user have a few thousand (16,384, in fact), create a new file /etc/security/limits.d/debian-transmission.conf:

<code>
sudo sh -c "echo debian-transmission soft nofile $(dc -e '2 14 ^ p') > /etc/security/limits.d/debian-transmission.conf
sudo sh -c "echo debian-transmission hard nofile $(dc -e '2 14 ^ 2 7 ^ + p') >> /etc/security/limits.d/debian-transmission.conf
</code>

Replace "debian-transmission" with the user that is running Transmission.

For the changes to go into effect, you need to logout completely, and log back in again. Reboot to make sure they get applied. You'll see you have many more file descriptors available:

<code>
$ ulimit -Hn
16512
$ ulimit -Sn
16384
</code>

Now, we need to configure Transmission to use this many. In /etc/transmission-daemon/settings.json, find the open-file-limit option and edit it accordingly (i.e. set it to 16384). When done, restart transmission-daemon

<code>
sudo service transmission-daemon restart
</code>

If you're not running Transmission as a system, user, you'll need to edit the configuration file and restart the daemon appropriately (if you're running Transmission in this fashion, I'll assume you know how to do that).
[los]: http://en.wikipedia.org/wiki/Line-of-sight_propagation
Line 68: Line 29:
= Why I use Firefox 4 Mobile, & Other Thoughts = = Generate entropy for your server =

Discuss ekeyd, haveged, etc

= How many times a week do I use such and search search engine? =

Write post here.

= Backing up your Identi.ca account =
Line 71: Line 40:
Earlier this week, [Mozilla released Firefox 4 Mobile][ff4mobilerelease] (née Fennec) for both Android and Maemo.
Line 73: Line 41:
  [ff4mobilerelease]: http://blog.mozilla.com/blog/2011/03/29/mozilla-launches-firefox-4-for-android-allowing-users-to-take-the-power-and-customization-of-firefox-everywhere-2/ To backup [my Twitter account][twitter], I use [ThinkUp][thinkup], which also happens to backup my now-dormant Facebook account. Take that, corporate data silos!
Line 75: Line 43:
I've had an Android phone since 2008 and honestly, I've never browsed the web on my phone as much as I have in the past few months when I started using Firefox 4 Mobile. It really is that much better! Here are my thoughts (focused on the Android version) on why. Mostly, it's a treatise on how much Google is dropping the ball on Android's built-in browser.   [twitter]: https://www.twitter.com/SamatJain
  [thinkup]: http://thinkupapp.com/
Line 77: Line 46:
## Sync ## Because of the recent (late-2011) downtime on Identi.ca, and with the release of StatusNet 1.0, I figured now was as good a time as any to seriously setting up my own federated µ-blogging instance. With the heavy focus on federation and [autononous Web principles][franklin-street-statement], I always assumed that it'd be both easy & obvious to get data back out of Identi.ca.
Line 79: Line 48:
Firefox 4 Mobile's number 1 killer feature is [Sync][sync], which syncs tabs, logins, browser history, and bookmarks across multiple devices. The most useful of these are logins and browser history.   [franklin-street-statement]: http://autonomo.us/2008/07/franklin-street-statement/
Line 81: Line 50:
  [sync]: http://www.firefox.com/sync One word: meh.
Line 83: Line 52:
It's a *complete* pain to type user names and passwords on mobile keyboards, exacerbated personally since I practice good security and use a different password for each site on the web. Because Firefox Sync makes available on my phone all the passwords I've saved on my desktop, I never need fumble entering or remember anything anymore. Identi.ca has a [backup feature][identica-backup], but it [doesn't work quite right][identica-backup-bug]. For example, I could only fetch dents going back 4 months.
Line 85: Line 54:
I use the web quite a bit (who doesn't?), proof of which is my 15 MiB history file. Sync makes available that same browsing history, everywhere. Having your browser history available to do simple things like coloring visited links purple really makes a difference (e.g., think about looking through apartment listings on Craigslist).   [identica-backup]: http://identi.ca/main/backupaccount
  [identica-backup-bug]: http://status.net/open-source/issues/3296
Line 87: Line 57:
Having history available also powers Firefox 4 Mobile's Awesome Bar. I don't need to remember exact URLs anymore, or rely on a search engine—I can just start typing a keyword and Firefox's Awesome Bar automatically searches URLs and page titles of pages I've visited, just like it does on the desktop. }}}
Line 89: Line 59:
As a freedom-loving, free and libre open source software advocate, another bit about Sync I love is that it is an [autonomous web service][autonomous]. That is, you can [download the server-side component of Sync][syncserver] and run it yourself, should you not trust Mozilla. = Handling times on the Web in Python w/out headaches =
Line 91: Line 61:
  [autonomous]: http://autonomo.us/2008/07/franklin-street-statement/
  [syncserver]: http://hg.mozilla.org/services/minimal-server/
Describe using dateutil, W3C CDTF, etc
Line 94: Line 63:
Google has a Sync-like feature in Android 3.0 for its built-in web browser and Chrome for your desktop, but so far nothing is available for anyone stuck on older versions of Android. It also isn't autonomous—you're locked into trusting Google. {{{#!text_markdown
<abbr title="Comon Date-Time Format">CDTF</abbr> from the <abbr title="World Wide Web Consortium">W3C</abbr>
}}}
Line 96: Line 67:
## HTML5 ## RFC 3339
Line 98: Line 69:
Firefox 4 Mobile has much better HTML5 support, in the sense it supports more [New & Exciting Web Technologies][newt] (<abbr title="New & Exciting Web Technologies">NEWT</abbr>), such as CSS3, SVG, and new Javascript APIs. = Camera at a mountain Webcam on the Web =
Line 100: Line 71:
  [newt]: http://www.brucelawson.co.uk/2010/meet-newt-new-exciting-web-technologies/ = Theming Apache's mod_autoindex =
Line 102: Line 73:
Firefox has dropped vendor-specific prefixes for many CSS3 properties, including box-shadow, text-shadow, etc. All in all, it makes your CSS that much more clean. = Doing WHATEVER URLs the right way w/ jQuery Mobile =
Line 104: Line 75:
There's support for SVG, only [recently supported in Android 3.0][androidsvg]. = A JSON proxy for the OpenStreetMap API =
Line 106: Line 77:
  [androidsvg]: http://code.google.com/p/android/issues/detail?id=1376 [[http://gis.638310.n2.nabble.com/JSON-output-for-xapi-td6483673.html|Developer Discussion - JSON-output for xapi]]
Line 108: Line 79:
There's support for [notifications][notifications] via a proprietary API. Recently landed in Chrome 10, it's still missing (AFAIK?) in Android 3.0, even with 3.0's rich notifications support. = Multiprocess in modern browsers =
Line 110: Line 81:
  [notifications]: https://developer.mozilla.org/en/DOM/Displaying_notifications == Internet Explorer ==
Line 112: Line 83:
The iPhone has had multi-touch Javascript events (think pinch-to-zoom, essential for mapping widgets) since its debut, but such events are still [missing from Android][androidmt] while introduced much later. Firefox 4 Mobile has had [multi-touch support][ffmt] since last year, though, it's slightly different than the WebKit implementation and, IMHO, a bit more difficult to use without built-in gesture handling (i.e. no easy-to-use pinch Javascript event). First multi-process browser? MSIE4?
Line 114: Line 85:
  [androidmt]: http://code.google.com/p/android/issues/detail?id=11909
  [ffmt]: http://hacks.mozilla.org/2010/08/firefox4-beta3/
== WebKit ==
Line 117: Line 87:
## Other stuff  * http://trac.webkit.org/wiki/WebKit2
 * WebKit and WebKit2 from a Qt perspective: http://blog.forwardbias.in/2011/08/on-webkit-and-webkit2.html
Line 119: Line 90:
Firefox 4 Mobile also supports add-ons. While I haven't found the need for any, there are some neat ports, like [Adblock Plus Mobile][adpmobile]. Expect the list of add-ons to grow quickly. == Firefox ==
Line 121: Line 92:
  [adpmobile]: https://addons.mozilla.org/en-US/mobile/addon/adblock-plus/  * http://timtaubert.de/2011/08/firefox-electrolysis-101-part-1/

= Getting through Python 2's Unicode problems =

 * [[http://farmdev.com/talks/unicode/|Unicode In Python, Completely Demystified]]
 * Force Unicode for all strings w/ Python 2.6+: [[http://docs.python.org/py3k/howto/pyporting.html#from-future-import-unicode-literals]]
 * Instead of built-in open, use codecs.open

= Color on the Console =

dstat
grep
htop
pydf
Line 124: Line 108:
When Firefox 4 Mobile was in beta, Mozilla didn't do a very good job alerting people to its high system requirements. However, on release, a [supported platforms and systems requirements page][sysreq] is first and foremost. A summary: you need a phone with at least 512 MiB RAM. The official builds require an ARMv7-generation processor (or more specifically, one that supports [ARM's Thumb instruction set][thumb]), but there are [unsupported builds for older ARMv6 devices][armv6builds] that have enough RAM (e.g. T-Mobile's MyTouch Slide, aka the HTC Espresso). Not to gloat, but Firefox 4 Mobile for Android works great on my T-Mobile G2.
Line 126: Line 109:
  [sysreq]: http://www.mozilla.com/en-US/mobile/platforms/
  [thumb]: http://en.wikipedia.org/wiki/ARM_architecture#Thumb
  [armv6builds]: https://wiki.mozilla.org/Mobile/Platforms/Android#ARMv6_.28experimental.29
== less ==
Line 130: Line 111:
[Go download Firefox 4 Mobile now][download] from Mozilla's landing page if you've not done so already. You can also get it from the [Android Market][market], or, if you don't or can't use the Android Market, get the [latest Firefox 4 Mobile release from Mozilla's FTP site][ftp] instead. Also, if you're playing [Mozilla's Spark][spark], please [tag me][sparktag]!  * [[http://www.reddit.com/r/linux/comments/knxz9/syntax_highlighting_in_less_ive_been_using_less_a/|Syntax highlighting in less - I've been using less a long time... why this has never occurred to me before today? : linux]]
Line 132: Line 113:
  [download]: http://firefox.com/m/
  [market]: https://market.android.com/details?id=org.mozilla.firefox
  [ftp]: http://releases.mozilla.org/pub/mozilla.org/mobile/releases/latest/
  [spark]: https://spark.mozilla.org/
  [sparktag]: https://spark.mozilla.org/en-US/user/tamasrepus?f=t
[[http://superuser.com/questions/385768/less-emulate-a-tty-to-preserve-piped-color-output|bash - less emulate a TTY to preserve piped color output - Super User]]
Line 138: Line 115:
On to other thoughts… = Movie Review: Michael Madsen's Into Eternity =
Line 140: Line 117:
Firefox 4 Mobile's previous name was Fennec 2.0, a name I much prefer. But somewhere along the way, Mozilla decided to take a page from Microsoft's marketing playbook—home of atrocities like Microsoft Windows Live Mesh and [Microsoft Windows Server Base Operating Systems Management Pack for Microsoft Operations Manager 2005][longestmsname]. What makes it worse is disambiguating Firefox 4 Mobile for Android and Firefox 4 Mobile for Maemo means you're using 5 words for a product title. {{{#!text_markdown
With Chernobyl's 25th anniversary a few weeks past (ignored, for the most part, by Western media), and the Fukushima nuclear disaster fresh in everyone's minds, now is as good a time as any think about nuclear energy's role in our civilization. [Into Eternity][ie], a Finnish documentary released in 2010, takes a very unique look at the nuclear power industry, one not typically thought about. Rather than nuclear proliferation or the plants themselves, it focuses on the geologic storage of [spent nuclear fuel][snf] (aka <abbr title="Spent Nuclear Fuel">SNF</abbr>), in particular, [Finland's Onkalo repository][onkalo].
Line 142: Line 120:
  [longestmsname]: http://blogs.msdn.com/b/jonathanh/archive/2005/08/05/what-s-the-longest-microsoft-product-name.aspx   [ie]: http://www.intoeternitythemovie.com/
  [snf]: http://en.wikipedia.org/wiki/Spent_nuclear_fuel
  [onkalo]: http://en.wikipedia.org/wiki/Onkalo
Line 144: Line 124:
The movie skimps on technical details, some of which I will talk about here.

Nuclear waste can be divided into two levels: high-level and low-level. Low-level nuclear wastes include things such as clothing, plant construction materials (e.g. concrete) and machinery that have come in contact with anything nuclear.

High-level nuclear wastes include spent nuclear fuel and chemicals used to process and create nuclear fuel. The movie focuses on spent nuclear fuel, which in most nuclear power plants are things called fuel rods. Fuel rods

At the moment, the US does not have a storage plan for spent nuclear fuel. There is one geologic storage site, the [Waste Isolation Pilot Plant][wipp] in southeastern New Mexico, but the site is relatively small and destined for storing the generation I nuclear wastes of America's nuclear weapons programs, not that of commercial reactors. A larger site, [Yucca Mountain][ym], well isolated in the [Nevada Test Range][nts] (where nuclear weapons were tested for decades, and much contamination remains), was shelved in 2010 by the Obama administration, leaving America's nuclear energy industry without secure storage for its spent nuclear fuel.

  [wipp]: http://en.wikipedia.org/wiki/WIPP
  [ym]: http://en.wikipedia.org/wiki/Yucca_Mountain_nuclear_waste_repository
  [nts]: http://en.wikipedia.org/wiki/Nevada_Test_Site

Much of the topics <i>Into Eternity</i> touches, such as communicating the dangers of nuclear wastes stored at sites via markers and monuments, has similarly been discussed for the US' Waste Isolation Pilot Plant.

}}}

= Drupal 7 upgrade post-mortem =

{{{#!text_markdown
This weekend, I upgraded [Samat Says][samatsays] (this blog, in case you missed the memo) to [Drupal 7][d7].

  [samatsays]: http://blog.samat.org/
  [d7]: http://drupal.org/drupal-7.0

For my Drupal 4.6/4.7-based site, I had created my own theme, [Sands][sands]. Lack of time prevented me from porting Sands to Drupal 5 or 6, and it's unlikely it will be ported forward. I'm probably going to recreate it with one Drupal 7's many starter themes, however.

  [sands]: http://wiki.samat.org/Sands

An Albuquerque Code 66 2012 debrief

A couple weeks ago, I participated in Albuquerque's Code 66 Hackathon.

What's a hackathon? My one sentence definition: a weekend where the goal is to go from idea to demoable product (usually a MVP, but not exactly) as quickly as possible.

One of the progressive civic movements in the past decade is that of civic open data. That is, data about your city & government should be freely accessible for use by citizens, who are free to do. After all, it is citizen tax dollars that pay for it!

This June, the city of Albuquerque was one the latest cities in the country to start its open data initiative (Dear Las Cruces, Ruidoso, Roswell, El Paso, et al—what exactly are all of you doing?), and they've published several open data sets.

Oh, and if you figure out a creative way to use this data, Albuquerque has a $30,000 apps challenge with, as you might have guessed, a $30,000 grand prize!

A week with Verizon's HomeFusion

Living in the tree-less high desert, I have line of sight to two different cellular towers, one to the direct north and one to the south–southeast.

Generate entropy for your server

Discuss ekeyd, haveged, etc

How many times a week do I use such and search search engine?

Write post here.

Backing up your Identi.ca account

To backup my Twitter account, I use ThinkUp, which also happens to backup my now-dormant Facebook account. Take that, corporate data silos!

Because of the recent (late-2011) downtime on Identi.ca, and with the release of StatusNet 1.0, I figured now was as good a time as any to seriously setting up my own federated µ-blogging instance. With the heavy focus on federation and autononous Web principles, I always assumed that it'd be both easy & obvious to get data back out of Identi.ca.

One word: meh.

Identi.ca has a backup feature, but it doesn't work quite right. For example, I could only fetch dents going back 4 months.

Handling times on the Web in Python w/out headaches

Describe using dateutil, W3C CDTF, etc

CDTF from the W3C

RFC 3339

Camera at a mountain Webcam on the Web

Theming Apache's mod_autoindex

Doing WHATEVER URLs the right way w/ jQuery Mobile

A JSON proxy for the OpenStreetMap API

Developer Discussion - JSON-output for xapi

Multiprocess in modern browsers

Internet Explorer

First multi-process browser? MSIE4?

WebKit

Firefox

Getting through Python 2's Unicode problems

Color on the Console

dstat grep htop pydf

less

bash - less emulate a TTY to preserve piped color output - Super User

Movie Review: Michael Madsen's Into Eternity

With Chernobyl's 25th anniversary a few weeks past (ignored, for the most part, by Western media), and the Fukushima nuclear disaster fresh in everyone's minds, now is as good a time as any think about nuclear energy's role in our civilization. Into Eternity, a Finnish documentary released in 2010, takes a very unique look at the nuclear power industry, one not typically thought about. Rather than nuclear proliferation or the plants themselves, it focuses on the geologic storage of spent nuclear fuel (aka SNF), in particular, Finland's Onkalo repository.

The movie skimps on technical details, some of which I will talk about here.

Nuclear waste can be divided into two levels: high-level and low-level. Low-level nuclear wastes include things such as clothing, plant construction materials (e.g. concrete) and machinery that have come in contact with anything nuclear.

High-level nuclear wastes include spent nuclear fuel and chemicals used to process and create nuclear fuel. The movie focuses on spent nuclear fuel, which in most nuclear power plants are things called fuel rods. Fuel rods

At the moment, the US does not have a storage plan for spent nuclear fuel. There is one geologic storage site, the Waste Isolation Pilot Plant in southeastern New Mexico, but the site is relatively small and destined for storing the generation I nuclear wastes of America's nuclear weapons programs, not that of commercial reactors. A larger site, Yucca Mountain, well isolated in the Nevada Test Range (where nuclear weapons were tested for decades, and much contamination remains), was shelved in 2010 by the Obama administration, leaving America's nuclear energy industry without secure storage for its spent nuclear fuel.

Much of the topics Into Eternity touches, such as communicating the dangers of nuclear wastes stored at sites via markers and monuments, has similarly been discussed for the US' Waste Isolation Pilot Plant.

Drupal 7 upgrade post-mortem

This weekend, I upgraded Samat Says (this blog, in case you missed the memo) to Drupal 7.

For my Drupal 4.6/4.7-based site, I had created my own theme, Sands. Lack of time prevented me from porting Sands to Drupal 5 or 6, and it's unlikely it will be ported forward. I'm probably going to recreate it with one Drupal 7's many starter themes, however.

Patient care in the ICU in terms of vectors and topological spaces

Biomedical Informatics, Medicine

A few weeks ago, Timothy G. Buchman gave a talk at the Columbia DBMI weekly research seminar. During the QA session, someone asked why patients in intensive care units (ICUs) were given such “extreme” treatments, often causing them to develop new health problems and complications, keeping them in the hospital. He replied with this wonderful mathematical metaphor about patient care.

You are a point in an n-dimensional space. Each dimension is some vital sign or homeostatic attribute, e.g. blood pressure, blood glucose, temperature, etc. Homeostasis is defined a polytope in that space. As you do the various things of life, your point moves within the space defined by that polytope. For example, when you eat, your blood sugar goes up, and the point moves along in the blood sugar dimension; when you take a cold shower, your body temperature is reduced, and you move along in that dimension. Young people have a large space inside their homeostatic polytope

When you leave this homeostatic polytope, you're considered “sick.” If you travel to far from it, you die.

People who enter the ICU have points that are moving away from their homeostatic polytope. Their movement away can be represented as a vector, representing how quickly their condition is deteriorating.

Treatments in the ICU represent vectors that try to point you back towards your homeostatic polytope.


SamatsWiki: DraftBlogs (last edited 2016-08-19 22:04:14 by SamatJain)