Archive for January, 2008

Fun and Lazy.

Saturday, January 12th, 2008

I love reading Lisp blogs; for example in this posting we have a sketch of how to define a function G that you can use when the debugger decides you neglected to write a function F. You then bind G to the F’s function definition and tell the debugger to try again. I can’t begin to imagine how you’d do that in most languages. In Common Lisp is not even that unusual; I’ve certainly done things along these lines.

Going back into the late 1970s I’ve had a joke about how lazy evaluation can be taken to extreme lengths. You build your operating system and wait until one of your developers actually writes some code. That code invokes a operating system call. You discover you haven’t written that call yet (in fact you haven’t written anything yet). So you call the routine who’s job it is to see that code get’s written. Oh my that’s not written yet either. So the error handler for that invokes the get programmer assigned handler … which invokes the project manager handler … which invokes the HR hiring manager handler … Later when this all unwinds the program just works. So damn it, just ship it!

Bookmarking Chatrooms in Adium

Saturday, January 12th, 2008

This took me forever to puzzle out, so here you go. This explains how to avoid having to fill out the stupid dialog every time you want to join a chat room in Adium. Adium is a very nice IM client on the Macintosh, much nicer than iChat.

Most (all?) the instant messaging networks also support chat rooms (sometimes called conferences, and sometimes rooms). Adium has a command for joining these chat rooms “Join Group Chat” in it’s file menu. That command pops up a complex dialog what you then fill out.
All this is good up until you discover that filling out the complex dialog is tedious and your doing it over and over again so you can stay in your chat rooms.

So here is the trick. There is a tool bar gadget to create new “buddies” for your chat rooms. It is not enabled by default. So. Once your in a chat room you need to: show the tool bar if it’s hidden; customize the tool bar; add the “bookmark” tool into your tool bar; and then use that to create a pseudo buddy. From then on in you can join a chat room by clicking on that room’s pseudo buddy.

Now, if I can only figure out how to tell these to automatically connect & reconnect.

For example there are chat rooms for each US weather district; and if you enter one of them you’ll get all the weather alerts for that district automatically. These are found in the jabber IM network at the jid muc.appriss.com, for example the boston district is known as box; and it’s room is zzboxchat. As far as I know jabber’s xmpp: uri scheme doesn’t include a syntax for denoting these chat rooms.

Standard chute

Thursday, January 10th, 2008

Here’s a thought provoking example of a exchange standard along with an short informed essay about the effects it has on the adjacent parts of the system.  The example is the trash chute in an apartment building.  In my experience, at least in NYC, much of the trash is broken up into units the size of a plastic shopping bag.  That happens to fit nicely into many of these chutes, and size standardization flows back up the supply chain nicely.  There are household trash bins that take a standard plastic grocery bag for a liner.  Living in an inner ring suburb in Boston, as I now do, I was surprised how hard it was to find a source for those trash bins.  In seemingly related news my wife recently made some cloth grocery bags, which are identical in topology to the plastic ones.

Model Employee

Thursday, January 10th, 2008

I find this to be the most amusing line in the Google paper (pdf) about their prediction market.

“As noted above, participants are not representative of Google employees as a whole: on many dimensions, they are closer to the modal employee than the mean.”

It suggests to me that if you want to fit in at Google you’d be wanting to model your behavior on the attributes of this population.

  • Optimistic when a new employee
  • Longer tenure
  • Work in the engineering division
  • Degree in computer science
  • Attend code reviews
  • Work in Mountain View, or New York
  • In Mountain View you’ll want to near the center
  • Be deeply embedded in the organization
  • Have friends, at Google, good enough that they name you
  • Be a senior employee.
  • Get with the program: i.e. over-price favorites
  • Shun pessimism, i.e. have an aversion to shorts
  • Stay the course, under price extreme outcomes

Sounds like the default culture, or at least the culture aspired to, of all high tech firms in my experience.

Update: Yes, I know the difference between modal and model. :)

Close monitoring.

Thursday, January 10th, 2008

Self control freaks can now monitor their behavior while they sleep, meanwhile the control freaks are thinking evil thoughts about applying this to all their subordinates.