Archive for January, 2009

Come to New England Database Day!

Wednesday, January 28th, 2009

New England Database Day is a one-day mini-conference where participants from the research community in the New England area can come together to present ideas and discuss their research.  I highly recommend this event if you’re interested in cutting-edge database technology.  There will be eight talks plus poster sessions.

(I’ll say “database” to mean “database management system”, as is often done for brevity.)

Last year’s conference (the first one) was great. Here’s my very belated report.

David DeWitt’s paper on Clustera, which controls and runs large batch operations on a big cluster of machines.  There are three prominent classes of these, exemplified by (a) Condor, for running things like circuit simulations and weather models; (b) Gamma, for doing parallel database queries; and (c) Map/Reduce.  Clustera is designed to be able to do all three of these things reasonably well.  In fact, these three are just particular points in a whole space of possibilities, which Clustera can be used on.  Also, Clustera is simpler and smaller than other such systems, because it builds on a J2EE application server and a small relational database.  Prof. DeWitt has been in charge of the amazingly productive database system research at University of Wisconsin, Madison, although now he’s going to a new Microsoft research center to be created in Madison.

George Miklau explained about policy decisions regarding archival storage, such as privacy, accountability, retention policies, subpoenas, and redaction.  He talked about how technological decisions affect these things, too.

Stavros Harizopoulis of HP Labs described an experiment that demonstrates why main memory databases can be so fast, analyzing the costs of various modules that can be omitted such as logging (most kinds), locking, latching, buffer management, and other overhead.  No one of these takes the lion’s share of the time, it turns out.  You have to do all of them to get the best performance improvements.  A major point is that a database system designed to be column-oriented can be a lot faster than a general-purpose database acting as if it were column-oriented.

Ryan Johnson of CMU talked about many issues involved in executing queries in parallel on multi-core processors.  As you’d expect, this is a hot area, since the multi-core processors are becoming so widespread, and the number of cores is going up.  He examined work sharing, pipelining, working set size, and of course caching issues.  He presented experimental results as well.

Daniel Abadi of Yale (formerly of MIT) (not to be confused with Daniel Abadi of Microsoft Research) gave a talk called “How To Create a New Column-Store Database in a Week”.  The point was that you can do it, based on a regular row-store database, but he expains why this won’t work well.  A good column-store database must be built that way from the start.

Anastasia (Natasha) Ailamaki of Ecole Polytechnique Federale de Lausanne was honored by being the last speaker; she has won many awards and is a rising star in the database community.  Her talk was “Multi-Core: Friend or Foe?”  She explained a lot about how the memory/caching systems multi-core processors work.  She also explained some of the major design tradeoffs that the hardware designers can make: fewer, more complex cores, or the opposite, and whether hardware threads are used.  Then she talked about how all this particularly affects database systems.

The event will be in Cambridge, Mass. at MIT, in the Stata Center, room 32-123 (the big lecture hall on the first floor).  It’s be this Friday (January 30, 2009) from 9 am to 6 pm.  It’s free, but they’d like you to register so they’ll know how many people are coming.  I hope to see you there!

Windows 7: What I’ve Heard So Far

Saturday, January 24th, 2009

I just bought a new laptop. (It’s a Sony Vaio Z590 with a 128GB SSD, a “thin and light” weighing less than four pounds and having a CD/DVD drive. So far so good.) Although I haven’t had much trouble with Vista on my desktop computer, I was afraid it would be too slow on the laptop. So I shelled out an extra $50 to get the Windows XP downgrade.

Vista seems to be working fine so far, but I haven’t done too much the laptop yet so it’s too early to say. I’ve been wondering whether to downgrade it. But now, news is coming out about the upcoming Windows 7, and I’m thinking of waiting to see how that goes.

Here’s what I’ve read so far, just to save you the trouble of wading through all the text from which I extracted all of this. (Thank you, NetworkWorld and ArsTechnica.) Much of this applies to Windows 7 Beta 1 Build 7000. I omitted a lot of fancy enterprise features, which I personally don’t care about.

  • Windows 7 has a smaller footprint, fast and simpler installation, and ability to run on computers with “minimal resources”. It’s said to be a lot faster. Vista’s being big and slow (due to paging, I’d think) is, to me, it’s biggest drawback. If they’ve fixed that, they’re really done something useful.
  • Vista introduced architectural changes, the most important being in the way the driver model and display layer work. So new drivers were needed, and not all were available. And some apps that worked under XP did not work under Vista. This time, they haven’t made such changes. Anything that works on Vista ought to work on Windows 7. Most new features have to do with the user interface, which has been refined based on information Microsoft has collected about how people really use things like windows on the screen.
  • If you have lots of applications installed, the Start menu now has a search box so you don’t have to scroll so much.
  • The Windows Taskbar has been improved. It’s obviously based on the Mac’s Dock: there are big icons instead of words, and you can rearrange them. But wait, there’s more. Right clicking gets you a “jump list”, a menu with many useful commands, such as the most-used application commands, recent documents, etc. (This works both on the task bar and the Start menu items.) As you move over the task bar, the other applications are made transparent so you can “peek” at an app’s window(s). And you can “peek” at the desktop, so you can see “gadgets”, which are no longer wasting space on a sidebar. The icons only appear if “explicitly enabled” (I’m not sure how) so that the task bar doesn’t get too filled with stuff you don’t care about.
  • Resizing windows on the screen is easier. Dragging a window off the left of right edge resizes it to use 50% of the screen, since user testing shows that people very often use two windows. (Editorial comment: See, Emacs was right all along!)
  • Setting up WiFi connections is a lot easier, and Windows 7 remembers passwords and figures out which one to use, supposedly correctly.
  • The new Action Center application centralizes/aggregates info about common problems (such as the need for upgraded drivers, the need to run a security scan, etc.), suggests how to remedy the problem, and provides commands to do so.
  • Backup is a lot easier to use. (I bought an external hard drive when I bought my new Vista PC, for backups, but often I get an error message saying that the backup failed because it can’t find a few dozen megabytes of disk space that it needs, which is ridiculous. It works often enough to be useful, but those error messages bother me.)
  • If you’re in an enterprise with Active Directory, security policies have been improved.
  • It’s easier to stifle all those warnings that Vista pops up. (I actually like them.)
  • The firewall is much more sophisticated, allowing finely-tuned rules (not intended for civilians).
  • The new Libraries feature lets you combine files from disparate sources into an easily-accessible “Library”. They they’re indexed by the searcher, so they probably cannot live on non-indexable devices (such as remote “drives” other than those connected by NFS).
  • There’s a new application to help track performance and system characteristics. But the user interface is awful. In particular, you can’t correlate information.
  • There’s a new Credentials Manager to create and hold private keys and such. But when it prompts for your password, it doesn’t ask you to type it twice, so there’s a lot more chance that you’ll make a typo and not be able to access your own stuff.
  • They made it smaller by taking out some standard applications. But now you have to download “Essential” applications from “Windows Live Essentials”. You may or may not like this change. The applications free, though maybe there’ll be ads and such.
  • The new Powershell is useful for people who like to use command lines instead of GUI’s. There is something called “cmdlets” to improve administration. This feature is thought to be aimed at the desktop Linux community.
  • There’s better support for touch screens, and speech and handwriting recognition, in case you don’t like using the keyboard and mouse.
  • The Aero feature has been improved.
  • It installs as a VHD (Virtual Hard Disk), “making it truly portable”. (I am clear on the concept here.) You now mount .vhd files using the normal “Disk Management” features of Windows 7.
  • The BitLocker disk encryption now works for removable drives, not just internal drives.
  • There’s a “Problem Steps Recorder”. If you want to report a problem, you turn it on and replication the problem. It makes an extensive log that you can send in your bug report.
  • The beta has problems. IE crashes. Too few devices are supported. It’s too early to judge it on the basis of this kind of thing, I think.

That’s what I’ve read. If you’ve had experiences with the beta, please add comments. Thanks!

Lisp Conference Schedule Is Announced

Thursday, January 22nd, 2009

The schedule for the International Lisp Conference has been posted.  Registration will open shortly.

If you have any interesting in giving a short/lightning talk, you’ll be able to sign up for that at the conference.  You might want to let me know, too, but you need not.

A short talk can be on anything bearing on Lisp, Scheme, or related languages.  It need not be on a profound topic or a research project. It can be as simple as:

  • Here’s a good application that we wrote in Lisp.
  • Here’s a useful Lisp library that you might want to know about.
  • Here are some interesting things about my Lisp development tool.
  • I have this provocative/outrageous opinion.
  • Please give me feedback about this idea.
  • Alice and I will debate the following point.

The ideal duration is five minutes, but the talk could be extremely short, or up to about ten minutes.  There’s no Q and A immediately afterwards.  You can meet up with interested people later to continue talking, answer questions, etc.

This is an informative web page about short/lightning talks in general, and this is a longer one with advice.  But all you have to do is talk for a little while, so don’t worry.

I hope you can come to the conference!

The Amazon Kindle: We Like It Very Much

Saturday, January 17th, 2009

This summer, my family went to Ecuador.  On the Galapogos cruise, you have a very tight budget for luggage.  Normally we bring lots of books on vacation, but this time there was no way.  The Kindle was the obvious solution.  I bought one, we tried it, and we got a second one.  There were three of us including my son, Adam (age 17), so there was some contention; fortunately we did bring a few print books.

My wife, Cheryl, although she uses PC’s all the time, generally hates gadgets.  But she loves the Kindle and uses it very heavily, even now that we’re back.  I like it a lot too, and if I had time to read more books (argh!) I’d use it a lot too.

The eInk technology is amazing.  It’s far easier to read a book on a Kindle than on a computer screen.  You can control the font size.  Those of us old enough to need reading glasses, and to forget where we put them (sigh), can read fine with the large type size.  You can’t change the font, but I don’t care. You can plug in earphones, and there’s also a tiny speaker.

About half of the new or new-ish books that I go to buy are available for the Kindle.  When they are, that’s what I buy.  Kindle books from Amazon are also less expensive.  I typically pay $10.  You can get a rather extensive free sample of the book, to see if you like it.

You can get quite a few out-of-copyright books in Kindle format from various sources on the web.  I have the complete works of Herman Melville.  Cheryl, who is an English major specializing in 19th century fiction, has quite a lot more.  It’s all entirely free.

There’s plenty of memory, and I put in an SD card so there’s now vast amounts of memory, in effect, since an eBook is pretty small.  You can also download audio (Cheryl sometimes uses this), which takes a bit more space, but with the SD card, there’s no space limit in practice.

It can go for a long time without charging.  We only had to recharge every five days or so; obviously this depends on how much you use it.  The user interface is good, although not perfect: the buttons for moving forward and back are nice and big, but they are so big that you can’t always grasp the device the way you’d like to.  But it’s not a big problem.  If you’re eating at a table, the Kindle takes a lot less space than a hardcover or trade paperback book, and you don’t need to hold the pages open.  After the vacation, We both got nice third-party cases (Tuff-luv) that let you stand up the Kindle like a desktop photograph frame, but that’s not necessary.

You can annotate text; the keyboard is small and there isn’t any word processing (much like the Notes application in the iPhone), but for its purpose it’s OK.  You buy books from the Kindle Store over the “Whispernet”, which is actually the Sprint cell phone network, but you do not pay anything for this (no “data plan”, no subscription charges at all).  It works very well.  There’s a dictionary so you can look up words you don’t know.  There’s a “search” function, although unfortunately is searches all your books; there’s no option to just search one of them.

There are three “experimental” feature:

  1. Basic web browser. It’s pretty basic, all right, but you can do some useful things in it, if you really don’t have any other way to get to the web.
  2. Ask Kindle NowNow. Itlets you send any question to Amazon, where someone will do their best to answer it and send you back an answer.  Their operators just do web searches, and are supposed to get back to you in ten minutes.  I have not tried it.
  3. Play music while you read. Copy MP3 files to the Kindle.  I haven’t tried this either, since I don’t listen to music while I read, but I’m confident that it works.

To transfer files to the Kindle (if you’re not just using the store), you plug a cable into it.  The other end is a normal USB. The Kindle appears as a device with three directories: books, audio books, and MP3′s. You just copy in the usual way. It’s very simple.

The Kindle does not support PDF directly.  However, there are ways to read PDF files:

  1. You can send email with attachments to <yourself>*free.kindle.com to be converted and emailed back to your computer at the email address associated with your Amazon account.  Then you can do a USB transfer.  Or, they’ll send it straight to your Kindle for ten cents.
  2. MobiSoft’s “MobiPocket Creator” converts PDF, Word, HTML, and plain ASCII to Kindle format, and does all sorts of other cool things.  It’s free. I haven’t gotten around to trying it yet.  See .  You need Windows, and Internet Explorer 7 beta 3.  When you install it, click on “publisher edition (for advanced users)”.  It’s not clear how well it works for very complex PostScript, or for PDF files with things like scanned pages.  Google “Kindle PDF” for even more on this topic.  There’s an application called “Stanza” for the Mac.

Objections I’ve Heard
Here are some objections I’ve heard raised about the Kindle, and my opinions.

  • It’s not “open”; that is, you can’t program it. The Kindle is not a computer.  It’s an appliance.  I can’t reprogram my digital watch either.  This just does not bother me.
  • eInk can’t be backlit, so it’s hard to read in dim light or the dark. That’s true, although it’s also true of ordinary books.  It would be nice if they could improve this somehow.
  • It’s hard to share a copy of a book, other than by sharing the reader. Actually you can move a book to the SD card, and move that to another Kindle.  It’s not hard.
  • Pictures do not render well. That’s true.  What’s more, at least one book we read was supposed to have a map that would have helped the reader understand the book, and the map was entirely missing.
  • You might lose your Kindle, and it’s not cheap to replace, although you do get all your data (books, your own annotations) back from Amazon.  That’s true, just as it is of my notebook computer.  This complaint really has to do with the whole concept of ebooks versus print books, not the Kindle specifically.

And Also

I am not a real Kindle expert; I don’t read the blogs or anything.  There’s a great deal more information available at Amazon and many web sites.  One good one is “Top 25 Kindle Tips“.

I have not tried the Sony reader or any other book reader.  There are rumors about a second-generation Kindle coming out, but I don’t know anything about it.

Summary: It’s excellent.

AgentSheets: Learning Programming, for middle-schoolers

Saturday, January 3rd, 2009

The Scalable Game Design project is aimed at getting computer science into middle schools, to get kids interested in information technology through their natural interest in games. A principal software tool of the project is AgentSheets, which lets you make your own simulation games without learning the syntax of a programming language.

If you know a kid in middle school who wants to make his or her own game, or just learn about programming, I recommend that you take a look at this!

The general concept is a bit like some systems you may have seen before, such as the visual programming languages provided with Lego Mindstorms. However, this requires no special hardware, and the specifics look a lot more interesting and flexible to me than anything I’ve seen along these lines.

An example of what you can do is the classic arcade game Frogger (developed by Konami for Sega/Gremlin in 1981). This tutorial shows how to do it in AgentSheets.

There is a three-minute movie showing kids using AgentSheets. It gives a good sense of the kind of game and the level of complexity that AgentSheets is suitable for (although it doesn’t demonstrate programming itself).

You can also read research papers about the project.

To try it out, you can download a free trial version with a ten-day license, for MacOS X or Windows. It costs $120 in single units, less for educators or if you get ten licenses.

As it happens, it’s written in Common Lisp, which is how I came to hear about it. But that doesn’t matter as far as using it is concerned.

The principal investigator is Prof. Alexander Repenning of the University of Colorado. He has worked at Xerox PARC and HP, and he has collaborated with researchers at the Epistemology and Learning Group of the MIT Media Lab, LOGO, and SRI to explore programmable LOGO toys. He has been involved in many other projects as well.

Thanks for telling me about this, Alex!