Death by cholera is a horrific way to go

November 17, 2009

Earlier tonight I began reading The Ghost Map, by Steven Johnson, which chronicles London's 19th-century cholera epidemic. I was about a fifth of the way through the book when I came across a description of the disease so engrossing, so utterly terrifying that it stopped me cold. I probably read it three or four times before turning the Kindle DX off and doing something, anything else.

One of cholera's distinctive curses is that its sufferers remain mentally alert until the very last stages of the disease, fully conscious both of the pain that the disease has brought them and the sudden, shocking contraction of their life expectancy. The Times had described this horrifying condition several years before in a long feature on the disease: "While the mechanism of life is suddenly arrested, the body emptied by a few rapid gushes of its serum, and reduced to a damp, dead...mass, the mind within remains untouched and clear--shining strangely through the glazed eyes, with light unquenched and vivid--a spirit, looking out in terror from a corpse."

Not sure why I felt compelled to share this here, but, well, there you have it. Don't hate me (and don't let this dissuade you from reading the book, which so far is excellent).

The evolution of the God gene#

This and other research is pointing to a new perspective on religion, one that seeks to explain why religious behavior has occurred in societies at every stage of development and in every region of the world. Religion has the hallmarks of an evolved behavior, meaning that it exists because it was favored by natural selection. It is universal because it was wired into our neural circuitry before the ancestral human population dispersed from its African homeland. […]

Could the evolutionary perspective on religion become the basis for some kind of detente between religion and science? Biologists and many atheists have a lot of respect for evolution and its workings, and if they regarded religious behavior as an evolved instinct they might see religion more favorably, or at least recognize its constructive roles.

Relatedly, I purchased Robert Wright's The Evolution of God a couple of months ago, but haven't yet had a chance to start in on it. (My Kindle queue is getting out of control.)

How a CCD works#

The sensor is made up of pixels, each of which is a MOS (metal-oxide semiconductor) capacitor. As the light falls on each pixel, the photons become electrons due to the photoelectric effect […] The photoelectric effect happens when photons of light hit the silicon of the pixel and knock electrons out of place. On a CCD, these electrons are stored in a "bucket": the pixel's capacitor.

At this stage, the "image" is still in analog form, with the charge, or amount of electrons in the bucket, on each pixel directly corresponding to the amount of light that has hit it. […]

[T]he charge in each row is moved from one site to the next, a step at a time. […] As these buckets of electrons reach the end of the line they are dumped out and measured, and this analog measurement is then turned into a digital value. Thus, a digital grid is made which describes the image.

Useless trivia: I actually am very familiar with this particular topic because while studying computer engineering in undergrad I wrote a research paper on this very thing for a holography course I was taking.

Bill Bryson visits the Large Hadron Collider#

"The amount of precision required is pretty breathtaking," Gillies tells me. "I worked it out mathematically, out of curiosity, and I can tell you that getting two protons to collide is exactly equivalent to firing two knitting needles from opposite sides of the Atlantic Ocean and having them strike in the middle."

(This probably is as good a time as any to mention again Bill Bryson's wonderful A Short History of Nearly Everything.)

The New York Times profiles The Onion#

The staff devotes the first two days of every week to composing headlines, then assigns the articles that will run beneath them and provide a body of supporting jokes. […]

"The Onion's charter is to be the last word, the newspaper of record. That's a total conceit, of course, but we take it seriously, in the sense that we want to be the joke that's making a joke about all the other jokes."

Thoughts on NetNewsWire 2.0+ for the iPhone

November 03, 2009

I told myself repeatedly that I just wasn't going to write this post, yet here I am banging away at the Das Keyboard Ultimate making it happen, making dreams come true.

When NetNewsWire initially was released for the iPhone (long before Google Reader integration and long after I gave up on desktop NNW (and pronounced Google Reader the RSS king)), I gave it a shot because, well, I try everything. Turned out I really liked it, as the title of my rather long post made clear: I ♥ NetNewsWire (on the iPhone).

At the end of that post I pleaded with the Google Reader team to "please, please, please develop a native iPhone app for Google Reader (and model it after NNW)." Well, it looks like NNW actually beat them to the punch, because this latest release, which syncs with Google Reader, is great. In fact, I'm a bit puzzled by the overwhelmingly negative reviews for it in the App Store.

For those reviews predicated on the app constantly crashing (a problem that I just haven't had), the unfavorable opinions obviously are justified, but as far as everyone else complaining about everything under the damn sun, I'm convinced that they simply haven't used any of the GReader-syncing alternatives (e.g., Byline, Newsstand, Bulletin, etc.), all of which are good (Byline is my favorite of the bunch), but, for my money (and time!), none are as good as NNW.

Most of the positive/negative points made in that earlier NNW post persist in the 2.x release, including the most important positive point of all, namely the ability to blaze through a large number of unread items in rapid succession; this ability is maintained in the new version despite the addition of (best-of-breed) Google Reader syncing. (I'll be honest, after my terrible experience with desktop-NNW↔GReader syncing, I was reluctant to even try the iPhone implementation.) All of the other readers mentioned above sync with Google Reader, but none do it nearly as quickly as NNW. It is fast. In fact, when using WiFi you just don't notice it.

The only slight complaint I have regarding the syncing is that when it shows you the progress of a sync operation it says: "Syncing 10 items…," etc. The problem is that it isn't entirely accurate and you can't tell how many items you're syncing. To be honest, it really doesn't matter how many items you're syncing, but if you're going to tell me a number, tell me the correct number, or give me just a progress meter, etc.

I've a feeling that it's not as "inaccurate" as it is inelegant. My guess is that it syncs 10 items at a time, and so if you've just "marked as read" a folder with 23 items, it has to go to Google three times (10+10+3), but it presents this as "Syncing 10 items" and "Syncing 3 items." Surely, the "Syncing 10 items" actually is displayed twice, but the screen redraws too fast for you to notice. Why not just say "Syncing 23 items?"

Other than GReader syncing, I think the biggest thing for me is that it supports Instapaper; a lot of the currently available alternatives still don't (including Byline). In fact, I wouldn't use NNW if it didn't support Instapaper. (Recently, the Instapaper bookmarklet was updated to work within GReader (and it works with MobileSafari too), and GReader added Instapaper to its native "sharing" functionality. I previously touched on both of these things.)

The Instapaper support is great, but I've a couple of niggles. The first is that it doesn't seem like you can go "back" more than one pane while Instapapering something without the app crashing. Generally, I want to go back more than one pane (two, actually) when I'm Instapapering the last item in a feed/folder, because at that point all of the items in that feed/folder have been reviewed and I'd like to move on to something else.

The second thing is that I wish the "Sending to Instapaper" HUD was more transparent and not in the middle of the screen. As soon as I tell the app I want to Instapaper something, I immediately go back one pane to continue scrolling through the other unread items in the feed/folder; this obviously is a bit difficult when the HUD is effectively opaque and in the middle of the screen. Frankly, I wouldn't mind it if there was no HUD whatsoever, or maybe it could just display for a split-second and then disappear (and reappear only if there was an error).

Regarding the app generally, I do wish it was a little smarter about showing me only subscriptions with unread items. I can't quite figure out how NNW decides what feeds (with unread items) will and won't be shown; it seems to be completely random. It's all over the place. If the developers told me there was some method to the madness, I'd be shocked, because I just can't find a pattern. I'm not sure much makes me angrier with regard to aggregators than when they insist on showing me every single feed, no matter how stale, etc. I don't want to see a feed — especially on a phone — if it doesn't have any unread items.

Some other niggles that I hope are resolved quickly:

  • Can't sort posts in chronological order (i.e., least recent to most recent). Yes, I realize that most people read in "reverse" chronological order (i.e., most recent to least recent), but they're doing it wrong. There, I said it. They're doing it wrong. They're reading their news backwards. Just because that's become the default behavior doesn't mean it's right.  ;)
  • No way to set "Don't show in iPhone" at the folder level (i.e., each feed needs to be configured individually). This is a terrible inconvenience for me because I have some rather large folders that contain stuff that just shouldn't be viewed on such a small screen (e.g., the folder of all the photoblogs I follow).
  • The app seems to get bogged down over prolonged periods of use, especially when viewing feeds/folders with tons of unread items, and the screen becomes slow to refresh with proper unread item counts.
  • I wouldn't mind some pagination being added to feeds/folders so that, for example, in a feed with 101 unread items you aren't forced to read/scan all 101 items at once (before marking all as unread), but instead can tackle the items in smaller, more manageable chunks.
  • No way to mark an item as unread. Huh?

I'd like to end this post on a positive note and say that I really like the look of the app, probably more than I do all the other GReader-syncable iPhone readers. It's simple no doubt, but it gets the job done, and doesn't get in the way.

Expose no longer respects the relative sizes of windows#

Aayush dislikes this behavior, but I think it's great. The varying sizes added a layer of visual complexity that just didn't need to be there.

That said, one thing I would really like to see in Expose is the ability to assign a unique "look" to a particular window so that the window can be found without much thought. For example, I usually have a "main" browser window with a billion and one tabs, and then various other "ancilliary" browser windows. It would be nice if I could give the main window a bright yellow color (or whatever) when in Expose so that I could jump right to it.

Teacher suspended over 'gay animal' article#

A Southwestern High School English teacher has been suspended after reports he had students in his classes to read an article about homsexuality in the animal kingdom. […]

The article by Jonah Lehrer talks about the research of Joan Roughgarden, a biology professor at Stanford University who said she has documented homosexual societies among the more than 450 animal species.

Only in America.

I may have ignored your emails, unintentionally

October 22, 2009

Apologies to anyone who hasn't received a response from me to an email sent within the last ~month. I realized today that many of my incoming emails were being picked up and held for questioning along the route to their final destination. GAH! (If I don't know you personally, the fact that I haven't yet replied doesn't necessarily mean anything; see the second paragraph of this post.)

Many times over the course of the last few weeks I've not received an email when I was expecting one (e.g., in response to an email I sent, an ongoing conversation, an order acknowledgment, etc.), which has led to a number of awkward situations and broken conversations (that now make perfect sense). The oddest part about all of it was that it was so seemingly random. For example, active threads would just stop updating (from my perspective) for a day or two until a third person on the chain would reply, at which point I'd see portions of the conversation I'd missed, and then emails belonging to those who were briefly "blocked" would start coming through again. Also, emails from any account I had control over (e.g., work, old school accounts, etc.) would come through every time.

Finally, today, after not receiving an expected email, and after having the person try to send it multiple times from two separate accounts, I knew I had to figure out the problem and fix it. Though the issue turned out to be rather uncomplicated (and easy to resolve), it wasn't immediately obvious to me, especially after six months of problem-free email service.

When I moved this site to Slicehost early this year, I decided I didn't want to fuss with setting up email daemons on my (virtual) server, and so I outsourced the entire operation to Google Apps, which, after you modify your domain's MX records to point to Google, takes care of everything.

Instead of actually using my account (now handled by Google Apps), I decided to have it forward all of my email to my account, mainly because all of my email from the past few years already is there (I've been forwarding to it for a while) and I just didn't want to go through the hassle of migrating all of it over to my Apps account. Further, the account already knew my preferences, which contacts I interacted with most, what I thought was and wasn't spam, etc.

After setting up the forwarding rule on the Apps account I never touched it again. For seven months. Until today.

In the wake of ruling out every conceivable cause of the missing-email issue, it finally dawned on me that maybe emails were being flagged as spam before they got to my Gmail account. Sure enough, I logged into my Apps account and had 120,000+ marked-as-spam emails waiting for me (all from just the past 30 days), many of which were the licit emails I was missing. Again, I experienced no email issues until a few weeks ago, and so I'm convinced that a ~month ago something changed on Google's backend that caused its spam filter to become a bit overzealous.

I searched the spam folder for individual names and recovered what I could, but obviously I couldn't search for everyone in my contact list, and who knows what number of emails I'm missing from people who emailed me for the first time (hopefully they're subscribed to the site and are reading this now). Also, I'm able to go back only a month because Google deletes messages flagged as spam after it's held onto them for 30 days. Like I said though, I think this issue crept up just a few weeks ago, and so I likely won't miss any false positives (that I actually search for).

After recovering what I could, I created a forwarding filter using is:unread in the "has the words" box, and then had that act on every legit email in the inbox. Unfortunately though, Gmail/Apps won't let you forward en masse emails you've already received. Thus, if I want to get these recovered emails over to the account, I'm going to have to forward each of them individually.

I've just transferred my contact list from the Gmail account to the Apps account, which should help to stop the bleeding going forward (i.e., at least those in my address book won't be marked as spam). I likely will jump into the Apps account a few times over the next couple of weeks in an effort to train the filter. To that end, is anyone aware of a way to 1) have a Gmail/Apps account forward all email (including what it flags as spam) to the address you provide; or 2) migrate, between two Gmail/Apps accounts, all of the is-spam/is-not-spam knowledge you've imparted to it over the years?

Anyway, this obviously was just a terribly long-winded way of saying I'm not ignoring you, or maybe I am, but at least I've a great excuse if you ask!  ;)

Larry Magid's 1984 LA Times review of 128K Mac, titled "Macintosh Shapes up a Winner"#

Like the Lisa, it uses a hand-held "mouse" -- a small pointing device which enables the user to select programs, and move data from one part of the screen to another. Also like the Lisa, Macintosh uses a black and white display screen whose resolution is so high that it can quickly draw detailed pictures while at the same time display crisp and readable text. […]

The machine's inability to run MS-DOS could be its salvation or its downfall.

This likely will be the funnest (hey, if Apple can use "funnest" in its ad copy, I can use it here!) thing you read all week. With regard to Apple innovating, pushing the envelope and demanding a consistent UI, many parallels can be drawn between 1984 and today.

Alan Jaras' light photography#

These are light refraction patterns or ‘caustics' formed by a light beam passing through a shaped and textured plastic form. Colour is added into the clear plastic which modifies the way the plastic hardens further enhancing the patterns.The pattern is captured directly on to 35mm film by removing the camera lens and putting the transparent object in its place. The processed film is digitally scanned for uploading. Please note these are not computer generated images but a true analogue of the way light is refracted by the objects I create.

Absolutely beautiful. Wow.