Differences between revisions 36 and 65 (spanning 29 versions)
Revision 36 as of 2011-07-11 12:01:39
Size: 16786
Editor: SamatJain
Comment:
Revision 65 as of 2012-07-26 08:07:24
Size: 9099
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= I'm Flattr'ed! =

== Support my writing via Flattr, a new social micropayment system ==
= An Albuquerque Code 66 2012 debrief =
Line 7: Line 5:
I conducted an experiment back when I wrote my [HP N36L review][n36lreview]: I added affiliate links to both [Amazon](http://amazon.com/) and [Newegg](http://newegg.com), hopefully to get some revenue—without adding advertisements. A couple weeks ago, I participated in Albuquerque's Code 66 Hackathon.
Line 9: Line 7:
  [n36lreview]: http://blog.samat.org/2010/12/10/Hardware-review-of-the-Hewlett-Packard-ProLiant-N36L-Microserver [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 11: Line 9:
It was successful; I earned enough to pay for a few cups of espresso, at least. 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:
Many authors have PayPal-powered "tip jars" or links to their Amazon wishlist. I've now setup the same, but it's unrealistic to expect visitors to spend the requisite time or money to use them. 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:
Enter [Flattr](http://flattr.com), a new "social micropayments" platform, a tip jar evolved to work on Web scale. Flattr is a quick and easy way to give back to content creators—including myself. Rather than trying to explain it, watch [Flattr's introductory video][flattr-video]. I love the cake analogy.

Why would I, you, or anyone else want to use Flattr over PayPal?

Well, one, it's simpler. Users only need click a single button (the widget) to Flattr me. Also, users don't need to worry about figuring out how much to give me—they just decide how much they want to be giving each month to content creators (not unlike payroll deduction for supporting your local <abbr title="National Public Radio">NPR</abbr> station) they wish to support, and Flattr figures out the "cake cutting". Nothing stops you from [donating more to me][flattr-donate], of course.

  [flattr-donate]: https://flattr.com/donation/give/to/tamasrepus

Second, Flattr's rates are better. Say you've decided to add $10/month to your Flattr account, and you've Flattr'ed 10 people, including me. Each of those people will be entitled to $1. With Flattr's 10% commission, I'd get 90¢; with PayPal's default fee schedule, you'll get 67.1¢ ($1-($1×2.9%+$0.30)).

Flattr works well when you're dealing with small amounts (called micropayments), exactly the niche market they're trying to fill.

Imagine you're walking down the street and hear a great musician, to whom you'd like to donate some small change. It's easy to do in the real world. With conventional payment systems oriented around transactions, this model doesn't translate. With Flattr, however, the model does—it brings a donation system and ethic present within the real world onto the Web.

PayPal has its own [little-known micropayments platform][paypal-micropayments] with a better fee schedule, but it requires the receiver to go through a manual approval process to receive a special account. A "beta" product, it's also available in only a few countries. Lastly, PayPal, making money on high-value transactions, has little incentive to develop micropayments—not until there's marketshare and mindshare to steal, something Flattr is building.

Third, with free culture luminaries like Peter Sunde of [The Pirate Bay][pb] fame behind it, Flattr seems less likely to "censor" recipients, holding funds hostage and even confiscating them, something for which PayPal is notorious. While I'm not worried about anyone censoring my overly-politically correct blog, should I be OK with organizations unfairly censoring others?

An aside: you're not going to see widgets on any my sites. That includes Facebook Like buttons or share buttons for Twitter and Google Buzz/Plus/their latest failure. It's amazing these corporations have convinced webmasters into adding things that both slow the performance of their websites and compromise visitors' privacy, for little/no tangible benefit the webmasters themselves—you'll not see any of that here.

However, in a minor bout of hypocrisy, I have added Flattr widgets. They use performance-oriented, "progressively enchanced" HTML and Javascript, so their widget doesn't slow sites down. Also, since they're not a "free" social or advertising network, I don't believe them to have any motive in tracking visitors across the Web.



  [pb]: https://thepiratebay.org/
  [flattr-video]: http://youtu.be/9zrMlEEWBgY
  [paypal-micropayments]: https://micropayments.paypal-labs.com/
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 44: Line 20:
= Michael Madsen's Into Eternity = = A week with Verizon's HomeFusion =

{{{#!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.

[los]: http://en.wikipedia.org/wiki/Line-of-sight_propagation

}}}

= 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 =

{{{#!text_markdown

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!

  [twitter]: https://www.twitter.com/SamatJain
  [thinkup]: http://thinkupapp.com/

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.

  [franklin-street-statement]: http://autonomo.us/2008/07/franklin-street-statement/

One word: meh.

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.

  [identica-backup]: http://identi.ca/main/backupaccount
  [identica-backup-bug]: http://status.net/open-source/issues/3296

}}}

= Handling times on the Web in Python w/out headaches =

Describe using dateutil, W3C CDTF, etc

{{{#!text_markdown
<abbr title="Comon Date-Time Format">CDTF</abbr> from the <abbr title="World Wide Web Consortium">W3C</abbr>
}}}

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 =

[[http://gis.638310.n2.nabble.com/JSON-output-for-xapi-td6483673.html|Developer Discussion - JSON-output for xapi]]

= Multiprocess in modern browsers =

== Internet Explorer ==

First multi-process browser? MSIE4?

== WebKit ==

 * http://trac.webkit.org/wiki/WebKit2
 * WebKit and WebKit2 from a Qt perspective: http://blog.forwardbias.in/2011/08/on-webkit-and-webkit2.html

== Firefox ==

 * 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

== less ==

 * [[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]]

= Movie Review: Michael Madsen's Into Eternity =
Line 53: Line 120:
Spent nuclear fuel The movie skimps on technical details, some of which I will talk about here.
Line 55: Line 122:
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 66: Line 135:

= 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 82: Line 147:

}}}

= 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

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

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)