What would an ideal computer science education look like?

I would appreciate comments on a draft article.  The topic is “what would an ideal computer science education look like?” (for a college-age person hoping eventually to get a job as a software engineer rather than staying in academia)


The draft is available at http://philip.greenspun.com/teaching/undergrad-cs but please comment here.


Thanks in advance.

Full post, including comments

Bush/Kerry Debate Analysis

If you are a Microsoft Excel Achiever, download the following spreadsheet:  http://cyber.law.harvard.edu/blogs/gems/philg/DebateAnalysis.xls


You can type in a word and get a count of the number of times that Kerry and Bush used that word in the most recent debate (the spreadsheet includes some samples but I suggest that you try “internet” to get the ball rolling).  An interesting item courtesy of some friends of friends at Harvard Law School.


[Notice that this supplies evidence for the theory that no interesting software is currently being built in C or Java.  While CS grads keep going over the same old ground in C and Java, cool people with cool ideas use declarative programming languages, such as Excel, to build cool programs.]

Full post, including comments

Reading the news considered harmful

I’ve been without Internet, email, or telephone (brought the phone; forgot the charger) for two weeks here in Greece and therefore have missed out on the news.  Checking today from Santorini it appears that absolutely nothing actually new has been reported.  Hurricanes and typhoons have struck various places that get hurricanes and typhoons every year.  People who have hated each other for a long time continue to skirmish.   Politicians have given speeches and interviews where all questions are answered vaguely and blandly.  I’ve long thought that it is much better to invest time in books and magazine articles rather than the newspaper and every time that I’m away from the news this belief is deepened.  Yet most people can’t resist reading the newspaper in the morning or clicking the “News” icon in the Google toolbar.  Could this be a source of economic and intellectual stagnation?


A very creative and productive friend says “I’ve found that if I read the New York Times in the morning I won’t get any serious work accomplished for the rest of the day.”  His theory is that because the information in the newspaper is scattered, without supporting background information or sustained argument, the result is a disrupted and scattered focus in the reader’s mind.


Thoughts and experiences?  Anyone else noticed a correlation between refraining from catching up on the news and getting real work done?

Full post, including comments

Greece Mainland Summary

Just finished a 10-day 2000-km. driving tour of the Greek mainland and have moved on to the island of Santorini.


The Itinerary:  Athens-Mycenae/Nafplio/Epidaurus-Monemvasia-Sparti/Mystras-Ancient Messene-Ancient Olympia-Patras Bridge-Corfu-Parga-Ioanina-Metsovo-Meteora-Delphi-Athens (a few of these are listed as UNESCO World Heritage sites)


The tourist attractions of modern-day Greece start with rugged mountain scenery dotted with ancient sites from the days when the city-states ruled this corner of the world, circa 400 B.C.  Unfortunately most of these are in bad condition due to earthquakes and wars.  The Romans were here until around 250 A.D. building impressive and more lasting structures such as theaters and stadia.  The next phase of Greek history is difficult for Americans to appreciate.  The center of the Greek world from 324-1453 A.D. was Constantinople, present-day Istanbul, not Athens.  The present-day Greek mainland was a provincial backwater during this time though some impressive monasteries were built, notably those on the rocks in Meteora, as featured in the James Bond movie For Your Eyes Only.  After the Turks overran Constantinople the present-day Greek mainland was occupied for most of the following centuries by the Turks, who did a lot of damage to the future Greek tourist industry by destroying all of the Christian artwork that they could find, notably frescoes inside churches.  The Venetians managed to hold onto some islands and coastal towns long enough to build interesting buildings and fortifications.  The British came briefly to build roads and hospitals in places such as Corfu but their main impact on tourism was carting off some of the best stuff such as Lord Elgin’s removal of the Parthenon friezes.  The 2004 Olympics were a godsend to the infrastructure, especially in Athens which was once one of Europe’s most polluted and traffic-clogged cities.  Now there is a subway system that runs right to the airport, a 600 million Euro bridge spans the Gulf of Corinth at Patras, and a lot of new and/or improved highways winding through the mountains.


Greece is incredibly popular with British and German tour groups but not very popular with Americans despite the fact that it is much easier to get around Greece using the English language than it is in France or Italy.  Almost any sign on the road or in a museum that you might want to read is translated into English.  Cigarettes are a staple of life for Greeks and the European tourists that they host but the smoke isn’t oppressive as it is in Northern Europe because nearly every meal is eaten outdoors. If you make the usual adjustment for the Mediterranean male’s habitual overestimation of his driving skills it is easy to get around by car and parking is never a problem.


Travel planning tips:  Try to include Meteora and Delphi in any trip to Greece.  You could do both in 3-4 days with a rental car.  If you’re short on time, skip Corfu.  The island is overrun with German and English package tourists and the coastline is overdeveloped.  Corfu Town has some nice Venetian architecture but nothing like Venice itself.  May and June are probably the best months to visit Greece.  September can be extremely windy in the Aegean and ruin a trip to the most popular islands.  July and August are hot and overrun with European tourists.  Even with the Euro over $1.20 the cost of traveling in Greece is about the same as traveling within the U.S.  Hotels and restaurants are much cheaper than in other European countries.  You can find a somewhat crummy double room almost anywhere outside of Athens for less than 40 Euros per night.  A typical high-quality meal at a family-run taverna will be 12 Euros per-person with wine, including tax and service.

Full post, including comments

Outsource university administration to India or China?

Nearly all American universities have experienced tremendous growth in administrative staff in the last 30 years.  At most schools the ratio of admins to faculty has doubled. As this trend continues necessarily tuition prices continue to outpace inflation.  Within our lifetimes it is likely that the cost of a college degree will exceed the cost of a twin-engine business jet airplane (in the 1950s four years of tuition cost about the same as a new Chevrolet).


If colleges cannot get by without adding more labor per student why not do as for-profit corporations do and add that labor in China or India?  As noted in a December 1, 2003 entry, MIT has had great success outsourcing OpenCourseware programming and editing to India.  Think about all the jobs at a typical university that are done primarily via phone and email.  Obviously the entire IT department could be in India.  Why not the registrar?  How about most of the coordinating and tracking functions of the alumni office?


American labor is wonderful but it is a luxury that most American families can’t afford.


Business idea for the young readers:  Start a university “back-office” service bureau in India or China.  The folks who’ve done this for Wall Street have been very successful (New Yorker magazine did a great article this summer on Office Tiger, started by two Princeton alums).  Most university administrations lack the initiative to manage staff overseas (or do anything innovative, actually) but they would all appreciate the potential cost savings.  So they’ll need a contractor to do it all for them.

Full post, including comments

Why the Greeks hate the U.S.

Athens is lovely.  The perfect weather and ancient history enable such activities as last night’s open-air concert by the Vienna Philharmonic in a 2000-year-old marble amphitheater underneath the Acropolis.  Everyone speaks English.  When in the company of a local it is very difficult to pay for meals or entertainment.  I asked one of these hospitable locals how come the Greeks are reported to hate the U.S. so much.  His answer:  “It depends on one’s party affiliation.  The Left Wing hates the U.S. because of its support for the Right Wing against the Communists 50 years ago.”  That’s wonderful, I thought.  Only half of these guys hate us!  “Actually, no,” he continued, “the Right Wing was sympathetic to the Serbs in Bosnia and Kosovo and after Bill Clinton’s bombings in support of the Muslims they hate the U.S. too.”

Full post, including comments

Software and Medicine

This AP story about the failure of air traffic control communications in southern California marks an interesting milestone in the American culture of victimhood.  Pilots and passengers were the ones at risk but “Three [FAA ATC] workers filed injury claims, saying they were traumatized by seeing flights veer toward one another on radar without being able to do anything.”


In a society where “software and medicine are the only things that regularly fail,” the last line of the article was not too surprising:  “Ghaffari said a backup computer system was activated, but it failed too.”


[This letter from an FAA controller published by avweb.com might inspire some young folks looking for career ideas.]

Full post, including comments

Best way to manage a personal mailing list?

For many years I’ve been inviting a group of friends over to brunch and/or wine/cheese via a personal mailing list.  This is just a text file of the form


bcc: foo@bar.com
bcc: yow@baz.org
bcc: student@veryrich.edu

I prepare an email message in Emacs, to: philg, and then insert all of these bcc: headers.  This then gets sent to a mailer at MIT and off to the world.  Worked great in the mid-1990s before spam made the Internet the time-waster that it has become.  Now many of my friends don’t get the email at all.  Hotmail, for example, when it sees something to: philg@mit.edu, bcc: happy_user@hotmail.com, sends it straight to the junk mail folder.


The challenge now is the best way to divide this up so that 100 individual emails are sent, each one from: philg, to: person_on_list.  One answer would be to write a Perl script on the Unix machine.  It would take two arguments, one the filename of a message and the other a filename with one email address on every line.  The Perl script would look through the email addresses and send out an email on my behalf.  (Anyone know where to get a script that does this already?; I checked cpan.)


Unix boxes typically have list managers such as Majordomo installed but as best as I can recall the email from these programs usually has a bulk look and feel, being sent to “fish-lovers-list” instead of the recipient.  I’m thinking that these are likely to be trapped by spam filters as well.


Another answer would seem to be Microsoft Outlook.  I switched to Outlook a couple of years ago when I got a Handspring Treo.  So why not just add every brunch guest to my Outlook contacts folder and somehow spam them from my desktop machine?  This has the advantage that I’m only keeping one database of contacts.  This has the disadvantage that it doesn’t work when on the road.  The regular Outlook distribution list mechanism produces an email with multiple To: recipients, which I don’t want to do because when people reply they often unintentionally reply to the entire list (in this case about 100 people).  Are there VB scripts out there that will force Outlook to send one email at a time to each person on a distribution list?  It seems as though there is a product, http://www.mapilab.com/outlook/send_personally/, that claims to do the job.


Finally there are Web services such as Evite.  I don’t really need a count of who is going to come.  These tend to more drop-in sorts of events so Evite is rather too heavy-handed.  Also Evite, I think, subjects users to banner advertisements and I’m not sure that I want to surrender control of my database to them.


Thoughts?  Scripts?  Recommendations?


[Update:  My favorite solution so far is Ryan Tate’s very simple Perl script, referenced in the comments at http://www.ocf.berkeley.edu/~ryantate/massmail.pl.txt; I got this working with the help of one of the Unix wizards at MIT who installed the Mail::Send library.  I modified the script to add a Reply-To header and will eventually modify it so that it takes a database file with multiple fields per line, e.g., first name, last name, group membership (e.g., “kids”, “nerds”, “night_owls”) and can send selectively to members only of one or more groups.]


[Conclusion:  The Weblog seems to be truly powerful.  At 4 pm I asked a question.  By 6 or 7 pm I had a raft of workable answers.  By 9 pm I used one of those answers to invite more than 183 people to a going-away party on Wednesday evening (I head off to Greece on Thursday morning).]


[December 2004 update:  A friend and I managed to enhance Ryan Tate’s Perl script and the version with more features is available at http://philip.greenspun.com/software/brunch-spam.pl.txt]

Full post, including comments

A Puppy Called “It”

One of the handful of English-language books that is easy to buy in Japan is Dave Pelzer’s bestselling A Child Called “It”.  Waiting for a train I managed to skim through most of this popular work and it has come back into my mind today as I take care of Roxanne, Alex’s 5.5-month-old cousin.  Mr. Pelzer says that, as a child, his mother made him live in the garage and eat scraps of food while his siblings were dining on lobster at the table.  It made me wonder what kind of book dogs would write it if they could.  “While the rest of the family chowed down on $200 of natural foods from the Whole Paycheck supermarket, I was nearly starved for the whole day and then confined to the floor and given one small bowl of 6-month-old dried out nuggets that had come in a bag.”

Full post, including comments

Microsoft stagnation will lead consumers to Apple or Walmart?

A couple of MIT undergrads were over here at the house yesterday.  These technology connoisseurs said that the stagnation of features available in Windows will drive consumers to buying Macintosh computers, especially laptops.  Apple is apparently on a roll with new OS features including a disconnected and resync-able file system scheduled to ship in 2005 (didn’t Carnegie Mellon do this with Andrew File System many years ago?).  I compared their prediction to the high-end audio nerd’s belief that CDs would be supplanted by a digital format with superior sound quality.


In the audio market the connoisseurs were mostly wrong.  There are two competing high quality digital music formats, SACD and DVD-A.  Together there are fewer than 1000 titles available in these formats, more than two years after their release, and you can’t find these in most record stores.  By contrast the mass market has embraced digital music formats that are lower quality than CD:  MP3, XM Radio, Sirius Radio (the satellite radios put out about 64 Kbits/channel and are noticeably inferior to a regular FM station, even on a fairly cheap set of speakers).


Suppose that Microsoft never adds another feature to Windows?  Not even my personal pet desire, the ability to display and lightly manipulate camera raw format images that come from high quality digital cameras.  Would that drive consumers to buy Macintosh?  Not if the computer market turns out to be like the audio market where people said “CD quality is more than good enough; I just want music that is more convenient and/or cheaper”.  People would say “Windows XP Home is good enough but let’s get it for as little as possible”.  The result will be a $350 laptop at Walmart.  I met a senior Dell engineer recently and he told me that Dell was already producing a laptop on which they could cut the price to $500, without downgrading any components, and still make a profit.  The cheapest Macintosh laptop, by contrast, is $1100.


People who stopped buying CDs now spend their home entertainment budget on fancy digital cable.  If Microsoft’s feature stagnation leads to a big drop in the average price of a purchased PC who will pick up the dollars not spent?  My prediction is mobile phone makers and carriers.  I saw a billboard yesterday for a Nextel phone with built-in GPS and voice-prompt navigation.  That seems more useful to most people than whatever OS tweaks Apple and Microsoft might offer to their 1970s-style mouse-windows-keyword systems.

Full post, including comments