Differences between revisions 4 and 54 (spanning 50 versions)
Revision 4 as of 2011-04-02 01:14:22
Size: 8121
Editor: SamatJain
Comment:
Revision 54 as of 2011-09-22 07:58:37
Size: 7622
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Why I use Firefox 4 Mobile, & Other Thoughts = = Upload multiple photos to Meetup without Flash =
Line 4: Line 4:
Earlier this week, [Mozilla released Firefox 4 Mobile][ff4mobilerelease] (née Fennec) for both Android and Maemo. Do you use [Meetup][meetup] and upload multiple photos regularly, but hate doing it?
Line 6: Line 6:
  [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/ Meetup does multiple-photo upload with an Adobe Flash applet, but as you expect of Flash it's not particularly reliable or stable. HTML5 includes a multiple-file upload control supported by the latest Web browsers, so there no longer a reason to put up with Flash's nonsense. Unfortunately, despite my [posting a wishlist item][wishlist] (please vote!), Meetup has done nothing.
Line 8: Line 8:
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 since I started using Firefox 4 Mobile. It really is that much better! Here are my thoughts (focused on the Android version) on why—which, mostly, is a treatise on how much Google is dropping the ball on Android's built-in browser. So, I did it myself: if you use Chrome or Greasemonkey/Scriptish for Firefox, install this user script: [Meetup: HTML5 multiple-file upload for photos][us].
Line 10: Line 10:
## Sync ## Once installed:
Line 12: Line 12:
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. 1. Go to the "Old Upload Form" for your Meetup group or album. This can be tricky to get to, but the URL looks like: http://www.meetup.com/GROUPNAME/photos/upload/
2. Make sure you've selected the right album.
3. You should only see one file upload widget (the "Old Upload Form", before this script, had 10).
4. Click it, and you'll notice you can select multiple photos you want to upload. Go ahead and do so.
5. After you're done selecting and dismiss the widget, the page will now tell you which photos you'll be uploading.
6. Click upload to start uploading photos.
Line 14: Line 19:
  [sync]: http://www.firefox.com/sync Enjoy uploading your photos without Flash's crashing, errors, or mayhem!
Line 16: Line 21:
It's a *complete* pain to type user names and passwords on mobile keyboards, exacerbated by the fact I personally 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. A note: if you use Firefox, you won't be able to know how much you've uploaded (unlike Chrome, Firefox has no built-in upload progress meter). Try the [Upload Progress add-on][upload-progress] to keep tabs on your uploads.
Line 18: Line 23:
I use the web a lot (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).   [meetup]: http://www.meetup.com
  [wishlist]: http://meetup.uservoice.com/forums/37079-ideas-and-suggestions-for-meetup/suggestions/2073055-multiple-file-upload-via-html5?ref=title
  [us]: http://userscripts.org/scripts/show/111278
  [upload-progress]: https://addons.mozilla.org/en-US/firefox/addon/uploadprogress/
}}}
Line 20: Line 29:
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 the URLs and page titles of pages I've visited, just like it does on the desktop. = A JSON proxy for the OpenStreetMap API =
Line 22: Line 31:
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. [[http://gis.638310.n2.nabble.com/JSON-output-for-xapi-td6483673.html|Developer Discussion - JSON-output for xapi]]
Line 24: Line 33:
  [autonomous]: http://autonomo.us/2008/07/franklin-street-statement/
  [syncserver]: http://hg.mozilla.org/services/minimal-server/
= Multiprocess in modern browsers =
Line 27: Line 35:
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. == Internet Explorer ==
Line 29: Line 37:
## HTML5 ## First multi-process browser? MSIE4?
Line 31: Line 39:
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. == WebKit ==
Line 33: Line 41:
  [newt]: http://www.brucelawson.co.uk/2010/meet-newt-new-exciting-web-technologies/  * 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 35: Line 44:
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. == Firefox ==
Line 37: Line 46:
There's support for SVG, only [recently supported in Android 3.0][androidsvg].  * http://timtaubert.de/2011/08/firefox-electrolysis-101-part-1/
Line 39: Line 48:
  [androidsvg]: http://code.google.com/p/android/issues/detail?id=1376 = Getting through Python 2's Unicode problems =
Line 41: Line 50:
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.  * [[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
Line 43: Line 54:
  [notifications]: https://developer.mozilla.org/en/DOM/Displaying_notifications = Color on the Console =
Line 45: Line 56:
The iPhone has had multi-touch Javascript events (think pinch-to-zoom, essential for mapping widgets) for quite a while, while such events have been [missing from Android from its inception][androidmt]. 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). dstat
grep
htop
pydf
Line 47: Line 61:
  [androidmt]: http://code.google.com/p/android/issues/detail?id=11909
  [ffmt]: http://hacks.mozilla.org/2010/08/firefox4-beta3/
= Movie Review: Michael Madsen's Into Eternity =
Line 50: Line 63:
{{{#!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 51: Line 66:
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.   [ie]: http://www.intoeternitythemovie.com/
  [snf]: http://en.wikipedia.org/wiki/Spent_nuclear_fuel
  [onkalo]: http://en.wikipedia.org/wiki/Onkalo
Line 53: Line 70:
  [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
The movie skimps on technical details, some of which I will talk about here.
Line 57: Line 72:
[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]! 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.
Line 59: Line 74:
  [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
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
Line 65: Line 76:
On to other thoughts… 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.
Line 67: Line 78:
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.   [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
Line 69: Line 82:
  [longestmsname]: http://blogs.msdn.com/b/jonathanh/archive/2005/08/05/what-s-the-longest-microsoft-product-name.aspx 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.
Line 71: Line 84:
}}}

= 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

Upload multiple photos to Meetup without Flash

Do you use Meetup and upload multiple photos regularly, but hate doing it?

Meetup does multiple-photo upload with an Adobe Flash applet, but as you expect of Flash it's not particularly reliable or stable. HTML5 includes a multiple-file upload control supported by the latest Web browsers, so there no longer a reason to put up with Flash's nonsense. Unfortunately, despite my posting a wishlist item (please vote!), Meetup has done nothing.

So, I did it myself: if you use Chrome or Greasemonkey/Scriptish for Firefox, install this user script: Meetup: HTML5 multiple-file upload for photos.

Once installed:

  1. Go to the "Old Upload Form" for your Meetup group or album. This can be tricky to get to, but the URL looks like: http://www.meetup.com/GROUPNAME/photos/upload/
  2. Make sure you've selected the right album.
  3. You should only see one file upload widget (the "Old Upload Form", before this script, had 10).
  4. Click it, and you'll notice you can select multiple photos you want to upload. Go ahead and do so.
  5. After you're done selecting and dismiss the widget, the page will now tell you which photos you'll be uploading.
  6. Click upload to start uploading photos.

Enjoy uploading your photos without Flash's crashing, errors, or mayhem!

A note: if you use Firefox, you won't be able to know how much you've uploaded (unlike Chrome, Firefox has no built-in upload progress meter). Try the Upload Progress add-on to keep tabs on your uploads.

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

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)