Category Archives: Uncategorized

Roku

My “I don’t need it but I want it” technology purchase this Christmas was a Roku.

I spent several hours early on the Christmas break trying to build a XBMC raspberry pi media center to act as an office jukebox. This worked ok, but I learned two things. One, it doesn’t like to run “headless” (ie, without an active screen) and two, you really need a powered USB hub if you’re going to plug in any non-trivial (ie, not a keyboard) USB devices, such as a wifi dongle or a USB hard drive.

Anyways, as fun as that was, I wanted something more polished, and picked up the Roku 3 at Radio Shack. In addition to playing my music collection, it can also do Pandora, Netflix, and a few thousand other things.

So, it’s kind of overkill for what I wanted – just an easy way to play my music with a simple remote control – it’s a fun toy, and also a great way to watch Netflix in the evening.

It’s also interesting to compare this with the Google Chromecast that I picked up at LinuxCon a few months ago. While the Chromecast is a cool device, it’s *way* behind Roku in terms of content and apps, and it’s going to take a lot of catching up before I’d consider using it in place of the Roku. I’m sure that they’ll get more content, but they may have already lost the race.

Proliferation of OSes

As of yesterday, we now have the following operating systems in this house:

Desktop:
* Windows 7

Laptops:
* Chrome OS
* OS X
* Fedora 20
* CentOS 6

Phones:
* Android
* iOS
* Random AT&T phone

Tablets:
* Android
* Android with CyanogenMod

Raspberry Pi
* Pidora
* Raspbian

And, of course, being The Computer Guy, they’re mostly my job. Fun, fun.

Blog comments

I just upgraded Habari (the blog software) and in the process of purging spam comments, I appear to have also nuked all legitimate comments. I suppose I should be upset, since there were almost 3000 comments on the site, but it feels like a chance to start fresh, and not have to paw through a million spam comments for the occasional diamond.

The one page with really valuable comments is archived at archive.org

OpenStack Meetup, Cincinnati

Last night I attended the OpenStack meetup in Cincinnati. It was a lot longer drive than I anticipated, as it was on the north side of Cincy. But it was worth the drive. There were only five people there including myself, and although there was nothing formal planned in terms of a presentation, we had a great conversation around what we do in our various jobs with OpenStack, and I think we all learned something new about the OpenStack world in the process.

If you’re in the Cincy/Louisville/Lexington area, and you’re interested in future meetups, please let me know (rbowen at red hat dot com), so that we can get you included in those announcements. I’d really like to do something in Lexington, so that I don’t have to drive so far. 😉 So if you’re in Lexington and are interested in, or are using, OpenStack, please ping me and we’ll set something up.

How Not To Program

Today I saw this tweet:

And it took me back …

2000, I was attending YAPC. I had been doing Perl stuff for several years at that point, and had written, among other things, a web calendar app called Hypercal. Calendar math was something I was very interested in at the time – particularly non-Gregorian calendars.

While at YAPC, I had several conversations with people about calendrical calculations, and on improving the core Perl date/time libraries. It was, in fact, immediately after one of these conversations that I attended a talk titled something like “how not to program”, which featured spectacularly bad code examples from published works. I *think* that the speaker was MJD, but this was a long time ago.

As I watched the speaker expound on the horrors of the code he had found, I gradually realized that this was MY code that he was lambasting. As it happens, an early version of Hypercal had been used as an example in a Japanese book on CGI programming. I still have a copy of it somewhere, I’m sure, but I expect it’s out of print now. But, there it was, on the big screen, for everyone to see.

It was truly awful code, and it could have been a truly humiliating experience, had I not, by that time, progressed a ways past my early errors. What’s amazing was that, at the time, there were few enough people producing Open Source web apps that my dreadful code ended up being an example worth putting in print.

I often think of that incident when helping beginners. It’s good to remember that 1) everyone you meet knows how to do something you don’t, and 2) no matter where you are now, at one point you were a clueless beginner.

Mulled wine and a nice tree

7 years ago this evening, I knocked nervously on Carie’s door. We had a date to make mulled wine. Yes, it’s an odd first date.

We made several bottles of mulled wine, a few of which we still have. I said that one of her paintings was “nice”. Yep, I really did. “Nice.” Sheesh.

Eventually, it was time to go, and I said I’d like to see her again some time.

And here we are. And, seven years on, it just keeps getting better all the time. If there’s a regret, it’s that I didn’t find her sooner. The nice painting hangs over my desk. It’s still very nice.

nice tree

Samson Go Mic

I recently acquired a Samson Go Mic. It’s awesome. I’m so used to having to shout into my mics that it’s actually taken some adjustment to go back to talking at a normal volume, and also reduce the mic volume, to get audio that isn’t clipped.

I did a couple of interviews in Hong Kong last week, and realized, when editing the result, that I didn’t have the selector switch set correctly. There’s a little slidey switch on the side, and the manual has a lot of technical jargon about what settings to use.

Samson Go Mic

Here’s the summary: The circle makes the mic dual-sided, which is good for interviews. The one that looks like pacman makes it one-sided, which is good for just recording yourself. I have no idea what the one in the middle does.

I just had it set on the wrong setting, so it didn’t pick up the person I was interviewing very well. So … problem solved.