Two book reviews

Earlier this year I mentioned that I don’t learn best how to do something new from books. Getting my hands dirty works better from me. However, there’s nothing like a good book to cement and round out your knowledge of a subject once you’re already proficient. Recently I read two books that really helped me in this regard. The first was Jeremy Zawodny and Derek J Balling’s High Performance MySQL, the second was Hibernate in Action from Christian Bauer and Gavin King. Hibernate is a persistence layer for Java. Basically, you define some mappings from your Java classes to your database, and Hibernate takes care of all of the messy work of generating your SQL for you, not to mention the even messier work of dealing with JDBC. Much as I love SQL, Hibernate is a huge labor saving device, and it makes it a lot easier to deal with your object model in a truly object-oriented fashion. I’ve been using it successfully for real projects for a few years, but I always felt like I was just scratching the surface of what could be done with it. I had also run into some performance issues here and there. Anyway, Hibernate in Action came highly recommended, and deservedly so. Not only does it document Hibernate incredibly well, but it also explains a heck of a lot of the theory behind relational databases and object-relational mapping as well. It’s a truly outstanding book. I read High Performance MySQL out of desperation. I’ve been using MySQL for a really long time, but recently I had run into some performance issues that I needed to resolve, and I wanted to learn about all of the things I could do to address them. What I learned is that the book should really be called, “How to be a MySQL DBA.” That’s a good thing. The book does discuss indexes, performance tuning, clusterning, replication, and all of the other topics you want to address if your database is too slow, but it also goes into other stuff like backups, security, and how the different database engines work. The explanation of the difference between MyISAM and InnoDB is worth the price of admission alone. To make a long story short, I recommend both of these books highly. Now I’m going to read a novel. ...

July 6, 2005

Public service

Sam Ruby is calling out Apple for releasing iTunes with a screwy RSS parser and Disney for publishing feeds that fall into the traps set by the parser’s quirks.

July 6, 2005

The dumbest thing ever

Sarah Vowell in the New York Times: That fact, that every three seconds an African human being dies from hunger or AIDS or, honestly, mosquito bites in this day and age, is literally the dumbest thing I've ever heard. Way, way, way dumber than that thing about Orlando and a meteor from God. That every-three-seconds statistic is so moronic, and having the richest countries in the world do something about it is such a total no-brainer, that Pat Robertson will join up with Dennis-bloody-Hopper of "Blue"-bloody-"Velvet" to spread the word. This is a solvable problem. Think we have the will to solve it? ...

July 6, 2005

Technorati on a roll?

Technorati may be on a roll, but their search engine doesn’t work very well as far as I’m concerned. Maybe sucking least is the key to their success? Every time I try to use Technorati I find it to be slow and inaccurate, but I don’t know that any of the alternatives work any better.

July 5, 2005

Sysadmins get no respect

Further proof that Rodney Dangerfield was really a Unix sysadmin.

July 5, 2005

Jorn Barger, homeless?

Paul Boutin says Jorn Barger is now homeless in San Francisco. Jason Kottke reports that Jorn denies the story. Update: Jorn’s denial is on the talk page for his Wikipedia article.

July 5, 2005

More on MySQL performance

A couple of weeks ago, I mentioned a way to improve the performance of MySQL queries by avoiding the use of the lower() function to provide case-insensitive matching. (I suggested the use of LIKE without wildcards.) A couple of people have written to mention that by default, the = operator is not case sensitive in MySQL, so an expression like ‘Houston’ = ‘HOUSTON’ will be a match. For other databases, the LIKE thing is probably still good advice. ...

July 5, 2005

Fix your blog software

Most major PHP-based blogging packages have a major security hole that can be exploited. I’m glad I haven’t switched to anything yet.

July 4, 2005

The triumph of marketing

It seems like the biggest business story of the past month has been the insane success of General Motors’ “employee discount” program, wherein customers get the same price for cars that GM employees get. The question I’ve been wondering about is how big a discount customers are really getting. Reading the paper this morning, I learned the answer – customers paid $400 to $500 less for GM cars in June than they did in May. Obviously the words “employee discount” are magical, because the raw savings certainly can’t account for the sales growth GM has seen. The program is scheduled to end on Tuesday but GM is considering extending it, and Chrysler is going to offer an employee discount sale of its own. I can already see the magic fading away. ...

July 2, 2005

Brian Kernighan on Linux and UNIX

Brian Kernighan’s declaration in the SCO lawsuit is not to be missed. Aside from the technical conclusions, Kernighan’s qualifications are an interesting read (even if they are written with excess humility). IBM paid him $400 an hour for his time. His basic conclusion is summarized as follows: If unprotectable elements are excluded from the comparison and an appropriate standard of similirity is applied there is no similarity between the six parts of Linux identified by Mr. Gupta and the allegedly copyrighted works. I wasn’t surprised that SCO’s claims were spurious, but I was surprised at how little they are claiming. ...

July 1, 2005