« | » Main « | »

If you're looking for time-wasting eye candy based on disrupting gigantic cellular automata simulations of theoretical computer science concepts (and who isn't?), this is just what you're after:

  1. Download Johan Bontes' awesome Life32, an implementation of Conway's Game of Life for Windows.
  2. Download Paul Rendell's astounding pattern: Turing Machine implemented in Conway's Game of Life.
  3. Run it for a while, and marvel at the complexity of the parts interacting.
  4. Stop the pattern running, and go into draw mode (Options - Draw mode). Make a little squiggle somewhere off at the edge of the pattern.
  5. Run the pattern again. Chances are good your squiggle will generate a glider headed into some part of the Turing Machine. It will gradually cause complete chaos.
  6. Repeat as desired. Try different types of squiggles, in different places. For extra fun, imagine the rogue glider is Luke Skywalker, and the Turing Machine is the Death Star!
tagged: » 1 reaction

The Mars Scorecard is a different view of the history of Mars exploration:

Welcome Space Sports fans! As you are well aware, Earth is currently the underdog in the solar system division in the Expensive Hardware Lob. For every piece of hardware that returns useful information from the Lobbee's planet, the Lobber scores a point. For every piece of hardware successfully thwarted by the Lobbee, they score a point.

Mars is ahead, 20 to 17.

There are a bunch of missions listed here that I had never heard of. Marsnik? Unfortunately, the NASA database links seem to be broken.

tagged: ,   /   via: bytehead's blog» react

I read once of a person who would microwave their coffee for some unusual amount of time, like 48 seconds. I think it was a brain teaser: why would the person do this?

The answer was that they had timed the spinning of the carousel in the microwave, and knew that if they zapped it for 48 seconds, the mug would make some number of whole revolutions, and end up with the handle pointing towards them, making it easier for them to pick the mug up again.

This stuck with me, because it is exactly the sort of nerdly optimization that I would make. In fact, I've had discussions over this sort of thing in the kitchen at work. One time, a co-worker and I had an gleeful conversation about how precisely to manipulate the cup-at-a-time coffee machine to get the cup of coffee made in the shortest time possible, including adding sugar.

Then again, once I was standing in a work kitchen with a woman I knew only by sight as being from the accounting group. Making conversation, I told her the story of the precisely timed mug nuking, and she said, "That is a sad man".

Different strokes for different folks, I guess.

Two links about what happens when college students hit the real world head-on, one helpful, one humorous:

¶   Getting Your Résumé Read

¶   Electron Band Structure In Germanium, My Ass

tagged: , , » react

I've been writing a lot of Python modules lately, and intend to put them up in my code section as soon as I can. But what starts as a self-contained module inevitably splits into multiple smaller modules for modularity, and I don't know how best to distribute them.

» read more of: How to distribute Python modules?... (12 paragraphs)

What's the point of being a pedant if you can't pester a multinational sugar-water concern? E-mails exchanged between David Armstrong and The Coca-Cola Company.

tagged:   /   via: Small values of cool» 3 reactions

Dave B. sends along news from Tokyo of the Nissan Cube. Dave is disturbed by the asymetric rear design. I'm disturbed by the thinking behind the design:

The design team's four key themes of "naughty, relaxing, compact and agile" are embodied in the design.

Naughty?

In addition, care was taken to achieve a distinct car-like stance that fosters feelings of lasting attachment.

and

The interior design exudes a sensation of relaxing in one's own room, sitting on a comfortable sofa and surrounded by favorite pieces of furniture and audio equipment.

It's a car.

tagged: , » 6 reactions

I'm trying to use Ghost 7.0 to backup a hard drive that seems to be failing, and the backup works great. When trying to restore to the new drive, Ghost says "Insufficient conventional memory". Our best theory is that the laptop has too much memory: 1 GB.

This is a classic problem with the hyper-inflation of hardware capabilities: software written to understand the possibilities last far too long for its own good, and can't fathom the gigantic numbers it's seeing. It reminds me of old kids' games I still have running on my home machine. Every time they startup they warn me that they need 256 colors to display properly. When they were written, 256 seemed like the upper limit, so there's probably a line of code in there like,

if (nColors != 256) {
    ::MessageBox("I need 256 colors");
}

Who could have imagined 24-bit color?

In a comment to my posting about printing Unicode from Python, Thijs van der Vossen (who has a nice blog himself) asked why I don't use a terminal emulator with UTF-8 support.

Good question. I looked into it, and I might be using one already: the Windows prompt. It seems to have support for UTF-8, but darned if I can figure out for sure.

» read more of: Displaying unicode in windows prompts... (10 paragraphs)

To make accessing simple XML files easier, I've written handyxml, a Python module to wrap XML parsers and provide the parsed DOM in a more convenient form. See the full description for details.

tagged: , » react

The weather in the northeast of the U.S. has been unusually cold for a few weeks now, and it's interesting in a rugged survivor kind of way, since we're actually cozy in our heated homes.

But nearby is Mount Washington, home of some of the severest weather recorded (it was there that the world record for wind speed, a 231-mph gust, was recorded in 1934). There's a weather observation station at the summit, and it's staffed year-round. Last week they almost broke their all-time low temperature record of -47°F (also recorded in 1934).

It turns out they have a blog up there: Observer's Comments. Be sure to check out the picture of the interns outside in t-shirts at -30°F!

tagged:   /   via: Primate Brow Flash» 3 reactions

Open Source Testing is a compendium of 138 open source testing tools, including unit testing, feature testing, performance testing, bug tracking, the whole gamut. If you're considering building some testing infrastructure, you should spend some time looking around here first.

tagged:   /   via: afongen» 2 reactions

Turns out juggling isn't just fun and geeky, it's also good for you: Learning to Juggle Causes Changes in Brain.

Just what we need: yet another social networking site: Orkut. Everyone is wondering how these things are going to be anything other than a giant dating service, or a ladder-climbing spam-fest. Orkut has a leg up in that it is "in affiliation with Google", whatever that means. Seems risky to name a site in this kind of volatile arena after yourself, but if my name were Orkut Buyukkokten, I might do the same thing. It's certainly better than calling it buyukkokten.com!

One cool thing: the Orkut home page has a slick fade-in effect accomplished with JavaScript.

tagged: » 1 reaction

I love being able to make things myself, especially out of paper. Ruthann Zaroff offers a number of templates for boxes and cards that could come in handy for any number of projects.

tagged:   /   via: Blue Sky On Mars» react

As we continue our charge into political overdrive, I fear that reasoned discourse will be impossible. Factcheck.org may be a help. Their mission:

We are a nonpartisan, nonprofit, "consumer advocate" for voters that aims to reduce the level of deception and confusion in U.S. politics. We monitor the factual accuracy of what is said by major U.S. political players in the form of TV ads, debates, speeches, interviews, and news releases. Our goal is to apply the best practices of both journalism and scholarship, and to increase public knowledge and understanding.

Judging from the current articles on their home page, they seem to be true to their word, chastising Bush, Gephardt, Dean, the whole bunch. We need all the help we can get in these areas.

tagged: ,   /   via: Blue Sky On Mars» 5 reactions

I've used SequoiaView to see a treemap of my disk space before, and liked it very much. But now, SpaceMonger is my favorite. Not only does it do the same cool treemap-thing with the contents of your disk, but it presents the information in a much more usable way than SequoiaView does.

SpaceMonger view of my hard drive

Version 1.4 is freeware, but an update to a shareware 2.1 is coming soon.

tagged: ,   /   via: Bob Congdon» 3 reactions

Simon has a nice article on Sitepoint called Simple Tricks for More Usable Forms. My comment system here is kind of shaky in a number of ways, and someday I'd like to use some of these polishing techniques to make it nicer.

tagged: » 1 reaction

Right after I posted my last entry, I read of Spirit's communications failure. I hope I didn't jinx it, and I hope they somehow get things working again.

tagged: » react

The Mars Exploration Rover (Spirit to you and me) is doing so well, why not celebrate by building a paper model of it?

tagged: , » 3 reactions

Nancy Bea recounts a moment at the dinner table: Porkhenge. This paragraph neatly sums up what I know of their family life: An autistic child and his complex issues, two other great kids, tons of creativity, generous humor, deep intelligence, and visuals. Be sure to follow the link about stern authority, it's hilarious.

tagged: » react

I first created my Code page almost 1¾ years ago, and on that page is a meek suggestion that my Amazon wishlist might be a good way to compensate me for my efforts. A few days ago, I got my first CD! Thanks.

tagged: » 2 reactions

Chris Nott runs a site named dithered.com which has only a few things, but they are choice. If you create web sites, you'll want to take a look around. In particular, he has a section about CSS Hacks which attempts to make sense of the confusing morass of tricks to get CSS to display properly in the wide array of buggy browsers out there. For example, his table of CSS-only filters (CSS constructs that use browser quirks to interpret differently in different browsers) is amazing. I'm not sure it actually makes the situation clearer, but it certainly is chock-full of information.

tagged: ,   /   via: mezzoblue» react

On a C++ project, we'd been finding the build getting slower and slower. The link phase in particular seemed to take an inordinately long time, much longer than our experience would indicate that it should. Here's what I did about it.

» read more of: Speeding C++ links... (18 paragraphs)

tagged: , » 5 reactions

One of my autistic son's small aggravating habits is emptying shampoo bottles. He takes showers by himself, and is usually well-behaved. But shampoo bottles are very tempting, and he gets into phases where he uses a bottle per shower. We try to watch over him, and we buy him cheap shampoo so that we don't care so much. We would rather he didn't do it, but we've gotten used to it as a minor irritant.

Then yesterday my 11-year old needed to build a project for school:

"Do we have two soda bottles I can attach neck-to-neck?"

"No, but we have some shampoo bottles..."

Sometimes things work out in ways you don't expect!

So if I have Unicode strings in Python, and I print them, they get encoded using sys.getdefaultencoding(), and if that encoding can't handle a character in my string, I get a UnicodeEncodeError. Can I set things up so that the encoding is done with 'replace' for errors rather than 'strict'? As it is, I use a function instead of print:

# Safe printing: can print any unicode string
def safeprint(msg):
    print msg.encode(sys.getdefaultencoding(), 'replace')

# blah blah
safeprint(mytrickystring)

Isn't there a way to set stdout to not care or something?

I've updated my ID3 tools (the id3reader module and the m3utree utility) based on feedback from people who tried them. Thanks in particular to Samuel Wright (11 email roundtrips) and Kris W. and Mark Williamson (4 roundtrips each) for making useful suggestions and being patient while the kinks were hammered out.

If you tried them earlier and had problems, try them again, and let me know if something is amiss. Sune Kirkeby also updated his mp3.py file to deal with extra information quietly, so you may want to grab that again if you had difficulty in that regard.

tagged: » react

Something to keep in mind: if a program seems to run out of memory, it may not be a memory leak. It may be that you have one gigantic allocation larger than memory.

Fontifier turns handwriting into fonts. There have been services that do this for years, but Fontifier makes it gratifyingly immediate: you print a grid from their site, scrawl your letters onto it, scan it, upload it, and then download a font. The whole process takes about ten minutes.

After seeing the resulting font, I'd take a little more care with the letters next time, especially their alignment to the baseline (look at the n's below). And I'd try to get them larger (in pixels). But the results are pleasingly familiar:

Fontifier turns handwriting into fonts, in Ned's handwriting

tagged:   /   via: typographica» 1 reaction

With all the information available these days about Spirit, it's unusual to find a new source. But Rocket Man Blog is just that. Mark Oakley works in a test lab somewhere in the space industry:

My lab was involved in the testing to determine what the most likely cause of the Mars Polar Lander failure was.

His inside comments on the Mars expedition are fascinating. And he has a great play-by-play commentary of this amazing animation of the mission: How Spirit Got to Mars.

tagged: , ,   /   via: Keith Devens» react

I don't know what WebFountain is, and after reading IBM's page about it, I still don't. Used to be you could surf the research group web pages and get some hard technical details. Now they've got slathered-on market-speak just like the rest of the company. Here's the opening paragraph from the research page:

As the Web continues to grow, the knowledge gap between a company and the current events that could affect it will expand. Consequently, this knowledge gap can translate into lost opportunities, the inability to take proactive measures or missed revenue. It is becoming imperative that businesses minimize the gap to enable accurate and timely decision making to maintain a company's effectiveness.

The rest of the page isn't much better. It seems to have something to do with analyzing text. There are other publications linked from there, maybe some of them explain it better.

Another home-IT question: My wife would like a laptop, but we are feeling strapped for cash. We started poking around on eBay, and found a great many laptops, some for very low prices. Some are clearly under-powered (one was described as having a "roomy 1.2 Gig disk" and "loaded with 32 Meg of RAM"), but some seem reasonable.

But what should I look out for? I can already tell that I'll have to buy a new battery no matter what, because these used laptops always have flaccid batteries. What else? Anyone have any experiences with this sort of transaction?

I like being part of the wider geek community. When I've written a piece of code that I think works well and solves a problem that other people will have, I like to share it so other people can use it. When people have problems with those pieces of code, I like to help them. But people, please, learn how to ask effectively.

This is an actual email I received this morning, referring to a cursor creation function I posted at pygame.org:

Hey, I'm in a hurry, so this isn't going to tell too much. I was having problems with your cursors pygame code. See if you can see what's wrong/fix it. I need to leave the office, see you later.

What am I supposed to do with this? Even if I wanted to spend time figuring out what this guy needs, where would I start? There's no information here. When asking for help, keep these tips in mind:

  • Ask nicely.
  • Put some effort into your question.
  • Be specific about the problem you are having. If you say, "I was having problems", I'm going to have to say, "What problems?" You might as well send the actual error message (or whatever) the first time.

This isn't just me being difficult. These things always make it easier for the helper to help the helpee.

tagged: » 8 reactions

Who'd have thought there was anything else to say about displaying text on screens? Everyone just creates a long vertical scroll, and gives the user a scroll bar. On top of that, the whole thing might be chopped into pages. But here's another way: a few people have been trying out displaying text in columns no taller than the screen, then laid out horizontally. This gives a feel more like reading a book or newspaper.

Try it out at the International Herald Tribune. Read any story there, and notice the controls at the bottom of the page. The whole effect if very slickly accomplished, including the ability to click anywhere in the first or last column on the page to move in that direction, complete with highlighting of the action at the bottom of the page (try it, you'll see). They also let you change the size of the type, with the page count adjusting automatically, and even the number of columns changing to properly accommodate the font.

It turns out the code to accomplish this trick is available at smokinggun (no, not the site that has Britney Spears' marriage license application affidavit).

Another example of the same technique is Tofu, a text reader for the Mac.

tagged:   /   via: webgraphics» 5 reactions

It is very cool that Spirit has successfully landed and seems fully functional. As an engineer, I'm impressed by the ability to build something complex like this, throw it a couple of hundred million miles, and then work it by remote control. It also must take enormous patience: the rover won't start moving for more than a week, and when it does, it will travel a few inches per hour.

Matt Croydon has a good collection of links to other sites about Spirit.

On Science Friday, a pair of JPL scientists were taking call-in questions. One caller made two points. The first was an interesting scientific problem: what if the life on Mars is so different from ours that our tests for life don't detect it? The second was more out there: considering so many landings on Mars have failed, maybe it's the landers that approach populated areas that are being shot out of the sky, and only missions that approach deserted areas that succeed. The two scientists didn't have any good answers.

tagged: » 3 reactions

In November, I wrote about creating m3u files in a tree, and posted a simple solution. It turns out there's a serious drawback to creating m3u files with just the file name: when Winamp loads the playlist, it reads all the files to find out how long they are, which can take a long time (minutes) with a very large playlist. This is annoying. I've put some more effort into it, and now I have a better solution.

» read more of: M3u files in a tree, take 2... (5 paragraphs)

tagged: , » react

I learned a couple of things about Unicode today:

1. Python has a named character escape in Unicode strings:

>>> u'\N{MIDDLE DOT}'
u'\xb7'

2. The Unicode Consortium maintains authoritative parsable data files describing various aspects of Unicode and its myriad characters: Unicode Character Database.

tagged: , » react

I've posted a new Python module: id3reader. It reads ID3 metadata tags from MP3 files. I've tried all the other Python modules out there that claim to do this, and each failed on one of the few MP3 files I tried it on. This one reads ID3v1 and ID3v2 tags, and tries to unify them into a simple reader module. If you try it and find it doesn't work for a file of yours, please drop me a line so I can keep it up-to-date.

Almost eight years ago, physicist Alan Sokal wrote a bogus parody of a post-modernist paper and submitted it to the journal Social Text, which published it in all sincerity as genuine. This caused a great commotion, and there was much debate about it. For example, the Washington Post wrote an editorial about it.

I mention all this because I just found out that Alan Sokal is the brother of a friend. That's all.

tagged: » react

Party conversation tonight turned from:

BTW: Malcolm Gladwell wrote a great article about connections among people for the New Yorker a few years back: Six Degrees of Lois Weisberg.

tagged: , , » 1 reaction

More about safe computing for kids: Mailio is "email with training wheels". It's specifically designed for parents to deploy for kids' use. Only addresses on the parents' whitelist can be sent to or received from, so there's no fear that the kid is corresponding with someone they shouldn't be. I haven't tried it, but it looks like an interesting concept.

tagged: ,   /   via: all in the <head>» react

Last February, I wrote about nonograms and PictureLogic, a nice implementation of these graphical puzzles for the Palm. PictureLogic also lets you create your own puzzles, and Keith Wolcott, its creator, accepts puzzle collections from users, and posts them for download. Over three years ago, I created some PictureLogic puzzles. Last February, I finally dug them up and sent them to Keith. Today, he finally posted them on his site. Through the magic of serial procrastination, these archeologically significant puzzles are at last available for download. Enjoy.

tagged: » 2 reactions

I've started using iTunes for Windows to rip CDs, and to buy one-off songs online. I'd sort of assumed that Apple had done a pretty complete job of ensuring that downloaded songs would remain within their DRM bubble, since they have limits on the computers they can be shared to and so on. So I was surprised to see how easy it is to buy a song online and turn it into an unencumbered MP3 file, and I was especially surprised that iTunes showed me the way.

I downloaded a song, and wanted to play it in the car, which has an old-fashioned CD player (only audio disks). So I put a blank CD-R in the burner, and used the burn button (I want more software with buttons like that one!). After burning, iTunes detected that the CD player now had an audio disk in it, and changed the burn button into an import button. That surprised me, but sure enough, clicking the import button ripped the audio CD into plain-old MP3 files.

So it's easy to get MP3's from the iTunes store, you just have to waste a CD-R to do it.

tagged: » 3 reactions

After a recent incident of a too-curious child surfing somewhere they shouldn't have, I'm looking for web filtering software for my home machine. Anyone have any recommendations? I'm not sure I want to prevent viewing so much as ensure that we know what has been viewed, but I'm considering all possibilities.

John R. Harris has an intelligent site called Virtual Travelog. He has a number of entries about the early history of computing that are fascinating and unique. He muses about the kinds of bugs that stumped Alan Turing, and plots the history of early computers (up to 1950). Good stuff.

tagged: ,   /   via: muxway» react

Happy New Year everyone! I feel good.

» read more of: Happy... (9 paragraphs)

Here's looking forward to 2004 and further happy adventures!

« | » Main « | »