bzlib/dbi – an extensible database interface for PLT

bzlib/dbi has just been made available via planet – inspired by Perl DBI, it is an extensible database interface, currently with the following drivers implemented:
bzlib/dbd-spgsql – wraps around schematics/spgsql
bzlib/dbd-jsqlite – wraps around jaymccarthy/sqlite
bzlib/dbd-jazmysql – wraps around jaz/mysql
bzlib/dbi/app – a kill-safe wrapper over raw database handles
bzlib/dbi/pool – a database connection pool wrapper
So if you need to switch within the three databases you now can do so more easily, and you get database connection pools and kill-safe wrappers for free.
You can find more details at http://weblambda.blogspot.com/2009/09/extensible-abstract-database-interace.html – which explains more in details about the interface.

(via PLT)

The Difference Between Undergraduate and Graduate School

Today during lunch my friend told me that the difference between undergraduate school and graduate school is that in undergraduate school the teachers are responsible both for telling you what you need to know and teaching it to you, but in graduate school they are only responsible for the former.
What do you think?

Reinstalling Snow Leopard

To satisfy my own curiosity, I reinstalled OS X Snow Leopard today.
It took about 48m to install the OS. I excluded all printer drivers, foreign language fonts, and translations.
You can’t trust the estimated time to completion. It started by reporting only 17m. After 17m, it changed to 18m, at which point I quit watching. Returning later, it reported 5m remaining, and after 1m reported completion.
One reason for a faster installation, too, is that the installation media is not verified as it was in Leopard.
This was on a 2.0GHz Core2Duo Mini.

Why PLT Scheme disllows one-armed ifs

In 1991 I asked Bob Hieb (Kent’s Chez Scheme buddy then, and my co-researcher on theoretical stuff) what the most frequent annoying bug was in the code. He ranked an accidentally omitted else branch among the top three. Indeed, he said that because of this, they had agreed to use WHEN and UNLESS exclusively for cases when they needed a one-armed IF and that they considered all one-armed uses as a bug or a legacy issue (which they corrected as soon as they touched a file).
We have chosen to codify their restriction. It’s a minor inconvenience that buys a good deal of clarity

(via plt)

Schemik: A Data-Paralell Scheme

Schemik is a high-level lexically-scoped implicitly-parallel dialect of Scheme and Common LISP, this means the parallel execution of programs is done independently of the programmer and each program written in Schemik always produces the same results no matter which parts of the program are executed simultaneously.

(via r6rs-discuss)

How To Create a User-Defined Service

Because I always forget how, here is how to create a user-defined service in Windows:

  1. Get a copy of the Windows 2003 Resource Toolkit
  2. Install the service:
    path\INSTSRV.EXE My Service path\SRVANY.EXE
  3. Open the service you just created in regedit here:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[My Service]
  4. Right click the service itself and create a key named ‘Parameters’. This creates a new sub-folder.
  5. Select the ‘Parameters’ key and then right-click on the space to the right and choose the ‘New Key’ option. Name it ‘Application’.
  6. Its type will default to ‘REG_SZ’. Leave that alone.
  7. For its value enter in the executable path.
  8. You are done.

(via Microsoft Support)

You Might Be Better At Business Than You Think

From this post:

The talk was simple. Come up with a product, charge money for it, make more money than it costs to run it, and you turn a profit! This is the formula that’s been in place since business began. Yet in front of a group of new tech entrepreneurs it seemed like a revelation, a brand new story never told before. [The presenter] said people were coming up to him in droves after the speech thanking him for opening their eyes. Who closed them?

This sounds pretty surprising; isn’t stuff like this covered in the “Business 101” textbook?

Being Scrappy

What does it mean, exactly? It’s basically the diminutive form of belligerent. Someone who’s scrappy manages to be both threatening and undignified at the same time. Which seems to me exactly what one would want to be, in any kind of work. If you’re not threatening, you’re probably not doing anything new, and dignity is merely a sort of plaque.

(via pg)