A brief note setting out the three main ways that server to browser communication can be implemented. Reverse Ajax
I was searching for a book X on Amazon just now and at the top of the search results they now show a section titled Customers who searched for X ultimately chose: which lists three of the search results. This is pretty cool because with 1115 other results to look through this at least gives a good starting point.
This Ajaxian » Apache XAP Proposal contains the following quote:
XAP is to provide an XML-based declarative framework for building, deploying and maintaining rich, interactive, Ajax-powered web applications. A basic principal of XAP is to leverage existing Ajax projects such as Apache Kabuki and Dojo, as well as other community efforts such as Eclipse openAjax. It aims to be pluggable with various Ajax toolkits, reduce the need of scripting and solve the development challenge as well as application maintenance challenges associated with Ajax programming.
Now let's work out how many buzz words. XML, declarative, framework, rich, interactive, ajax, community, pluggable, toolkit. So +9 for this but they left out modular, which wouldn't have been too hard to stuff in so I'm going to deduct 1 point for a score of 8. We should probably add three for the three open source projects mentioned and one extra for claiming to solve all of the challenges associated with ajax programming. Final score 12.
The ripoffs are interesting, the presentation is amusing, and the html used to display them looks really nice. I like the inplace expand of the thumbnail images and the highlighting that happens when you move the mouse on to and off of the expanded image. Panic - Extras - The Rip-Off Express
Interesting article about developing a massively multiplayer online game with an unusual theme. Is it real or just a joke, who knows. It's an interesting idea though. The Escapist - I Was Young, I Needed the Money
Here's an idea for a little app, the Desktop Roomba. This would be represented by a little vacuum cleaner that moved about the desktop during idle moments in a random walk. When it came across a file that had not been accessed in a while it would collect it up in its bag. It would take the same approach with windows that hadn't recently been used.
If Apple made Wedding planning software it would just have to be called iDo wouldn't it?
I used this expression at work today and was surprised to find not everyone had heard it before. Anyway, here's a definition of hair shirt. Why I'm posting this I just don't know.
It's hard to find what I think is a good hot cross bun in Austin. Here's a Hot Cross Bun recipe from the UK where the cross on top is baked on and then the finished bun glazed. Here the cross is just put on with icing. Also, they're not spicy enough. Anyway, the real point of this is to introduce my Hot Cross Bun rating system. Going from the worst to the best we have.
Thank you, thank you, we'll be here all week. Try the veal, it's lovely
Got back from an overnight trip to Houston today and the weather in Austin was just great. Left yesterday in the rain. It drizzled on the way to Houston and rained harder as we drove past the refineries and chemical plants in Pasadena. It let up a bit on the Battleship TEXAS. It rained on the drive to Galveston but cleared up while we were looking at historic houses, and cruise ships that look like tower blocks on their sides, and the sea wall, (sort of Blackpool Promenade without the historic bits, or the tower, or the illuminations, or the Pleasure Beach). Came back to Austin today and the sun was shining so I went for a run round Town Lake, what a relief. Actually dispite the rain I did enjoy the trip, interesting stuff.
By the way, cruise ships don't look like I thought they should. My image was always of liners like the Normandie or Queen Elizabeth, but that's not what a modern cruise ship looks like. One of the ships in Galveston was the Grand Princess, a rather slab sided vessel with no funnels, instead it has a cluster of metal tubes poking out of the top. We saw the Grand Princess leave harbour. A strange experience in some ways as the ship sailed to its own sound track. As it pulled away from the dock its loudspeaker system started to play music as if the whole thing was actually a film, instead of some real experience with its own sights and sounds that the passengers were actually participating in. Besides that weird disconnect it must have been really loud on board for us to be able to hear it pretty clearly on shore.
Turns out that when converting from XSL in XML format to XSL in XSLTXT format XSLTXT produces different results for Java 1.4 and Java 1.5. In Java 1.4 the default SAX parser is org.apache.crimson.jaxp.SAXParserImpl while Java 1.5 uses com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl. Unfortunately they differ in the way they treat newlines at the start of text, the crimson parser incorrectly drops them. To get around this I've created a jar file for XSLTXT that includes the implementation classes for Xerces 2.6.2. If you're using Java 1.4, and you're converting from XSL in XML to XSL in XSLTXT format using the toXSLTXT command you should use this file. The xsltxt.jar and xsltxtWithXerces.jar file both check the class name of SAX parser that will be used and issue a warning if the name includes the string .crimson.. Get the latest version of XSLTXT from xsltxt.dev.java.net.
From inside of IntelliJ IDEA I want to be able to right click on a directory or file in the Project view and open a Terminal window already set up with its current directory set to the location of the directory or file. Unfortunately I couldn't find a simple way to do this! There is a command open that will open a file but that by default uses the Finder if you pass it a file or directory and trying open -a Terminal didn't work.
Using applescript its possible to open a Terminal window and issue it commands. If you use
tell application "Terminal" activate do script with command "cd " & "/Users/foo" end tell
you end up with a Terminal window open on directory /Users/foo. Now the problem is that the standard way to execute an applescript from the command line, and hence what I have to use from IDEA, doesn't accept parameters. In fact, if you look at the man page for osascript this is listed as one of the bugs. To get around this problem I used osasubr which can execute a subroutine in an applescript and pass it parameters. So, I ended up with an applescript like
on doit(dir)
tell application "Terminal"
activate
do script with command "cd " & quoted form of dir
end tell
end doit
saved in a file OpenTerminal.scpt and entry for an enternal tool in IDEA with a program of /usr/local/bin/osasubr and parameters of /Users/amoffat/Projects/AppleScript/OpenTerminal.scpt doit $FileDir$
This works but it certainly seems like a lot of work!
Coaling from a Collier, something that isn't done these days. It's important to remember the old saying one hand overhauling the clewline is worth a dozen on the sheet, especially if you have any idea what it means. So far I have discovered that overhauling is to haul a fall of rope through a block till it is slack, a clewline is a rope that runs from the bottom corner of a square sail to the yard and is used when reefing to pull the corners of the sail up to the yard, and a sheet is a rope running from the clew to the deck and is used to trim the sail when its angle to the wind has been adjusted by moving the yards. So, I'd guess that what the saying means is that more can be achieved by a small amount of properly applied effort than a lot of brute force, one person slacking off the rope holding the clew is worth twelve trying to pull the clew down with the sheets?
I went and got a haircut yesterday. After the first bit of chopping I thought the sides needed some trimming, and that's what I asked for. It now appears that I have accidentally acquired the early stages of a mullet. Ah well...
I drove from Austin to Houston and back this weekend. I saw absolutely no Bush-Cheney stickers on any cars. I did see a Kerry sticker though.
Never eaten it and after reading The Power of Lutefisk I don't think I ever will. Funny writing in a "Three Men in a Boat" style. How to describe that first bite? Its a bit like describing passing a kidneystone to the uninitiated. If you are talking to someone else who has lived through the experience, a nod will suffice to acknowledge your shared pain, but to explain it to the person who has not been there, mere words seem inadequate to the task. So it is with lutefisk.
Due, of course, to work. Did see this recently though. bit-tech :: Orac³ - Part 3, the finest case mod I've seen so far. More of a custom engineering effort than a mod but shows what you can achieve if you have a vision and take the time to do a good job.
Here's the traditional definition of a cran. But here we have Measures, Stowage Rates and Yields of Fishery Products which provides the information that one cran is 37.5 gallons or 6.03 cubic feet which is on average 1,200 herrings (can be between 700 to 2,500 depending on the size) and weighs about 28 stone or 28 * 14 = 392 lbs of herring).
p.s. 1 cran = 4 baskets
If Apple were to make spectacles would they be called iGlasses?
This should be probably be accompanied by some terrible BBC style graphic of some specs with a firewire cable photoshopped onto the frame. But I haven't the time or talent to do that.
Cher phoned in to CSPAN today. There's a transcript of her comments available. You can view the video at c-span.org - skip ahead to about the 20th minute of the video link entitled "Washington Journal Entire Program (10/27/2003)" so it looks genuine.
Well don't actually as I'm not sure myself. However, I'd like to report that I just reached the end of week 12 of the American Running association 12 Week Run/Walk program. This, combined with not eating all the snacks at work, has helped me lose 14 pounds. A side effect is that I can now run round Town Lake (First Street to Mopac and back) without collapsing in a heap. The downside is that I probably have to keep running round Town Lake or the weight will come back. The New Yorker had a great cartoon in the October 6th issue with the title "Your Lost Weight". It shows various blobs standing around with one looking at its watch and being asked by another "Ready to head back?"
Posting about this is sort of inspired by The Truffle Diet. Someone who lost 10 pounds using Dance Dance Revolution as the exercise component. I adopted a less embarassing, for me, and more conventional exercise option and I didn't really count calories. It did work though so hurray.
Realising yet again that decent design takes time. Not just time spend doing it but elapsed time so that it can be subconsciously considered. I've spent the past few weeks working on a design for some new software features at work. After a couple of rounds of review meetings I think it's starting to come together. It's also starting to look less like something bolted on to the side of the product and more like an integral part. I know that time spent now considering alternatives is better than just leaping in to coding the first idea but sometimes it's hard to convince yourself that you're actually making progress when you have 1000 lines of document and lots of diagrams instead of 1000 lines of java.
which language to learn? - The Joel on Software Forum. Of course I had to chime in with my $0.02
If you don't know lisp or scheme I'd recommend one of those (scheme would be my preference) first. Of the three you list I wouldn't pick ADA as it's AFAIK a fairly standard procedural language. Between Haskell and ML I'd probably choose Haskell. It's such a purely functional language you have to start to think functionally, I think ML still let's you code imperative code if you want to. On the other hand, Haskell is, IMHO, difficult to find practical applications for, that is it is difficult to interface with the outside, generally imperative, world. If you go with ML you can use OCaml, which offers all sort of programming paradigms in one box. Personally I wouldn't bother with perl, python, or ruby if you want to learn anything beyond a new syntax. Sure they're all slightly different from each other but no where near as different as scheme or haskell.
Looking back it's always easier to see when something ended than when you're actually living through it. As the Roman empire declined people probably didn't identify at the time when it "ended". They didn't wake up one day and say, wow, looks like the empire ended yesterday.
So, when did Microsoft's domination of personal computing end? Looking back from twenty years hence will people point to Linux, or Java, or Netscape (I know they failed, but did they do enough as they died to pull down MS as well) or the Blaster worm or the first moblie phone running app X, or something else and say, "well, they didn't know it at the time, but that's when it was all over for tMicrosoft"?
Ok, it may be provocative, but such domination can't last forever, can it? And if it can't when will it end, if it's not already? Is Microsoft currently in the position of dominating the thought space for some section of computing while the actual work is switching over to another platform?
All Things Considered this evening had a review of an album from Verve called Verve Remixed 2. Just now I looked on the ITunes store and it was listed as number one in the Today's Top Albums section! Perhaps the intersection between All Things Considered listeners and Mac owners is rather large :)
Today I bought a Maxtor 5000DV drive for MSS because the hard drive on her Mac is only 10 gigabytes. Yesterday we had a celebration for shipping our latest release and us lucky developers got iPods as a thank you (feels so 90s sometimes). However, even the smallest 15 Gb iPod has 5Gb more storage that MSS's whole computer, and there was no way any music would fit, along with her photos and other things, on her machine. So, off to Frys.
The new drive is 200Gb (well 189 when you actually check) which caused a few problems setting it up. The instructions for connecting to a Mac were very simple, just plug the firewire cable into the back of the Mac and the drive should appear on the desktop. Well, it turned out it wasn't that simple after all. I followed the instructions and nothing happened. I went to the Maxtor support website and followed the additional instructions there (including numerous reboots) and still no joy.
Finally I did the sensible thing and applied some unix to the problem. Looking at the output of dmesg showed a line mountmsdosfs(): disk too big, sorry. A bit of poking around on google indicated that BSD systems have problems with very large FAT32 partitions. This meant I was going to have to reformat the disk as HFS+ before Mac OS X could deal with it. The problem was I didn't know how Mac OS X did this. Back to google, plus some poking around in /sbin revealed that the correct thing to do was pdisk followed by newfs_hfs. I found the correct name for the device to partition and format by looking the the system log. When I plugged in the firewire cable it complained about the device it couldn't read. The final piece of the puzzle was how to get root access to perform the partition and format. Fortunately this blog entry on root access under Mac OS X came to my rescue.
Once I knew what to to solving the problem only took a few minutes and the drive's now working nicely. If anyone else has the same problems I hope this helps them out.
Expanded .mailfilter script to deliver messages marked as spam by bogofilter directly to the spam mailbox. Simple stuff.
if (/^X-Bogosity: Yes/)
{
to "$HOME/Maildir/.Spam/"
}
else
{
to "$HOME/Maildir/"
}
I read my mail at home using the mail client in mozilla. I'm very happy with the Bayesian mail filtering it provides as it does a great job of distinguishing between spam and non spam. However, I thought I'd like to experiment with some server based filtering.
My first attempt is to use bogofilter to perform the mail clasification. In the future I'll probably try CRM114 as it claims an amazing accuracy. The only tricky part of the process so far was to work out how to get qmail to deliver the mail to my maildir after filtering with bogofilter.
I found various recipes through google for qmail and bogofilter but they all seemed to use separate accounts for spam and non spam email. What I wanted was to keep the folder structure that mozilla's junk mail filtering is using. My initial setup is very simple, all I do is use bogofilter to add an X-Bogosity header to the mail and then use maildrop to put it in my maildir inbox. This involves three files.
.qmail file that qmail uses to perform delivery. This just passes the incoming mail through preline to a script I wrote that invokes bogofilter and then maildrop.
|preline spam/qmail-bogofilter.sh
qmail-bogofilter.shscript. I need the LD_LIBRARY_PATH as BerkeleyDB isn't where it "should" be. Then just pass the message through bogofilter and then to maildrop for delivery according to the instructions in .mailfilter
export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.0/lib /usr/local/bin/bogofilter -p -3 | /usr/local/bin/maildrop
.mailfilter file that controls maildrop. At the moment very simple, it just puts the mail into the default folder.
to "$HOME/Maildir/"
Of course bogofilter makes mistakes from time to time, later I'll describe the python program I use to "train" it after I've manually (well, with mozilla's help) clasified the mail. In the future I'm planning on expanding the .mailfilter recipe so that spam is automatically delivered to the correct mailbox.
Mostly a case of trying to avoid the power lines to the left and right. In this photo it really doesn't look too bad. This is a view of the back of the building in the early morning. The "lake" is a flooded quarry, in the summer high school kids come and jump off the cliff.
Just take a look at some of the things in Greg's Digital Portfolio then! Especially the three photographs of people. Amazing work.
What it generally looks like. Hardly room to swing a mouse. Not a genuine IBM Model M keyboard but an oldish Dell of the same quailty. IntelliJ IDEA on the right hand screen, Mozilla on the left.
Just listening to some tunes by Vin Garbutt while I work. One of which is The Beggar's Bridge about Tom Ferris who built a bridge over the Esk river in 1619 after making his fortune in the Elizabethan navy. Of course the bridge is still there in Glaisdale, after all after only 400 years why wouldn't it be!
I suppose in my mind the Esk's other claim to fame is that it reaches the North Sea at Whitby, where Dracula landed abord the Demeter. Here are some very nice pictures of Whitby, or as the title says Dracula's Whitby (dramatic music). One day I'll have to visit.
Just swapped over at work from a single Dell 200FP 20 inch flat panel to dual Dell 1800FP 18 inch flat panels. Either setup is, in my opinion, a very nice. The 20 inch was bought at the end of last year when Dell was having a special that brought the price down to about $800, the current price is pretty outrageous. At that time the developers had the choice of dual 18 or single 20. I, and one other person, chose single 20, the others went for dual 18. The 2000FP is a very nice monitor, but dual 1800FP turns out to be better. Recent reorgs and moves means I can now pinch, or "free up", enough 1800FPs for me.
The dual setup has a lot more useful real estate because its greater horizontal space is more useful to me that the greater vertical with the 20 inch monitor. It let's me keep IntelliJ open on one screen and still let's me see a browser or running app on the other. Setting up the linux box wasn't too difficult. As it's a Nvidia card I had to download and install their driver before the dual head feature would work. For the rest of it I just copied a colleague's XF86Config.
Chiliastic. Discovered in a New Yorker book review (I generally only look at the cartoons) . Apparently a "chiliastic ideology" is one of the six criteria that must be met for a regime to be totalitarian. A word so sstrange I had to look it up. This definition of chiliastic is perhaps better for understanding what a chiliastic ideology might be.
I found the first few paragraphs of this New York Times article, Video Artists Escape Hollywood Sensibility pretty interesting. They talk about the way some people have been using video games as the basis for making "Art".
In my opinion some games are pretty close to Art, if not already there, even without reinterpretation. This isn't about that though, it's about creating someting new by looking at a game from a different perspective, not the one the game makers had in mind. Even if you don't agree games are Art I think you've got to admit that the idea of approaching Grand Theft Auto, as if the protagonist were a Canadian tourist, instead of the violent criminal he's meant to be, and recording a virtual tour of the setting, Liberty City, is clever. The resulting video can be seen at My Trip to Liberty City. I'm intrigued by these sorts of repurposings.

Yummy. At least every couple of years it is. A photographic souvenir of my recent holiday in the UK.
Shandon and I went to see this today and we both enjoyed it enormously. I was dubious going in, but it was most lighthearted fun I've had at the movies so far this year.
Johnny Depp was an excellent, and in my opinion, very camp, good pirate captain Jack Sparrow. I kept feeling that at some point there would be a quick aside, or even a plot twist, where he was going to admit that he really preferred cabin boys to Keira Knightly.
Geoffery Rush was the bad pirate captain Barbossa. He reminded me most of Tom Baker playing Captain Redbeard Rum in Black Adder II. Keira Knightly's character, Elizabeth, wasn't just a screaming love interest, she took the lead at couple of points.
The whole movie was funny and well worth seeing. There were a couple of places where you could guess what the next line was going to be, and I was disappointed the scriptwriters didn't try and confound our expectations. Otherwise the dialog was great and some of it pretty amusing. Curse of Monkey Island sort of stuff, an insult based duel wouldn't be out of place.
The effects, apart from a disappointing and very cgi looking first shot, were great. Storybook Pirates set in a storybook 18th century Caribbean with some nice twists and swashbuckling stunts.
Even the plot, apart from what I though was a weak ending, held together well. Classic structure of a quest with a reversal. It's also interesting how they were able to maneuver round pirates' propensity for rape. It becomes clear in the movie that Elizabeth is safe with these pirates because of a peculiarity of their condition.
All in all we both enjoyed ourselves greatly, I'd even go and see it again at the cinema. Recently I've felt that I've wasted my time after some of the stuff I've seen so this was a really pleasant change.
and with lots of work to do. This has meant that I've had no time to do possibly more interesting stuff on the side. Ah well.
Probably cause I have no time to put together anything interesting, even in the limited sense I use it on this blog, recently. I've been very busy at work trying to get the next release out and that's not left much time for anything else. I did find this interesting discussion about a upcoming book about models of computer programming. I hope to get round to reading it sometime :)
Just cause I could I decided to post this from Java One. So far it's been fun and I've learned some useful/interesting things. I've also managed to check my email at home using ssh from a SunRay 100 machine here, which I'm quite proud of :)
The other day I was googling for meat slurry, for reasons that now escape me, and I found this site, ADMIX - Advanced Mixing Technologies - Meat. It's the last question and answer in the list that is most interesting.
Question: We are hoping to produce a high quality meat emulsion from left over trimmings and chicken parts. What do you have?
Answer: Our Boston Shearpump® will grind, chop and emulsify trimmings and other parts to a smooth consistency down to 1-micron ensuring cohesiveness and stability.
But what are they going to use the high quality meat emulsion for? And this must be some definition of high quality I wasn't previously aware of. I always though that pate was high quality meat emulsion, and I hope that's not what they're making here :)
I heard a report about this paper in nature, Video games boost visual skills: Spiderman may help to train pilots and treat stroke patients., on All Things Considered while I was driving home this evening. What I found especially interesting was the speculation that it was the, simulated, tension and danger that made the "gaming experience" such a good teacher. From my limited experience that's certainly the way it seems to work. Even playing platformers like Jax and Daxter you learn pretty quickly what to look out for when missing it means you fall into the ick and have to start again.
My main computer at home has died, after a very short illness, possibly caused by some mods I made to it. Ah well, I think I'll be able to reuse most of the parts to build a newer and better one. Hopefully more Six Million Dollar man (not that I liked the show) and less FrankenComputer. These days you couldn't rebuild much of anything for six million dollars though.
Following a link on, I think, Slashdot, I visited Glowire. They sell Electroluminescent Wire which combined with the glowing keyboard on the new Apple PowerBook G4 17" inspired me to try a little mod to my own IBM Model M keyboard which I bought used from Goodwill computing in Austin.
I thought I'd try and give my keyboard the glowing keys treatment. Turned out to be pretty easy. First take the keyboard to pieces. This gave me a great opportunity to give mine a much needed cleaning. Next, run the glowire along the backing plate next to the keys. Finally, of course, reassemble it. It looks like there's enough space inside to put the glowire driver/voltage converter and battery but I've not done that yet because the converter makes an annoying whine and I wanted to try to quiet it a bit first.
Today I was looking at Bit-tech and I found a picture of a similar mod about three quarters of the way down the page. As you can see these sorts of mods don't photograph well, but it did encourage me to get round to putting up a picture of my own efforts. It shows more of the keys but less of the glow.

Testing
Quickly build a classpath from the jar files in a single directory.
-classpath `ls -1 ../build/lib/*.jar | tr '\n' ':'`
If you have more than one directory to deal with then you can just add them to the ls command.
-classpath `ls -1 ../build/lib/*.jar lib/*.jar | tr '\n' ':'`
On the one hand it's no fun having to work late all the time, on the other I like the people I work with and at least I have a job. So no updates recently. I'm still trying to work on SEQUENCE, though with varying success.
In the meantime I've had, for me, lots of comments recently to older posts so I thought I'd link to them here.
Brian Ewins added some links to my plea for Query Rewriting information. The Patterns for Object/Relational Access Layers looks well worth a read. I'll pass it round at work as well. We currently delegate the O/R mapping portion of our system to CocoBase but have our own system of delegates and factories to provide access to it.
A comment in support of the current format for providing input to SEQUENCE. I agree with James. Saying what the return value is close to the point where you describe the call makes it easier to see what's going on. I'm thinking of also trying to support a more Java style syntax as well. Perhaps:
void foo(Bar b) {
Zoop baz()
}
Scott Walters added a really interesting comment to Design Patterns Are about Perl and design patterns and the Perl community. He has a Savannah project to produce a Perl Design Patterns Book. The content so far, about 100 pages, is on line at TinyWiki - PerlDesignPatterns. I followed the SkipTheIntroduction link initially as it was all very complicated for someone who last used perl in anger four years ago. Going back to the beginning and looking at the simpler ones first was a much better bet for me:)
The company I work for just closed a round of funding. This means that we'll be in business for, hopefully, at least two more years. It also means that we've been cleaning the office. I suppose the cleaning is a "fresh start" sort of thing but it's certainly turned up a lot of relics of the old dot com days when we burnt through our first round of funding. Such things as the various designs for the old tradeshow booth we used to have. This was an amazing piece of work and pretty expensive to boot. We used it at about four tradeshows, stored it offsite for a while and then sold it for much less than we paid for it. A low grade sort of Spruce Goose, perhaps closer to Mr. Burns' Spruce Moose Smithers, I've designed a new plane. I call it the Spruce Moose, and it will carry 200 passengers from the New York's idle-wild airport to the Belgium Congo in 17 minutes! Remarkably like some business plans from the end of the last century.
pictures of cats. This isn't my cat. It just struck me as an excellent example of the picture of my pet genre. A wet cat.
From The Inquirer comes a link to Personal Computer Milestones
I'd never heard of this law before I saw the link on Haddock.org. The basic statement is Good customers make for good products. When the customer can't distinguish a good, but more expensive product, from a poor but cheaper one the cheaper, but poor quality, products come to dominate the market. A marketplace with more experienced customers with a better understanding of what they want will support better products. I wonder how this applies to the product I work on. We've certainly faced the problem of trying to sell something for which there wasn't a well defined marketplace, perhaps we're going to next have to fight off a bunch of poor quality rebrandings of software originally written for other domains. Anyway, here's Moen's Law of Bicycles.
I've just finished reading an interesting book I thought I'd recommend. Called Craze: Gin and Debauchery in an Age of Reason, by Jessica Warner, the subtitle, in a mock 18th C style is Consisting of a Tragicomedy in three acts in which High and Low are brought together much to their Mutual Discomfort. Complete with Stories, some witty and some not, conducive to medidation on Recent Events. It's a look at the Gin Craze of the first half of the 18th Century, the first modern "drug epidemic", and the reactions of the ruling classes to it. You've probably seen Hogarth's famous propaganda prints Gin Lane and Beer Street, produced as the craze was coming to an end. At the end of the book Ms. Warner relates the reactions to gin consumption by the lower orders in the 1700s to the reactions to current drug epidemics, such as crack, a great read.
From The Register comes Microsoft's masterplan to screw phone partner - full details. This is an interesting case, especially, as the writer of article says, if the discovery phase of the trial plays the way it might. Whether or not to partner with Microsoft must be an interesting decision these days, it looks like you'd have to be pretty desperate to risk it.
Mainstream coverage of the Lindows Microsoft spat. What Marx can tell us about Bill Gates
Another interesting Gamasutra postmorten, this time on a game called Dungeon Siege. I've found these things interesting in the past. The What Went Right sections are generally good but the What Went Wrong lessons are always great. You can have fun matching both sides up against the classic development mistakes. The examples of how these errors played out, or were avoided, in real projects are very helpful in fixing the ideas in your head.
What about a lossy audio encoding system that uses information about the hearing profile of the listener to tune the encoding? For instance if you can't hear frequencies above a certain range then there's no need to encode the data for those frequencies. The software performs a hearing test to check which frequencies you can hear and create the profile. Obviously the files wouldn't be as good for swapping between listeners as generically encoded ones but I personally don't do that anyway. A further refinement would be to also tune for the playback environment. I'd like some files for playback in the car and some for through headphones at work. The first environment is much noisier than the first and the speakers are different. Perhaps a different encoding could exploit this to provide increased compression and fidelity for the portions that are actually going to be audible. Of course I'm not going to actually do anything with this idea :)
This Christmas I build a PC for playing games as a gift. There are some pictures here showing the "human side" of PC construction. I'm just going to write about the "technical" parts. The end result isn't perfect I'm sure but it's still about three to four times faster than any of the other machines I've got.
The constraints were that we were going to build the thing from scratch, it had to be able to play the latest PC games, and that everything had to be available at Fry's cause this was a last minute idea.
I used the ArsTechnica Buyer's Guide as the basic reference to give me an idea of what to look for. The current CPU recommendation is AMD, which I've used in the past and liked. I picked the motherboard possibilities based on this AnandTech motherboard review.
So off to Fry's we went to return with:
I think that's quite a list but at least there was no need for a floppy, keyboard, or mouse as I've got those bits already.
Putting the hardware together was pretty easy, as usual. All of the big bits are never any trouble, it's hooking up all of the leads to the leds on the front, usb ports etc. that's tricky. Installing windows was easy, though took a long time, RedHat's quicker. The only problem, and it took some time as was pretty frustrating, was trying to load the motherboard drivers. Every time we tried it would freeze up, and without the drivers the built in lan wouldn't work. Fortunately we noticed that the freeze was after the lan was enabled so I was able to download a later set of drivers from the web and they installed with no problem. Fortunately we've got a DSL line. Without that downloading 18MB of driver would be very painful. Of course once all that's done it's time to play windows update. Finally, after another 20MB (excluding the .NET Framework), we were ready to go.
So, how does it play? Fantastic. The No One Lives Forever, A Spy in HARMS way demo will run smoothly at maximum resolution. Lots of fun, not that I plan to do this anytime soon. I've sworn off windows at home so my PC gaming is over, well as long as I can resist it is anyway. It just takes up too much time that could otherwise be spent programming.
Today marks the official watching of National Lampoon's Christmas Vacation for 2002. That is all.
While drinking some egg nog just now I remembered The Sagas of Noggin the Nog. The same team was also responsible for The Clangers. I especially liked the Soup Dragon and the Iron Chicken.
I wanted to connect a laptop I borrowed from work to the network at home. This needs dhcp if it's going to work in any reasonable way. So I installed a dhcp server on my debian box, easy with apt-get, and followed the instructions in The CTDP Linux User's Guide - DHCP and BOOTP and other places to get the thing configured.
However, the first time I try to start the server it won't work because it says the kernel isn't compiled with CONFIG_PACKET and CONFIG_FILTER set. True enough it isn't, and true enough this is my fault as this is a "custom" kernel I compiled last year. So, in order to attach a laptop to the network I have to recompile the kernel. OTOH, at least I've now got a more up to date kernel installed.
Fads for using various words and phrases seem to come and go in software companies. One month they're in and everyone's using them, the next they're out. Maybe a boss starts using a particular word or phrase and suddenly everyone's at it. It's probably the same in other industries as well. While I was in Redmond I heard a couple of new ones that seem to be popular at Microsoft at the moment.
The first is performant, as in writing performant code or we have put a lot of effort into making the framework perfomant. It looks like it means performs well though Google doesn't have a definition for it. Here's a post from 1999 claiming a French origin for the word and there's even a company founded in 2000 that calls its self Performant.
The other phrase I heard a lot was take a dependency, as in we'll be taking a dependency on the CLR project. Of course this means dependent, but uses more words.
Where I work the current favourite is socialize, as in we'll be socializing this message with the other groups. Just means talk about or discuss with.
A few years ago out of pocket was popular to mean out of touch, as in she'll be out of pocket when she's at the client site next week. I thinks this is currently declining in popularity. Here's a post discussing it arising at least 25 years ago.
From a New York Times article Scratching Without Vinyl: A Hip-Hop Revolution Hip-hop D.J.'s are a stubborn and purist bunch.
A useful search for today in the US. Google Search: temperature turkey internal cooked
When you hear Mr.Gravel is in the foyer in a theatre what does it really mean? This thread provides some answers/guesses/complete inventions. I really can't distinguish between the three cases as I've never had a job where anyone's told me any of this sort of stuff.
I was reading an article on the BBC site about the firefighter's strike which includes the quote pour discourager les autres. This is interesting because I think the author meant pour decourager les autres. I'm not claiming my knowledge of French is even slightly above minimal, I have an O level from a long time ago, but Google reassures me on this. The original quote, which was, I'm sure, being knowingly referred to is pour encourager les autres. Applicable in many situations when a punishment far heavier than is warranted by the offense is imposed in a politically motivated, and fairly cynical, attempt to prevent others committing the same offense, and to deflect blame.
The original quote is by Voltaire in Candide
Dans ce pay-ci, il est bon de tuer de temps en temps un amiral pour encourager les autres.
In this country it is good to kill an admiral from time to time, to encourage the others.
He's referring to the execution of Admiral John Byng in England in 1757. Sent in 1756 to prevent the French from taking Minorca, he arrived when the island was already under siege and, after an indecisive naval engagement, withdrew without relieving the siege. He was court-martialed and executed for "failure to do his utmost". This brought charges that he had been used as a scapegoat for ministerial failure. On his tombstone it says "bravery and loyalty were insufficient securities for the life and honour of a naval officer".
I sort of got carried away with this post. I knew the original quote and vaguely what the story behind it was but it's interesting how easy it is to find things out on the web. I'm sure I don't have any books at home that mention Admiral Byng at all, so doing this a few years ago would have involved many trips to the library; which, though fun in themselves, can be a bit time consuming.
From The Register, what is purported to be an internal MS whitepaper comparing Win2K and FreeBSD from the point of view of running Hotmail. Gotta love the tabloid headline though. MS paper touts Unix in Hotmail's Win2k switch.
It looks like I'll be taking a trip to Redmond to take part in a Java to .NET migration workshop. Of course the whole thing is covered by an NDA so that's about it. Maybe I'll find out the real answer to the question "Why .NET?" that I wrote about on kuro5hin.
An experiment. The Java to .NET evalgalist who's running this workshop is called David Weller. The usual google search turns up the fact that he has a blog. Interesting, I wonder if he, or Microsoft, will do similar searches on the attendees? At work we tend to search on google for anyone who comes for an interview, or arrives to take up some position or other, which recently of course hasn't been many people!
I really don't like going to the dentist. A couple of months ago I finally plucked up the courage and went in for an exam. Of course it turned out that I needed what I considered major work, to whit removal of two wisdom teeth and four fillings. So what's the point of this? Well, two things really. First I can heartily recommend the oral surgeon and dentist I went to. The wisdom tooth removal was completely painless and the fillings were bearable. Second, laughing gas greatly improves the Cartoon Network. I was lying in the dentists chair before the fillings breathing laughing gas (I'm a nervous patient!) waiting for the local to take effect and watching the Cartoon Network, without the sound, on the TV on the wall. I had three thoughts, one, I have no idea what sort of animal some of those little Warner Brothers cartoons were based on, I mean, I only know little bugs bunny was a rabbit because big bugs bunny looks slightly like one. Two, several movies I've seen recently would be much improved by laughing gas. Three, these ideas are all pretty silly and therefore I should write them down.
Things are pretty hectic at the moment.
This happened in Knutsford, the town down the road from where I grew up. Granddad guns down terror squirrel We have squirrels in the back garden here in Austin but they seem much more timid, thankfully :)
A O'Reilly Weblogs post extolling the benefits of code generation. I tried to look at the Gen
Will Stuyvesant provides the shortest renaming. You can just type ren *.txt *.xml when using Windows. The full rules for using ren to rename multiple files are here.
I wonder if they'll eventually be more firms like Netbox to provide less generic computers? The selling point is the design, the technical specs are good enough for general work but it certainly looks better than the three beige boxes I've got at home.
Yesterday I got a cold call voice mail at home from the Domain Support Group saying that there had "recently been changes in the internet" and I should contact them. As I suspected, it's a scam. As Paul Graham suggests in his note, Domain Support Group, I'm linking to it in the hope that it improves its Google ranking.
From Joe Conason's journal on Salon. As this story on yahoo news says It is not radioactive, it is not chemical and it is not explosive. Surprisingly, or not, we've not heard much about this in the media. According to Debkafile, the uranium seizure resulted from a joint operation by the [Russian] Foreign Intelligence Service and the CIA which began at the start of August. I would not be at all surprised, the dog appears to be wagging more each day.
Related to the programming languages for smart people discussion here's the original paper talking about how much harder it is for the unskilled to correctly assess their skill level. Unskilled and Unaware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments
Some thoughts from Dan Bricklin, the co-creator of VisiCalc, about why regular people don't routinely program. Why Johnny can't program
I found this via LtU where there is already an interesting discussion.
One reason I'm interested in this is because I've worked for companies developing various products where part of the pitch was that you didn't have to be a programmer to develop using the product. The range of success in actually implementing this was none to some. To use these "end user" or "you don't have to be a programmer" systems I've seen the user still has to understand the concepts of variables standing for values, conditions, and loops, among others.
So, is it possible to remove these requirements, or are they fundamental, and are there users who are unable to understand them? Is there a portion of the population who will never be able to program, or is that just elitest thinking and it's matter of presenting the information correctly? On the other hand as you make it easier and easier does it cease to be programming? Is "programming" a VCR really programming.
From the New York Times, so free registration required, an article Up, Down, In and Out in Beverly Hills: Rats about rodents in Beverly Hills. The species is actually Rattus rattus, the rat believed responsible for the spread of the plague, and in the generally gently humorous article is the following wonderfull quote about it:
It is less aggressive and well suited to the California lifestyle, preferring a vegetarian diet.
Speaking of the plague, when it first arrived in England it killed 30-45% of the population between 1348 and 1350. It completely wiped out some villages. Yet Medieval society survived, wages for surviving peasants went up slightly and in fact life for the "lower orders" probably improved. With demand for labor outstripping supply people were able to negotiate more freedom of movement and status.
Would modern society survive that sort of death rate? How many people does it take to keep America functioning? Certainly record company executives, barristas, lots of programmers, marketing specialists, and lots of other jobs could be done without. How do you run an oil refinery though? Where do you get the oil from? How many people to run a hydro electric station? A chip fabrication plant? Looked at from the other point of view, what percentage of the population would have to die for society to collapse, if the death rate was evenly spread? Of course it probably wouldn't be, we'd end up with a surplus of Members of Congress, CEOs, and the rich, while all of the farmers died.
Found on Haddock.org. A video clip of a Emily stacking plastic cups. Take a look. The caption says it's actual speed, which is amazing as it's difficult sometimes to see her hands move. This is apparently a "sport" or physical education activity. There's lots of stuff on the site about the benefits participation brings. I'm not so sure about that but it looks like it might be fun to try. We've got lots of left over plastic cups in the cupboards at work, maybe I'll have a copyright infringing try with those tomorrow.
Under the misleading title of Assessing the risks of open source. the METAGroup has a report on the use of Open Source Java code in commercial environments. Despite the title the actual article is fairly positive.
It includes the following quote: By 2006/07, the cycle of movement between open source and standards will be common, and 80 percent of organizations developing with Java will make some use of open-source products. I really surprised that it's not higher already. For instance if you use WebLogic or WebSphere you're already using code from Jakarta. In fact I think it would be pretty difficult these days to put together a Java project of any size without including some open source code. Some things money just can't buy anymore, for instance where would you go to get an XML parser if you had to pay for it? In this situation the alternative to open source is writing it yourself, and that's certainly not efficient, and is more error prone.
Open letter from Richard Stallman in The Register. The Free Software movement really needs Stallman and the Open Source movement could do with listening to him more. The distinction between Free Software and Open Source is important to understand, as is the fact that the first arises from some principles and the second from some pragamatic decisions that provide a, hopefully, better development methodology.
The next release at work now has a code name, and it's Maxwell. In the email announcing this the CTO said the name was taken from Maxwell Smart. He's described in the previous link with the adjectives Annoying, Cheap, Clumsy, Demanding, Dumb, Hilarious, Loyal, and Trustworthy.
If the code name is going to be Maxwell I'd prefer it came from James Clerk Maxwell. Most famous for the Maxwell-Boltzmann kinetic theory of gasses and the Maxwell equations of the electromagnetic field. James Clerk Maxwell already has at least a radio telescope and a foundation named after him. I don't know of anything named after Maxwell Smart.
Perhaps a fictional character is safer. You may remember the problems Apple had when they code named a release Sagan.
When I lived in London I used to enjoy taking the bus back home on a Saturday afternoon from Oxford Circus or Trafalgar Square to Clapham North or Brixton. As this article James Meek reflects on the end of the double-decker bus says it's really nice to sit at the front on the top deck and watch the world go by. Even if I took a book to read, as I always did, I always ended up looking out of the window. As you're much higher up than normal you get to see over walls and notice things you just can't from ground level.
On the other hand, to get to or from work I always took the tube. Originally Clapham North to Oxford Circus or Bank on the Northern line, and then the Central line to Chancery Lane. Later Brixton to Oxford Circus on the Victoria line and then to Chancery Lane. Much faster than the bus, when it arrived, but no where near as enjoyable. I also remember on the Northern Line having, on especially bad days, to first of all travel backwards to Balham to be able to get on at all.
From Simon Schama a comment piece in the Guardian called The dead and the guilty.
United States Inc is currently being run by an oligarchy, conducting its affairs with a plutocratic effrontery which in comparison makes the age of the robber barons in the late 19th century seem a model of capitalist rectitude.
Of his books I'm afraid I've only read Citizens. Obviously very good but to get the most out of it I really needed to know more about the French Revolution when I started than I did. I think my knowledge of history is worse than that parodied in 1066 and all that. I know something about the period from 1873 (Franco Prussian War) to 1939 as that was the period I studied for my O levels. Outside of there my understanding is perhaps not as detailed as it ought to be.
Interesting report from the New York Times. Investigating 9/11: An Unimaginable Calamity, Still Largely Unexamined. This quote gives you the sense of it. One year later, the public knows less about the circumstances of 2,801 deaths at the foot of Manhattan in broad daylight than people in 1912 knew within weeks about the Titanic, which sank in the middle of an ocean in the dead of night. Why haven't we heard more? Perhaps we won't yet be able to find out more about the terrorists but surely we should try and understand why the firefighter's radios didn't work?
I wrote earlier about my opinion that xXx would be a better game than movie This report on the money made by 'Grand Theft Auto' contains the information that it made $350 million. In terms of domestic box office receipts (not exactly apples to apples but a useful sense of scale) this would apparently make it the seventh highest grossing film of all time, just ahead of "Forrest Gump" and behind "Jurassic Park". Of course it didn't cost anywhere near as much to make as either of those films so the actual profits were higher.
If you've got $5 million to invest you won't get much of a movie these days, but you could get one hell of a game. In fact if you're a VC (very unlikely if you're reading this) then perhaps a games studio would be a better bet than yet another maker of enterprise software packages.
If you enjoyed The Perfect Storm by Sebastian Junger I think you should read The Serpent's Coil by Farley Mowat. Written in 1961 about rescuing a badly listing Liberty ship during two hurricanes in 1948 it's fascinating. Compared to The Perfect Storm the bravery of the people involved and the danger they were in is understated.
It's also interesting because the events take place before satelite weather forcasting and reliable radios. A hurricane could "vanish" for several days as it crossed the Atlantic. Unless a ship ran into it and reported it's position the best the forcasters could do was make predictions about where it might be. It make you wonder about what it must have been like in the age of sail, with no radios and no long range forcasting.
I've seen this before but thought I'd link to it. Borges' Encyclopedia. It really does make you think about classifications. Also, follow the link to the author's home page and take a look around. Lot's of interesting stuff, well, interesting if you like computing stories like I do :)
While trying to come up with possible "code names" for a new software release I found the following.
An O'Reilly weblog entry talks about the great benefits of web services for application integration. I'm a bit more sceptical.
While WebServices certainly make the technical part of integration easier I'd question whether that was ever the major difficulty. In my experience it's always far harder, and involves more difficult to obtain resources, to understand the meaning of the data being exchanged than it is to actually exchange it.
Standard schemas etc. for the web services xml will help but will still require each participant to understand the standard schema and map their own internal data to the it. In fact, this now introduces two mappings with the possiblity for error and misunderstanding where there would previously only be one.
It seems that developers always like to try to solve the "easy" technical problems, i.e. how to map an object into xml, rather than attempt the more difficult and fuzzy semantic ones, i.e. how do I know that we both agree on what "production lead time" really means. We can reinvent CORBA, or EDI, as web services, but, while doing so will help keep us all employed, if we don't tackle the semantics there won't be any substantive change.
I followed these excellent instructions for Moveable Type syndication and it looks like the RSS 1.0 feed for itymbi is working. Of course when I went to check on Syndic8.com it seems that the 0.91 version was already being syndicated. Hopefully this will all be worked out in time and I'll end up with just one entry.
Now for some java coding to see if I can read RSS 1.0 format data.
So, in search of silly summer entertainment I saw xXx today. Wow, big explosions, objectification of women, dramatic stunts, what's not to like about it? Anyway, as I was watching I thought; this would be much more fun as a video game than as a movie. It's not as if you could imagine any real person performing any of those stunts. The movie doesn't rely on any characterization or emotional feeling, or acting. It doesn't draw you in and make you care about anyone in it. Kate Archer in No One Lives Forever is as involving a character as Xander Cage. Sure the graphics are better in movies than in current games but that's just a technology issue and time will take care of it.
xXx is set out as a series of missions that Xander Cage has to carry out. You never follow the actions of any other characters, which would introduce complications for making a game. A nice varity of sneaking, shooting, blowing things up, and driving various things around. Some bits would work well as cutscenes. Others would work better with the player controlling the action. In fact being able to "control" Mr. Cage would be more fun and involving than just watching what he does, knowing full well he's going to come out of it ok. In a game your character "dies" if you don't make the right moves, if you turn left instead of right down the passage, if you don't see the hiding place, if you miss a shot, or steer your car off a cliff. In xXx you know Xander's going to survive, and foil the evil plot.
I think we've reached the point where a good game is better than the average summer blockbuster. The graphics are getting there, the story line's about the same, and the involvement in a game is greater than in a standard guns/stunts/girls movie. In terms of money, already in 1999 in the UK the total amount of money pulled in by video games was 60% more than the total box office takings. A more reliable set of statistics comes from the Economist, and that shows video games sales just behind box office receipts.
xXx cost $50 million. Game development figures are harder to find than movie numbers, but a sanity check can be taken from the fact that the US Army is looking to spend $7 millon on developing an FPS, and an RPG. So, conservatively, $10 million would get you a top of the line video game. That's one fifth the cost of xXx, in fact Vin Diesel alone cost $10 million.
These days an idea that works as either a game or a summer blockbuster would be more fun, and make more money, implemented as a game. Why spend $10 million on Vin Diesel when you could get a whole game for that? If you've got a good blockbuster idea perhaps pitch it to Bungie or Blizzard rather than Warner Brothers.
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.
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 :)
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.
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.
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. ''.
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.
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.
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.
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.
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.
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
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.
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?
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.
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.
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.
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?
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.
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 :).
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.
Though the main article isn't that great this "sub-thread" is interesting Politics: Can't We All Just Shut the Fuck Up?.
The Open Source Speech Bruce Stirling gave at the O'Reilly Open Source convention. Funny and still makes some excellent points.
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.
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.
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
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.
Something I've seen linked to from a number of places Karrysafe. They make a range of street theft deterent bags. All lined with slash resistant steel mesh and one even has an alarm that goes off when it's taken. Colors other than red will apparently be available in the future.
I myself have thought about, but done nothing about obviously, some sort of proximity alarm system for luggage. Something where you would put one piece in a laptop bag or other item, and put the other smaller piece on you belt or keychain. By means of some wireless solution if they became separated an alarm would go off. Of course an easier system is to dispense with the wireless piece and use some sort of pull out plug on a string or chain.
I suppose the meta point though is what you intend the system to do. As with computer firewalls etc you need to assess the sort of risk you realistically want to protect against, and then tailor your defenses. I think Karrysafe targets the oportunistic street thief so they don't need to protect against all dangers. It does raise the point that perhaps a more stealthy appearance and color would also help as it makes the bag and its contents look less valuable.
So, after a brief life as Monday: PwC Consulting has been bought for 3.5 billion dollars (2.7 in cash, the rest in stock and convertible notes) by IBM. This is quite a come down for PwC from the proposed 18 billion dollar deal with HP that fell through in 2000.
I think that now is the time, if a company has the cash or stock valuation, to pick up some nice undervalued, or at least realistically valued, complementary products or companies. Sales are slow this year, with little sign of them picking up before next year. You might be able to convince a company's board, perhaps especially one that is VC funded and hasn't gone public yet, that half a loaf is better than none. Getting some money out now could be a better bet than pumping more in and hoping that things will turn around in the new year.
As to what it will all mean for the people who work for IBM and PwC I think the one safe bet it that there will be head count reductions, to use the business euphenism.
I found this on Haddock.org but it was also featured on This American Life so Haddock possibly got it from there. Anyway, it's a log by a woman called Ali Davis of her experiences working as a clerk in a video store that has a porn section. Called True Porn Clerk Stories it's well written and strangely engrossing.
p.s. last post for a week or so as it's time to do something else for a while.
This week's New Yorker has a very interesting article called The Talent Myth. The suggestion is that companies that rely solely on recruiting very "talented" people, and promote a culture that rewards perceived "talent", and sometimes self nominated or elected "talent" at that, without any rational measure of performance, are more likely to fail. It's a great read, and a nice antidote to the business cult that attributed success to the "individual super star" style of upper management.
On a similar note I've recently been listening to (the library didn't have a copy of the book) a condensed version of The Practice of Management by Peter Drucker. The things he wrote in 1954 are still relevant today, and in fact if more people went back and rediscovered these basics it would be to their, and our, benefit. Just take a look at the reviews on Amazon for an idea of its impact. The only thing that grated when I listened to the recorded version was the obvious asumption that everyone involved in management was male. It's weird, but a good thing, how that really stands out when you read or hear it these days.
What is one supposed to make of this? A process is a progressively continuing procedure that consists of a series of[sic] controlled activities systematically directed toward a particular result of end. A process is defined as performing activities of varying complexity.
And if you think I'm taking this out of context, it's even more confusing in context. Anyway, it's from the Business Process Management Initiative in the specification of the Business Process Modeling Language (BPML) they have created.
It may be that the thing they are trying to describe is not well enough understood at this point to be able to put together a useful definition. In this case I think the best thing to do is to fess up and define it by example until a greater clarity can be achieved.
Anyway, wrt to critical mass, yep that's one of the many problems. How do you make something that relies on the network effect for its success successful before there's a network? One possibility would be to seed the system with some sort of stationary beacons in high traffic areas. These would relay info they'd collected from other cars, and possibly general traffic info from other sources. That way a driver would get some benefit even if the number of other drivers using the system was fairly small. The only way to really get it to take off would probably be some sort of onstart style deal with a major car maker.
These sorts of things are interesting to speculate about though. Perhaps there is something out there along these lines that can be done.
I've already added this as a comment to Raleighnet.org: Interesting P2P Traffic Info Idea but I thought I'd also try out the trackback feature and repost as a post on this site.
So, what about a P2P network using bluetooth to communicate traffic information between cars on a highway? Imagine I'm in a car going South on I35. On my dash is display of the road conditions for thirty miles around. How is this produced?
It's produced by my car talking to the other cars as they pass on this side and the other side of the road. As cars pass me in both directions my car communicates to them the conditions I'm currently experiencing, that is how fast I'm going, where I am now, and a trail of my speed and location over the past thirty minutes. It also passes on data it has received from other cars in the past thirty minutes. The cars that my car provides data to reciprocate, and transfer their data, and data they've collected from others, to me.
Cars coming towards me, going North on the other side of the road, can provide information about conditions ahead of me. They've collected this from cars in front of me when they passed them a few minutes ago. The data I provide will be useful to cars behind me; it will be transferred to them by the cars that pass me going North. As cars enter and leave roads the data is spread out so that it's likely that I'll know the conditions down each turnoff that I pass. Certainly I'll be aware of conditions on any road with heavy traffic. In this way each car can maintain on it's own, with no central authority or monitoring, a picture of the road conditions around it based on information provided to it by other cars.
I've just finished reading The Complete Ballad of Halo Jones by Alan Moore and Ian Gibson. Mr. Moore is famous for Watchmen among other things. Most recently he's been writing Top 10 and The League of Extraordinary Gentlemen, both of which are great.
Anyway, back to Halo Jones. It's one of the best comics I've read, well up there with Watchmen and Top 10. It's also a story about ordinary people. Though living in the future (of course it's her present, but then that's the future for you) Halo is an ordinary woman who remains ordinary throughout the series. She never rises to high office or sees the grand plans behind any of the stuff she's involved in, she just wants to get out. Some of the reviews you can find on google don't seem to like the first of the three books in the collection as much as the others. That was my impression on a first reading as well but it really grows on you as you read it again. I think this site has the best overview of Halo Jones and what it's all about. If you're looking for a comic book to read, and everyone should from time to time, Halo Jones is a good choice. And if you can't see what the appeal of comics is try Halo Jones, Top 10, or The League of Extraordinary Gentlemen for a great introduction.
Very interesting letter from Dana Blankenhorn, a veteran journalist, complaining about the free ride WorldCom's current CEO is getting from the press. Why aren't journalists asking the questions that members of the public want to have answered but don't have the access to even ask? Surely it's their responsibility to find out what's really going on, not just to report what people say, and toss easy balls for the interviewee to hit for six. WorldCom, Enron, GlobalCrossing etc. sure look like malfeasance to me.
So I upgraded to the latest MoveableType version and changed the colors for itymbi. The upgrade went well, even the unexplained bit of enabling TrackBack when you're using mod_perl. It's interesting, though perhaps obvious, that because of the pattern used for the application and comments code finding how to setup TrackBack was pretty simple. The color scheme comes from a book called A Book of Colors published by the Nippon Color & Design Research Institute. It's fantastic for finding color combinations that work well together.
Of course the most interesting feature of the latest MoveableType version is TrackBack. This is something I, along with others, have thought about before, looks like there's going to be an open standard around this functionality, so I'll just hook MBlog into it, I hope.
TrackBack is implemented using REST and not SOAP. The REST vs. SOAP discussions are interesting. Perhaps SOAP has already been taken over by the standards people to such an extent that it's about to be suplanted by REST when ordinary mortals want to get something done. A rant I've indulged in before is my feeling that there are some people who get more enjoyment out of the standards setting process than is right. These people glom onto any new technology as an opportunity to get involved and make their mark on a new standard. The results are sometimes over elaborate for ordinary use. SOAP may be going this way, it's just getting too complicated to set up for simple, though powerful stuff, like the amazon api or TrackBack.
An interesting essay called Gaming the system: How moderation tools can backfire. It describes how moderation systems like Slashdot's can inadvertently encourage behavior they wish to discourage. By scoring users participation in moderation and posting Slashdot encourages some users to moderate so as to maximize points scored (karma whoring in Slashdot terms) instead of moderating so as to support interesting discussion.
To be completely pretentious about it I feel that my particular stall in the marketplace of ideas is not exactly overstocked. So I am occasionally reduced to reselling one idea to multiple buyers. In this case I reworked the brief piece below about .NET into an article for Kuro5hin. The editing process that let to it being posted was useful and I think the final result that got posted is better than the quick thoughts I dashed off originally.
Another site poking fun at Monday:, the PwC Consulting rebranding. This one from a story on The Register.
Here's an amusing comparison of Windows-NT vs. CP/M that I found on Haddock.org. I suspect everyone's seen this sort of thing before.
Whenever an X vs. Y comparison/evaluation is posted somewhere it 's likely to cause a flamefest. For example Microsoft has taken to reimplementing the J2EE example PetStore application using .NET, tuning it, and then claiming that .NET performs better than J2EE. I won't go into why I think this is not a valid comparison, the people at TheServerSide have a lengthy discussion that goes over it in detail.
The thing is, does anyone believe these things anymore? The only thing most of them seem to do is confirm whatever prejudice the reader already has. I mean, it seems like everyone thinks that they won't be taken in, but perhaps their boss, or some "suit" at another company will, and therefore they must point out at length all of the methodology flaws. Is this because so many of them are so biased that it's no longer possible to get a fair comparison taken seriously? Is it that it isn't actually possible to perform a fair comparison? On the specific performance front I've always liked the advice I've heard that it doesn't matter which is the fastest provided the one you are using is fast enough for your purposes. For instance, it's overkill to be able to serve ten thousand impressions a day if you only have to serve one thousand. More understanding of requirements, and less over engineering and guesswork is a good thing.
One good thing, these days it's a lot more difficult to publish a biased or slanted comparison and not have it picked apart, witness the latest Microsoft sponsored anti open source study and its rebuttals. Not sure I like the phrasing of the one reproduced on the Register but it does make the right points. This one from Portugal is better. A search on Slashdot will, of course, turn up much more material, and some of it may even be useful.
Joel Spolsky has another interesting strategy letter available. This has been discussed at some length on Slashdot and I don't want to try and rehash that discussion here.
Joel describes the general principle; Smart companies try to commoditize their product's complements. More interesting to me than the specific examples he gives is the actual idea itself. I think that in programming the best way to learn a language is to try to write programs in it; with these sorts of ideas the best way to understand them is to try and apply them.
What about .NET, is there anything to think about there? Well, imagine that Microsoft wants to move into the Enterprise Computing space, what sort of complementary products does that require? One thing that comes to mind is that you need good integration capabilities, you need to be able to connect the SAP ERP system to the Siebel CRM system. Currently this sort of product is provided by companies like TIBCO and webMethods, and has been a nice little earner for them. webMethods' stock went up 507.5 percent on its first day. OK, that was in 2000 but very impressive even for then.
So, what does Web Services and .NET do to the enterprise integration business? It commoditizes it. With this complementary product reduced to a commodity Microsoft's chances of getting into the Enterprise space improve and the prices they can charge go up. If Microsoft can convince SAP, Siebel and other Enterprise Software vendors to offer SOAP access in their applications; if it can position itself as the Web Services leader, with good support built into the OS it controls and the tools it provides; it's time to sell TIBCO and webMethods stock.
And it looks like this is happening. Microsoft is generating such hype and buzz around Web Services that customers are starting to demand SOAP access even when they have no compelling use for it yet. It's turning up in RFPs already, and this means that SAP, Siebel and PeopleSoft will be adding it to their systems. Perhaps the only bump is that Microsoft is trying to push its own BizTalk standard instead of going with ebXML. If the goal is commodity status the more players behind a single standard the greater the momentum. A couple of competing standards allows a space for TIBCO and webMethods to thrive on converting between the two.
What's after EAI integration? Maybe it's business process management. This is where TIBCO and webMethods are heading now, it's a pretty hot space. Microsoft has some product in this area and it might be where they would go next. The movement into business process management would perhaps be predicted by The Innovator's Dilemma, companies are forced to move upmarket chasing the larger returns as the market below them is eaten up the disruptive replacements. In this view Web Services is a disruptive technology to TIBCO and webMethods, perhaps not as good along the axes they are evaluated on but offering other benefits along other axes; that's a topic for another post though.
So PwC Consulting is now going to be called Monday. Of course the site introducing the new name makes heavy use of the scarlet letter of style over substence, Flash.
Here's the actual PwC consulting thought about what the new name means.
WHAT MONDAY MEANS Monday is a fresh start, a positive attitude, part of everyones life. Monday is a real name, universally understood and easy to remember. Monday is confident. It stands out and it stands for something.
To me it just means pretension and lack of clarity about what the company does. Strangely the BBC's story actually manages to find some people with positive things to say about the idea.
Rebranding will cost $110m. Seems like a lot of money to me. I don't know how much of it goes to Wolf Olins who "masterminded the changeover". Wolf Olins is a company from the UK originally. This may explain the Flash. A lot of Nathan Barley types like Flash. Wolf Olins is part of the OmnicomGroup, now there's a name. Like the Globex corporation run by Hank Scorpio that Homer Simpson once briefly worked for.
On the other hand, I suppose the people in Andersen Consulting, rebranded as Accenture, were glad they were able to drop the Andersen part of their name before all of that inconvenient Enron stuff came out. The best that can be said is that at least PwC Consulting chose a real word instead of inventing one to imbue with whatever wonderful qualities they feel the company should have.
In this week's New Yorker there's a brief article by James Surowiecki called Turf War. It's about Nike's failure to dominate the golf and soccer equipment markets despite their revered brand. The power of branding, Mr. Surowiecki says, is overrated, it's not enough to slap a logo on a poduct to make it successful, you actually have to make something that's better than the competition. "The surest way to get stronger sales is to sell a stronger product." I'd add that this innovation does not have to be along any of the dimensions that the current product dominates. As The Innovator's Dilemma points out you can take over a market with a less functional product if it dominates on a axis that is ill served by the current leader. I've written about this and open source software as Rules of Innovation - Clayton M. Christensen and Ant as an example of the Innovator's Dilemma.
Mr. Surowiecki's remarks are in contrast to those of the NoLogo movement who believe that branding is evil, or at least close to evil. An interesting and more detailed explanation of the other point of view is from Economist. The references to the article The Case for Brands I found weren't actually on the Economist website but through Google.
I think there is certainly something to the Economist's central thesis, that because brands make a product easily identifiable the company must make sure the product lives up to the promise the brand makes. Of course this may not be quality, it may be cheapness or consistency, but if the product doens't live up to the branding it's very easy for consumers to avoid it because the brand makes it easy to identify. The Economist feels that we have the power over branded products, if we don't like them, or the ways they are made, stop buying them and they must change. After all, it's easier to boycott Nike shoes to make them change their labor practices than to boycott generic shoes where you have to check the label to see where they claim to be made. In the same way, it's easier to stop McDonalds putting beef flavouring in their fries than the burger place down the road because McDonalds are easily identified and have a large number of customers to satisfy.
An interesting article from Beyond Value Investing. It analyses the Internet bubble, specifically that involving the companies that "made money" by selling banner ads to each other, as a pyramid scheme.
At the time, I worked a Deja for a brief while, it seemed to many of the lower deck swabbies in development that we were, as the quotation has it, making money by taking in each other's washing. It was a source of amazement that this sort of thing seemed to actually work, coupled with a sense that either an enormous scam was being pulled or we were too dumb to see the real value in swapping banner adds. Of course management tried to convice us of the "we were too dumb" idea but we sort of clung to the "enormous scam" opinion. In the end we were perhaps right. On the other hand they got rich and we didn't so.....
I found the link to the article on CamWorld but I don't agree with Cam's comment. I don't think the author is lumping all internet businesses together. Towards the end of the article he distinguishes between several sub-bubbles and even says "And not all Internet companies were Pyramid Schemes - Amazon, Google, eBay, and Overture are all healthy companies with positive cash flow." It's important to recognize that some were pyramid schemes though, even if unwittingly.
Juri Pakaste has an interesting post on his blog about Comments on blogs. I have conflicting feelings about this issue. On the one hand I want content on my blog, its hard enought to write stuff as it is without scattering it across the web :) On the other, comments are a nice form of conversation that I would like to encourage, and being able to read many peoples different (possibly) views on a subject on one site is useful.
The one possibly novel feature I want to try to implement in my toy blog project is cross blog commenting. The idea is that if two people are using this software to run their blogs then it is possible for one of them to comment on a post on the other's blog and and have that appear as a post on their own blog. With appropriate crosslinking I could post a comment on Juri's site which would appear as a post on mine with a link to the head of the discussion on his. With multiple participating sites I could imagine quite a rich system where you could click across multiple blogs reading a thread of comments with the benefit of seeing other articles on the blogs as well, browsing being part of the benefit of blogs. In some fantasy land view perhaps the sum of the parts could be greater than the whole and you'd end up with a sort of hyper blog made up of connected crosslinking blogs.
Just spent 3 hours, which is a bit longer than I expected, adding an extra hard disk to the machine this site runs on. After a few months running at 72% to 95% full on a 7G partition I bought a new drive from NewEgg following a recommendation from one of the hardware guys at work, thanks Tony. I got a 40G Western Digital for what I thought was a reasonable price. Installing it was simple using pieces from the Linux Hard Disk Upgrade Mini How-To as a guide. I did learn a few things though and in the true blog spirit I'll post them here.
Dust, dust, dust. It's pretty amazing how much dust can get into a machine. Some of the panels hadn't been taken off in years and it was nasty in there.
Dell cases are nice. Of course this is based on the sample of one that holds the machine I was working on. It's fairly old, being a 350MHz Pentium II, so I don't know how well this experience relates to recent Dell products. The case is well put together in a modular fashion. For example all the drive bays come out very easily to let you work on them. You don't have to try and get screwdrivers into impossible locations. The case holding my current Windows machine (ick), which I build two years ago, was highly rated but it's not as nice as Dell's.
Check your partitions twice. Part of the reason the process took so
long was that I managed to get the partitions on the new disk set incorrectly
first time round. I used fdisk instead of cfdisk,
made a mistake and didn't notice it. When I copied the data to the new disk I
wondered why 1.5G of data was taking up 50% of what I thought was a 20G
partition. It wasn't, it was taking up 50% of a 3G partition! I had to repartition,
reformat, and copy again. Looks ok now.
I don't think I'll delete the original directories just yet though, perhaps in a couple of days.
Sometimes, perhaps it's the infinite number of monkeys at work, Slashdot throws out some real gems. Here are some Attack of the Clones related posts. Spoilers are marked.
Turns out the second entry, General review, was taken from Adequacy.org. Here's the original. This sort of thing happens from time to time on Slashdot. Generally it's spotted though as there are so many readers that usually someone has seen the original.
Update And another one. This analyzes the center of gravity and weight of lightsabres in the Star Wars movies and how this influences fighting style.
There's an article in Business 2.0 called Beating Bill that attempts to show how Microsoft can be beaten, or at least fended off for a while. I pulled a couple of bits I found interesting.
Intuit, who've defeated Microsoft Money with Quicken. They're facing a challenge to their QuickBooks software from Microsoft's purchase of Great Plains accounting software. One of the things they've done is to add APIs to QuickBooks to let third party developers' applications exchange and build upon the mission-critical small business data stored in QuickBooks. Information about these APIs is here. They use COM to communicate with QuickBooks but the actual calls and data passed are encoded in XML. Intuit even supply a Java-to-COM bridge so that Java developers can interact with QuickBooks using this API
Quote from "Beating Bill": "I think opening up the product is the smartest thing Intuit has done in years," says David Farina, an Intuit stock analyst at William Blair. "If they pull that strategy off, I think it will be hard for Microsoft to unseat them."
Liberate, which uses Linux as the OS for its set-top boxes. Quote from "Beating Bill": If Cook's (Intuit) game is to outrun Redmond, Mitchell Kertzman's plan is to use Microsoft's strength -- its control of the Windows operating system -- against it.
I found this interesting in relation to Apple's recently released Xserve product. On the main page they talk about the "per user" or "Windows" tax. Quote: Xserve lets you eliminate the most galling expense in your departments budget: the per-user "tax" youve been obliged to pay for using server software. Perhaps this will be a fruitfull place to attack in the future. Can Microsoft's great revenue engine be used against them?
People are now starting to understand how innovation works, and how and why new companies or products succeed. In his previous book, "The Innovator's Dilemma", Clayton M. Christensen analyzed companies' and products' successes in terms of disruptive and sustainable innovations. His just published article takes off from that point and provides guidance for how to use disruption and plan a disruptive strategy for attacking a market. Very interesting and well worth reading.
Previously I've attempted a description of the success of an Open Source product, Ant, in terms of the Innovator's Dilemma. I think the fit is very good, provided you recognize how the rewards and costs should be measured in that environment. If you are interested it can be found at Ant as an Example of the Innovator's Dilemma. Now I'll have to go back and see how Ant matches against the guidelines in the article.
Reading "The Innovator's Dilemma" before the article is not necessary but does provide some interesting illumination and background for some of the points made. The second paragraph of the section titled Take Root in Disruption in the article provides a quick summary of the basic findings of "The Innovator's Dilemma".
My brief summary, but read the article.
A new firm should use a disruptive strategy when entering a market, these succeed in 33% of cases. Using a sustaining strategy only succeeds in 6% of cases. Four basic groupings of factors affect the probability of success, (1) taking root in disruption, (2) the necessary scope to succeed, (3) leveraging the right capabilities and (4) disrupting competitors, not customers.
Take root in disruption
When newcomers attack customers and markets attractive to the leaders, the leaders overwhelm them. I think an example from the software space would be to try and attack Microsoft with a desktop OS, or less extremely to try and take over the J2EE app server market from BEA or IBM.
The article provides two two tests for whether a market can be disrupted. This is not mentioned in "The Innovator's Dilemma", which presents explanations of historical situations and doesn't spend much time trying to present rules for harnessing disruption, and is very interesting.
One. Does the innovation enable less-skilled or less-wealthy customers to do for themselves things that only the wealthy or skilled intermediaries could previously do?
Two. Does the innovation target customers at the low end of a market who don't need all the functionality of current products? And does the business model enable the disruptive innovator to earn attractive returns at discount prices unattractive to the incumbents?
Both of these seem to indicate that the standard VC mandated strategy of "go for the Fortune 500" may not always be the best approach.
Pick the scope needed to succeed
Clayton divides markets into two segments based on whether the functionality of existing products in the market is currently good enough for customers' needs. In markets where product functionality is not yet good enough, companies must compete by making better products. When the functionality of products has overshot what mainstream customers can use, however, companies must compete through improvements in speed to market, simplicity and convenience, and the ability to customize products to the needs of customers in ever smaller market niches.
Leverage the Right Capabilities
Avoid two common misconceptions in managing money. Firstly, deep pockets are not an advantage, too much cash allows you to follow a flawed strategy for too long. Perhaps we saw some of this during the "Great Internet Boom". Secondly, you should be patient about the new venture's size but impatient for profits. He believes that the discipline of having to quickly turn a profit helps the company discover the successful strategy. Again this is unlikely to lead to the explosive growth that the VC community requires. One of the problems the Clayton mentions at the start of the article is that VC's seem to regard investing in startups as more of a gamble that he believes it is. Because of this they demand very high growth rates, which force companies to bet on a strategy too early, before they understand the opportunities. It also pushes them into the existing markets owned by larger companies, who then crush the upstarts.
Failure is often the result of using existing but inappropriate processes for market research, strategic planning and budgeting. I would imagine this applies more to existing large companies trying to implement a disruptive strategy than to startup companies. However, even in startups the implementation of processes learnt by the managers when working at larger companies is probably a problem. Sony is presented as an example of this, initial disruptive innovation being replaced by sustaining innovation when the founder's personal instincts were replaced by standard market research.
Values are the most rigid of the three items. Everyone has to internalize and act on the values that make the company successful. If these values are directed towards sustaining success within the existing cost structure then they will not support disruptive innovations. This is discussed more in "The Innovators Dilemma" where he makes the point that the most successful companies in existing markets are those with their values most closely aligned with their existing customers. Unfortunately this alignment, responsible for the companies success, prevents them from being successful with disruptive strategies that have a different value structure.
Disrupt Competitors, Not Customers
If an innovation helps customers do things they are already trying to do more simply and conveniently, it has a higher probability of success. Attempting to make it easier for customers to do something they aren't trying to do will fail. I think the important word here is trying, just because no market currently exists doesn't meant there isn't a need, it's probably being satisfied, though poorly, some other way.
Dictionaraoke.com has got a lot of mentions today. Currently heavily slashdotted but worth taking a listen to when it clears up. For impressive synthesis take a look at and listen to festvox. Nice open source licensing. Could be a useful way to add voice capability to an existing app. Hear the current weather for a city in the US.
Salon has an interesting article on what they describe as corporate email warfare (if you're not a Salon subscriber you'll probably see an advert before the article, either watch it or click the link in the top right to skip). I've encountered some of the things they talk about in the wild as it were. For example, the sending email late at night ploy. If you are working late then there is no point in hiding your light under a bushel and you might as well send the email then. On the other hand logging on from home via the vpn for a couple of minutes at 10pm to email the CEO is just not cricket. Of course sending email with cron jobs is always a big no no. Fortunately the people who try these sorts of things are generally not up to setting up cron correctly.
Coincidentally the New York Times also has an email related article today, which I can no longer find. This one was talking about the difficulty some people have with the social conventions for when an exchange of emails has ended or should end. Email I don't have a problem with, in many cases it's best just to treat it as fire and forget. IM is another kettle of fish though, I'm still getting the hang of that :)
Funny in so many ways, from the name of the fish to the idea of attaching corks to it. At least the fish is ok. Here's a story from the BBC that's worth a read.
Interesting article in the New York Times on using compression to detect similarities and differences between texts. To compress a file the compression program builds a lookup table so that it can replace frequently occuring sequences of bytes with different shorter sequences. As it says in the article a useful analogy is with Morse code where the more frequently occurring letters have shorter codes than the less frequently occurring ones. So, if a compression program produces a frequency analysis of the text it compresses could you use it to compare the analysis of one text with the analysis of another?
The way the researchers did it was to look at the compression ratio. First you compress a large text, A, and record how much it is compressed by. Next you append to it a smaller sample of text B and compress A + B. If B is similar to A then the compression table produced for A + B, which is mostly derived from the larger A, will compress B well and the compression ratio for A + B will be close to that for A alone. If B is different from A then A and A + B will have different compression ratios because the table for A won't compress B as well as it compresses A.
I've always liked this sort of work. You take a well known system, in this case compression, and by looking at it from a different angle you can see another use for it.
Excellent article on Kuro5hin that reprints Thomas Babington Macaulay's speech on copyright in the House of Commons in 1841. I've seen this linked before from a Slashdot discussion but the footnotes to the speech added in the kuro5hin posting are very useful in setting the references Macaulay makes in their context. Please take the time to read the whole thing, it's well worth it.
Macaulay's reasoning is as relevant today as when he spoke in 1841. With the current efforts to further extend already unreasonable copyright terms everyone needs to consider these issues. His discussion of what copyright is for and how to decide what a reasonable term should be is far more intelligent and persuasive than the current MPAA and RIAA ranting. The speech is full of excellent quotes, most too long for current email signatures or sound bite style quoting. This one is short enough to put here though I believe, Sir, that I may with safety take it for granted that the effect of monopoly generally is to make articles scarce, to make them dear, and to make them bad.
As an aside it's also interesting how Macaulay's style seemingly has influnced the poster and commenters. After reading the article people seem to write longer sentences.
I've been playing this a bit recently and I noticed one technique the designers used that I thought was interesting. At one point in the first mission you follow another character, controlled by the game, as you escape from a village. This is an ingenious way to show you how to move, fire, and use cover. I can imagine it being used in other games as a way of teaching a player the tatics and strategy that can't be taught during the initial "training course" that games often start with. Completing early missions with a more experienced computer controlled "assistant" or "leader", who provided tips and guidance would be a nice way to increase the players skill while they played. This would avoid frustration later in the game when more difficult situations are met.
Apparently the Antartic explorer Ernest Shackleton is being used as an example from which to draw management lessons. There's a book called Shackleton's Way: Leadership Lessons from the Great Antarctic Explorer. According to the blurb Shackleton resonates with executives in today's business world. I think this is unfortunate, but perhaps telling. A far better example to follow in management is Roald Amundsen, the first person to get to the South Pole. Shackleton was good in a crisis and was head and shoulders above Robert Scott as a leader and orgainzer. However, Amundsen triumphed with far less drama in situations where Shackleton failed; Amundsen's reputation suffers only because he made it look so easy. If you feel management is about dealing with problems you could have avoided in the first place, go with Shackleton; if you want to succeed learn from Amundsen.
I'll try to pick just four lessons from Amundsen, there are others of course but you can find them in The Last Place on Earth, a great book about Scott, Amundsen and the Race to the South Pole.
Before going any further though I have to say that there is a downside. Following these steps may well prevent the sorts of crises that some people seem to feel are the hallmark of successful management. If you want to attract attention through a series of heroic escapes, and you aren't worried that people will see the situations you're escaping from are largely of your own making, don't emulate Amundsen. I prefer the opposite position, that it's better to succeed without a crisis than to invite one and then escape, if at all, only through heroic measures. After all, perhaps you'll end up like Scott, in a situation where heroism won't do you any good.
One Produce a plan to minimize risk and track your progress against your plan. Amundsen carefully calculated how far his party had to travel each day and how much food they needed to have at each point. This was updated during the trek so that on the way back they knew enough about their resources to be able to increase rations. Scott planned to take four people on the final push to the pole. At the last minute, hundreds of miles from base, he changed his mind and increased this to five reducing the food they all had.
Two Work steadily. Amundsen's party travelled for five to six hours each day to cover the fifteen miles that was planned for. Even when nearing the pole they didn't rush. Scott pushed on for nine to ten hours a day, his men felt that the work was endless. It's very dispiriting to be worn down by long days with no specific short term targets and no sense that things are going to get better.
Three Pick the right tools for the job and know how to use them. You should even modify and tune your tools for your specific tasks. Amundsen took dogs to the South Pole. Scott tried to use ponies. Amundsen took skis and his party knew how to ski, Scott tried to walk. During the Antartic winter before setting off, Scott's party was playing football. Amundsen's party was rebuilding their sledges to reduce weight and testing and reworking their clothing.
Four Learn from others. Amundsen learnt from the Eskimos how to dress for the Polar climate, how to drive dogs, and construct Igloos. He also learnt from other polar expeditions, including Shackleton's previous trip to the Antartic that got close to the South Pole, and from his own previous Artic exploration. Each success or failure had something to teach, perhaps not just the obvious lesson. Shackleton's first Antartic expedition nearly reached the pole by "man-hauling" the sledges. This taught Scott that "man-hauling" was the way to do it. Amundsen saw it as confirmation that using dogs was the correct approach. With dogs Shackleton would likely have been first.
Slate has a very funny commentary on the new Pepsi ad featuring Cindy Crawford. I especially liked the phrase She looked better than you in 1991, she looks better than you now, and she will always look better than you. You are a bug.
Do the people who make these ads realise that at least some segment of the population is going to treat their ads like this? I certainly have the same attitude as the commentator to this ad. Do you get the feeling that the people who make the ads think that they are better or smarter or cooler or all three than the people who watch them and that they can persuade you to buy anything? Do you also have the worrying feeling than, about most of the population, they may be right? On the other hand perhaps that's also a smug sort of attitude.
For some reason this struck me as an example of the best of usenet and the web. Getting answers that you never could get if you asked your friends. Also the final comment ".. without problems" when applied to the process described is just great.
andrew cooke wrote:
> Does anyone know of a (free) implementation of Voronoi tesellation (or
> Delauny triangulation) on the 'net in a functional language
> (preferably ML, but I can translate).
If you don't mind function names with accents like
let différence_symétrique l1 l2 =
let l = différence l1 l2
and m = différence l2 l1
in l @ m ;;
then there is a french tutorial in Caml Light at:
http://caml.inria.fr/polycopies/cheno/index-fra.html
The source for the triangulation is missing from the sources directory,
but I have been able to convert the postscript to ascii and then extract
the code manually and translate it to Ocaml without problems
Yours, Florian
Something interesting from Slashdot, a reference to an rfc discussing how to choose names for computers. I wish they'd read this before they named the ones at work. We've got machines named based on the function they performed and the software that was installed on them last year. I think I'll point this rfc out and see if we can get a theme going for the next bunch of boxen.
Just got this book for my birthday. It about the transformation of the London sewer system in Victorian times, strangely interesting. The Open University had a TV program about this subject that showed the insides of some of the tunnels and roofed over rivers that run under London. Those Victorian hydrological engineering works are amazing things, especially when you consider that they are still working. And what should show up in the New York Times on the same day but this article about a 57 year old water supply tunnel bringing water to New York that's leaking.
There's been a lot of press on blogs lately, and some backlash saying that they are just a fad. In Google Loves Blogs, John Hiler explores the influence of blogging on the Google search engine and why they are a trend-setting force that should not be underestimated.
Have a look at this excellent google zeitgeist. An interesting look at the year and an insight into the sort of meta information that google can collect about what the world is interested in. By looking at IPs they can probably get a pretty good handle on country by country trends as well. Thar's money in them thar stats.
It's that time of the year again in Texas, it's Truck Month. Not the fake Chevy Truck Month but the real Ford Truck Month with its stampede of savings. Truck Month actually seems to cover the last part of February and all of March, they must have had those accountants at Anderson work that one out.
I used to own a truck, but I still hate Truck Month. Constant repetition of the advertisment and its stampede of savings just drives me batty. The stampede really is illustrated in the TV ad by a line for Ford trucks racing towards the camera.
Also, while I'm ranting ,I don't like those ads that illustrate how tough a truck is by having it turn a perfectly reasonable piece of grassland into a muddy mess by driving over it and skidding round and round. And furthermore... (that's enough for now, time for medication)
How can a software company that makes and sells a development tool ensure that their early success, when they did their own consulting, can be reproduced as they grow and have third party consultants and internal IT people at their customers doing the implementations? This is something I've faced where I've worked before and I was wondering what to do when it comes up again.
Joel Spolsky has talked about a similar issue, why are small consulting firms often capable of doing better work than larger ones. The answer being, as I read it, that at large firms methodologies replace or constrict talent while small firms allow talented people to do good work. Unfortunately for a software firm that's going to want to rely on large consulting firms for implementation this answer is cold comfort.
What is it that makes early customer support efforts successful? I suppose I can identify a few obvious things.
Early on the close contact between the developers and the inhouse consultants means that the developers know how the package is being used and the consultants know which developer to go to for help. Also, at this stage the barriers preventing the consultants talking directly with the developers are likely to be lower so contact is easier. Aside from the practical help this provides I think the feeling of "community" between the developers and consultants provides the support that can be very useful when you're facing the customer trying to get stuff working that just isn't there.
Early on there are fewer consultants so each is likely to have seen a larger fraction of the total problem and solution space and they will know how to solve a larger fraction of the total problems. Inter consultant communication should also be better at this stage so that knowledge sharing is more effective.
As outside consultants are brought in how can the same success be continued, reproduced and extended? A couple of suggestions.
Some way to reduce consultant/implementor isolation and provide/encourage a sense of community among the consultants and between the consultants and developers. The use of internal newsgroups where implementors and developers can post and answer questions would help I think. It's been used fairly successfully by some companies. Perhaps even blogging could play a part by providing some regular update and "contact" between the people in the field and the developers.
For improved knowledge sharing I think that a patten approach to describing problems and solutions would work. These are loose enough to allow you to enter the information you have yet provide structure to help you think about the problem. The issue of coming up with a domain related or specific pattern language to make writing and reading the pattes/s easier and more fruitful is the topic of another post.
Recycled post. This just in. Another alphabet generation system.
On sweetcode I found Alphabet Soup. This project explores the shapes of letters in the Roman alphabet with the help of a python program that generates variations on existing letter forms and completely new letter like shapes.
So Alphabet Soup reminded me of Metafont by Donald E. Knuth. And following those links led to Blue Sky Research which has some fonts produced by Metafont that you can download to use with postscript.
Another interesting exploration of letter forms is by Douglas R. Hofstadter. In his book Metamagical Themas: Questing for the Essence of Mind and Pattern he has a chapter talking about metafont. He also proposes letter recognition as an interesting AI problem. Just what is it that makes an a an a and makes it possible for people to recognize it? The actualization (never thought I'd use that word) of this is the project Letter Spirit that generates different consistent fonts for the 26 lowercase letters of the roman alphabet. The specific focus of Letter Spirit is the creative act of artistic letter-design. The aim is to model how the 26 lowercase letters of the roman alphabet can be rendered in many different but internally coherent styles.
An interesting idea.
Thanks to mss for the css. (if you can't see the difference you probably need to hit reload)
Daniel (waferbaby) Bogan's the head project "aims to help expose computer geeks in their natural habitat". My favorite photo of Alex with a computer though is Alex on vacation. Yes, he is outside in the sunshine. Of course, he has a computer with him. The towel? How else can you see the screen in this damn sunshine.
It used to be RTFM when people asked you a question that was answered in the manual and they hadn't bothered to look themselves. Now when people come to me and say "What about X?" if I don't know the answer the first step is to type www.google.com. Then, often with them sitting right next to me, google provides copious amount of stuff about X including exactly the answers they want. At which point I feel like saying RTFG. It's not just that you'll probably find the answer by looking on google but you'll also see connections between what you're looking for and other stuff, and that's always interesting and sometimes useful.
Pub finding as an application for wearable computing. In the article it mentions the idea of a jacket that can give you a guided tour of Bristol. I like that but what next? Trousers that show you round Leeds, a nice tee shirt that takes you on a trip to Milton Keens, or underwear that shows you the night spots of Crewe?
So, if you wanted to create the ultimate computer virus (drum roll) how would you go about it? Well I have a few suggestions that I hope nobody implements. Certainly these are things that I think people should be on the look out for.
With the virus writing kits that are around now most script kiddies can put together something that is able to exploit outlook so the technical barriers are not very high. I think that the most important aspects of producing a successful virus are now in the area of social engineering.
Let's pretend that we can infect a single machine running outlook and that we're going to use outlook and email as out transmission mechanism and try for corporate infections in the USA.
Ok, how should an ideal virus behave. Well, to take a model from the natural world let's try and imagine a virus that is closer to AIDS than to ebola. The current virus model seems very much like ebola, massively infectious but killing the host so quickly that it is possible to quickly identify it and isolate it before it spreads. We're going to imagine something closer to AIDS, reasonably infectious but doesn't kill the host before it has a good chance to infect many others.
So, the first thing is not to send out a blizzard of email as soon as the infection is established. This is likely to give you away too soon. Let them trickle out over several hours. A second point here is not to send to any email groups or lists that you can find in the outlook address book. If someone gets the same message more than once in rapid succession from the same sender they will rightly suspect that it is a virus.
First then, let's first try our most successful technique. I think we could do more to exploit email groups/lists. Let's look through the outlook address book for groups like HR, Human Resources, or things like that. The idea is to try and identify if we have managed to infect a machine belonging to someone who is likely to send out company wide email that people are used to opening without too much thought. If the virus is on a machine belonging to someone in the human resources department then a message like Update to vacation policy with an attachement that looks like a word doc will likely prove pretty effective.
The groups approach could also work well from any machine in a Sales or Consulting group. Perhaps an Changes to expense reimbursement policy would be a good subject for a message that would be opened without too much thought. I sure real virus writers could think of others.
Secondly, I think we should look at the messages in the inbox or other folders for recently received messages that have attachments. The idea is to reply to these with a message body something along the lines of I marked my changes in the attached copy and attach instead of the attachement a renamed version of the virus payload. If you use the double extension technique you are likely to get a few hits this way. It would be useful if we could avoid people recognizing that they've been infected so if it was possible for any attachements to behave as if they were simply corrupted documents instead of viruses we could gain some more time.
Thirdly, for those people we didn't hit with option two from the current machine we need to send a more generic message to everyone that we didn't send to with the first approach. I think any of the humor or sex related vectors would work as well as any other, watch the spelling and grammar though.
Finally, another email groups attack. If we are really lucky we'll eventually land on a machine in the admin or sysadm or other such group. This is more likely if we've not given outselves away too soon in the other stages. In that case the obvious thing, and probably the best, is to send a message Virus signature update with the virus payload as an executable. As this is likely to be the most effective thing we can do the check for admin group should be the first thing done so that we manage to send at least this message before we're found out.
I think this combination of techniques could be more damaging than lots of the things we've seen so far. The more interesting question is why we've not seen these ideas in action before. They aren't difficult to think up, this lot is the result of a few lunch time talks among people who've never written a virus so it's not like other people haven't had the same thoughts. Some possibilities are.