Another Grand Idea

Long ago I had a grand delusion about creating an open source space agency. Today I had another one while reading Pale Blue Dot. Well, actually it was Carl Sagan’s idea, but I like it. Here it is in his words:

My wish on the evening and morning star is this: that late in the twenty-first century some great ship, on its regular gravity-assisted trip to the outer Solar System, intercepts this ancient derelict and heaves it aboard, so it can be displayed in a museum of early space technology-on Mars, or Europa, or Iapetus.

The “ancient derelict” he refers to is Mariner 2. Apparently it was left in an orbit around the Sun, and is presumably still there. Retrieving it would certainly be a grand undertaking. I’m not too keen on waiting till the end of the century, and there aren’t any museums outside of Earth (that I know of), but otherwise it sounds like a fun project. Any takers?

Posted on July 26, 2008 at 13:17 PDT |

Mac Mini

After futzing around trying to force the iPhone SDK to run on my aging PowerBook for over a week I finally broke down and just bought a Mini. At first I thought I’d save myself a few bucks buying one on eBay, but I ended up spending more time searching than I would have saved. So, I bought one off Amazon (after the rebate it was cheaper than buying from Apple, even after considering using a friend’s discount).

The Mini arrived the other day and I managed to connect it to my 42″ LCD through a DVI to HDMI cable (also from Amazon). Surprisingly, the Mini actually supports the full 1920×1080, and the text is actually readable. I’d post a picture but my camera decided to die a few months ago and I still haven’t bothered to replace it. Now, if you’ll excuse me, I have many amazing and wonderful iPhone apps to write…

Posted on June 28, 2008 at 10:16 PDT |

Big Sur & Yosemite Half Dome Trips

Last weekend I went to Yosemite and did Half Dome with the Wu sisters, et al. The weekend before that was Big Sur. Both excellent trips arranged by Eileen. Here are two sets of pics from Eileen and Chris. I really need to buy a new camera.

Posted on June 20, 2008 at 11:42 PDT |

100 Must-Read Books: The Essential Man’s Library

This was on Digg a few days ago and I finally got around to reading it. Seems like a pretty good list. I haven’t read everything on it, but I have read a few and I’m thinking I should put some effort into a few more of them. Ben Franklin’s autobiography sounds like a good one.

Posted on May 20, 2008 at 9:31 PDT |

Action without knowledge

“Knowledge without application is useless. Application without knowledge is superstition”

I was pretty sure I had heard or read that quote somewhere, but I can’t think of where and I just couldn’t get Google to dredge it up. Eventually I realized I got it wrong, and managed to find it:

“Without knowledge action is useless and knowledge without action is futile” - Abu Bakr

I like my version better :)

A somewhat apropos lesson for us all, given the recent hand-wringing over Apophis.

Posted on April 21, 2008 at 20:34 PDT |

28 years and counting…

The asteroid that just won’t go away is back in the news again. This time it looks like we’re in the way, courtesy of a 13 year old kid. So, time to get off the planet…sometime in the next 28 years.

Posted on April 16, 2008 at 19:07 PDT |

Survivalism

Duck and Dover

Another article from the New York Times about the coming apocalypse. If this keeps up much longer it might be time to start worrying.

Posted on April 10, 2008 at 19:07 PDT |

Yet Another Reason to Get Off the Planet

Grains Gone Wild

Posted on April 8, 2008 at 19:00 PDT |

Upgraded to Leopard

I finally got around to upgrading my Aluminum PowerBook to OS X Leopard. I have a few reports that QProg doesn’t like Leopard, so I figured it’s time to finally get with the program. And, I’ve been working on a patch to Hardware Growler…no sense developing in the past.

The upgrade went fairly smoothly. Although, it took about 3 hours. All that waiting just to find out I liked Tiger better. Oh well.

The translucent menu bar really annoyed me; probably because my background image is very dark on one side and light on the other. An option for toggling translucency was added in the 10.5.2 update, but I didn’t know that at first, so my first impression wasn’t good. Unfortunately, that option didn’t get rid of the overblown gradient on the menubar. It’s just too dark.

The new Dock isn’t great, but not as bad as I expected. Stacks is annoying in any mode other than List. I don’t like the way the Downloads icon on the Dock is hidden by a file icon. How does it pick a file to use? I put a link to an NFS mounted volume on my Dock and it also got hidden by a file icon. How rude.

Maybe Apple will see the light and release a patch one of these days. Not likely, but one can hope.

Posted on April 5, 2008 at 18:44 PDT |

New Job: Dash Navigation

After a bit of searching I managed to land a job as an Embedded Software Engineer at Dash Navigation. It’s an interesting place. Check out the website, then buy one :)

Posted on April 2, 2008 at 17:58 PDT |

Arthur C. Clarke is gone

Rest in Peace

Posted on March 18, 2008 at 18:27 PDT |

Data loss

I had a hard drive fail in my server a few months back. I thought I had restored everything, but it appears some of the web pages weren’t backed up properly. Somehow the QProg page lost an entire year worth of updates.

I was hoping the WaybackMachine would have grabbed it, but apparently it hasn’t bothered to archive my site since 2006. I guess I’m just not that important.

Anyway, the QProg page should be mostly reconstructed Real Soon Now.

Posted on March 4, 2008 at 11:18 PST |

I lost my voice

What a pain.

It’s the little things that really get you. Like going to the grocery store and realizing the clerk is going ask you “Paper or Plastic?”.

I’m not even sure how I lost my voice. I had a bad cough Saturday night for no apparent reason, then woke up on Sunday sounding like a dying frog.

I had a phone interview this morning that I had to reschedule for tomorrow. But, it’s 10pm and I still don’t sound any better than I did this morning.

Posted on March 3, 2008 at 22:00 PST |

Fast InvSqrt()

Today a friend sent me Origin of Quake3’s Fast InvSqrt() (and Part 2). It brought back memories of a misspent youth playing with the sort of low level code the article talks about. And nearly worshiping some of the people mentioned. It’s also a bit of a sobering reminder that I’ve strayed far from those days, and that I haven’t accomplished anything nearly as noteworthy as that one single function. I need to get off my ass and get moving.

Posted on December 27, 2006 at 20:21 PST |

Requiem for Scarlet

Two days ago (Wednesday) my first motorcycle was stolen. It was parked in front of my car when I left for work in the morning, but when I got home it was gone. I only had her for 3 weeks, but it was a good 3 weeks and she was one sweet bike. Maybe your first one always is, but that doesn’t really matter right now.

There’s always the chance the police will find her, but it’s a small chance, and certainly not in good shape. I’d like to be hopeful, but I just can’t muster it right now.

Rest In Peace Scarlet. I barely knew ye.

Posted on December 22, 2006 at 22:42 PST |

Time to get off the planet

I just watched the DVD of An Inconvenient Truth. It was released a few days ago and Netflix was pretty quick in getting it out.

Now I’m more convinced than ever that it’s time to get off the planet. Sure, I support mending our ways and trying to cleanup the damage, and I hope it works. But I don’t trust people to make the necessary changes in time. I’m not sure there is enough time, even if enough people make enough changes. I’d rather have a safety net to fall back on in case things don’t go well. Someplace not on this planet.

Posted on November 24, 2006 at 18:05 PST |

Javascript: Single-shot event handlers

I was looking through the code for Session Manager and noticed a number of event handlers that unregister themselves as soon as they’re called. Actually, a proxy function gets called first and it does the the unregistering before calling the intended event handler. At first that looked really odd to me. After a bit of thinking it made perfect sense, but it still felt wrong.

Typically when registering an object method as an event handler (all handlers in a Mozilla extension should be methods to prevent namespace collisions) you pass addEventListener() an anonymous function that wraps the actual method call. However, a single-shot handler needs to call removeEventListener(), which wants a reference to the handler to be removed, which you don’t have because the handler-wrapper is anonymous. Session Manager gets around this problem by defining non-anonymous proxy functions for every single-shot event handler. It’s those proxy functions that handle the unregistration and then call the intended event handler. That works just fine. But it’s cumbersome and bloated, and I really don’t feel like writing two functions to handle each event type.

In most cases a function is passed as the 2nd argument to addEventListener(), but an object can be passed instead as long as it supports the EventListener interface. Passing an object is convenient because inside the handler function this will point to the registered object instead of the event target, which of course allows extra info to be stored in the object and made available to the handler. Consequently, an anonymous object can be defined that maps to the intended handler through a proxy that first unregisters the object. Everything the proxy needs to know is either provided in the anonymous object or in the standard Event object. But there’s no reason to write a boiler plate object for every call to addEventListener(), so I created addSSEventListener() that handles the drudgery.

function addSSEventListener(target, type, func, obj, useCapture)
{
  	function proxy(e)
  	{
 		e.target.removeEventListener(e.type, this, false);
  		return this.f.call(this.o, e);
  	}
  	return target.addEventListener(type, {o:obj, f:func, handleEvent:proxy}, useCapture);
}
target
The DOM element that generates the event
type
The event type (”load”, “blur”, etc)
func
The event handler (ie. myobj.handler() )
obj
The object that contains the handler (ie. myobj)
useCapture
Same as addEventlistener()
Posted on August 8, 2006 at 13:15 PDT |

I need a vacation

Any place like this would be good.

Posted on July 8, 2006 at 10:28 PDT |

Isaac Asimov

This is hilarious. The first entry is from 1981, but it reads like it could have been written today. Simply update the name of the US President and make a few changes to the bits about Ireland, and it sounds completely contemporary. Which, if you think about it, is a bit sad.

Posted on July 7, 2006 at 20:37 PDT |

Definition of ‘Spaceport’

I just stumbled upon Space Cynic, which was linked from SpaceNow (which currently has a very annoying embedded link to NASA TV that autoplays on page load). In general I try to avoid the space blogs. They’re mostly armchair-general style gossip and pontification. What else could they be? It’s not like we have a thriving space travel industry to talk about. Even if we did, it would probably be as exciting as the commercial airline industry.

Lately I’ve been a little bored (or burnt-out) so I’ve been browsing, just to check on the state of things. Apparently there are some kernels of intelligent conversation popping up. Not much, but a little. At least with the VSE and the commercial spaceport fad they have something to debate now.

Which brings me to my very minor point. This Space Cynic post is apparently part of a running discussion that I’ve mostly missed and is now focusing on the definition of the word ‘Spaceport’. The post in question likens the word, and it’s implications, to ‘airport’ and ’seaport’ and argues that traditional ports are places people go for a specific purpose (travel) and not to generally hang out and shop. Which, in general, I agree with. However, some years ago I worked as an intern on the construction of the new terminal at Washington National Airport. I remember one of the big selling points for the terminal was the inclusion of a shopping mall-like area outside of the secure area so people (non-travelers) could come and shop. The idea being to provide a second revenue stream for the airport aside from its regular travel services.

Of course, that was all before the airports were locked down by the security czars. I wonder how that idea is doing today? I live on the west coast now, so I can’t really see for myself. But it does leave one to wonder how implementing such an idea at a spaceport would fair any better, or worse.

One of the biggest problems I see with the idea is that people like to shop places that are convenient, and that usually means close to home or work. However, as any airport manager can tell you, people who live near airports continually complain about the noise. As to why they complain about it after knowingly moving in next to an airport is a whole other discussion. The point being that rockets are a lot louder than airplanes. So I’m really not sure how all of this is supposed to work out.

Posted on July 5, 2006 at 13:09 PDT |
Next Page »