NOSQL 2009

Johan Oskarsson has organized a meetup for folks interested in distributed structured data storage and is calling it NOSQL. The event, being held June 11th in San Fransisco, will have subject matter experts presenting on Hypertable, HBase, Voldemort, Dynomite, and Cassandra.

There were 100 slots available slots to attend and they all went in a matter of hours, so if this is the first you've heard of it, it's probably too late. Fortunately I got mine and thanks to the support of my employer I'll be there. I'm looking forward to it.

Howto: Epson Perfection 3940 on Debian

Getting the Epson Perfection 3940 scanner setup on Linux requires jumping through just enough hoops that even if you have managed it before, it's easy to forget when it comes time to do it again.

I put this here in the hopes that it will make things easier for someone, (and it's entirely likely that someone will be me one day :).

  1. Make sure your user is a member of the scanner group, (adduser youruser scanner).
  2. Install xsane, (sudo aptitude install xsane).
  3. Get the firmware. It seems most people grab one of the Suse RPMS of iscan-firmware.
  4. Get the firmware out of the RPM (rpm2cpio iscan-firmware-1.18.0.1-10.i586.rpm | cpio -i --make-directories).
  5. And install it, (sudo install -m 644 usr/share/iscan/esfw52.bin /lib/firmware/)
  6. Edit /etc/sane.d/snapscan.conf and adjust the firmware directive to point to /lib/firmware/esfw52.bin
  7. Profit.

Swine Flu

I don't have it. Do you?

Brain Rewiring

A co-worker of mine uses one of the stranger keyboards I've seen, a Kinesis Advantage.

Kinesis Advantage Keyboard

He picked it up his after a bout with tendinitis and was sold on it. He was kind enough to let me borrow his spare for about a week so I could try it out. It's been an interesting week. :)

The Advantage differs from conventional keyboards in a number of ways, the ones I think most relevant are:

  • The separation of the left and right sides of the keyboard, done to keep you from pivoting your hands side-to-side at the wrist as you type. A lot of keyboards address this by creating a break in the middle and angling the two sides outward (everyone has seen the MS Naturals), but not having to turn your arms inward feels more comfortable/natural to me.
  • Keys that are arranged into a concave surface as opposed to a flat one. This might seem strange, but the curvature lines up well with the arc your finger tips travel in, and positions the keys within closer reach of one another.
  • The keys are also arranged on a vertical axis to one another, as opposed to being staggered. So for example the C key is directly below D, not below and to the right. Moving your fingers from their keys on the home row to the corresponding keys above and below is a much more natural movement.
  • Key layout is different as well. You're expected to do quite a bit more with your thumbs. The Backspace, Delete, Home, End, and Control and Alt keys are positioned within reach of your left thumb, your right works Space, Enter, Page Up and Down, in addition to another Control key, and a Windows key (which I remap to Alt). This really makes sense if you think about, why waste two perfectly good fingers on the same key, when you could put them to use and eliminate all of that reaching.
  • The keys have outstanding tactile feedback, in addition to an audible feedback (something between a faint click and a beep emitted by a speaker somewhere inside). I find this feedback helpful in maintaining a light touch on the keys since I often catch myself banging keys pretty hard on normal keyboards.

I'm not going to lie though, it does take some getting used to. The biggest problem I had was Space vs. Backspace, which are the right-most thumb key, and left-most thumb key respectively. Prior to all of this I heavily favored my left thumb for striking the space bar, and muscle memory is a bitch when it causes you to Backspace when you meant Space.

Other points of frustration were the tilde/back-tick key (located bottom-left instead of top-left), and the left and right bracket/brace keys (located bottom-right). These keys are used a lot in a shell or when coding, which probably made the pain even more pronounced for someone like me.

I managed to force myself to use nothing else for several days, at which point I felt I was doing quite well. I still had the occasional problem here and there, but it seemed like I was well on my way to normalcy. Then I tried using the built-in keyboard on my laptop. Wow. Epic fail. It took a few more days and plenty of patience before I was able to move back and forth (and truth be told it's still a little awkward).

So was it worth it? Yeah, I think so. I've had RSI troubles of my own and a week of typing on this keyboard has felt pretty good. I've ordered one of my own to use at work, and I'll probably grab a second one for home.

Thrift Packaging

My latest project at work is Cassandra, a distributed, eventually consistent, column oriented data store. It's somewhere between Dynamo (Cassandra's original author worked on Dynamo), and Google's BigTable. It was developed as an internal application at Facebook, later open sourced, and is now an Apache incubator project.

The external interface to Cassandra is thrift-based. Thrift is a framework for creating network services, services that communicate using a compact binary data format. It's similar to Google's Protocol Buffers, but with more of a focus on RPC, and greater language coverage, (much greater actually). The bottom line, any application that uses Cassandra for structured data storage is going to need Thrift. So, I filed an ITP (Intent To Package) and have started work on packaging it for Debian.

Thrift is an interesting project to package as it has an architecture specific application (C++), 6 architecture specific and 5 architecture independent libraries, and covers 12 different languages. That's right, 12.

I'm still somewhat undecided on a game plan; the options I've considered so far are:

  1. Convince upstream to split their source tree and distribute all of these libraries separately, allowing them to be packaged by people with the skills and/or motivation for each.
  2. Split the source myself and package the bits that are most important to me.
  3. One source package based on the official upstream release, with binary packages for each of the components that I need/am comfortable maintaining. Folks interested in the parts not packaged could step up to the plate and contribute their time.
  4. Best-effort packaging of most/all of the libraries upstream ships with the proviso that for any I'm not comfortable seeing in a release, and for which no one has stepped forward for, they would be removed prior to Squeeze.

I've already taken a stab at #1 and it didn't seem promising. #2 is an option I still consider on the table but I'm a little concerned that it could lead to a mess. #3 and #4 really boil down to the same thing, collaborating with others to package as much as possible while maintaining the standards everyone expects from Debian. I guess I'm currently leaning toward some variation of #3 or #4, probably through the use of collab-maint or a dedicated Alioth project.

For the time being, my efforts can be tracked in Git here, so drop me a line if you're interested in joining the fun!

NP: Sand and Mercury, The Gathering

Lenny Released On Time

Lenny released yesterday. This is great news, and congratulations all around to everyone that worked their asses off making it happen.

By my calculations this comes 677 days after the initial release of Etch, (or 22 months and change). I've said before, Debian releases When Ready and that (to the best of my observations), consensus seems to be that somewhere between 18 and 24 months is the sweet spot. Not only does this make for the second "on-time" release in a row, but there was an Etch-And-A-Half sporting new kernels and video drivers in the mean time.

With any luck the various "Debian is too old/can't release" memes will finally die.

Cat-a-log FAQ

I received a surprising number of questions related to the cat-a-log series. I've attempted to collect them all, and answer them here.

Q: Does your wife think all cats are sweet? What about dogs?

A: Any member of felis catus is by definition unconditionally sweet. She also views many dogs as sweet, though they tend to be held to a much higher standard, (for example, "humping" is unacceptable and any dog known to have committed such an act is Not Sweet).

Q: Could I interest you in a cookbook of Vietnamese recipes?

A: Sure. I always enjoy sampling new ethnic dishes.

Q: I'm moving soon and am unable to bring my pet anaconda with me, will you give it a home too?

A: Possibly. How big is it? What does it eat?

Q: These posts are fake, right? You don't really live with all those cats, do you?

A: I shit you not.

Q: Do you plan to update your blog if you get any new cats?

A: Absolutely not. If any more cats show up here I plan to kill myself.

That's all (the cats) folks

Apparently there is in fact a 15th cat (or a 14th for you purists out there). If cataloged, it would have been Unknown #3, an as-of-yet unnamed cat that comes to my porch to eat the food my wife puts out. I wasn't able to get a picture, and I'm not sure I recall ever seeing it (they all look the same to me anyway). A shame really, rumor has it that it's missing a paw, I could have had some fun with that.

Interestingly, I received quite a few comments on these articles, almost all of which could be described as schadenfreude. There were also a number of questions, I will attempt to answer those in another post.

Cat-a-log Day 14: Pepe

Last but not least, Pepe.

Pepe

Alright, granted this one might be borderline, but to be fair, many people refer to these guys as Polecats. It comes onto my porch to eat from a dish of food, and my wife and daughter have named it, I think that counts for something.

Other interesting facts:

  • Smells awful.

Cat-a-log Day 13: Unknown 2

Unknown #2... or is it Zorro?

Unknown 2

Yet another cat that I suspect has applied for citizenship under the terms of If it eats, we must greets. I refer to it here as Unknown #2, but someone let slip the name "Zorro" when the subject came up.

Other interesting facts:

  • None.

Cat-a-log Day 12: Unknown 1

This one has been cropping up more and more.

Unknown 1

When I first brought up Unknown #1, my wife explained that it was not her cat, she didn't know why it was hanging around, and that more than likely it belonged to someone and was just wandering a bit. This would be comforting if I hadn't heard it before (see day 6 and day 11 for current examples).

And yes, it eats the food that is placed outside.

Other interesting facts.

  • None

Cat-a-log Day 11: Garfield

Moving on...

Garfield

This is Garfield, another cat who obtained amnesty through If it eats, we must greets.

The look on his face in the picture above it pretty typical for him. I think he's bummed because he showed up 10 cats too late and has to sleep outside.

Other interesting facts:

  • My wife thinks he's sweet.

Cat-a-log Day 10: Baby

This, is Baby.

Baby

I have three words for you. Pure, Unadulterated, Evil. You have never met Baby (and if you are lucky, you never will), but rest assured, she hates you with a passion. When you look into her eyes, you can almost see the gears turning, the plot being hatched. I have little doubt that given the means and opportunity, she'd kill us all.

Other interesting facts:

  • The most ironically named of all our cats.
  • Sold the movie rights of her autobiography to Rob Zombie for an undisclosed figure.
  • Bites (literally and figuratively).
  • Sweet? Surely you jest.

Cat-a-log Day 9: Zoe

Got cat?

Zoe

Believe it or not, there are some that don't like living in an infestation a house full of cats. Take Zoe here for instance, she hates it.

Zoe is Chloe's sister, one of two that represent the first of our cats. She used to be happy and well adjusted, but runaway immigration has taken a toll on her sanity, (at this point there isn't much left). She experiences violent mood swings that result in physical confrontations with other cats one minute, and pulling her own hair out the next. Poor Zoe.

Other interesting facts.

  • Once hid in the same place for 3 days (non-stop).
  • Goes by the alias Zo-zo.
  • My wife thinks she's sweet.

Cat-a-log Day 8: Thumper

Damn, this is starting to feel like work.

Thumper

Meet Thumper. Thumper's most distinctive feature is the absence of a tail. It was recently explained to me that this is the way he was born, but I'm having a hard time accepting that. You see, Thumper is fearless, and I don't mean fearless in a heroic kind of way, I mean fearless in a lack of common sense, isn't afraid even when he really really should be, kind of way. I always imagined that there was some fascinating story of extreme stupidity behind that missing tail, and I'm having trouble shaking it off.

Other interesting facts:

  • Has a foot fetish (seriously, wtf?).
  • Enjoys extreme sports.
  • Is Alfie's brother.
  • My wife thinks he's cute handsome (and sweet).

Cat-a-log Day 7: Chloe

It's been a week now; there are still more cats.

Chloe

Once upon a time we had no cats. None, zip, zero. It was a glorious time. Then one day my wife came to me wanting a kitten. I was initially opposed to this idea but it was clear how important it was to her, so I agreed. She brought home two. Two. One of them was Chloe.

Chloe is a thin and frail cat, which I theorize is the result of some genetic condition which has also left her with an inability to maintain proper core body temperature. As a result, she's been forced to adapt to a parasitic lifestyle, sapping heat from the laps of humans in order to stay alive.

Other interesting facts:

  • Wishes she were a dog.
  • Idolizes my son.
  • Squeaks instead of meows.
  • Also goes by the alias Klo-klo.
  • My son thinks she is sweet.

Cat-a-log Day 6: Stevie

Day 6, Stevie.

Stevie

To the best of my recollection, Stevie was the first cat integrated under the If it eats, we must greets line of reasoning. As you may know, during the Salem witch trials the accused were thrown into a pool of water, if they floated they were deemed witches. If it eats, we must greets is a similar false dichotomy that states that if you place food out for a stray cat, and it eats it, then it must be your cat.

Also, this picture is just begging for a lolcat interpretation.

Other interesting facts:

  • The most mysterious of all our cats.
  • Claims to have previously belonged to both D.B. Cooper and Jimmy Hoffa.
  • My daughter thinks she is sweet.

Cat-a-log Day 5: Fat Boy

With all of these cats, you didn't really think there'd be one named Skinny Girl without a corresponding "Fat Boy", did you?

Fatty

Fat Boy is in fact Skinny Girl's brother, and has the distinction of being the very first cat in our house with a penis. Others would follow, but he was the first. Respect.

Fat Boy is the exact opposite of his sister, the yang to her yin. He struts around the house like he owns the place, and is not easily startled or intimidated. He is so arrogant and obnoxious that if he catches you cleaning a litter box, he'll run straight in to drop a deuce while you're cleaning it.

Other interesting facts:

  • Has (severe )issues with flatulence.
  • Doesn't give a rats ass what you think about him.
  • Is too sexy for this shirt.
  • Also goes by the aliases Phat, Phatty, and, Phatphat
  • My wife thinks he's sweet.

Cat-a-log Day 4: Kiwi

Pictured below is Kiwi.

Kiwi

Believe it or not, I actually like this cat. The reason for this should be obvious, I mean look at her, she's adorable!

Kiwi is one of the many cats that were brought home from the Human Society to be "fostered". At the time she was covered in mange and way too young to be away from her mother. My wife and daughter spent countless hours treating the mange and bottle feeding her while I tried to pretend she didn't exist. Now, you'd think all of that TLC would have resulted in a strong attachment to her caregivers, but you'd be wrong. No, she likes me.

Kiwi will crawl up into my arms while I'm seated on the couch or in front of the computer, nuzzle my face, and then work her way onto her back until she is being cradled like a baby. Sometimes she'll reach out with her paws, put one on each side of my face, and meow softly.

Considering what it took to bring her back from the brink, my wife is pretty emotionally invested in Kiwi. When she sees Kiwi and I together she experiences some combination of dismay, betrayal, or gag reflex. Hey, what can I say, Karma's a bitch.

Other interesting facts:

  • Is awesome.
  • Also goes by the alias Keekee.
  • My wife thinks she is annoying.

Cat-a-log Day 3: Skinny Girl

Next up is Skinny Girl.

Skinny Girl

Let's talk about that name for a second, "Skinny Girl". That's only a short step up from names like Cat, Dude, and Hey You. It would stand to reason that if you find yourself struggling to come up with unique names for your pets, then it is entirely possible that you have too many.

Again, I don't really have much to say about this one, it's a relatively recent arrival. Don't read too much into the expression on her face in the picture above though. She appears confident, maybe even arrogant, and she's anything but. This is one seriously skittish cat and I consider myself lucky to have gotten any picture at all, (about 250 milliseconds after the flash fired, she shot straight up into the air and then hauled ass).

Other interesting facts:

  • Goes by the aliases Inny and Neenee.
  • My wife thinks she's sweet.

Cat-a-log Day 2: Alfie

I give you, Alfie.

Alfie

I really don't know much about this cat, it hasn't been here very long. It is one of many that were/are being (temporarily )fostered here.

What I do know is that you do not want him around when playing darts. Soft-tipped darts inevitably fail to stick from time to time. From the moment a dart hits the floor you have scant seconds to retrieve it before Alfie snatches it up and runs like hell.

Other interesting facts:

  • Is incapable of resisting the allure of a laser pointer.
  • My wife thinks he's sweet.

Cat-a-log Day 1: Star

Meet Star.

Star

Best described as Not Quite Right, Star's mother was a feral stray who rejected her as a kitten, (those wacky animals and their maternal instincts, go figure). A firm believer that no kitten should be left behind, my wife assumed custody. We've had her for years now.

For the most part she keeps to herself. One notable exception to this is bedtime where she demands a prominent position either on or next to my wife. For some reason finding this position always requires a bit of trial and error on her part, and invariably results in several close encounters of her ass and my face.

Other interesting facts:

  • The other cats are unanimous in their dislike of her.
  • If wronged, she will piss on something important to you.
  • Goes by the aliases Tar, or Tartar.
  • My wife thinks she's special, (and sweet).

Cats, cats, and more cats

There are a lot of cats living in and around my house. A lot. When I mention this to people, they invariably want a number, but the truth of the matter is I really don't know, (if that isn't the surest indicator of Way Too Many, I don't know what is). So, I've decided to conduct a little experiment.

Each day, starting tomorrow, I will profile one cat found living here. I will catalog the entire population in an attempt to determine if there are fewer or greater cats than there are days left in 2008.

Let the wagering begin!

R.I.P. Ruta Maya

What the hell? I leave for a couple of weeks and return to find my coffee shop all boarded up!

Boarded up

Ruta Maya served fair trade coffee, obscure (and often excellent) microbrewed beers, and a tasty (although arguably overpriced) lunch. Add free wifi and the fact that they were basically right across the street from work and you had an excellent "home away from home".

My co-workers and I spent many an afternoon working from what became referred to as the "Martin Street Office"...and now it's gone.

Back Home

After 5+ hours on a bus, several hours at Ezeiza airport, and 12 hours on two different planes, I'm back home from Debconf8, (technically speaking I've been back since 8am yesterday, but was in no condition to post).

Debconf8 was definately the best organized of the 4 Debconfs I've attended, and Argentina was an awesome setting, but it is good to be home.

Pictures are here or here.

Update: I've updated the Debconf8 set on Flickr with a panorama of the beach and skyline in front of the conference venue.