<M <Y
Y> M>

: More semi-modern science fiction showing up on Project Gutenberg: Project Mastodon by Clifford Simak.


"Knock knock."
"Who's there?"
"Your mother."
"Your mother who?"
"You don't remembah your own mothah?!"

[Comments] (1) : Amazon's new Flexible Payments Service is cool but its "REST" interface is about as RESTful as Flickr's and del.icio.us's "REST" interfaces. This is pretty disappointing since Amazon's S3 is one of the coolest RESTful web services around.

Everyone reading this weblog is probably sick of my explanations, but here it is: FPS, Flickr, and del.icio.us all use URIs to designate functions when URIs are supposed to designate objects. This takes you from object-oriented programming back to procedural programming. They expect clients to invoke functions through GET requests, which means caching can't work, clients need to handle URIs like sticks of dynamite because there's no telling what GET might do, etc.

There are other problems, like their two status codes and 70ish error codes delivered through the single HTTP status code 200 (OK). But you don't have to drink the entire pitcher of REST kool-aid to want to get rid of the big architectural problems.

Amazon SQS had almost exactly the same non-RESTful "REST" interface until people complained, so maybe complaining will work here.

: I just re-read Danny the Champion of the World. I don't think I'd read it since fifth grade. That's the best heist story ever.

: Search request: BON JOVI,YOU TUBE.I'LL BE THERE FOR YOU. I envision someone shouting that drunkenly at Bon Jovi.

: The Future: A Retrospective, my other weblog, is still going strong. "I think this didn't catch on because the government requisitioned the parts to build Inspector Gadget."

: Misc. links.

: Google search service reborn as a RESTful web service somewhat along the lines of my proposed design that works just like the website. As usual, they put severe restrictions on use—most notably you can't use it at all unless you're an academic researcher.

[Comments] (2) : Argh. Sorry for downtime. It's all Kevin's fault. You might not be shocked to learn that nothing terribly important happened to me during the downtime.

You're All Resources!: RWS reader Scott writes, apropos Chapter 7's remake of the del.icio.us web service as a set of RESTful resources:

"Why is the recent list of bookmarks a resource? Why isn't "recent" a filter on the resource bookmarks?"

I couldn't figure out how to post a comment on Scott's weblog, so it goes here. The short answer is that it's both. "Resource" is the HTTP-level term, and "bookmark filter" is an end-user-level description of the resource.

It's legitimate and often useful to talk about /recent as a filter on the bookmarks, but that's an abstraction. All /recent is, is a URI that gives you something when you GET it. You might link to /recent, retrieve or cache a representation of it, etc. etc. It names a resource. Calling it a filter on the bookmark list is on the same level as calling it a list of recent bookmarks. It's accurate but not very precise: you're using high-level terms instead of well-defined terms like "resource". Resources are defined as part of HTTP and filters aren't.

Scott again:

How is "recent" bookmarks any different than "bookmarks for the last 10 days" or bookmarks since "9/10/2007"? I don't think anyone would argue that the last two aren't filters. But "recent" isn't any different then either of those two.

They're exactly the same. They're all resources. In chapter 7 when I mention features like date filters, I describe them in terms of end-user functionality so I use end-user-level terms like "filter", but on the level of HTTP analysis, /users/leonardr/bookmarks/?date=2007-06-01 or whatever points to a resource.

Hope this helps.

: Dennis Jerz's primary-sources paper on Colossal Cave is awesome. Reminds me of the IF game I never wrote based on my Colossal Cave experience, where you have to get into the cave despite the inconveniently scheduled tours and unhelpful people in the park station.

What Jerz's paper doesn't tell you is that near Colossal Cave is the best-named cemetery ever.

The original CC source code, long thought lost, was discovered in 2005! How did I miss that?

: Cool-sounding book: Essential Electronics for Software Folk. I thought software folk was dead.

[Comments] (4) : A few years ago my family had a brief interest in Kinder Eggs, possibly as Christmas stocking stuffers. They were objects of intrigue, being illegal in the US because of some ridiculous law about putting non-food items inside of food. Those non-food items were cool toys which you could assemble; my mother was very fond of a cow which made a funny face when you moved its tail.

Maybe a year ago I saw Kinder Eggs start showing up in stores in the US. I thought the law was now a dead letter, but Wikipedia alleges our imported Kinder Eggs have simply been adulterated with stickers and other lame treats, instead of cool machines you build. I will investigate.

Apparently Apparently lame Kinder Eggs have now taken over in the UK too, in a heavy-handed analogy for the detrimental effects of copyright harmonization.

: Musical team-up: "Uncle Meat" by Zappa and "Brother Veal" by Marsalis (?).

: Another story submitted to Strange Horizons. Incidentally, they're having a fund drive and encouraging people to say nice things about them and drive traffic to them, which I'm happy to do. I'll just repeat what I said in April that SH-like online magazines are the future of short-form science fiction. And as long as I'm plugging things, my mind can't let go of my Street Performer Protocol/cliffhanger method for selling fiction online. If I ever manage to build up a fiction reputation I may start a site for that.

[Comments] (2) : Here's a tip! When you're applying for a job with a company based outside the US, ask if they have a health care plan. They probably don't!

: As I'm sure you've seen, Kevin's DSL has become extremely unreliable. Since my website is becoming pretty important for me professionally, I've started the process of moving everything over to a real hosting service.

Stuff I've seen. First, from the fanboy attic, Brannon Braga admits the last episode of Enterprise was lame. When there's a franchise novel devoted entirely to walking back an episode of the TV show, there was probably something unsatisfying about that episode.

Trip was always my favorite character on the show and I wanted to... I just wanted to kill him. I can't give you a coherent response. We wanted to do something that had emotional impact and had consequences which is something we were never allowed to do.

Okay, that's actually an understandable impulse, but don't just do it randomly; work it into the drama. Oh wait, THERE WASN'T ANY.

But even more tiresome than bad episodes of Enterprise are fanboys who know a lot about what happens in various episodes of Star Trek but not a lot about how to put it into a larger fictional-historical context, and pester Braga with misplaced nitpicking.

One of the biggest beefs is that we violated the Vulcan culture, that we did things with Vulcans like the mind melds that clearly were not kosher with regards to the Original Series. But remember, cultures change... American culture is not the same as it was 200 years ago.

The only time a Trek culture was presented as other than homogenous and unchanging, and people complained!

PS: the eternal question about why things look so nice in Enterprise and so cheesy in TOS is pretty easy to answer. The answer is that these are different TV shows made 35 years apart. I don't mean that flippantly. When you watch a TV show you're not peeking directly into a fictional universe where everything looks just like it appears on your TV. Your experience of the fiction is mediated by a bunch of people who built sets, read lines, chose specific takes to edit together, etc. There are infinitely many ways of dramatizing a fictional event. A script can be written well or badly, and a TV show can have clean 2000s-looking sets or dorky 1960s-looking sets. It's not an inconsistency on the level of the fiction. PPS: Spock's science station Viewmaster is awesome.

: OK, other stuff. Paul Riddell talks about what it would take for a "Lost World"-type dinosaur enclave to survive to the modern day (It's basically impossible). I have never been particularly wedded to this idea, so I'm not devastated, but it was a really interesting article.

Toby Segaran's new book Programming Collective Intelligence looks excellent.

: Crummy has been moved! I took the opportunity to clean up and reorganize the past ten years' worth of stuff. In particular, the writing directory is the new home for a lot of stuff that was previously scattered all over the place. Over the next couple of days I'll be continuing the cleanup, putting up some things that got lost before making it onto the site, and things that used to be up and I want to put back.

Adam Parrish said he hoped that my redesign would not destroy the aspect of Crummy where you can just click around and see random weird things. Well, there are still lots of links, so I'm assuming it'll be fine.

I haven't reuploaded some of the mega-bandwidth-sucking files, and some of those I might not put back at all. In particular, I think the world might have had enough of the early works of Jake Berendes and Jeremy Bruce. Tell you what, I'll trade you an album of my own musical ephemera. Coming soon!

Crummy weblog authors and others: let me know if you have any problems.

: Thing that should have gone up a long time ago #1. Back in 2002 I announced a contest to find the 419 scam email with the biggest alleged haul. The winner was our own Manoj Kasichainula, and the valueless prize was to have the scam email immortalized as the third entry in the Doctor Virtual's Cyber-Couch trilogy. I just formatted it as "This Transaction is Riskfree".

After School Special: All right, let's put some meat on this online bone. After School Special is the album that collects songs I've linked to from NYCB over the past six years, but never archived in any consistent place. It includes the sprawling Leonard/Adam/Kris musical deconstructions of the '80s, the spam songs, the 10-second compilation songs, Frog/Antifrog (finally!), etc. etc. etc. All cross-referenced with the original NYCB announcements to prove I'm not cheating, for some obscure value of "cheating". Enjoy it if you dare.

: About a year and half ago, the Dadasaurus Rex scraper broke and I didn't notice. I've fixed it and now DR has twice the source material to work with.

: More cleanup. I redid my music page around a much better-looking graphical metaphor based on album covers. This meant creating CD-style covers for the five albums that didn't have them. I'm especially proud of the cover for version 1.1.2pl14. While I was at it, I took v112pl14 and Bad Stupid Delerious up to modern standards of lyric sheet- and liner note-having. Will do the rest later.

The other main thing I did today was add a bit more to the The Future: A Retrospective backlog.

"There is no need to say any thing of the literary merits of the work": Old publisher's catalog.

: Teeth suck.

: The one thing I saw at Foo Camp that I couldn't tell the general public about has been announced. It's a new kind of radio! For a country that only has a few radio stations. Still cool.

: Sumana took our huge archive of digital camera pictures and scanned postcards, and made a slideshow video for "The Whiskey Rebellion Activity Zone". Shot in four countries! I especially like the postcard from the Singularity.

: It's no secret that the Prelinger Library has a weblog, but what was a secret to me (and possibly to everybody) is that Rick Prelinger has his own weblog. Here he is "On the Virtues of Preexisting Material".

Dave: After many years of hearing about Dave from Sumana, we watched it tonight. I don't think it's aged very well. At the beginning I was thinking, "Well, this president sure is a jerk, and he cheats on his wife, but at least he didn't start a disastrous war or have people tortured." Then it just got unbelievable. I think The West Wing has greatly raised the level of procedural accuracy I expect from fiction about the government. On the plus side, Frank Langella reprised (preprised?) his role from Star Trek: Deep Space Nine. Ah, it was fun just to watch him be evil.

While looking up Frank Langella I discovered that there's now a Star Trek wiki for non-canon information from licensed books, video games, etc. Now you can create a Mirror Universe version of your Trek RPG character! I hear that sourcebook has a great facial hair roll chart.

Yak: Shaved!: OK, I've remodeled the major parts of Crummy except for the probably-will-never-be-organized pictures directory.

Things That Are Cool: A Continuing Series: Forbidden Lego

[Comments] (2) Dentist 2.0: Teeth still suck, and my dentist is very young. I'm used to dentists being really old guys and middle-aged women, but this guy is only a couple years older than me. You know there are now people in Congress younger than me? Probably. Anyway, he's got these glasses and this haircut and it's like having Ira Glass as your dentist. "Act One: Novocaine." I'm assuming dentistry is his day job until his indie rock band gets signed.

Pseudo-update: I checked and there's no one in Congress younger than me, but it's getting there. It's almost like I'm getting older as time passes.

[Comments] (4) Human Resources: Scott and I can't comment on each other's weblogs. In the case of my weblog it's because comments are shut down after a week. Anyway, Scott responds to "You're All Resources!":

I guess my struggle with it is that looking at /recent doesn’t make it obvious that’s its recent bookmarks whereas something like /bookmarks/recent or /bookmarks?fromDate=2007-06-01 is more obvious that its a list of bookmarks.

That's a fair point. /bookmarks/recent (or just /bookmarks) would make it more clear to a human what "recent" things exactly are at the other end of the URI. I never considered that because Rails doesn't encourage that kind of thinking, but it's a better URI choice. But we're now in a side issue because what a URI looks like has no formal bearing on what resource it identifies. The URI could be /4350/9885677.4169 and it would still be a resource that gives you recent bookmarks when you GET it.

This is probably not something you were wondering, but I'll address it briefly: how do you make it clear to a computer that there's a list of recent bookmarks at the other end of the URI? There are a number of ways. At one end of the spectrum you can hard-code this information into every client. At the other end you can do some magic Semantic Web thing where terms like "bookmark" and "recent" are given meaning within some ontology that a general client understands. In between you have clients that are programmed to understand certain media types or microformats, and clients that are programmed to understand certain hypermedia formats that contain semantic cues.

In none of these cases does the computer "understand" the resource the way a human does. The goal is to reduce the space between the human's desire "I want to do x to recent bookmarks" and the HTTP request the client ends up making. One one end of the spectrum, the user has to hard-code their desire into the client. On the other, the client can take "x", "recent", and "bookmarks", plug them into the ontology, and figure out which request to make.

: Actually, comments were broken on my weblog, because I hadn't installed a MTA on the new machine. They work now.

: My friend and Ruby Cookbook contributor Kevin Marshall just finished his own book, Pro ActiveRecord: Databases with Ruby and Rails. Quite the accomplishment.

[Comments] (1) : I'm in Florida on business. Nothing to report, just thought I'd mention it.

[Comments] (4) Ice Has A Bucket: Of all the hotel accoutrements the only truly bizarre one is the ice bucket. I don't use more ice in a hotel than I do at home. When I do, the ice bucket is too small for the purpose I have in mind: surreptitiously filling an ice chest. So why does every motel and hotel offer ice machines and ice buckets? It's like a peanut sheller in every room, reproaching me for not eating more peanuts. What, in short, is the deal?

After careful consideration I believe the deal is booze. People come to hotels to booze it up, and cocktails demand ice. Evidence: if you buy an ice bucket for your house it's going to be in the context of a home bar. Mystery: solved?

: Animals seen so far:


[Comments] (2) : On this trip I've discovered that it's a very fine line indeed between "live music" and "karaoke".

[Comments] (2) : I synthesized a dataset that would be really cool to look at, but it's so big that Graphviz does a poor job of visualizing it. "So big" here being about 5k nodes and 140k edges. Does anyone have suggestions for different Graphviz settings or other pieces of software?

<M <Y
Y> M>


Unless otherwise noted, all content licensed by Leonard Richardson
under a Creative Commons License.