Suppose that you awoke to find your consciousness contained within a robot. You don’t know where you came from before this existence, you don’t know who gave you this robot, and there is no manual for the time you will spend in this robot.
Is it your duty to maintain your robot?
Author: grant
The Clarity that Tragedy Brings
Sometimes tragedy brings a certain clarity to one’s life. Suddenly, your priorities are clear and things are so simple. You know what matters, and everything else doesn’t. Why is that the case?
When tragedy passes, why does that clarity so easily slip away?
Powerball Statistics
Tail Recursion is a Brain Hack Not a Compiler Hack
A few months ago this last-in-a-thread-of-posts generated a lot of buzz. In it, the creator of the Python programming language shared his views about how tail-recursion does not belong in Python. The only problem with the post(s) was that he, admittedly, did not understand tail-recursion. This course of events, the blog posts, comments, and aftermath, were interesting in what they revealed:
- How one person can affect how so many think
- How tail-recursion is so misunderstood within the developer community
The first, of course, is the prerogative of any BDFL. It is sort of fascinating how the edict that he set forth is enough to convince thousands and thousands of Pythonistas that tail-recursion is flawed and unnecessary (that is power!). That is sad, but, it is a privilege of the role. The interesting part is the impact of never understanding tail-recursion (#2): it removes an entire style of abstraction from the developers toolbox.
Here are 3 works that explain that style:
I haven’t found any other resources than those and Jon’s post here (see the last section) that touch upon the style. Do you know of any others?
Using Syntax Highlighting to Flag Mutation
As Robby describes here, in a recent build of DrScheme he added mutation flagging to the syntax-highlighting.
Serious Statistics Programs Pay for the Fun Ones
Here is an article that explains how one of the four co-founders of SAS, a statistician, has an awesome job where the serious product (SAS) pays for him to develop the fun product (JMP).
Note: That is an understatement, as it probably would pay for him to stare at the ocean for the rest of his life if he wanted. It is still a good point, though: sell serious stuff to pay for the fun (for you) stuff.
Using Doxygen with MATLAB
Here is the link for a utility that converts MATLAB code to C so that Doxygen can generate documentation from it.
Java Control Flow: Do you really grok it?
Manu put out a challenge to it here.
A New Version of Mini Scheme
In the past days I have hacked Atsushi Moriwaki and Akira KIDA’s MiniScheme a bit and I must say that it is quite a nice and clean implementation.
– Nils
In case you want to give it a try: http://www.t3x.org/miniscm
– Nils
(via comp.lang.scheme)
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)