August 29, 2002
Schizophrenia on NPR

I didn't manage to catch this report on schizophrenia on All Things Considered this evening. I was on the way to the gym, though it doesn't do much good. It's really scary and disturbing even to watch the slide show. I imagine the full virtual reality with goggles and headphones must be pretty intense.

While on the NPR site I started browsing through the NPR people. I looked up Mandalit del Barco because I like her reporting, and discovered that the title of her Master's thesis was "Breakdancers: Who are they, and why are they spinning on their heads?" That's fantastic.

Posted by Alex at 09:25 PM
If they hadn't been sued would they have said it?

This article about the Parents Television Council (subscribers only I'm afraid) on Salon includes a link to the following :: Parents Television Council - PTC RETRACTION TO WWE AND TO THE PUBLIC ::. I recommend you read it. It's amazing.

I remember hearing about the case at the time, and how conservative commentators were saying wrestling was responsible for the murder etc. Turns out the kids were watching the "Flintstones" and a cartoon called "Cow and Chicken". Of course the retraction gets no where near the publicity of the original allegation, even though the Parents Television Council had to pay $3.5 million in damages. Also, as you read through the rather grovelling apology you get some idea of the tatics, and basically lies, that are used when an organization like the PTC decides it has a target. It's like taking Ken Lay's word about the soundness of Enron.

Video games are another bogeyman for kiddy violence. The current hot button is Grand Theft Auto III but before that it was Doom. Of course the US Army publishes a video game so perhaps it really does encourage violence :)

Posted by Alex at 08:20 PM
Warren Ellis

This has been blogged a lot already of course but I thought I'd link to it here as well. Warren Ellis has a weblog called die puny humans. As you may know Mr. Ellis is responsible for, among other characters, Jenny Sparks, my favorite comic book heroine after Halo Jones. I don't think the Jenny Sparks link does her justice but it's the best I could find. The quote I won't wear one of those damfool spandex body-condom things. I don't have the bust for it. gives a flavor for her character. Myself, I slightly prefer Halo Jones, as I've said before, because, well I supose because of how ordinary she is. At one point a character says of her She wasn't that brave, or that clever, or that strong. She was just somebody who felt cramped by the confines of her life. She was just somebody who had to get out. And she did it!

Back to Warren. Personally I'm eagerly waiting for the final installment of Ministry of Space. The first two episodes were an excellent, briefly sketched, alternative history of space flight. How will it be resolved, or not resolved in the final episode.

Posted by Alex at 07:50 PM
August 26, 2002
What's the value of ideas?

Andre Torrez makes the important point that Even You Can Do It. The point is, what's the value of an unimplemented idea? For software Andre thinks that it's pretty small. I think that's probably true. Other sorts of ideas, for example the theory of evolution, are clearly worthwhile and valuable even thought they can't be implemented. There's even a middle ground for software where ideas like software patterns live. These are worth something as conceptual models for thinking about programming problems even if you don't implement them.

Posted by Alex at 07:55 PM
Blogging software choices

From O'Reilly an interesting little piece on Choosing a Blogging Package for Students [August 26, 2002]. The product finally selected was MoveableType. Along the way an interesting list of requirements for blogging software in this situation is presented.

Posted by Alex at 07:47 PM
The power of phrasing

From a thread on slashdot, Police Database Lists 'Future Criminals', comes this excellent example of how to phrase something so that it is both true and misleading: ``It is not [yet] proven that John Ashcroft took bribes from senior Al-Quaida members. ''.

Posted by Alex at 07:45 PM
Americans, pah, II

Yet more complaining about American women by Guardian columnists. This time What's up with US women? from the point of view of a British man.

Posted by Alex at 09:31 AM
August 25, 2002
Symbolics Lisp Machines

The Symbolics Lisp Machine Museum has, among other interesting things, this paper looking at why Symbolics Inc. failed. It uses heterogeneous engineering as a model to structure the analysis. Interesting. Crossing the Chasm also looks like a pretty good model for what went wrong, but perhaps one with less prescriptive benefits.

A quote: It turns out that technology is only useful if the environment is engineered to find it useful. I think Sun has been pretty successful here wrt Java. They've worked pretty hard to support the perception that Java is the solution to people's problems. Beyond a certain point this becomes a self fulfiling prophecy, people use the product to solve problems, hence it is a solution to problems.

Posted by Alex at 08:19 PM
Americans, pah.

From the Guardian newspaper in the UK a column poking fun at American women complaining about UK men. It's a fairly typical piece making fun of American women for their self absorption and concern with "feelings". Being British myself I of course agree with this quote People who talk about their feelings at the drop of a hat, in terms endorsed by the American school of emotional hygiene, are not deep and open, they are shallow and practised or, alternatively, deeply needy.

On the other hand, when you're looking to write a quick light article, poking fun at Americans is always an easy way out for UK column writers.

Posted by Alex at 08:15 PM
August 22, 2002
Game Scripting in Python

From Gamasutra (free registration required) an article about using python as a scripting languages in games. From what I've read most recent computer games use an embedded script language to control gameplay. Many companies write their own. Rather than develop yet another scripting language this article advocates using python. Same sort of reasoning is behind the company I work for choosing to use javascript instead of developing our own language. I've worked with products where the developers decided to roll their own. Not pretty.

The article lists reasons why you should use a standard scripting language. I'd add that people incorrectly choose to write their own for a couple of reasons.

  • They've always wanted to write a language that works the way they want it to and fixes the deficiencies they see in all other languages. I think most programmers have felt like this at one time or another. The problem is that decent language design is more difficult that it looks from the outside. I don't think you have to be a card carrying member of the language designers union but perhaps a realistic appreciation of your experience and skills, and the potential difficulties, would be useful.
  • The problem they're trying to script for looks pretty simple so clearly a fully fledged language is not needed. Unfortunately the requirements for the language always expand so the features needed have to expand with them. Languages that grow by accretion this way often end up with a strange mismash of features and notations.

Of course there is a tension between this and my previous words in favor of Domain Specific Languages. How to resolve this? I have some ideas for later.

Posted by Alex at 09:02 PM
August 21, 2002
Sneakers

From the Wall Street Journal someone who makes money reselling sneakers. It's the classic model of being able to exploit a difference in availability between different markets by virtue of having greater knowledge of, and access to, those markets.

Posted by Alex at 08:30 AM
August 20, 2002
Ius Mentis

According to the website ius mentis is latin for legal rights on mental things. The purpose is to explain the law to techies and tech to the laywers. I think it does a great job. It has excellent crash courses on patents, copyright, databases, and trademarks among a bunch of other stuff. Well worth reading

Posted by Alex at 08:21 PM
August 19, 2002
Naive Bayes spam filtering

A project called ifile, found via Sweetcode, that uses Naive Bayes to classify e-mail documents. This is the same technique that Paul Graham has recently written about. Paul's write up was talked about on Slashdot.

It seems to be a pretty useful method for e-mail classification. Some of the Slashdot posters preferred the systems where certain phrases or keywords are manually given scores and the aggregate score for a message is used to classify it. I think that the Naive Bayes method is likely to be more effective in practice as it requires less work from the user of the system. All they have to do is to provide their classification for messages that are not automatically classified correctly, which is easier than having to isolate and score the phrase or pattern that identifies the spam manually.

Posted by Alex at 09:33 AM
August 18, 2002
Joke

A repurposing of a joke from a book called "No Laughing Matter: A Collection of Political Jokes". In the original the protagonist is the manager of a collective farm, who fails to fulfill his quota and then suffers from a failed harvest. The theme is universal though.

When the CEO took office he found two letters in his desk. They were from his predecessor and with them was an instruction to keep them safe and open them when he got into difficulties.

Some years later the company failed to meet its sales targets, the CEO remembered the letters and opened the first one. It said:

Blame everything on me.

This advice proved successful, and for a while his position was secure. But then there was a problem with a major customer and the going got rough again. The CEO opened the second letter. It said:

Prepare two letters.

Posted by Alex at 10:40 PM
August 17, 2002
Space as it should be done

Heavily blogged already I'm sure, but still looks great fun. What is America had gone into space in the 1950s using the designs proposed then? What would the documentary made in the 1960s describing the space program look like? This movie, Man Conquers Space is that documentary. I hope it lives up to its promise, the idea, stills, and clip look great.

The alternative space program theme is also behind Ministry of Space by Warren Ellis. What if the British Empire had gone into space right after World War II?

Posted by Alex at 07:55 AM
Permissive Action Links

How do you make sure that a nuclear bomb goes bang when you want it to but can't be set off without permission or by accident? Part of the system is technology called Permissive Action Links. This very interesting article describes how PALs might work based on the unclassified information available.

Posted by Alex at 07:49 AM
August 15, 2002
Internal memos

A site that publishes company's internal memos. INTERNALMEMOS.COM - Internet's largest collection of corporate memos and internal communication Lots you have to pay to read. Some are free. Hard to tell how true they are. Interesting to know how legal this is.

Posted by Alex at 08:30 PM
Italian job

The latest game development postmortem is now available on Gamasutra. Gamasutra - Features - "Postmortem: Pixelogic's The Italian Job" [08.15.02] I always enjoy reading these; as I've written before I think there's a lot to be learned from after action reports. I must say this is the first one I've read where a car accident caused two week schedule slippage though. Fortunately the programmer involved has recovered.

Posted by Alex at 08:20 PM
August 14, 2002
Daily Builds

Today Joel Spolsky is talking about performing daily builds of software. He recommends a product called FinalBuilder for a special price of $199. Looking at the FinalBuilder website it seems to be a product like Ant with a nice GUI, but targeted towards building software for windows.

What does the existence of such a product say about Windows software development? Hard to say really but it does make me think about what sort of open source community Windows developers have access to.

When I write Java there are a lot of different projects I can borrow resources from, does a similar ecosystem exist if I'm writing MFC code? Building a supportive community around a language is important for its adoption and growth. For Java, open source projects like Jakarta and many others have helped a great deal. Will a community develop around .NET, or does the whole attitude of Microsoft mean it never will? I don't mean that MS will actively prevent it, but is the feeling that you have to pay to play on windows so ingrained that people just won't share?

Posted by Alex at 08:34 PM
August 13, 2002
Naming and branding

On the BBC website I found a story about the Shinola Naming and Branding Awards. Unfortunately it's put together by a company that facilitates this sort of renaming and rebranding nonsense, and comes across mostly as an attempt to show that they're not as silly as the others despite the fact that they're called A Hundred Monkeys. With a name like that it's clear that they're just too cool and hip to do anything as foolish as other firms. Probably still a bunch of Nathan Barleys.

Posted by Alex at 09:45 PM
Passenger defense

In this article Homeland Insecurity from The Atlantic Online Bruce Schneier says that for preventing highjacking "The only ideas I've heard that make any sense are reinforcing the cockpit door and getting the passengers to fight back." Along these lines, what about giving airline passengers rubber truncheons? Put them in pockets on the back of the seats. Wire them so that if they are removed an alarm sounds in the cockpit. A bunch of passengers with truncheons could probably overwhelm some hijackers before they could get through the cockpit doors.

Posted by Alex at 09:15 PM
August 12, 2002
What would Marx do?

From the Guardian newspaper in the UK an editorial by Gareth Stedman Jones, who has written the introduction to the new Pwnguin Classics edition of the Communist Manifesto, titled All that's left is reformism. He says that as there is no post-capitalist society in the name of which we can despise all attempts to reform the existing political and economic system, we should embrace the only alternative. This is to push for reform of the current system, which has improved conditions in the past. The last line is Cynicism or silence about the possibility of reform merely reinforces the rightwing fantasy of a global capitalism without politics: a world made ever safer for Enron and Berlusconi. Now that's a scary thought. Sometimes it does seem easier, as in coding, to throw away the existing system and rewrite the whole thing from scratch. On the other hand, progressive refactoring, with constant testing, can get to a much better end result without massive chaos. Refactor the system bumper sticker perhaps?

Posted by Alex at 08:45 PM
Bitter post about office life

Sounds like they're not too happy with their job. From Software to Soup: On Trading Coding for Crepes A well done rant but paints a bit too bleak of a picture and I may catch a slight wiff of troll. Personally I like what I do, but then I've never had to do it in a hideous cubicle farm so I'm lucky. In fact I'm really very lucky in that I get paid to do stuff I really enjoy doing, and would probably do for free anyway. (In fact I'm doing it for free now)

Posted by Alex at 08:30 PM
Designing for experts

Interesting post on The Joel on Software Forum - CityDesk and swf. Talks about designing for expert users as well as for novices. How to integrate these two concerns is an interesting topic and I think it's discussed well in chapter 11 of Programming as if people mattered by Nathaniel S. Borenstein. The Amazon reviews are a bit unfair, some of the examples may appear dated but the underlying principles are timeless.

I especially like the advice to listen to your users but ignore what they say. It's suggested that you consider them like a class of three-year-olds. If they're all crying for a cookie you don't necessarily give them a cookie, but you might want to prepare them a nourishing lunch to address their real needs.

Posted by Alex at 06:16 PM
August 09, 2002
What are the real requirements?

Here's a saying you may have heard. It's new to me though. A million drills are sold every year, but not one person wants a drill. What they want is a hole. Useful to bear in mind when trying to decide on what your new software should actually do. Of course it doesn't do to take it to extremes, otherwise it becomes unimplementable, you'll end up with life, liberty and the pursuit of happiness as part of your requirements.

Posted by Alex at 09:50 PM
Local wireless access

A post from Geek Austin, a remarkably low traffic site, called Schlotsky's goes wireless?. Apparently Schlotzsky's on Town Lake, and in fact all their Austin stores, will be providing free wireless Internet access (a T1 per store). The first comment on the story is useless, but the second contains the interesting info that Alamo Drafthouse North already has this and it looks like lots of the local coffeehouses are going to be doing it. If it does take off locally I wonder if Starbucks will feel that it has to do it also and we'll end up with a rapid increase in wireless access points. Of course then it will make more sense to have a wireless lan card and the whole thing could snowball.

Perhaps it's time to get that Apple TiBook with the wireless lan now (if only I could afford one :).

Posted by Alex at 07:45 PM
August 08, 2002
USENIX JVM Symposium

I found this report on the USENIX JVM Symposium, 2002, not that anyone was hiding it, on the O'Reilly Network: Weblogs page. The actual webpage for the proceedings is here. Unfortunately I'm not a member so I can't read the papers, a shame as some look very interesting.

The slides for the keynote are online though and their title, "Stop Thinking Outside the Box. There Is No Box.", reminds me of a similar, though I think more forceful, remark that I recently read. If you always have to think outside the box maybe the box is too small. What I take from that is that if you always have to work round, or outside, a broken, or narrow set of constraints or procedures perhaps you should address that larger problem and fix the process as well as solve the immediate problem.

Posted by Alex at 08:00 AM
August 07, 2002
The Nice Language

In an interesting discussion on Lambda the Ultimate about Richard Hamming's views on research I found a reference to the language Nice which has also been discussed on LtU. Nice is based on Java, and compiles to java bytecode, but adds some interesting features such as Parametric types, Anonymous functions (lighter weight than anonymous classes), Multi-methods (similar to Pythons mixins), Tuples (multiple return values from a method), and Optional parameters to methods (take default values when not specified in call). Interesting to see how popular this becomes.

Posted by Alex at 06:40 PM
kuro5hin

Though the main article isn't that great this "sub-thread" is interesting Politics: Can't We All Just Shut the Fuck Up?.

Posted by Alex at 10:36 AM
More on Java 3.0

From LtU some interesting points about the 10 Reasons We Need Java 3.0 article. A different point of view than the slashdot stuff and with comments from people who understand a wider range of language models. Also there is this thread on TheServerSide.com. It includes a link to this page that talks about boxing and unboxing primitive values from a C# FAQ.

Posted by Alex at 10:10 AM
August 06, 2002
Bruce Stirling - A Contrarian View of Open Source

The Open Source Speech Bruce Stirling gave at the O'Reilly Open Source convention. Funny and still makes some excellent points.

Posted by Alex at 09:02 AM
Do we need a Java 3.0

An article from Elliotte Rusty Harold called ONJava.com: 10 Reasons We Need Java 3.0. I tend to agree with most of the posters in this Slashdot discussion about the article, I think it's a rather shallow list. He picks on a number of motes while ignoring the planks. The ones from his list I'd like to see are

  • Eliminate primitive data types (Elliotte's 8), or perhaps add automatic wrapping and unwrapping.
  • Extend chars to four bytes (Elliotte's 7) looks like a good plan based on the information he provides.
  • Redesign class loading (Elliotte's 1). I don't find the system as confusing as he seems to but I think it would be nice to incorporate versioning in the same way that the .Net CLR does.

Plus two extra.

  • Add generics. I hope this is probably the one that most professional Java programmers would most like to have.
  • Tail call elimination.

I'm not sure these need Java 3.0 that isn't backwards compatible though. I'd hope it would be possible to make these changes within the current language. The existing code base is a great asset of Java and shouldn't be thrown away. That would just take us back to where .Net is now.

Posted by Alex at 08:28 AM
August 05, 2002
My rabbit's turned vicious - help

Sometimes you come across a title that grabs your attention. My rabbit's turned vicious - help is one such. Seems to contain sensible advice, but the whole subject, unless, I suppose, you are confronted with such a bunny, smacks of Monty Python and the Holy Grail.

Posted by Alex at 10:31 AM
August 04, 2002
Guiding Visitors Pattern

This paper introduces the Guide pattern. It's an extension to the more well known Visitor pattern which separates the action to be taken on the objects in a structure, for example the nodes in a tree, from the actual structure of the objects. The guide pattern goes further and also splits out the navigation. This lets you separate the three concerns, how the objects are related, how the objects should be navigated, and what should be done to each object, into independently reusable components.

Posted by Alex at 03:51 PM
Mozilla Review

From ArsTechnica comes Mozilla Milestone 1.0: the Review. A good look at Mozilla and how well it works. Page 2 includes a nice overview of HTML, CSS, and the DOM.

Posted by Alex at 01:49 PM
August 02, 2002
Cosmopolitan

This article on liquor on kuro5hin prompted me to share my one of my current favorite cocktail recipes.

I don't like martinis much, perhaps as a result of a couple of sessions of overindulgence. Anyway, if you're going to drink neat gin you might as well do it out of a teacup in the traditional way. I did once know someone who kept gin and a teacup in her handbag. Perhaps it was for shock effect, but considering she was a social worker in inner London maybe she needed it.

I tried manhatans but didn't like them much. The image seems to be tastier than the drink.

Neat liquor, such as single malt whisky, or the 18th and 19th centuary favorite of brandy and soda, I really dislike. Here's a bit of pointless knowledge, brandy and soda was replaced by scotch when the phylloxera aphid destroyed the vineyards of France in the 1860s.

This summer though I found the some really nice cocktails in a book I borrowed from the library. Todays offering is the Cosmopolitan.

If you search on google for cosmopolitan cocktail you'll find a host of variations on the same theme. My recipe, slightly adapted from the book, is

  • 1.75 oz vodka
  • 0.5 oz cointreau
  • 0.5 oz cranberry juice (not pure, too sour, I use that stuff that's apple and cranberry mixed)
  • juice of one lime

Shake with ice and strain into a cocktail glass. Very nice, in fact, I think I'll have one now.

As an aside, I remember the attempt to promote cocktails in the UK in the early 80s as part of the New Romantics thingy that went on then. Let's hope the fashion doesn't come back with the drinks.

Posted by Alex at 08:09 PM
August 01, 2002
No Silver Bullet

A 1986 essay by Fred Books, of The Mythical Man Month fame called No Silver Bullet: talks about the impossibility of finding a Silver Bullet to solve the problems of producing software.

Quote: I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. If this is true, building software will always be hard. There is inherently no silver bullet.

Apparently this provoked many rebuttals when it was published but of course Brooks was right. Since 1986 no silver bullet has appeared. This IEEE Software: From the Editor column of 1999 claims that great progress has been made. Personally I'm not so confident.

I found this in a discussion on LtU. Towards the end of the thread this post is especially interesting. We should be paying more attention to how a language supports team development and how it encourages a community to form around it.

Posted by Alex at 07:21 PM