You’ve probably heard of Talk Like a Pirate Day, but have you heard of Hourly Comic Day? I learned about it through my nephew’s comic blog, AFewPanels. Anyway, I thought it sounded fun, so this year on February 1st, I gave it a try. Without further adieu I’ll say goodbye and leave you with the result.
Who is my favorite author? I’m too much of an empiricist to just give a gut reaction to such a question. Not when there’s a more objective alternative.
I’ve been using Goodreads to keep track of the books I’ve read. However, I was surprised to find that they did not provide a simple group-by and count to tell me how many books I’ve got for each author. Luckily, though, Goodreads provides an API. So, I built a little mashup page (not sure if it’s techinically a mashup with only one API involved, but it must be close). So now I can respond, if asked who my favorite author is, with a very definitive, “It depends”
If you just want total books read: Kurt Vonnegut and Steven R Donaldson, each with 9. But if you want to talk about total pages, Neal Stephenson takes the lead.
If you’re a Goodreads user, you can find your favorite author on the mashup as well. Just locate your Goodreads user ID (its on the URL of your “My Books” page between “list/” and “?shelf”) and fill it into the form at the top of the page. Click on the “Number of Titles” or “Total Pages” headings to sort by that field (probably twice since it sorts ascending the first time. Also, note that the analysis won’t work unless my Goodreads account can see your bookshelves. So you may as well send me a friend request if you aren’t already.
Enjoy!
A low to the ground arrest-me red classic Mercury convertible flashed across the Iowa countryside in the early afternoon in late-August. The car was a mint condition 1965 Comet Caliente with a white-walls, chrome, and all the trimmings. Outside, it was a beautiful day, with the sun beating down. Inside the car, Eddy sang along with the radio.
Eddy hadn’t always been a drifter. Born/raised in the middle class. Or bored and lazed perhaps. He coasted through grade school. Coasted through junior high. Coasted through high school. He spent more time in pool halls and video arcades than studying. Then, when his grampa died, he got his inheritance– the car, of course, and a pretty substantial chunk of change– enough to keep him going for a few years. He immediately took both with him and headed off down the road.
Wherever he went, he let the speedometer be his compass. At his usual highway speed, the direction was almost always straight ahead. But now, on the radio, one of his favorite songs came on. It was free and fast, and Eddy put his foot down. As the song finished off, Eddie checked his speed. The dial pointed off to the right in the “illegal” zone. Reflexively, Eddy followed the arrow to see where it was pointed. There, by the side of the road, a crude wooden sign “Corn ahead. 2 miles”
“Awesome!” said Eddy to himself. “I love corn!”
He pulled over on a dirt and gravel space at the side of the highway precisely two miles ahead. Although there were fields around, there was no farmhouse in sight. Just a simple wooden stand, a wagon filled with corn on the cob, a folding chair, and the old man. The man wore a flannel shirt and denim overalls, although his face was wise and knowing, and would have looked right at home in the tweeds of academia. He looked up from his book and smiled.
“Selling Corn?” asked Eddy through the rolled-down window.
“That’s right” replied the man.
“How much?” Eddy followed-up.
“Hows’ a buck an ear sound”
Eddy paused and responded “Sounds like an awful pun, matey”. Eddy opened the door and stepped out. The keys jangled ominously in the ignition. “But seriously.” he continued, “What’s the price?”
The man looked Eddy up and down. And a little at the car. “For you,” he paused… “Ten bucks for as much as you can carry.”
Eddy replied quickly at the bargain price, “Great, I’ll take twenty bucks worth!” After a raised eyebrow from the old man,… “Just kidding. Lemme get some cash.” Eddy popped open the trunk and then a suitcase inside, and finally a wallet inside that. He takes out one of several green bills, drops the wallet back in the trunk and hands the Hamilton to the old man.
“Very well, then, young man. Have at you!”
Eddy approached the wagon and began to pile the corn. He started by tucking a few cobs under one arm, and then another. He reconsidered this approach quickly and tried again with an arms-crossed technique that seemed to hold a few more. Unsatisfied, Eddy tried another time. This time he stretched out his tee-shirt as a makeshift basket and piled a few cobs on experimentally. This seemed to be the best technique so far, so he started to pile in earnest. With one hand on the shirt he still managed to grab a very large collection of cobs. He reached the end of the obvious piling space, and began to balance a few more ears strategically for a bit further gain. Corn is piled with an unnaturally steep grade upon and around his upper body. His neck turns at an odd angle to hold a few more cobs between head and shoulder.
“That’s quite an impressive collection you’ve got there, young man” the vendor spoke. “Would you like a bit of help filling your other hand?”
“Great” was all Eddy could reply.
So Eddy extended his human basket shape with his free hand, and the old man begins to add to the pile. At first slowly, but then more and more are added. Soon, the top-heavy young man resembled a giant headless chicken– large round body on long skinny legs. “Ok” he says weakly, his voice filtered through from inside the pile someplace, “I think I’m done. Gotta rest”
“Wow, young man. That’s an impressive collection of corn you got there. But remember,” the old man said with an evil smile that Eddy could hear through the pile, “you can’t drop it there. You only can keep what you can carry away.”
Eddy was really mad about this new restriction, but his strength was failing and he wasn’t able to complain. He started to walk toward the trunk-end of th car in the direction he thought it would be. Must have been fifteen feet or so, though it felt like a thousand. He stepped tentatively like a stroke victim just re-learning the skill. Step by step he proceeded. “A little to the right. Almost there” said the old man, and “Just a few more steps to the trunk. You’re all clear”.
With the old man’s guidance and a little practice, Eddy relearns his confidence in walking. He takes one. Two. Three confident steps. And confidently walks straight into a metal folding chair.
Down goes Eddy. Down goes the pile on top. Flat on the ground. Tired. Humiliated. Hurt. “Ow” Eddy hears the sounds of boots moving quickly nearby. He adds “Give me a hand?” as he struggles against the pile. He reaches out, but no hand greets him. Instead, the thunder of eight cylinders and 271 horses, followed soon by dozens of gravel projectiles. Moments later the squeal of whitewall on blacktop that cuts off suddenly. All that remains is the doppler shifting sound of the motor indicating continuous acceleration.
Eddy slowly lifts his head out of the remainder of the pile and brushes some corn silks out of his eyes to the left. He sits for a while, stunned, watching the dust-trail from his Comet slowly blow away.
“Brilliant!” Sarcasm without an audience doesn’t make much sense, so Eddy corrected himself. “Stupid Stupid Stupid!” Eddy righted himself and in a daze, sat down on the old man’s chair. He listened to the breeze and the birds. He sniffed at the air. Felt the sun on his face. Looked at the puffy clouds against the clear blue sky and thought. Here he was, in the middle of nowhere, somewhere in Iowa. No car. No money. Nobody and nothing around but the chair, the wagon, and the corn. He had lost his inheritance. Traded it all he had for a worthless pile of corn.
Lost in his own thoughts, Eddy misses the sound until it is there. An Audi pulls in. A gorgeous 1974 Audi 100 LS with classic lines, alloy wheels, and Illinois plates. Eddy stares at it. All he can say is “Audi”
“Howdy yourself, dude.” You’re selling corn, right? How much?” asked the young driver, stepping out– keys jangling ominously in the ignition.
“Selling corn… That’s right,” said Eddy, smiling to himself. “For you… ten bucks for as much as you can carry!”
Copyright (c) 2011, Tom Zielund, based on an unpublished short story by same author in 1987.
Mechanical things breaking down at my house and their workarounds:
1: TV with no working audio. I patched the DVD audio out thru a boombox.
2: computer overheating. Fan control software and occasional frozen gel pack.
3: Lawn mower… where to begin? Replaced with a rotary push model.
4: Droid phone doesn’t recharge well. Spare battery and external charger.
5: Ceiling fan in kid’s room. Use a floor fan.
6: Truck lacks acceleration when engine is cold. I really should take that in someday.
Dealer’s Choice is my ultimate project. This is what I’ve wanted to do since I first started programming. First I made the all-important “10: print ‘Tom is Cool’; 20: goto 10”. As soon as that was done, I wanted to make the best game ever!
In my opinion, the most important game ever invented is not a game, but a game system: Playing cards. With a simple set of 54 items arranged and managed in a variety of ways, gamers have created hundreds, and thousands of game variants. Some of these variants are examples of the most important games in the world. So a card game system would be the best thing I could make.
Obviously there are lots of computer card games. There are many well-polished and streamlined implementations designed to play one game very well (and sometimes a couple of variants). Popular games such as Blackjack, Bridge, Canasta, Cribbage, Euchre, Gin, Go Fish, Hearts, Hold-em, Poker, Pinochle, Skip-bo, Sheepshead, Spades, and Uno abound. Yahoo games, for example, has versions of each of the above, and also a bunch of solitaire games. This is indeed an impressive breadth of gaming. But if you want to play more obscure games like Rikken, Ombre, 99, Indian Poker, Up and Down the River, In Between, Bullshit, Klabberjass, or any of the hundreds of other games listed at the likes of Pagat.com, you’re likely to have some trouble locating an implementation.
Dealer’s choice is not intended to be a well polished single implementation. It’s purpose is to provide the means to make just about any game playable. That vision is a long way from completion. But I believe it is possible. And I have started working toward its successful end.
For the moment, I have only a prototype user interface written in Processing. It does stuff, although it’s not really usable. I am working on making a JSON web service to synchronize play for players on different machines. This is mostly a learning exercise for me at the moment, but I’ve learned a lot about web service programming already.
Anyway, that’s all I have to say for now. Hope everyone who reads this has a really great rest of the day! Take care, all,
I make an annual trek each year up a mountain of paperwork.
My wife teaches American Sign Language at a local high school, and each year she gives an “expressive and receptive” test. In this test, each student must try to describe an object to their classmates while the rest of the class attempts to locate this object from a collection of pictures. Each student is assessed on receptive accuracy in identifying the correct objects described by others, and expressive accuracy, or how well everyone else did when the assessed student was doing the describing.
Easier said than done. The paperwork necessary to compute receptive accuracy is simple, because each student has a sheet of paper with all the answers listed by the name of the describer. But the inverse computation of expressive accuracy is tough. For the last three years, this has been something I’ve done to help out.
Computing the expressive score required a full pass through every sheet for each answer. That’s N squared page turns where N is the number of students in class. Then consider that there are 2 items for each student, 2 classes of about 17 students each (luckily there were several absent). That’s almost 1200 page turns!
Actually, this is the first time I computed that number. Holy cow! That’s just one test.
I could have done better for page turning. For example, if I replaced the all-paper method with a complete data-entry based approach. Here I only look at each sheet once and type all the answers into a spreadsheet. Then the computations are simple enough spreadsheet manipulations. I’ve done it that way in previous years. But this year I couldn’t face that data entry again, so I thought I’d try the page-turning method described above. Comparing the two in retrospect, I must admit that I think both methods suck equally.
Despite the drudgery of this task every way I’ve tried it, I have found it to be strangely fulfilling each time. Perhaps it’s because it provides a concrete understanding of what I do as a programmer. Or perhaps it’s because it reminds me of how valuable it is that in my job I help to avoid exactly this sort of pointless paperwork. Or maybe it’s just like climbing a mountain, and the reward is just to be there at the end. After 1200 page turns, or 8,800 meters, or whatever.
Has anyone else had such an experience? Or am I simply deranged?