– Full Frontal Nerdity

Clint Byrum's Personal Stuff

Have you measured something lately?

I think we all come upon situations where we can do something the simple way, maybe at the cost of efficiency, or the most efficient way, but it won’t be clear and easy to repeat or maintain long term. In software this is especially true because of the flexible nature of what we’re doing, but it happens in all walks of life.

You can take the freeway, and that is usually the fastest way between points. But anybody who has live in Los Angeles knows that sometimes the freeway is more like the parkway, as in, a parking lot full of cars going < 5mph. Just 100 yards to either side of this molasses like river of metal and rubber, there are surface streets whose average speeds are in the 20-30 mph range, even including stop signs and lights.

In the past, we would just take the freeway anyway. Who knows what lies on those streets? Pick the wrong one in LA and you’ll get a nice up close view of the spot where Reginald Denny was met by an angry mob back in the 90′s. Pick the right one and you will probably get to your destination a few minutes earlier and with a lot less feeling of helplessness and stress.

However, today we have some measurements available to us, and can make informed decisions. These days, before I go to drive anywhere, I pop up google maps. I instantly have some actual, reasonably accurate numbers, for where the parking lots and auto-bahn like areas of the freeways are. If I haven’t been on one of the streets, I drop my favorite little traffic helper on the spot, as I call him “street view man”, and get an idea for who I might encounter whilst enjoying the adventure of touring a new neighborhood.

When writing software, do you have similar measurements available to you? Why not? Is it too hard? Not valuable enough? How much is your time worth? How much is the program’s execution time costing you, or your clients?

Measure something today. Its fun, and graph porn is the best way to brag.

May 31, 2011 at 7:03 pm Comments (0)

Such a profound question..

Words do not do it justice.. LITERALLY

April 12, 2011 at 4:12 am Comments (0)

Ubuntu 10.04.1 LTS released | The Fridge

Ubuntu 10.04.1 LTS released | The Fridge.

This is pretty cool. I know as a system administrator, I never wanted to run .0 anything. So 10.04 is really like 10.04.0, and means “let somebodye lse find the bugs.”.

Well 10.04.1 means that the more conservative administrators can at least have a reasonable expectation that it will be even more stable than it was on release day in April.

If you’re already running Ubuntu servers, btw, check this out:

Hit it and be counted as a server user. Pretty amazing how many little orange circles there are all over the world.

For those of you who’ve been telling me that my blog posts sound like “gleep ork boog florg”, a quick primer:

Ubuntu is an operating system, like Mac OS X or Windows (except more awesomer).

10.04 was their April, 2010 release (10 == 2010 04 == april).

LTS means Long Term Support. This means that the people who maintain Ubuntu will support this release for 3 – 5 years (depending on the context.. 3 for desktops, 5 for servers).

10.04.1 is a fixed up release, mainly marking the release of updated CD images for installing. If you install 10.04 and choose automatic updates, you’re already on 10.04.1 before the release.

August 18, 2010 at 5:17 am Comments (0)

The lost joy of LEDs

Today I realized that a quest I set out on long ago was achieved, and I don’t know how happy I am about it. As I look around my house, I see but one laptop running. The wife has a little Netbook, and you might count the Wii or evne the AT&T U-Verse cable boxes as computers, but when it comes down to it, the only thing I need is my 15″ laptop.

Back when I got into computers, I was cobbling together every little piece of funky hardware I could to build a pseudo-production network inside my house. I had an old AMD 5×86-133 based box that served as my firewall and router. I had a little AMD 900 with redundant cheap IDE disks that was my server. I ran Debian GNU/Linux on them because thats what all the smartest people I knew recommended, and it was incredible because it let me do everything I wanted to do my way, without making me do anything to get it working. Even though I had just a 56kbit modem connection, I used squid and heavy tuning to make it the best web browsing experience possible.. for.. me.

Oh sure, at work I had servers to play with and I definitely enjoyed work. But the autonomy of doing this my way, and learning new things, was what really made it a passion.

One of the most amazing things that came out of that exercise was the realization that while I had the most amazing modem based home network ever, I wasn’t always aware of what was going on. Sometimes I’d wonder, what the heck is going on?

Then I moved the little 5 port switch from behind the desk, to on top of the desk. Instantly, I felt better. I enjoyed watching the two little ports that my server and workstation were on blink themselves silly, almost solid, when I was copying a file over the network. And the constant little twinkles just made me feel good that my network was busy, useful, and active.

But what about the internet connection? What was it doing? I found the answer to this one in one of those great hacks that just makes you smile. tleds. This little program simply hooked into Linux’s networking stack and made the TX and RX functions on my modem force the keyboard LED’s on my server to blink. Now, my server actually didn’t have a keyboard before this, but I grabbed an old one from the closet, plugged it in, and concealed all but the keyboard LED’s so that it just blinked.

Why do these blinking lights make us feel better? I don’t know. But thats one thing lost in the cloud. No blinking lights. No feedback that its doing something.

Maybe somebody should make a ‘cloudleds’ command that blinks your keybaord when your cloud instances send and receive.

August 4, 2010 at 9:33 pm Comments (0)

Why hasn’t OpenID, or something else, taken over yet?

I just happened upon a site that mentioned as a way to brainstorm. Cool tool. I played with it and decided I wanted to keep the data I had put in it to play with later, but was annoyed that I had to create yet another user id+email+password combination on yet another site that I probably won’t visit again for a long while. Plus, say I want to add it onto my facebook wall. Facebook might be able to extract the images, but they might now. How lame is that?

My current solution for the login problem is less than ideal. I use the java program Password Safe to save my accounts+passwords, which it generates randomly. The pass phrase for my password safe is pretty complex, and I change it on about an annual basis. The program re-locks the safe after 5 minutes of inactivity, so this is reasonably safe against casual compromise. Of course, keyboard shoulder surfing and a subsequent theft of my machine (or temporary control) could render it useless, but I’m willing to accept those risks and do what I can to maintain control of the laptop. If somebody steals my laptop, unless they can crack the encryption quickly, I feel pretty good that I’ll have enough time to restore from backup, change all the passwords, and set a new combination.

However, this is basically as good as our current “status quo” of online fractured identity can get. And I still don’t have anything to bring all of my online presence together.

I recall with fond memories watching Dick Hardt’s amazing Identity 2.0 presentation from the audience at OSCON 2005. I came away thinking to myself “oh good, somebody is on it.” I put it out of my mind as a systems administrator with a lot of things to think about on the backend, and no real concern for the frontend.

Fast forward 5 years, and I see that we’re not much better off now. Dick Hardt’s company Sxip produced Sxipper, which is pretty cool, but still puts it on the users to safeguard and manage their data. Oh and really, I never heard about it until I went looking for Sxip again, and I don’t know anybody using it, I think its just a cool curiosity, not a solution.

This really is an issue that affects people, but they may not know it. Look at the trouble this guy went through to make google accounts useful for people with multiple email addresses. As we start sharing and sending and moving data, our identities clearly can’t be defined as email addresses anymore. I have 3 that I use a lot, and a couple of others that just refuse to die for whatever reason. Changing them means trying to find every site on which I’ve used them. UGH.

OpenID was, and still is, a promising direction. There are some definite security pitfalls in the way its been done in the past, but I think they’ve solved most of them. It doesn’t really satisfy Dick’s Photo ID requirement where the issuer doesn’t get to know what you’re using it for. Still I love when I sign up for a site and I can use my OpenID login. I use my account for this, mostly because it was the first site that had a very clear “this is your open ID url” link.

FOAF-SSL or “WebID” also seems interesting as a way to promote social credibility and utilize existing technologies rather than try to invent the whole thing. Even twitter seems to have rudimentary support. But its still a long way off from being in control of our identity. Given the meager number of relying parties, I’d say it may not ever get there, which is too bad.

So now I’m just confused. How and when are we going to get this done? When can I say “this is me, here’s some proof that this is me, now lets get something done.”?

Social networks sort of try to do this with the social proof of many friends. But at issue there is how closed off those social relationships are. Facebook wants me *on Facebook*. They don’t want to enable me to also use myspace or my Ning community seamlessly.

Until we as users know why we’d want that, and somebody is able to provide it, I guess I’m just stuck with my password safe.

April 22, 2010 at 9:54 pm Comments (0)

At the end of the day, just ship the f***ing thing!

This article about “Duct Tape Programmers” excerpts another article with interviews from great coders. I just had to share this fantastic quote from Jamie Zawinski

“Yeah,” he says, “At the end of the day, ship the fucking thing! It’s great to rewrite your code and make it cleaner and by the third time it’ll actually be pretty. But that’s not the point—you’re not here to write code; you’re here to ship products.”

I’m a big fan of “the proper amount of abstraction”, but I think its important to remember the scope of each thing we’re working on. Rock on jwz.

September 27, 2009 at 5:45 am Comments (0)