Never ask a nerd for directions

“The front office is to your back that way and to your left,” someone says.

The delivery man walks a bit, gets confused, and looks at me across the floor, “Which way from here?” he points.

“It’s right of that.” I shout back.

He points in another direction, “That way?”

“No. Bisect the angle you just created.”

blank stare

“Errr…Or something.”

Mathematics is the universal language of science, not FedEx.

GPS everywhere and in everything

My computer has a GPS in it using the same SIRFstar III chipset as my hiking handheld, which also doubles as my cycling GPS.

On the Mac, it appears as a “USB-serial” device whose driver is made by Prolific Technology which, coincidentally, makes the driver for my camera GPS receiver. Like all SIRFstar III GPSs, getting the acquisition took only a second, but a fix took a minute.

Great! Now what to do?

GPS + Google Earth = fun

[gps madness after the jump]Continue reading

UDMA and photography

I eavesdropped on a twitter discussion between Jim and Adam on UDMA cards. As outlined in this article, not all cameras can take advantage of UDMA cards, but my Nikon D3 (and D300) are among them. Also, the read speed means faster downloads.

So it’s worth mentioning that Mark Jen pointed out this deal on high speed card reader ($25) (you’ll need a computer with a Firewire 800 interface). As well as rebates on the 8GB ($90) and the 4GB ($33) UDMA CF cards.

[More about compact flash and purchasing photography after the jump]Continue reading

Planning your Macs

My Uncle is soon to be without his laptop and desktop. An in our family, this means a Macintosh…with Skype installed. And this means, bouncing ideas off the family Mac geek: me.

Here were his ideas:

Idea 1:
Get 1 desktop and 1 laptop. For desktop, I am thinking of iMac rather than a Power Mac (which may be too large and iMac can do the most of PowerMac capability). For laptop, Mac Air may be good and light but it may lack some features like hard-disk, and the number of USB ports.
Idea 2:
Get a good laptop, a wireless keyboard & mouse, and a big LCD screen to hook up the laptop wirelessly.

I thought it’d be fun to share my thinking/email.

[My commentary after the jump.]Continue reading

Faking long exposure

I hate feeling depressed…

Feathered death

Feathered Death
Baker Beach, San Francisco, California

Nikon D3, Nikkor 14-24mm f/2.8G
1/60sec @ f/18, iso200, 14mm (14mm)

When people ask what sort of subject I like to shoot, I say, “nature,” but it’s been over a year since I’ve done any outdoor photography. I don’t know if my one dimensionality is an escape from or the cause of my mild malaise. In fact, I can’t think of a single good reason why I should feel this way since my life has become monotonically better, including living in a city that I love.

So I decided to wake up at an unreasonable hour, drive somewhere and try to convince myself why my depression is irrational.

Sunday hits San Francisco

Sunday hits San Francisco
Treasure Island, San Francisco, California

Nikon D3, Nikkor 14-24mm f/2.8G
2 exposures, 10 multi-exposures, 1/100sec @ f/18, iso200, 14mm (14mm)

One nice thing about living in San Francisco is Treasure Island doesn’t cost you a Bay Bridge toll. I’ve seen a thousand shots of the city from here, but very few taken at dawn.

[Ultrawide lenses, and multiple-exposures after the jump.]Continue reading

Last Suppers

I was browsing hulu yesterday, when I saw this promotional ad for the upcoming restart of Battlestar Galactica.

Battlestar Galactica Last Supper (2008) via hulu

The full image is very impressive and instantly recognizable:

Battlestar Galactica Season 4 (2008)

Battlestar Galactica Season 4 (2008)

The image is normally a center figure with flanked by four sets of trinities. Therefore, there is someone missing in the photo. I guess the missing cylon? A possibly interesting thing is the missing spot is occupied by Judas in the Da Vinci original.

(The series recap is hilarious.)

It is, of course, a homage to Leonard Da Vinci’s The Last Supper fresco:

The Last Supper (1495-1498) by Leonardo Da Vinci

The Last Supper (1495-1498) by Leonardo Da Vinci

The symmetry, the center triangle, the grouping of threes, the expressions, the lack of halos around the holy figures. While this is the restored version, even the barely-visible unrestored fresco is a powerful piece. It deserves all the copies it inspires and more.

[More Last Suppers after the jump]Continue reading

Advocates of Single-Payer

This shocking article, especially in light of their tactical PR moves, makes a number of people theorize that WalMart would be advocates of a Single-payer health care system.

No. Just the opposite.

In 2004, WalMart spent $650k to defeat Proposition 72. Now a careful reading may have some wondering how a bill requiring heath coverage is not the antithesis of “single payer.”

But that’s because most people’s understanding of economics is naïve.

[The business of single-payer after the jump]Continue reading

YUI cookies

Every time I talked about web cookies, my ex-girlfriend would say, “Mmmm, cookies.”

Besides messing with my train of thought, it also gave me an unhealthy obsession with cookie implementations in web development. Today, I was taking apart how YUI implements subcookies, and the source had this comment in the subcookie parser…

/**
 * Parses a cookie hash string into an object.
 * @param {String} text The cookie hash string to parse. The string should already be URL-decoded.
 *…
*/

O RLY? Because it’s “already” URL-decoded, I don’t have to worry about double-encoding/decoding? That’s news to me.

Time to test the front-end coding wizardry:

// Include YUI utilities, logger, and cookie-beta (2.5.0)
// logger
var myLogReader = new YAHOO.widget.LogReader(document.body.appendChild(document.createElement("div"));

var Cookie = YAHOO.util.Cookie;
//Cookie.set("example", '');
var ex_cookie = Cookie.get("example");
var foo = Cookie.getSub("example", "foo");
var bar = Cookie.getSub("example", "bar");
var bogus = Cookie.getSub("example", "and");

YAHOO.log("The value of cookie 'example' is: " + ex_cookie);
YAHOO.log("The subcookie 'foo' is: " + foo);
YAHOO.log("The subcookie 'bar' is: " + bar);
YAHOO.log("The subcookie 'and' is: " + bogus);

//set subcookie values
Cookie.setSub("example", "foo", "Can YUI handle &and='s or not?");
Cookie.setSub("example", "bar", "more data");

The output after the second reload is:

The value of cookie 'example' is: foo=Can YUI handle &and='s or not?&bar=more data
The subcookie 'foo' is: Can YUI handle
The subcookie 'bar' is: more data
The subcookie 'and' is: 's or not?

Subcookie “and”? Doh! I guess that’s why this code is listed as “beta.”

Cookie Monster

Cookie Monster doesn’t like broken subcookies!

Here is a hint: If you nest serializations, you need to nest your escaping/unescaping.

(On the other hand, you only need to escape “=” and “&” instead of using this strategy.)

Bailout

I was pointed to this Paul Krugman article, which is a sequel to this piece. The Bear Stearns buyout is what touched it off. To which, someone wrote:

“Ahh, GOP capitalism—where profits are privatized and losses are socialized.

Conservative blogs start quoting Paul Krugman and the Times… You hear that? That’s the sound of the pendulum swinging back to reality.

I started writing after the 2004 election—the disaster we have wrought. But sometimes, we have to have a little faith. So, even in the face of futility, we send our words into the ether, the internet, this community we are a each a citizen of.

Nobody loves a recession, but four years was not a long time to realize our mistakes… and our social obligation to right them.