April 30, 2009

DVD player dead, The Wrestler, and the first episode of Lain

Last June, our DVD player died and I, upon the advice of a cinephile at work, purchased the OPPO DV-980H. An (otherwise) no-name player that, for $160, plays every fucking format ever conceived by the binary gods. Add to that the USB port on the front that allows you to browse and play anything from the contained file system and you have a pretty pretty pretty good player. Aha. Sadly, just last week it decided to stop recognizing DVDs (unknown disc) and so I searched for recompense and found (oddly) that my warranty was good for One More Month. On its way.

Watched The Wrestler [ 5/5 | IMDB | Rotten Tomatoes ] from Amazon download ($3.99). The most resonant shock was the unexpectedly painful scenes when he's wrestling. You need to really brace yourselves for those. The rest was a quiet film of a twilight of life. The beauty of these scenes was that they were tragic without being "precious." I feel like there's more for me to get out of Marisa Tomei's character, but that's for further consideration.

After fudding with video players and Vista's cruel cruel attitude towards DVDs, I finally got my HP+TV to play my new Serial Experiments Lain DVDs. First episode of 13: very sparse, abstract, and moody. Emphasis on powerlines as communicators of the spirit. One scene: Lain is on the metro and it stops for a wreck (that we don't see). She looks up at the cables above and sees blood dripping off. I approve of a fixed-length story.

posted by sstrader at 10:39 PM in Cinema , Home Network & Gadgets | permalink

April 29, 2009

Clojure on Google AppEngine

Last night, I went with a co-worker to an Atlanta Clojure User Group meeting about Clojure on Google AppEngine given by John Hume. I'd watched a few videos on AppEngine and read up a little on Clojure beforehand but still ended up with more questions than answers. Thus:

  • Even though they use JDO, GoogleAppEngine's approach to data seems informed more by its MapReduce/massive data access approach and is sorta schema-less. My first thought was that relational databases manage statically typed data and GAE's datastore manages dynamically typed data. Dunno. Someone at the meeting compared it to CouchDB.
  • Afterwards the discussion of the value of stored procedures came up and it seemed to have some relevance to datastore issues. Many design decisions hinge on where you draw the line between data type and data manipulation. At its simplest: a type is a number or string or somesuch, but type systems can also define mutability or basic validation, etc. At what point does the definition of a type stop being type and start being business logic? (Answer: depends on your tools.) I'm currently working on a defect at work where the SQL DDL puts restrictions on a field, but code "has to" exist in both the HTML and Servlet layers to perform similar validation. This seems to me to be a type system defined across three domains, although it may be poor design. Considering how often I see this, I suspect it's a limitation of the languages involved.
  • After you use your application, GAE will generate an XML file that describes what indexes you'll need. Neat.
  • Middleware: Ring (Clojure), WSGI (Python), Rack (Ruby). Trying to map their similarities/differences with Servlets (Java).
posted by sstrader at 9:40 AM in Programming | permalink

April 26, 2009

Spook Country; William Gibson

Picked up for the flight to NOLA. Best part so far: the concept of locative art where the viewer must wear VR specs to see guerilla 3D installations in public places (e.g. a life-sized whale floating through a mall atrium).

Continue reading "Spook Country; William Gibson"
posted by sstrader at 4:09 PM in Current Interests , Language & Literature | permalink

April 23, 2009

Where was I?

Two weekends ago, we went to New Orleans to meet up with Kevin and Chad and run the 31st annual Crescent City Classic 10k. For two weeks prior, I'd been slowly getting back to jogging with no ill effects from my herniated disc. The jog we did in Key West last September was enjoyable but left me somewhat debilitated the next few days. I didn't have any issues after the NOLA run, so I suspect the Key West problems were from hours of walking around. Noted. Our times were unimpressive--Lisa then me then Chad, 1:03 then 1:05 then 1:08?--but it was one of the easiest, most enjoyable routes I've been on. It was flat throughout with the course going through the Quarter, then an old neighborhood, and finally to City Park. Definitely will be a repeat event.


Other NOLA activities included drinking (wha?!?) and some of the best dining in a while. Plus, all the restaurants were new to us. Cochon's (Pig's?) Friday night (Lisa & I took a nap, overslept, and met them there 1/2 hour late), Jacques Imo's Saturday night (beautiful evening with a cozy table in the front window), and Elizabeth's to eat Praline Bacon for Sunday brunch (unfortunately, my Irish coffee had a couple of dead fruit flies at the bottom. blech!). Somewhere in there was lunch at Parasol's (a building touting absolutely no right angles) where we had our ears raped by the Loudest Girl In the World, wearing the most appropriate t-shirt in the world, stating simply: I am New Orleans. Also acquired were two necklaces purchased for the nieces from vendors in the Quarter. Afterwards was drinks at the famous Johnny White's.



#NOLA Rooster parade. on Twitpic

Last weekend was Allison and Matt's wedding in Santa Rosa, FL with Shelby and Robert. Four days of fun in the sun, except the sun kinda kept hidden. No matter. On the drive down, I discovered the Holy of Holies: a sode never before seen by civilized society. I give to you, Dr. Wham!

#santarosa Diet Dr. Wham. Really?! on Twitpic

Diet Dr. Wham. This magic elixir gave us the energy to shop for an absurd amount of food and drink when we arrived Friday. Very nice wine store (Sandestin Wine World?) with one of those fancy, robotic wine tasting machines: you purchase a card to use at the machine and it dispenses a tasting of your choice. We had big plans to return... but never did. Rest, then rehearsal dinner BBQ at the top floor of a neat-o, 3-story beach hour w/ elevator.

Saturday was beach and wedding. I started off with a jog--more nice, flat terrain. Beach was cool-then-cold and windy with the dreaded red flag (high hazard!) out. Then back to the condo and hanging out in the hot tub. It was wet, but did not make me sweat. The wedding was in a glen under a huge, moss-covered oak with the reception in a nearby tent. Perfect evening. We eventually made a quick jaunt (after getting lost) to some bar in Seaside, then back to the condo.

Post morning jog, much of Sunday was relaxing and watching crazy movies since the weather went gray. Oddest experience: everything we chatted about on the drive down appeared in some form or another later in the weekend via movies or Trivial Pursuit trivia questions. Weird. Best of the bunch: Roadhouse (!), The Fifth Element (natch), The Matrix (realizing how horrible (minus Monica Bellucci) the others were), and mostfuckingawesomeofall Zombie Strippers with--and I was quite astounded about this--an unexpectedly gorgeous Jenna Jameson. I would say that it takes zombies to stop her from looking like a skank, but even the womens were enraptured. Dinner at Stinky's was uncharacteristically fresh and unfried. Very good experience.

It was good to return on Monday and live the life of a four-day work-week.

[ updated 11 May 2009 ]

Too cheap to purchase the fotos from MarathonFoto.com so here're the screen caps:





posted by sstrader at 10:26 PM in Where was I? | tagged jogging, new orleans, travel | permalink

April 16, 2009


Those wacky kids on 4chan were at it again. Their target this month? The Time.com poll of the 100 most influential people in the world. Their goal had originally been to put 4chan creator Moot at the top, but after that proved to be too easy they aspired to a higher purpose and gamed the results to spell a "secret message" with the first letters of the names in the list. Eschewing the mundane (e.g. spelling out "eat me" or some such), they went with the more cryptic "marblecake, also the game". Take that, NSA.

I'd first seen the result from a post on Reddit and, honestly, almost didn't believe that they could do it. But after reading Music Machinery's interview with one of the perpetrators [ also via Reddit ], I can't believe what web dev dorks the people at Time.com are. If the interview is to be believed, their poll accepted any and any number of GETs to add a vote. ?!? While the rest of us are puzzling over XSS vulnerabilities, Time breaks the first rule of GET. The rest of the interview (with Zombocom, referencing the always-entertaining http://www.zombo.com/) revealed the details of how they wrote tools to attack each part of the problem. One script busily kept names beginning with unwanted letters out of the top; another sorted the remaining names to spell the message. Although the interviewer grossly overstated the importance of what was done, the casual manner that web skills are applied by this community is interesting. Kids used to work on car engines.

So, what next for 4chan? Well over the past few days they've been working to put both Ashton Kutcher and CNN in their place. The two are in a battle to be the first Twitter users with 1,000,000 followers. 4chan has put it's weight behind a certain account called basementdad. Followers (whose IDs consist of a suspicious mangle of the same few names) appear to be increasing at a few hundred every 15 minutes or so.

[ updated 28 Apr 2009 ]

Music Machinery posted an update [ via Reddit ] on how Anonymous beat the last-minute addtion of CAPTCHA and finished with a win. Bravo.

posted by sstrader at 8:26 AM in Internet | tagged anonymous | permalink

April 14, 2009

Reading an rss feed using JavaScript

Wrote this last night for my brother. It's a simple JavaScript class that reads from an rss file on the server and loads the entries into an HTML element. He has a blog (Wordpress) and a separate, static page that he wanted to be dynamically updated with recent posts. JavaScript and Ajax (plus some ghetto-parsing) was the quickest way I could think to get it done. Could XSLT be integrated somehow? I'm not sure.

The JavaScript file is called feed-injector.js and it requires Prototype 1.6+. Thanks to Alex Vollmer's article on object-oriented Ajax (along with his many commenters) to clean up the callback code.

There's very little magic here. Basically, the code makes an Ajax call to the requested rss file, parses out N entries containing title, link, and description elements, and then generates divs in the specified parent div. Example use (also using Prototype for the window load event):

  1. // For http://example.com/mysite/mysite.rss
  2. Event.observe(window, "load", function() {
  3.     var fi = new FeedInjector("/mysite/mysite.rss");
  4.     fi.load();
  5. });

Ajax can't call across domains so no funny business, mister. This is usually resolved by a "proxy" on your server that makes the remote call (i.e. my.domain.com/ajax.html -> my.domain.com/proxy.php -> other.domain.com and back). YMMV.

[ updated 29 Apr 2009 ]

Or, you could just create a FeedBurner account. These articles are ad-heavy, but they or their comments may add information: Display and Show Feed on HTML Website with FeedBurner BuzzBoost, Google Lets You Embed Feeds on Your Site. Another article, How to Embed RSS Feeds into HTML Web Pages - The Easy Way, shows how to add feeds to your Google home page and has many comments with other possible solutions.

posted by sstrader at 3:23 PM in Programming | permalink

April 9, 2009


I was upset to see my otherwise favorite group of internet people--Redditors--fairly lick their chops over the fact that the South Park creators were given signed photo of Saddam Hussein by Marines who forced him to watch himself in South Park the Movie. I may have mis-scanned, but among the few who called this out as a an infantile act, perpetrated by those who are to be "few" and "proud," were a majority going the route of that asshole Limbaugh by arguing that it was simply along the lines of a schoolboy prank. We are an idiot nation.

More mature was Slashdot's response. Typical of the lot: Do you endorse rape in our own prisons by any chance? I know plenty of people who do, and quite frankly, it's disturbing as hell. Revenge is not a valid public goal, even when you dress it up and call it "justice". Brutality diminishes us, not the criminals. Many more like that.

posted by sstrader at 4:27 PM in Culture & Society | permalink

April 8, 2009

Twitter moving to Scala, language wars reignited

Language wars can be fun. I learn much from the pompous-yet-informed missiles that get launched during a good language war, and Twitter's announcement [ via Slashdot ] of their move from Ruby to Scala is no exception. (Also see Joel Spolsky's absurdist attacks on Ruby for being untested while at the same time praising his own company's home-grown language.)

The Slashdot summary links to several good reports/interviews on the change and the comment thread includes further insights. Twitter's homegrown message queue, Starling, is brought up as an embarrassingly flawed implementation. I'd read about Starling around the time it came out and was intrigued that it was written in Ruby. Perhaps I shouldn't have been. Another link suggests that (1) the Twitter devs are blaming Ruby for their own bad code and (2) the Twitter architect is coming out with a book on Scala, so his opinion is suspect. Regarding (1), you should always assume the worst covering-their-ass intentions when a developer starts griping about a technology. Technology-blamers are usually notoriously poor workmen. Regarding (2), well that's just specious logic. Someone who's done detailed research on a language would have greater authority to recommend it, so if he was interested enough to write a book it's likely he found reason to use the language in a large-scale project. Also, he's going to be eating his own dog food, so increased book sales (on a fringe language) would be poor compensation for having to manage an unwieldy code base.

Whatever the outcome, academic theories on GC and nullable objects are merely interesting once the language is put to the test on a system that has the traffic that Twitter does. Should be interesting to watch the battles that continue.

posted by sstrader at 6:32 PM in Programming | permalink

April 3, 2009

Where was I?

Again, remiss in logging my comings and what not. Quickly:

Two concerts last month. First Horacio Gutierrez effortlessly performing the Prokofiev 3rd Piano Concerto.


March 27th was the Sibelius Violin Concerto performed by Leonidas Kavakos. Sibelius wrote two versions, the first being more demanding, and Kavakos was the first person sanctioned by Sibelius's descendants to record it. I'll assume that's the version we heard at the ASO. Like Gutierrez's performance, Kavakos made the impossible look effortless. The concerto was more programmatic than I remember although it seemed to have more the manner of a psychological examination. The first movement had the soloist and orchestra in conflict, melodic statements were contradicted with a blast of horns. Themes echoed in each, but the orchestra seemed decidedly antagonistic to the pathos of the violin. Second movement brought more than a reconciliation. Here, the orchestra was positively sympathetic with the violin's passionate monologue, coming in at times to support and coax the story being told. The final movement brings them together in celebration and allows the soloist full reign without either rude or supportive interruption.


L & I went to the concert with Shelby, Robert, Alicia, and Dan, and afterwards went up the street to Blue Fin for drinks and food.

Last weekend (28th/29th) Lisa was in Knoxville for her first 1/2 marathon! She finished with a notable, nearly Kenyan, 2:09. I on-the-other-hand stayed in town to go to my niece's confirmation. I made the unenviable mistake of getting lost in the church's parking lot and ending up in the Baptist church instead of the Methodist. Realizing my error just as I made it to the ASO-like auditorium, I skipped out and found the next closest church. Success! Although I wasn't too late, it will be a long time before I choose to suffer through (and, Caroline, if you're reading this, first: stop reading my blog because it's usually NC-17; second: I dislike your church, not you!) another interminable 90-or-so minutes of being told (1) the only correct way to live is to live in praise of Jesus and (2) a church's primary goal is to recruit the young into the church. My only hope is that those young learn to think critically and cast off the propaganda. I had thought that church would attempt to be a proponent of community good. From what I saw, your time would be better spent actually volunteering a few hours a week at a food bank or charity organization. I'm sure churches actually do that, but the waste of time that is the weekly insistence that your sky-daddy is the one true sky-daddy only serves to perpetuate and reward ignorance.

That being said... while Lisa was gone I took advantage of streaming Netflix + laptop + TV to watch A Scanner Darkly [ 3/5 | IMDB | Rotten Tomatoes ]. I'm still not sure what to think of this movie. I never really got engaged with the characters though I'm not sure that the viewer was intended to. The author seems to be denouncing the "war against drugs" because of its symbiotic relationship with addiction itself (a position I can't really see), and also denouncing the cost of addiction. There are a few scenes that resonate: the protagonist being assigned the role of monitoring his alter ego; the constant, big-brother quality of law enforcement given too great a power; the protagonist's nostalgia for the family he may have abandoned. Ultimately, the parts didn't come together for me. Mild recommendation. Some might actually love this film.

Also watched was Dollhouse on Hulu. I've got lukewarm feelings about this show. Lots of fan service which is nice but does not continued interest provide. There are some dramatic surprises paired with some overly self-conscious Joss Whedon dialog. I'll keep watching. And I love Hulu: although the frame rate is a little low, the image is beautiful (laptop -> 40" Bravia). Kudos, I say!

Finally, I'm battling giant cockroaches in my bathroom. Four in the last month, but I think the Agent Red (Raid) I've applied is diminishing their numbers. I've begun tracking cockroach sighting on the chalkboard calendar in the kitchen. No sign of them in any other area of the condo. weird...

posted by sstrader at 4:12 PM in Cinema , Concerts , Where was I? | tagged philip k. dick, prokofiev | permalink