Site: Yet More Library Book Cart Graffiti Photos

I went to Doe Library again yesterday and I had my camera with me--with some juice in the batteries this time. I snapped photos of the re-shelving carts, the ones which have been decorated. I guess that bored library science students decorate them, but I don't know the whole story. So now the August 2008 part of my collection of library book truck graffiti photos has grown. Yes, someone painted a pirate ship onto the front of a cart. Someone drew an "S" such as you might see in an old illuminated manuscript. Someone pointed out that they were pushing books for The Man.

But I've now seen "CONS" (short for "conservation", I suppose) used as the start of "CONStantly" twice now, so I'm no longer impressed by that joke. C'mon, librarians, keep it fresh.

Labels: , ,

Book Report: You Can't Win

Jury duty continues. Jury selection continues. Maybe this is an appropriate time to post this book report which I typed up a while ago...

You Can't Win is the autobiography of Jack Black. Here, by "Jack Black", I don't mean that comedian who looks like Tim Schafer. I mean the Jack Black guy who lived back in what we called "the previous century" in the previous century. He was a "hop-head" (opium addict), "bum" (hobo), and "burglar" (uh-oh). Later on, he became a hardened criminal... but the book doesn't talk about that. It talks about riding the rails, time in jail. Stealing from stores, social mores.

San Francisco bonus: Black lived here for a while. After he was caught for some crimes, folks had a tough time bringing him to trial--after records burned up in the '06 quake/fire.

There's a little mention of Fremont Older--he gets more of a mention in an essay towards the back--a reformer who helped drum the corrupt Ruef machine out of city hall, then experienced remorse and forgave Ruef.

How did Jack Black end up writing this book? Did he write it from prison? No, no. He went straight. Why did he go straight? Because a judge, Judge Dunne, gave him a lenient sentence--and Black felt that he owed it to the judge to live right, so that the judge wouldn't seem to have made a bad decision.

... But jurors don't set sentences, so I won't repeat that experiment.

Labels: ,

Book Report: Ambient Findability

This was not the right book for me. Rather, I was not the right person to read this book. Ambient Findability is a high-level overview, a survey of the surge of information that's coming at us, and the methods we use to navigate it. It talks a little about many things. Geographical data, RFID, SEO, taxonomies, ... It doesn't go into depth on any topic in particular. If you keep up with slashdot, or if you think about how to help people to find things, then you've probably already run into this book's material. I'm guessing that this book is snippets of talks that Peter Morville, the author, gives to people who don't read slashdot and who don't think about how people find their stuff. He's a consultant, he probably has to explain this crap to customers all the time.

I mean, you ask people, uhm, say you're talking with a kitchen appliance manufacturer, and you ask "The people who should find your website, what do they think they're looking for?" And the answer comes back "Oh, they're looking for a variable-speed food processor." And this hypothetical manufacturer wants you to organize everything based on "variable-speed food processor". And when you say "Are you sure that they don't think that they're looking for... like, wouldn't they call it a 'blender'?" And then this hypothetical kitchen appliance manufacturer looks at you sharply and barks something about "precision of language" and wonders why no-one can find his variable-speed food processors. What do you do? You could punch the manufacturer bozo, but that would land you in jail. Or you could give him a copy of this book. I can't tell whether or not the book would help him figure this stuff out, but it might keep you out of jail and that's worth something.

I haven't been posting much recently. I've been on jury duty. Or rather, I've been living in the shadow of threatened jury duty, and have thus been working extra hours at my job to get stuff done in case I end up on the trial and most of my time disappears for the next month. So remember kids: give books instead of punches. It keeps you--and perhaps me--out of the courtroom.

Labels: , ,

Book Report: The Next Catastrophe

I'm going to Jury Duty today. Oh, gee. What if I get picked for a trial that goes on for three years? What if I'm sequestered? Does that mean no internet? What a catastrophe that would be. Oh hey, segue for The Next Catastrophe.

Why are we, as a nation, so unprepared for catastrophes? Why is FEMA riddled with incompetent political cronies? Why is the Nuclear Regulatory Commission slow to shut down poorly-managed nuclear reactors? The book The Next Catastrophe explains why we are doomed. It's difficult to tax people for a disaster-readiness organization. It's not "sexy". On the other hand, it's easy to pass yet another emergency aid bill for whichever region got hit by a major storm this year. Also, our recent government insists on spending money invading Iraq instead of on, say, setting up better fences around our local chemical plants.

This was a discouraging book. It probably won't do much good--the people who need to act aren't paying attention.

Labels: , ,

Puzzle Hunts are Everywhere: a web-crawling puzzle-hunt robot that didn't work

When the applications for the Ghost Patrol game started appearing, it was pretty humbling. New videos kept showing up on YouTube. The videos... the videos made me glad that my team (Mystic Ghosti) had submitted a cryptic crossword puzzle instead of a video. There was some tough competition.

One video was an advertisement for the Ghostatron 5000, a "ghost capturing device" oddly reminiscent of a Pac-man game. Embedded in the video was a not-so-secret message "number of dots". There was also the URL of a page allowing you to purchase a Ghostatron 5000--but only if you entered the correct password into a little web form. Aha, no doubt the password was the number of dots. But, uhm, what number of dots? Number of dots in a Pac-man layout? Number of dots in a Seurat painting?

I figured it was probably the number of dots in a Pac-man game. I tried counting those. I counted them a couple of times, got a couple of answers. I tried counting a third time as a tie-breaker--and got a third answer. Counting dots was too hard for my puny puny brain. I wasn't even sure I was on the right track. It was time to think about brute force.

In trying out some previous guesses, I had some idea of how the password checker worked. If you entered the guess "able", then the password checker would put you on the page . Since there was no such web page, I figured "able" was not the password. Peeking at the form page's source code confirmed that this was what was going on:

function testResults (form) {
    var TestVar = form.inputbox.value;

To test the hypothesis that the password was a "number of dots", I could check the pages


So I threw together a program to check those. Well, not all possible numbers. There are many numbers. I just checked the numbers from 1...999:

import time
import urllib

for count in range(1, 1000):
  time.sleep(1)  # wait a second, in case is too puny to handle a robot (unlikely)
  u = urllib.urlopen("" % count)
  for line in u.readlines():
      if line.find("<TITLE>404 Not Found</TITLE>") > -1:  # if no such page
          print count,                                                   # print status
          if not count % 10: print
  else:                                                                  # but if page found
      print "HEY"                                                        # say HEY
      print count

My program never said HEY. So I was on the wrong track. I never got on the right track. I never solved that puzzle.

Labels: ,

Book Report: Essays in Computing Science (Hoare)

It's a collection of essays on Computer Science by Tony Hoare, dating from the 1960s through the 1980s. This isn't what you'd expect to find on my reading list, but the essay on Communicating Sequential Processes comes up when you study up on concurrency, e.g., in that Rob Pike lecture lecture on concurrency in Newsqueak. And that essay did explain some strange vocabulary in Erlang, vocabulary like "guards". Where did this jargon come from? From Hoare, probably. Wow, there he is talking about it in this essay right there. It's enough to make the hair on the back of your neck stand on end.

It's good to read essays by the giants of computing. Things change quickly in this field. This means that you can ignore the historical points that you disagree with, while holding up those you do agree with as "timeless truths of eternal verity." I agree with this one, so I'm going to use it to win arguments:

...we admitted that it was the duty of programmers to educate their managers and other departments of the company by "...presenting the necessary information in a simple palatable form." The hope "...that deficiencies in original program specifications could be made up by the skill of a technical writing department... was misguided; the design of a program and the design of its specification must be undertaken in parallel by the same person, and they must interact with each other. A lack of clarity in the specification is one of the surest signs of a deficiency in the program it describes, and the two faults must be removed simultaneously before the project is embarked upon." I wish I had followed this advice in 1963; I wish we would all follow it today.

"The Emperor's Old Clothes"

I skipped most of the book, though. Most of the essays in this book are about proving program correctness. Oh man.

Look, I appreciate that the people who try to prove program correctness are very clever. It's just... it's just... if I'm supposed to learn your notation, and then follow your five-page line of reasoning... if I'm supposed to convince myself that each of these steps is correct, that you haven't made any mistakes (and I'm not sure that I'm clever enough to spot these mistakes; but I do know that cleverer people than you have made mistakes in these proofs...) It's just... it's just that...

Rather than spending the time on a proof, I'd probably be more reassured that your algorithm is correct if you give me a hand-wavy explanation, a demo, and pointed at a few unit tests. I'm just sayin' is all.

Labels: , ,

Book Report: TCP/IP Illustrated

Network programming today... gee, I just call into some standard library, say, "I want the webpage at" and it's there. It's almost that easy. You kids today, you don't know how easy you got it. Back in the day, things were different. Back at Geoworks, I documented our network interface, which was sockets. Sockets, darn it. Sockets, these virtual streams of numbers going out (and/or coming in) over the net. You couldn't just ask for a web page. Nooo, you had to carve the HTTP request out yourself. Heck, this was before we had HTTP, before we had the web. (There were these things called Gopher and Archie and Veronica, but nobody could figure out how to use them.) That was the hell of it: it was hard to program for the network, and there was not yet anything on the network worth getting. Except maybe you had two or three friends with internet accounts who might want to send you mail. But someone else had already written the email program. So there was no point writing a networking program to fetch your mail. There was no point in writing a networking program at all, except just to see it done. It was rough, I tell you. Uphill both ways. But it could have been rougher. At least I was using sockets. Someone else had already set up the TCP and IP crap. Someone else had already done all of the really low-level stuff, the stuff below the sockets.

Sorry, I was lost in a reverie. What? Oh, right, the book report. A book about the really low-level stuff and some of the merely kinda low-level stuff. The book, the book, I did not read the book.

In a discussion about great technical writing, someone mentioned this book, TCP/IP Illustrated. So I checked it out of the library and started reading. I think I made a mistake when I did that. This book does seem good, but I don't think it's meant to be read cover-to-cover. I think you're supposed to flip to the section describing the protocol you want to learn, and just read that section. Nothing wrong with that--but I was hoping for an interesting book to read cover-to-cover.

Labels: ,

Site: Library Cart Graffiti Photos

Yesterday was a good day for a few reasons, few of which will make it into the permanent record. But one good thing was a visit to Doe Library. While there, I snapped photos of a few decorated book carts. I would have snapped more, but my camera batteries ran out and I hadn't brought spares.

Labels: , ,

Book Report: The Air We Breathe

This was a fun novel. As with other Andrea Barrett novels, the heroes are scientists, so I'm inclined to be sympathetic. This novel is narrated in the first person plural, by a community of people. It talks about how ideas--and hysteria--can move through a community. It talks about learning circles, sort of leaderless classes in which people share what they know. There's also plenty of symbolism to keep the literary types amused. Check it out.

Labels: , , ,

Book Report: The Atrocity Archives

British Intelligence vs Secrets Man was Not Meant to Know. This was a fun read. Not Charles Stross' best work--so if you don't like his other stuff, I'd skip this one. But I liked his other stuff and I liked this one, too.

Labels: ,

Book Report: My Country Versus Me

A scientist suspected of mailing out Anthrax commits suicide. Which brought up a newslet, a reminder of a recent lawsuit: Hatfill, another scientist sued the FBI after they leaked footage to the media, footage which revealed that they suspected him of mailing anthrax--destroying his reputation. That was sad, since he turned out to be innocent. Does the FBI do that, try suspects in the press before trying them in court? Sure; you can read a similar story in My Country Versus Me.

Wen Ho Lee is a computer programmer, just like me. He made the mistake of being born in Taiwan. Then he came to the USA. He worked at LANL on scary simulator programs. Either the LANL computer programmers' revision control system is crappy or else he didn't understand how to use it well--instead he made his own backups of some source code he'd worked on. This was dumb--but plenty of clever computer programmers have done dumber things when they couldn't figure out how to get their revision control system to do the right thing. Heck, I have done dumber things than that.

I have done things dumber than that, but I never combined them with the mistake of having been born in Taiwan. Being born in Taiwan and then coming to the USA means that occasionally some USA politician, hoping to show how tough they are, will accuse you of being a Chinese spy. To really show how tough they are, they'll leak accusations to the press without waiting to see if those accusations are true. As any Chinese politician will tell you, the USA politicians then risk losing "face" when their accusations turn out to be false. So they repeat the accusations louder, say that investigators aren't trying hard enough to prove the case, and you go to jail.

My Country Versus Me is Wen Ho Lee's autobiography.

Some names worth remembering: Robert Messemer, FBI agent who perservered in investigating Lee, very ready to ignore much evidence of innocence. One wonders why he was so eager.

Notra Trulock, Director of Intelligence at the DOE leaked accusations to the press. When I poke around the web a bit right now, I get the impression Trulock's been a walking disaster area since then, but you should do your own investigation and draw your own conclusions.

Bill Richardson, then the director of DOE, was quick to fire Wen Ho Lee, and quick to tell the press he'd done so.

I guess I shouldn't be so quick to accuse these people. I should read a few other sources first.

Labels: ,

home |