aku-aku: v.. To move a tall, flat bottomed object (such as a bookshelf) by swiveling it alternatively on its corners in a "walking" fashion. [After the book by Thor Heyerdahl theorising the statues of Easter Island were moved in this fashion.] source: LangMaker.com. Aku Aku also has another meaning to the islanders: a spiritual guide.
automatic terminals in os x with ruby
Posted by dav at 2007 Mar 16 07:26 AM PST
File under: Geek

When working on my Ruby on Rails projects, I always like to open 7 windows on my OS X desktop. My IDE (currently Idea with the Ruby Plugin), my firefox web browser, and five terminal windows. One for command line interface, two for tailing the test and development logs, and two for running mongrel and a selenium server. I use two monitors, and I like to set the five terminal windows in certain places on the desktop. I quickly grew tired of opening each terminal window and placing it, resizing it, cd-ing to the right directory and running the right command, especially since it was all the same each time except for the project directory.

The OS X Terminal.app allows you to save a terminal window to a .term file. This is an XML file that contains all of the window configuration options including commands to run when opened. You can open a saved .term file by double clicking on its icon or running open mysavedwindow.term from the command line and it restores everything.

So I wrote two ruby scripts. One takes a .term file and outputs a ruby hash of window settings, the other takes a list of these hashes and opens each window represented by them. When I run the second script I also give it the name of my project and the windows are opened for that project.

The two files are parse_term.rb and terminals.rb. To use them, first manually place your terminal windows as you'd like them to come up each time. Then save each one to a .term file. Run the .term files through the parse_term.rb utility (ruby parse_term.rb saved.term). Collect the output from this and stick it in the appropriate place in the terminals.rb script.

Now edit the terminals.rb script further. Add in the :command strings so each has what you want to run when that window is open. Change the project_path directory to match your system. Run this script, passing a project name as a parameter.

This was a quick hack to meet my needs, but if you're the kind of person who likes to open multiple terminal windows when working, you'll probably be able to customize this to your needs easily.

Currently I run this from an already open terminal window, but I'd like to be able to run it from Quicksilver (perhaps using command-space period <project name> tab terms enter). Anyone know how to set that up? My AppleScript and Quicksilver skills are weak.

two things on academics
Posted by dav at 2007 Mar 3 08:30 AM PST
File under: Geek

My friend Jim sent me a couple of interesting things recently. One was information about a collaborative information project he is helping ramp up. In a (surely inaccurate) nutshell it's a bit of a wikipedia / cooperation commons / xanadu mashup. I can see tie ins with my own quixotic belief system project as well. As a bonus, he sent a link to the blog of Geet Duggal, one of the principals of the project. Geet authored a physics paper called What is an Energy Landscape that includes a section on "the ass-pains of an atomic pair potential". Geet turned me on to the term Bloom Filter, which is something I'd never heard of despite the fact that I implemented what is apparently a specific algorithm for a Bloom filter at my last company (I simply referred to it as the Ullmann algorithm, used for subgraph isomorphism searches of molecular compounds).

Jim also sent a set of links to a series of articles written by Charles Murray, author of The Bell Curve. Murray examines the realities of the modern education system and the role it plays in society. Here are some excerpts (and the links):

Intelligence in the Classroom

Half of all children are below average, and teachers can do only so much for them.

Some say that the public schools are so awful that there is huge room for improvement in academic performance just by improving education. There are two problems with that position. The first is that the numbers used to indict the public schools are missing a crucial component. For example, in the 2005 round of the National Assessment of Educational Progress (NAEP), 36% of all fourth-graders were below the NAEP's "basic achievement" score in reading. It sounds like a terrible record. But we know from the mathematics of the normal distribution that 36% of fourth-graders also have IQs lower than 95.

What IQ is necessary to give a child a reasonable chance to meet the NAEP's basic achievement score? Remarkably, it appears that no one has tried to answer that question. We only know for sure that if the bar for basic achievement is meaningfully defined, some substantial proportion of students will be unable to meet it no matter how well they are taught. As it happens, the NAEP's definition of basic achievement is said to be on the tough side. That substantial proportion of fourth-graders who cannot reasonably be expected to meet it could well be close to 36%.

What's Wrong With Vocational School?
Too many Americans are going to college

Combine those who are unqualified with those who are qualified but not interested, and some large proportion of students on today's college campuses--probably a majority of them--are looking for something that the four-year college was not designed to provide. Once there, they create a demand for practical courses, taught at an intellectual level that can be handled by someone with a mildly above-average IQ and/or mild motivation. The nation's colleges try to accommodate these new demands. But most of the practical specialties do not really require four years of training, and the best way to teach those specialties is not through a residential institution with the staff and infrastructure of a college. It amounts to a system that tries to turn out televisions on an assembly line that also makes pottery. It can be done, but it's ridiculously inefficient.

Aztecs vs. Greeks
Those with superior intelligence need to learn to be wise.

The encouragement of wisdom requires a special kind of education. It requires first of all recognition of one's own intellectual limits and fallibilities--in a word, humility. This is perhaps the most conspicuously missing part of today's education of the gifted. Many high-IQ students, especially those who avoid serious science and math, go from kindergarten through an advanced degree without ever having a teacher who is dissatisfied with their best work and without ever taking a course that forces them to say to themselves, "I can't do this." Humility requires that the gifted learn what it feels like to hit an intellectual wall, just as all of their less talented peers do, and that can come only from a curriculum and pedagogy designed especially for them. That level of demand cannot fairly be imposed on a classroom that includes children who do not have the ability to respond. The gifted need to have some classes with each other not to be coddled, but because that is the only setting in which their feet can be held to the fire.
The encouragement of wisdom requires mastery of analytical building blocks. The gifted must assimilate the details of grammar and syntax and the details of logical fallacies not because they will need them to communicate in daily life, but because these are indispensable for precise thinking at an advanced level.

The encouragement of wisdom requires being steeped in the study of ethics, starting with Aristotle and Confucius. It is not enough that gifted children learn to be nice. They must know what it means to be good.