About seven years ago, I worked on a project called Keryx. I wanted to install new software on my Ubuntu computers in rural Tennessee, and resolving dependencies by hand was not cutting it. So I joined Chris Oliver to write something to make the job easier.

Then I took a break from development. Long story short, I learned way too much about trees, went to college, and then got a job.

Now I have some free time. I’ve got great internet connectivity, but tens of thousands of downloads prove Keryx is still relevant. So I refactored the code and issued a new release today.

What’s new?

Most of the work was refactoring. While Chris is a heck of a coder, seven years ago neither of us followed all best practices.

We had worked on a 1.0 branch, but I chose to throw back to 0.92 for my refactoring efforts. Why? Nostalgia, probably. I’m also pretty certain Keryx 0.92.4 did a pretty good job. I don’t remember much about 1.0. And I like refactoring. It’s fun.

So what did I actually do?

  1. Tried to get the code in line with PEP 8, Python’s style guide
  2. Removed non-critical features, cutting the lines of code 10% from 2865 to 2555
  3. Switched from py2exe to pyinstaller for builds
  4. Started documenting with Sphinx
  5. Cut project load time ~85% (at least on my machine)

In short, I had fun.

0.92.5 is not a polished release. It’s simply functional. I feared that if I waited till things seemed nearly-perfect, I’d never release at all. So give it a try, report the bugs, and I’ll try to issue bugfix releases as often as possible.

What’s next?

I’m going to strip out the GUI, implement a CLI, and then build up a new GUI. I think that promotes good development practices, and helps me understand all the magical things that Chris originally implemented.

I’ll build a better standalone APT emulator which could be used in other projects. That was originally a goal of the 1.0 series.

And hopefully I’ll build a new website, because this project is all about accessibility. Unfortunately, for the moment, it’s also about convenience for me. So it might be a while before that happens.

Maybe I should have a philosophy on How to do Phone Interviews. You know, some Do/Don’t list which is guaranteed to land me my post-college dream job. But I don’t have such a list.

Instead, my anti-philosophy is to treat the interview as if I am already working with the interviewer.

After all, aren’t I? A phone interview is just a discussion between two professionals, helping decide whether one should join the other as a colleague at their organization.

So before an interview, I make a cup of coffee, grab a pen and pad, and sit down at my desk ready simply to have a collegial discussion.

And I try to learn. Not something dull which won’t be useful to me in two months, like what’s precisely the best answer to some boilerplate interview question. But interesting things.

Last week during one interview I learned about startup accelerators in Pittsburgh. In another, I picked up an entertaining description of the C# programming language. I had fun and educational conversations with several interesting professionals. And if they’re interesting, shouldn’t they be great coworkers?

I believe an interview is best if all parties to the conversation almost forget that it’s an interview. Perhaps it’s a skill I carried over from my days as a college policy debater – the best speeches and cross-examinations feel like conversations with the judge, not speeches or cross-examinations.

Maybe my way of interviewing is a little too chipper or happy-go-lucky. But so what? I look forward to being part of a company culture that appreciates genuineness. I really believe “being real” is a crucial part of getting work done.

The Coffee Bar - Espresso in a cool environment

Ordering “a double” at a coffee shop just feels cool, like something out of an old western. (Yes, old westerns are cool.) Ordering it at a place named simply The Coffee Bar is even better.

In four weeks of being in Washington, DC I have visited ten local coffee shops, and this one was outstanding. Honestly, at the time I walked through the door I was having a crummy day. But after I ordered a double and sat down at a high-top table to wait, I noticed the quotes on the chalkboard menu. They were hilarious and cheered me up quite a bit. I won’t spoil them, because you should visit this place for yourself!

Besides enjoying the chalkboard humor and general good vibe about the place, I noticed one other thing that set the shop apart. When I returned the dishes, the barista who pulled the espresso asked how I liked it. As I’ve mentioned before, I don’t know a heck of a lot about how a “good” cup of coffee “ought” to taste. But the fact that the barista checked whether I’d enjoyed it meant that she cared about her work. That’s probably half of what makes something good: the fact that someone cares about it.

Of course there are plenty of shops that simultaneously don’t take themselves too seriously and care that they make a good cup of Joe. But TCB was particularly charming, and I look forward to going back.

And fear not, my thoughts on at least some of the other nine shops will come later! Washington, DC is prime local coffee shop territory.

A couple weeks ago, I stopped by a coffee shop in Roanoke, Virginia. This is the first local coffee shop I’ve ever gone to that filled its own stand-alone building. Appropriately named, the Sweet Donkey Coffee House occupies the entirety of a small house, about the size that one would expect four or five rowdy college students to rent out.

Around 10 a.m., the House was a happening place, and there was barely enough room for me to park my car on the street which ran alongside the building. There appeared to be a donut wagon parked on the street outside Sweet Donkey, but I was in a rush and couldn’t stop to wait in line for a snack.

Inside, there was a roughly 150 square foot area devoted to coffee-making, and the rest of the house was open for visitors to kick back, talk, and enjoy their drinks. Though I didn’t explore, a sign offered even the upstairs floor to visitors. This looked like the perfect place to chill with friends on the weekend and play cards or a board game. I didn’t get to hob-nob with the locals much, but I expect one could even entice a few outgoing strangers to join in.

I ordered my espresso and a medium drip coffee for a friend. “That’ll be $3.” I was embarrassed to ask, but I double-checked that the cashier knew I wanted two-drinks, not a red-eye. She told me that house espressos are free on Thursday, and my surprised “Well then!” made the barista laugh.

I wasn’t forced to wait long for my espresso, which was served in an orange-and-white ceramic cup; the bright cheeriness matched the open atmosphere and my need for a morning pick-me-up. A bit of the drink had spilled over the edge of the cup and dried onto the side, prompting me to ponder a bit more the presentation of a cup of espresso. I concluded that as a rule, drippiness isn’t great; but on the other hand this is America, and coffee isn’t/shouldn’t always be pretty.

I am used to being served a cup of water with espresso, but I was surprised to see tiny bubbles rising in the glass that came with this drink. Club soda, it turns out, works very nicely with espresso. I’ve done minimal research on the question, but there is evidence that the water which comes with espresso acts as a pallet cleanser as well as a regulator for the caffeine intake. Regardless of its utility, I’m a fan of the club soda, and I wish more coffee shops used it.

The espresso itself struck me as neither fantastic nor disappointing. Since it has been a couple weeks since I visited, I’ll not try to recall in detail what I thought. But I am certain I felt the coffee was worth my while, and I would happily pay for a double on days other than Happy Thursday. This was my first experience with a shop that brews Counter Culture, so I look forward to trying it at other venues.

My friend said that the drip coffee was good, but I can’t speak to its quality myself.

My overall impression is that Sweet Donkey is a bright, spacious, and friendly environment that brews good coffee at a decent price. I enjoyed learning of the club-soda-and-espresso combination, and I look forward to visiting the Donkey next time I have a reason to visit Roanoke!

Espresso in orange cup

There’s something wonderful about a good shot of espresso that really can’t be explained. Honestly, the first time I tried one I was certain the barista must have accidentally poured a couple shots of spent motor oil. It was an intense drink, and I swore I would return to just drinking cappuccinos and lattes. Why subject myself to torture?

But college wasn’t kind enough to let me quit espresso. First-year calculus taught me that doing math with letters goes a lot more smoothly when you’re wired, and espresso was the fastest way to ingest some caffeine.

My hometown isn’t the easiest place to find a good, local coffee shop. So when I spent a summer in Washington D.C. and learned of the quirky Georgetown coffee brewery, Baked & Wired, I found out that a Starbucks shot of espresso isn’t the beginning and end of the coffee story. Perhaps (though I doubt it’s so) a double-shot is simply better from a tiny porcelain cup than a little paper one. Regardless, my stay in D.C. helped me understand there is always a better cup of coffee to be found.

Latte from Baked & Wired, Georgetown

And that brings me to this post. I have owned this domain for some time and have used it for various purposes in the past. I have decided to revitalize it now based on a challenge from a friend – basically to talk about coffee! I will do that, and hopefully more.

I’ve never had much patience for hyper-technical critiques and reviews of various foods and drinks. While I respect the effort put into those works, my level of expertise amounts to this: I drink a lot of coffee, I think, and I write. So for those who simply want to know what another lay-person thinks about a cup of coffee, this is a pretty good place to stop and read a while!

My writing will basically follow whatever coffee-related path I choose to take. For the moment, that includes visiting local coffee shops around the country, trying their espressos (and espresso-based drinks when I feel extra adventurous), and reading about coffee cultures and industries. But expect that path to vary somewhat as I wander along.

Much of my time is spent with Computer Science-related research and projects, so some of my writing may touch on the technical aspects of my experience. Another large portion of my time goes to delving the depths of political and critical/social theory, and my writing may include elements of those. I’m not out to start any political debates, but I am open to learning, especially when coffee-brewing gets political.

In closing, I will say that I open this new blog with some hesitation. After all, there are millions of blogs and no particular reason this one is or ever will be “significant.” But what I write here will rest on a simple theory, and its “success” or “failure” will hinge upon the accuracy of that theory: people will be interested in what you find interesting. So I promise to you, the reader, that I will only write about that which I find interesting. If my theory proves accurate, then you will probably subscribe or click over to the next post. If not, then the world has lost nothing more significant than a few electric pulses shooting around the Internet among countless others. Either way, blogging gives me an excuse to sit back and enjoy another cup of coffee!