Tom reminded me that the ICFP Programming Contest, 2006 was last weekend. I didn't notice, nor did I have time to compete, but I really like this years challenge, and after an hour of programming and two hours of debugging (which should have only been ten minutes at the outside) I have a working virtual machine for the Universal Machine.
If you enjoy a tiny bit of recreational programming, try giving this a look. It's really very cool.
Somebody at work pointed me at the California ISO System Status page, which points out how many megawatts of power that California is consuming, and how close we are to maximum capacity. Note: we're close. Really close.
Save running your washer and dryer till later.
Yesterday the mercury crossed over 100 degrees here, so to stay out of the heat, we ended up going to the San Francisco Zoo. Mission mostly accomplished: the temperature was a balmy eighty degrees or so, and it was marvelous. I hadn't been to the SF zoo since they completed their new Africa exhibit, so it was new to me and amazingly well done. Contrasting the new portions of the zoo with the older, more conventional designs really does show that we've come quite a ways in our attempt to bring more natural, stress free environments to our zoo animals.
But I get ahead of myself. When we arrived, it was obvious that many people had the same idea that we did: the parking lots were full. Nevertheless, I hopped out to get tickets while Carmen finished parking the car with the kids. The line was a couple of hundred yards long when I joined, and it looked like we might have a long way to go.
But I was to be entertained. A man and a woman and a young girl joined the line behind me. They, too, noticed the long line. But the man wasn't quite as stoic as I in his acceptance of the long line. I (and everyone around me) was treated to a number of rather cranky statements:
"Oh my God, it's going to take an hour to get in."
"What time is it? If we don't get in by two to see the lion feeding, the whole day will be a complete waste of time!"
"Why are those people just walking to the front of the line? It's so unfair that people just cut into line! It's not like most people will complain. I mean, if two big guys cut into line, and you are their with kids, what can you do?"
As it turned out, the 45 minute line took about ten minutes (they really did an awesome and efficient job of getting us in). Once we were in, despite the rather large crowds, the zoo itself didn't feel overly crowded. I went around with the family and snapped some pictures, like this one of some prairie dogs.
Just too cute. I'll try to get more of my pictures up on a gallery soon.
Last night, I finally reached a breaking point.
I have an aging 1.6ghz Sempron laptop that I was using to run Windows XP. I use the term "run" somewhat loosely. It was more like a hobbling walk. On a clean reboot, it took fully seven minutes and thirty seconds to reach a state where I could actually run a program. After a crash, it was more than twelve minutes.
"Surely", you say, "you must have some spyware or viruses slowing the machine down!"
You'd think so, wouldn't you. But the most recent scans with Norton's and Windows Defender indicated nothing. From my point of view, Norton's was the virus: it was one of the principle programs that seemed to lead to long boot times.
Yesterday, I reached a breaking point: at 10:00pm, I decided to nuke my last vestige of Microsoft dependency, and put linux on my laptop.
Gasp! He's a madman!
The funny thing is that by eleven, I was running ubuntu (it took me twenty minutes or so to download the latest Dapper Drake release), and I was half watching a movie, otherwise it would
have been twenty minutes or so. Within another half hour, I had all the updates loaded, rebooted once and had the latest kernel.
Two things have stymied me in putting linux on laptops before: power control and wireless cards. Power control literally worked right out of the box: my laptop (which under windows XP ran the fan continuously now is loafing with its clockspeed throttled safely back to 530Mhz from its peak value of 1.6ghz. The fan is barely running. All is as it should be. My laptop is actually quiet once again.
The wireless card thing was a bit more tricky, and required an hour of spelunking. I decided to use the ndiswrapper stuff, needed to find the appropriate windows driver, and disable the wrong probe in /etc/modules.d/blacklist so it would use ndiswrapper, but by 12:30AM, I had that working too. In fact, I'm using this laptop to actually post as we speak.
Ubuntu isn't flawless, but I really like it. I won't be coming back.
I worked out some of the math for creating maps using the globular projection. The diagram below shows
that it worked.
I have a little programming project going for which this is a minor subtask. I'll update you more later.
I love Sherlock Holmes. I think that Conan Doyle's portrayal of London's most famous fictional detective are some of the most fun and yet also most artful works of detective fiction ever written. The only pity is that there aren't more of them.
For fun, I picked up a copy of New Sherlock Holmes Adventures, edited by Mike Ashley. I've been reading them over the past few days, and I'm sad to reveal that the absolute best of them pale in comparison to the worst of the originals by Conan Doyle. You'll find all sorts of stories which are pale imitations of stories conveyed with greater impact by Doyle, stories which detail Holmes interacting with famous characters like H.G. Wells (in a plot line which more properly belongs to the world of science fiction), and stories in which Holmes finds radium in an old funeral barrow. Unlike the artful work of Conan Doyle, the plot lines are either obvious or pulled out of the aether as if by magic, and none are satifying.
A complete waste of time. I hardly ever sell books, but this one is going to Goodwill.
Josh Bancroft decided to post My Top 5 Must Read Blogs, and I realized something: I hate blogs about blogging. And public relations. And the Cluetrain Manifesto.
They bore me. They are populated entirely by pundits who like to talk about how revolutionary blogging is, how companies can use it to sell products and improve their services. Yawn. I might think about that if I was paid to do it it, but I can't think of why I should do it in my free time.
The blogs I'm interested in are the ones which tell me about stuff I'm interested in. Building stuff. Gadgets. Photography. Podcasting (you know, individuals making podcasts, not corporations trying to exploit a new media outlet). Science.
My top five (warning, I can't count, so I might add some more, and they are in no particular order) are presented here for your consideration:
- The Make Magazine Blog: No surprise here, I like to tinker and this blog provides a lot of inspiration for tinkering. It has been so inspiring that I formed a little after hours group at work just to work on projects like this for a couple hours each week.
- Good Math, Bad Math: One of my favorite science blogs, mostly ripping apart the use of mathematics to support crackpot ideas like Intelligent Design.
- Bad Astronomy: Astronomer Phil Plait keeps us up to date on cool astronomy and dissects myths and conspiracy theories. He's a great writer and a lot of fun to read.
- Digital Photography Review: If there is a blog which I consider authorative on the world of digital cameras, Digital Photography Review is it. If you buy a digital camera without consulting it, you... well.... you should have read dpreview.
- Digg and Del.icio.us: Let's face it, part of the joy of being on the Internet is the serendipity of finding links to things that you didn't know you'd be looking for. Sites like digg and del.icio.us fill that need.
- The Daily WTF: As long as the Daily WTF has material, I suspect I'll be able to be gainfully employed as a software engineer.
- Liam's Pictures from Old Books: Here is a guy who does something I can appreciate: he publishes high resolution scans of old books from his collection, many of them are very, very nice. Great stuff, like these lettering examples.
- Distributed Proofreaders Latest Releases: The Distributed Proofreaders check and correct errors in the scanned versions of books for Project Gutenberg, and publish their completed works as an RSS feed. Some really whacky stuff comes through, some of which I have archived on brainwagon under my Gutenberg Gems topic.
This is some of what I think is cool on the Web. What about you?
Got this link from Josh Bancroft, but was just talking about this with my Mom this morning. She lives very close to the Airport so this is figuratively if not actually literally in her backyard.
Ouch! Not fun at all.
Carmen pointed this collection of Zidane silliness on the Register. It gave me a chuckle.
Some neat artwork from the U.S. Naval Observatory, including high resolution scans of some works by Hevelius, Flamsteed, and Bayer. Some of them are very, very cool.
Addendum: Want a PDF containing all the images from the Jamieson star catalog? Your wish is my command. Caution: it's 25 megabytes.
It's no secret: I'm a big fan of free software. That's another way of saying that I'm too cheap to buy Photoshop. If you are a graphic artist and make money with your images, by all means, you should probably hand over the big bucks and get Photoshop. But if you're like me, and just want to make some creative images for your blog or tweak your photos, GIMP will almost certainly do everything you need.
Now, what are you going to do with all that money you saved by not buying Photoshop? Well, GIMP is a pretty complex program, and is not without its little idiosynchrisies, so perhaps you should go out and get a good reference to help you learn how to use GIMP effectively.
Enter Peck's Beginning GIMP -- From Novice to Professional. It's a 528 page book which serves as introduction, as reference, and tutorial to the world of GIMP. It's loaded with color illustrations, walking you through each of the menus and options of GIMP, and demonstrating how to use each of these major capabilities in a series of example projects. While I am no beginner to image editing or to GIMP, I found hidden nuggets of wisdom and tools within each of these projects. For instance, I always found the workflow for using Bezier paths to be a little confusing, but after reading Peck's description, it made more sense to me and I find that I'm using them more and more to create selections. I was unaware of the horizontal and vertical guides, which can help layout. I hadn't figured out how to lay text along paths. I
found out how to lock multiple layers together and treat them as a unit, something which had previously eluded me. I hadn't ever created a custom brush. There is even a decent (but rather short) introduction to scripting and plugins, something which rarely gets any treatment at all in shorter works. I think that all but the most experienced GIMP user will find something in this book that will make them say "I didn't know that".
This book goes well beyond a simple reference: too often, manuals are merely lists of features that do little to organize the idea behind the program they describe. Peck's approach is to present some of the very basics, and then go on to tasks and show how they might be achieved using stuff you know, and slowly introducing new features. By the end of the book, you are performing very sophisticated drawing and compositing, well beyond what you might have known about image editing when you began.
Books which serve as tutorials make it simple to learn a new program, but sometimes can make specific information hard to find, but this book does a good job of also serving as a reference. The index and organization of the book is excellent, and I didn't have any problem finding specific information by scanning the table of contents or looking up the obvious keywords in the index. This makes the book a useful reference long after you learn the major topics.
GIMP itself is remarkable in that it runs on virtually every platform: Windows, Mac, various flavors of Linux and FreeBSD. The differences are very minor. It doesn't matter which platform you will be running it on, but Peck nicely includes a section on installing on each of the major platforms that might be helpful for novices.
If you are a ten year veteran of Photoshop, you might not find this book all that useful, but if you are looking for one book to buy to help you figure out how to use GIMP effectively and to fill you in on all of the unobvious details of how it works, this one is the most comprehensive and useful books that I've found. I give it a five for five. I wouldn't hesitate to recommend it to others.
Obligatory disclaimer: I received a free copy of this book to review, but have no other interest in this book.
Addendum: Below you can see an image that I retouched using GIMP, using some of the techniques that I picked up from the book. I retouched the background blur, rebalanced the color and exposure curves, and then tinted the result.
Here is the original for comparison.
Yesterday, Carmen took me and Adam and his girlfriend to the Atheletics/Angels game as a belated Father's Day present. It was a fabulous day to be at the ballpark. First pitch was at 6:05, the weather was beautiful, and we had good seats near on the field level (far back, but a short row which meant that we occupied the entire row) and it was just great.
This is the first time I brought my Panasonic DMC-TZ1 camera, a neat little 5M pixel camera with image stabilization and a 10x zoom. It's got some quirks, but the 10x zoom and reasonably short shutter delay makes it pretty easy to take pictures like this one of Vladimir Guerrero.
The game itself was a bit annoying from an Athletics fan perspective: Angel's pitcher Jarret Weaver came in with record of 5-0 and an ERA of 1.35, and he showed it. He only gave up two hits in seven innings, while the Angels managed to score six runs on Joe Blanton. But Donnelly relieved Weaver in the eighth. Kielty then singled to center, Melheuse singled, moving Kielty to second. Mark Ellis popped and Kotsay grounded into a fielder's choice, but moved Kielty to third, and Melheuse to second. Nick Swisher then came to bat, and with two outs actually singled, scoring Kielty and breaking up the shutout. Chavez then came up, and singled to load the bases for Frank Thomas. That would be it for Donnelly, who was pulled for Franscisco Rodriguez. These are precisely the moments that you want to see Frank Thomas, and while he didn't put one into the seats, he did pound a nice single to right field which scored Kotsay and Swish. Perez came in to pinch run for Thomas, and Jay Payton singled Chavez home. Crosby would then strike out swinging.
Okay, here's the bit I don't understand. Your home team has been getting manhandled all day, you were trailing six to nothing, but they showed some life and scored four runs, and you are going into the ninth down only two runs.
And people begin to leave.
I don't get it. Yes, it's probably true that the home team isn't going to complete the comeback. But for Pete's sake, you've spent $30 to sit down on the field level, it's a Saturday night, why are you leaving? Is there something so bloody important that the fifteen minutes you save by bugging out early actually matters? Did you have an important surgical procedure you needed to perform?
I don't see people flooding out of movie theaters with five minutes remaining "just to beat the traffic". Let's face it, most movies are even more predictable than the outcome of a baseball game after 8 innings. What's keeping them in the seats for movies, but makes them think that leaving early is a good thing in a baseball game?
Jerry Oltion designed created The Trackball Telescope, a telescope which rotates around on a spherical ball. It's not that unusual to see these "ball" telescopes, but Jerry seems to have come up with a reasonably novel way to drive the telescope so that it will track stars as the earth rotates. Very neat for a small telescope.
Cornell university researchers have apparently cracked the scheme used by the new European Galileo satellites. Galileo is the European version of GPS, but unlike the American GPS constellation which were paid for by tax dollars, Galileo is privately funded and sought to repay their investors by licensing the pseudo-random sequences that scramble the data streams. There are some interesting copyright and intellectual property questions raised by this, as well as some very cool cryptography work. Check it out.