Differences between revisions 30 and 47 (spanning 17 versions)
Revision 30 as of 2011-05-31 20:05:50
Size: 16808
Editor: SamatJain
Comment:
Revision 47 as of 2011-08-11 07:22:19
Size: 5284
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Following Mozilla Firefox's New Development Channels with Ubuntu = = Multiprocess in modern browsers =
Line 3: Line 3:
{{{#!text_markdown  * http://trac.webkit.org/wiki/WebKit2
Line 5: Line 5:
Shortly after Firefox 4's release, Mozilla announced the [move to a channel development model][channel-announcement], à la Chrome. On Windows and Mac, builds from these channels update themselves; what about on Linux, where both self-updating software and software outside management of the package manager (i.e. manually installed) is taboo? Firefox:
Line 7: Line 7:
If you use Debian, Mike Hommey and the Debian Mozilla Team's [mozilla.debian.net][debmoz] provides packages for the Firefox Stable, Beta, Aurora, and Nightly channels. Be aware that these packages are still labeled [Iceweasel][iceweasel], i.e. they lack the official Firefox branding. These packages work on Ubuntu should you want to use them.  * http://timtaubert.de/2011/08/firefox-electrolysis-101-part-1/
Line 9: Line 9:
  [channel-announcement]: https://developer.mozilla.org/devnews/index.php/2011/04/07/new-development-channels-and-repositories-for-rapid-releases/
  [debmoz]: http://mozilla.debian.net/
  [iceweasel]: http://en.wikipedia.org/wiki/Iceweasel
= Getting through Python 2's Unicode problems =
Line 13: Line 11:
What if you want something more Ubuntu-specific? <abbr title="Personal Package Archive">PPA</abbr>s following each of the channels exist, but they're not obvious to find.  * [[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]]
Line 15: Line 14:
Nightly builds of Firefox trunk, formerly known as "Minefield" builds, are available in the [Ubuntu Mozilla Daily PPA][firefox-nightly]. Remember, Nightly builds receive little testing (e.g. can they build without errors?) and thus may crash frequently. Start using these builds by pasting the following into your terminal: = Color on the Console =
Line 17: Line 16:
<pre><samp>sudo add-apt-repository ppa:ubuntu-mozilla-daily/ppa
sudo apt-get update && sudo apt-get install firefox
</samp></pre>
dstat
grep
htop
pydf
Line 21: Line 21:
Firefox's new build channel, Aurora, has builds that have had more testing than those from Nightly. Builds from the Aurora channel are available from the [firefox-aurora PPA][firefox-aurora], which you can use with:

<pre><samp>sudo add-apt-repository ppa:ubuntu-mozilla-daily/firefox-aurora
sudo apt-get update && sudo apt-get install firefox
</samp></pre>

The Beta channel, containing builds that received more testing than Aurora and are (mostly) ready to be released, is available in the [firefox-next PPA][firefox-beta]:

<pre><samp>sudo add-apt-repository ppa:mozillateam/firefox-next
sudo apt-get update && sudo apt-get install firefox
</samp></pre>

Lastly, if you want to follow the Stable channel, you're life will be simpler if you just stick with what Ubuntu provides through it's normal repositories. If you want to "bleeding edge", there's the [firefox-stable PPA][firefox-stable], which will go away soon, and [Ubuntu's Mozilla Security Team PPA][firefox-security], within which packages only remain until they are moved into the main archive.

  [firefox-nightly]: https://launchpad.net/~ubuntu-mozilla-daily/+archive/ppa
  [firefox-aurora]: https://launchpad.net/~ubuntu-mozilla-daily/+archive/firefox-aurora
  [firefox-beta]: https://launchpad.net/~mozillateam/+archive/firefox-next
  [firefox-stable]: https://launchpad.net/~mozillateam/+archive/firefox-stable
  [firefox-security]: https://edge.launchpad.net/~ubuntu-mozilla-security/+archive/ppa

Notice that the Aurora, Beta, and Stable channels contain packages of the same name: "firefox"; this means:

 1. You can only install Firefox from one channel at a time.
 2. They all will use the same profile and profile registry. You'll need to manually switch profiles or alter shortcuts to launch the desired profile if you desire different.

Packages in the Nightly channel, however, are named firefox-trunk and can be co-installed alongside builds from another channel.

To switch to another channel, disable the source with [Ubuntu's Software Properties][software-properties] or delete the appropriate file in /etc/apt/sources.list.d/:

<pre><samp>sudo rm /etc/apt/sources.list.d/ubuntu-mozilla-team-firefox-aurora*list
sudo rm /etc/apt/sources.list.d/mozillateam*list
</samp></pre>

Run one of the above set of commands to switch to a desired channel.

  [software-properties]: https://help.ubuntu.com/community/Repositories/Ubuntu

Hopefully, with easy-to-use PPAs available for each of Firefox's build channels, more people, including you, will test these builds. Go forth and test!

}}}

= Michael Madsen's Into Eternity =
= Movie Review: Michael Madsen's Into Eternity =
Line 71: Line 30:
Spent nuclear fuel The movie skimps on technical details, some of which I will talk about here.
Line 73: Line 32:
Low-level nuclear wastes include things such as clothing, plant construction materials (e.g. concrete) and machinery 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
Line 84: Line 45:

= Android 3 Honeycomb, free as in…? =

http://www.h-online.com/open/news/item/No-Honeycomb-open-source-till-after-Ice-Cream-Sandwich-1241414.html
Line 100: Line 57:

}}}

= Why I use Firefox 4 Mobile =

{{{#!text_markdown
A couple weeks ago, [Mozilla released Firefox 4 Mobile][ff4mobilerelease] (née Fennec) for both Android and Maemo.

  [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/

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.

## Sync ##

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.

  [sync]: http://www.firefox.com/sync

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.

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).

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.

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.

  [autonomous]: http://autonomo.us/2008/07/franklin-street-statement/
  [syncserver]: http://hg.mozilla.org/services/minimal-server/

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.

## HTML5 ##

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.

  [newt]: http://www.brucelawson.co.uk/2010/meet-newt-new-exciting-web-technologies/

Firefox has dropped vendor-specific prefixes for many CSS3 properties, including border-radius, box-shadow, text-shadow, etc. All in all, it makes your CSS that much more clean.

There's support for SVG, only [recently supported in Android 3.0][androidsvg].

  [androidsvg]: http://code.google.com/p/android/issues/detail?id=1376

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.

  [notifications]: https://developer.mozilla.org/en/DOM/Displaying_notifications

The iPhone has had multi-touch Javascript events (think pinch-to-zoom, essential for mapping widgets) since its debut, but [multi-touch support][androidmt] and support for such events is missing from Android, even though Android was introduced much later. Firefox 4 Mobile has had [multi-touch support][ffmt] since last year, though it does not support gestures, like the pinch-to-zoom event (patent concerns?). Even without gestures, nothing stops you from implementing gestures yourself. Firefox Mobile also is [leading the way][fftes] in supporting the (draft) [W3C TouchEvents specification][w3cte].

  [androidmt]: http://code.google.com/p/android/issues/detail?id=11909
  [ffmt]: http://hacks.mozilla.org/2010/08/firefox4-beta3/
  [fftes]: http://digdug2k.wordpress.com/2011/05/02/touchevents/
  [w3cte]: https://dvcs.w3.org/hg/webevents/raw-file/default/touchevents.html

A good overview of the other HTML5 features Firefox 4 Mobile supports is [Mozilla's HTML5 & Friends demo][mozhtml5demo]

  [mozhtml5demo]: https://mozillademos.org/demos/dashboard-mobile/demo.html

## Other stuff

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][listaddons] to grow quickly.

  [adpmobile]: https://addons.mozilla.org/en-US/mobile/addon/adblock-plus/
  [listaddons]: https://addons.mozilla.org/en-US/mobile/

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]), <s>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).</s> Not to gloat, but Firefox 4 Mobile for Android works great on my T-Mobile G2.

  [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

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. For web developers, fortunately, Firefox 4 Mobile still keeps the keyword "fennec" in its user agent screen for easy detection.

  [longestmsname]: http://blogs.msdn.com/b/jonathanh/archive/2005/08/05/what-s-the-longest-microsoft-product-name.aspx

In my opinion, the best software keyboard for Android is [Swiftkey][swiftkey] (proprietary software, unfortunately). SwiftKey crashes when used with Firefox 4 Mobile… SwiftKey hasn't been very helpful diagnosing the problem (it <i>is</i> SwiftKey doing the crashing!) but Mozilla has [fixed the SwiftKey crash][swiftkeybug] on their own, available by Firefox 5 Mobile, if not 4.02.

  [swiftkey]: http://swiftkey.net/
  [swiftkeybug]: https://bugzilla.mozilla.org/show_bug.cgi?id=617298

So, [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. If release versions are not bleeding edge enough for you, consider the [Nightly][nightly] or [Aurora][aurora] build channels instead.

  [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/
  [nightly]: https://wiki.mozilla.org/Mobile/Platforms/Android#Download_Nightly
  [aurora]: https://wiki.mozilla.org/Mobile/Platforms/Android#Download_Aurora

Also, if you're playing [Mozilla's Spark][spark], please [tag me][sparktag]!

  [spark]: https://spark.mozilla.org/
  [sparktag]: https://spark.mozilla.org/en-US/user/tamasrepus?f=t

Multiprocess in modern browsers

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)