Main menu

Monthly Archives: July 2010

Recently, I began writing a regular weather blog for the local newspaper. I’m not getting paid for this, so people may wonder why I’m giving free content to a for-profit organization. I asked myself this very question, and the answer is that I don’t find the terms sufficiently objectionable. Although the blog appears on the Journal & Courier website, they likely don’t make too much money off the ad revenue. And while I don’t make any money either, I get the chance to refine and showcase my writing skills for a different audience than I currently have, and I get the chance to bring a little bit of traffic here (maybe I should start selling ads). Of course there’s always the joy of sharing my knowledge, proving a public service, and keeping all of that meteorology I learned in school in my head a little longer. Finally, I’m a compulsive favor-doer.

More than any of that, though, I am philosophically in favor of sharing information. The vast majority of the writing I do is released under some form of the Creative Commons licenses. The Fedora Project requires me to use the CC-BY-SA license, which does not prohibit commercial use. In that sense, writing documentation for Fedora and writing my weather blog both could result in people who are not me making money off my work. That’s fine, because I’m not doing it for money (although if someone wants to leave an envelope of cash on my doorstep, that’s okay). In both cases, I consider the free access to my effort to be fair trade. My Fedora work is my way of contributing to the project that provides me with free (both gratis and libre) software that I use on a daily basis. The writing I do for the Journal & Courier I see as contributing to the betterment of my society (or at least the lowering of my blood pressure. Weather-related stupidity angers me quite effectively). The fact that one is a non-profit and the other is for-profit is not a consideration for me.

I am a firm believer in freedom for users, but I also believe that content creators should be free to license their works as they see fit. Copyleft licenses like the GPL are preferable to more restrictive licenses, but if someone wants to put a restrictive license on his work, that right should be available. In each case, a decision must be reached as to what is and is not acceptable. In the cases I’ve discussed here, I have determined that, for my own criteria, the terms are acceptable. The nice thing about volunteer work is that if I determine at some point that the terms are no longer tolerable, I can simply stop contributing. In the meantime, I hope as many people as possible enjoy the fruits of my labor, and I look forward to enjoying the works of others.

It’s been many months since I found out about TTYtter, a command line Twitter client written in Perl. Though some users might bemoan the lack of a snazzy graphical interface, it is that very lack which appeals to me. TTYtter places only a very tiny load on system resources, which means my Twitter addiction won’t get in the way of running VMs to test various configurations and procedures. Being command-line based, I can run it in a screen session which means that I can resume my Twittering from wherever I happen to be and not have to re-configure my client.

I don’t claim to be a TTYtter expert, but I thought I’d share my own configuration for other newbs. TTYtter looks in $HOME/.ttytterrc by default, and here’s my default configuration:

#Check to see if I'm running the current version
vcheck=1
# What hash tags do I care about?
track='#Purdue #OSMacTalk #MarioMarathon'
# Colors, etc are good!
ansi=1
# I'm dumb. Prompt me before a tweet posts
verify=1
# Use some readline magic
readline=1
# Check for mentions from people I don't follow
mentions=1

Of course, there are certain times that the default configuration isn’t what I want. When I was reading tweets in rapid-fire succession during the Mario Marathon, I didn’t want non-Mario tweets to get in the way, so I used a separate configuration file:

# Don't log in and burn up my rate limit
anonymous=1
# Find tweets related to the marathon
track=#MarioMarathon "Mario Marathon"
# Don't show my normal timeline
notimeline=1
# Colors, etc are awesome!
ansi=1
# Only update when I say so. This keeps the tweet I'm in the middle of reading
# from being scrolled right off my screen
synch

There are a lot of other ways that TTYtter can be used, and I’m sure @doctorlinguist will tell me all of the ways I’m doing things wrong, but if you’re in the market for a new, multi-platform Twitter client, you should give this one a try.

I mentioned recently that in my experience there are two breeds of sysadmins: the long-hair and the short-hair. I think we all can picture the long-hair breed. They’re the stereotypical representation of sysadmins in the media: long hair (duh!), often bearded, generally overweight, sloppily-dressed, anti-social, addicted to caffeine. Think Comic Book Guy from “The Simpsons”. The lesser-known breed is the short-hair sysadmin. The short-hair has short hair (duh again!), generally no facial hair, professionally-dressed, often with military experience.

Although it might seem like these two breeds are polar opposites, they do have some traits in common. Because they are still sysadmins, both breeds tend to see themselves as the rulers of their domains (interestingly, the short-hairs tend to be more flexible and accommodating to end-users). Security incidents are seen as an unforgivable personal insult, so paranoia is a desirable trait. Though short-hairs are more likely to have a social life, both breeds are quite geeky and prone to obsess over technical details.

Now I don’t claim to be an expert on the subject, and these are my own personal observations. Nonetheless, I can’t think of any sysadmins that I’ve come across that don’t fit generally into one of the two breeds. Not every one fits in precisely, but close enough that there’s no question which breed he or she is. What’s interesting is that these two breeds don’t seem to clash professionally, perhaps because the easiest way to earn a sysadmin’s respect is to have unquestionable technical skill.

A while back, I wrote a post about why it’s not always possible to DoItRight™, and that sometimes you just have to accept it. Today I’m here to talk about a time that I did something right and how good it felt. Now, that’s not to say that I’m eternally screwing up (although a good quarter of my Subversion commits are fixes of a commit I previously made), but there’s a difference between making something work and making it work well.

I decided that since we have a Nagios server, I might as well have it check on the health of our Condor services. From what I could tell, no such checks currently exist, so I decided to write my own. Nagios checks can be very simple: run a command or two, and then return a number that means something to Nagios. Many checks are written in bash or another shell script because they are so simple. For my checks, I wanted to do some parsing of the command outputs to determine the state of job queues, etc. Since that kind of work is a little heavy for a shell script, I opted to write it in Perl. Yay Perl!

Since there aren’t any checks available, I thought my work might be useful to others in the community. As a result, I wanted to make sure my code was respectable. This meant I spent some time designing, coding, and testing options that we don’t want but others might find useful. It meant putting extra documentation into the code (and eventually writing some pod before I share the code publicly). It meant mostly following the coding style of the Linux kernel (I chose that because “why not?”).

Some readers will (correctly) note that the Linux kernel coding style does not guarantee good code. I don’t mean to suggest that it does, but I’ve found that it forced me to think about my code more deeply than I otherwise would. Not being a programmer, most of the code I write is to fit a small need of mine and the quality is defined as “does it do what I want it to?” Writing something with the intent of sharing it publicly and forcing yourself to not cut corners can make the work more difficult, but the end result is a beauty to behold.

Editor’s note: This is a guest post by Sundeep Rao. I present it to you unedited (except for a few minor style changes and the insertion of URLs where appropriate), because he is the master of grammar, spelling and punctuation. Any errors you think you see are a figment of your imagination. P.S. Felicia Day, if you read this, Sundeep is a good guy and I would never throw him under a bus.

To make one point absolutely clear: I am by no means ignoring the contributions of the non-Americans who donated to the Mario Marathon — our Aussie and European contingents were pretty strong there! We even got some money from Croatia, if I recall correctly. This short essay came up as one of the answers that surfaces whenever people ask me (and they ask often): “What is it that you like about the United States?”

Two years ago, a month before I went home to India, I placed an empty gallon-jug outside my office, and sent an email out to office mates asking for their spare change for an orphanage that I knew about. I remember GrumpyRich walking up to it with his desk drawer, and emptying out saved pennies into it. Other colleagues would return from a breakfast or coffee run, and throw their change into the jug. Sooner than I knew, I had $400, which was received with great joy by the orphanage.

Mario Marathon currently stands at $82,113 raised for Child’s Play Charity — a mind-boggling amount by any reckoning. What makes this even more special is that I know that many of the donors didn’t really have cash to spare — for this or any other cause. What motivated them to give? Why did we need to start adding “donate, but donate only what you can — if you can’t donate, you can help by spreading the word” at every exhortation subsequently? Why were there people apologizing because they couldn’t donate any more than they already had to the cause?

As a person surrounded by numerous individuals of great generosity, I come across fundraisers and fundraising attempts on a reasonably regular basis. Some notable ones (other than Child’s Play/Mario Marathon) are the National MS Society and the various Pounds/Animal Shelters/Humane Societies. I see a similar outpouring of generosity from supporters of those causes. Breast Cancer, March of Dimes, United Way, Red Cross, Good Will- the list just goes on and on. The effort to raise money covers the gamut: local stores have a plastic candy jar with a slot cut out of the top, and a handwritten note highlighting the cause- while The Race For The Cure is so huge that just the logistics of organizing a race in one town can be daunting.

How charitable giving came to be so pervasive (perhaps from the idea of tithes?) is not part of this discussion, but its ubiquitousness is clearly visible.

In my experience, people from other countries and cultures share what they have- typically their houses, and their food. Americans feel the same connections, but they provide their hospitality to vast numbers of complete strangers. I think that the best thing that could happen to any charitable cause is to have a bunch of Americans hear about it and take some interest.

When I first hung out on BBSs in the Internets’ nascent years, the one overarching idea one walked away with is just how neat the people using the Internet were. Some of the people I “met” online during that time are still friends of mine IRL. Over the years, weirdos started hanging out- and one would run into them with increasing frequency (Online daters: make sure that “having teeth” is a prominently listed requirement). But spending time with the MM Social Stream and Chat reminded me again just how much fun the interwebs can be. WTG, MMers — making any sort of dent in my cynicism is no mean feat!

My assertion has long been that charitable giving is now an essential part of American culture — and the Mario Marathon epitomizes this. I’m glad to have played a small part in this effort. One last thing that I’d like to make sure to mention: The community response to the cause was so scintillatingly phenomenal that it left me speechless, and more than a little verklempt. It was an honor and a pleasure doing this, and interacting with all of you.

OrangeShirtGuy (Sundeep) is one of the Elders of the Internet and a Keeper of the Sacred Pun. An Eastern Mystic, he can be followed, but probably not understood at twitter.com/orangeshirtguy