Category Archives: Personal

deliciousposter 1.02 released and fun with html entities

I fixed a bug in deliciousposter that’s probably been wrecking havoc on anyone reading this site using an aggregator for a long time. You’re probably a nerd if you’re reading this post anyway, so I’ll bore you with the details. The deliciousposter project uses the delicious java library to get a list of posts from del.icio.us, creates a blog post using Velocity (which is really nasty now that I’ve been using Freemarker for the last year) and then uses the MetaWeblog API to publish the resulting blog post to a blog. So the data gets pushed to del.icio.us originally:
Aaron’s Stuff » DeliciousPoster
returned from del.icio.us in XML
Aaron’s Stuff » DeliciousPoster
to the del.icio.us java library, which decodes the XML so that you again have this:
Aaron’s Stuff » DeliciousPoster
but then you post that using XML-RPC and you end up with something like this:
Aaron?s Stuff ? DeliciousPoster
Why? Because you need to escape any HTML entities before sending them along via XML-RPC, I used Commons-Lang, which has a utility for escaping HTML entities:
StringEscapeUtils.escapeHtml(yourstring)
Think that’s nerdy? Wait until you have to do the same thing with titles in RSS.

Books: Better Off

A couple of quotes from the book “Better Off: Flipping The Switch On Technology” that I thought were important enough to note here:

… tricks like these remove much of the onus from manual labor and add to the sense of physical effort a much finer satisfaction: the magisterial feeling that comes with wielding means precisely fitted to ends. Here, perhaps, is the first of all lessions in the use of power, whether technological or physiological: trimming back the means until only the essential remain; weeding out obstructions, man-made or not, to our goals.

(page 27)

Modern technology, I suspect, far from being neutral in its effects, has more than one purpose or built-in tendency: besides reducing the need for physical effort (a kind of material surrender), it helps us avoid the need for cooperation or social flexibility (a kind of social or metaphysical surrender). All too readily it countermands the uncertainty that goes with Gelassenheit. Cars, telephones, message machines, caller ID, and e-mail grant us unprecendented powers to associate with whom we want, when we want, to the degree we want, under the terms we want, finessing and filtering out those we don’t want — and thin out the possibilities of social growth accordingly.

(page 80)

… in true leisure there is mastery. If the enemy of self-direction was passion and impulse, its ally was quiet repose, mindfulness, perceptivity. Yet the act of reflection transcended the rational; it followed a course that could not be entirely foreseen, yielding conclusions that could not be reached if too deliberately pursued.

(page 133)

For those who would outstep and outsmart machines, a broad suggestion: remember the principle of minimation. Technology undoubtedly has, and will always have, some role in making life easier or better, so one shouldn’t exclude it. But the role is supplemental. Technology serves us, not we technology. The principle of minimation can be roughly stated thus: other things equal, it is better to find a non-technological solution than a technological one, or failing that, a less technological solution than a more technological one.

(page 229)

Books, the last 12 months

It’s been almost exactly a year since I last pointed to my reading list, turns out I’ve read about 30 books in the last 12 months, highlighted by seven in the month of July (mom-in-law got me a gift certificate to Barnes & Noble for my birthday so I splurged and then read them all in quick succession). Here’s the list in reverse chronological order with no spacing:

The World Is Flat A Rumor of War The Ghost Map The End of Poverty The Design of Everyday Things Purple Cow: Transform Your Business by Being Remarkable
Small Things Considered: Why There Is No Perfect Design The Soul Of A New Machine The Last Night of the Yankee Dynasty: The Game, the Team, and the Cost of Greatness Seven Seconds or Less: My Season on the Bench with the Runnin’ and Gunnin’ Phoenix Suns The Teammates: A Portrait of a Friendship Stiff: The Curious Lives of Human Cadavers Mountains Beyond Mountains: Healing the World: The Quest of Dr. Paul Farmer Collapse: How Societies Choose to Fail or Succeed Acts of Faith Traveling Mercies Founders at Work: Stories of Startups’ Early Days Micro-ISV: From Vision To Reality To End All Wars SR-71 Revealed: The Inside Story The Architecture of Happiness Don’t Think of an Elephant: Know Your Values and Frame the Debate The Scandal of the Evangelical Mind Skunk Works: A Personal Memoir of My Years of Lockheed Next Crossing the Chasm The Man Who Shocked the World: The Life and Legacy of Stanley Milgram Clemente: The Passion and Grace of Baseball’s Last Hero This Beautiful Mess Love Me, Hate Me: Barry Bonds and the Making of an Antihero

I haven’t come across many new books lately (I keep my to-read list at Amazon and my have-read list here) so ping me (ajohnson@cephas.net) if you’ve read something cool lately.

instantFeeds 1.0.4

I rolled out a new version of instantFeeds tonight, you can read all about the new features / bug fixes here. The big feature is that now all notifications will include the title, link and summary of every item in the feed whose publication date is later than the date of the last notification the system sent. I had a number of people write in to tell me they were using it and that they could use that exact feature.

Thanks to jas osborne for the patch that got me started again!

instantFeeds 1.0.3

New version of instantFeeds: version 1.0.3. It includes a two new features: you can now turn off your notifications by sending the command ‘off’ (kind of like an out of office feature) and turn them back on by sending the command ‘on’ and the notification you get sent now includes an approximately 255 character summary of the latest item. Additionally, I fixed the package naming (Wildfire recently had to change it’s name to Openfire and all the package names had to be updated as well) issues.

As always, you can check out the release notes, the source repository or just skip to the good parts and download the plugin.

Five Things

My friend and ex-roommate David tagged me with the five things meme, so here are five things about me you probably don’t know:

  1. My parents tell me that the doctor dropped me on the floor when I was born.
  2. I lettered in soccer and baseball in high school.
  3. I got my first computer (a Color Classic) in college. I remember playing Maelstrom while listening to Tribe Called Quest with my roommate for hours.
  4. I worked at Fuddruckers during my college summers, gaining a ‘Guest Service Representative’ certification. I’m not sure if my certification expired, but if you buy me lunch, I’ll be happy to refill your drink.
  5. I’ve seen Major League Baseball games at the following parks:
    • Dodger Stadium
    • Angel Stadium
    • Jack Murphy Stadium
    • PETCO Park
    • Candlestick Park
    • Bank One Ballpark
    • Coors Field
    • Shea Stadium
    • McAfee Coliseum
    • Kingdome
    • Fenway Park
    • Skydome*
    • Camden Yards
    • Yankee Stadium

I’ll tag Joe, John, Ryan, Erik and Mike.

* The visit to the Skydome probably shouldn’t count, I didn’t actually see a game there because I was in Toronto in November. I think there was a Canadian Aboriginal festival happening that day.