Musings of an anonymous geek

November 13, 2007

I’ve Been Added

Filed under: Me stuff,Productivity,Python,Sysadmin,Technology — m0j0 @ 8:08 am

Friday was my last day working as a contractor for the GFDL. I had friends there before I ever worked there, so I’m sad to be leaving them, but I’m happy to be moving on to a really exciting opportunity. I’m now an employee of

I’ll be able to focus on architecture, and how to scale out an internet-based service, which is quite different from scaling an internal IT infrastructure, if only because the growth is exponentially faster. I’ll still be working with databases and virtualization, web servers and DNS, but this opportunity also gives me the chance to do quite a bit of development work, which I’ve been wanting to do.

Best of all – none of the development work I’ll be doing involves designing interfaces, and the back end stuff I’m working on is mostly Python. I’m happiest when I’m not coding stuff that has to render aesthetically pleasing results. That tier is best left to people who specialize in that. I just munge data and code business logic. 🙂

So, at some point, I have to make a choice as well, regarding my blog, because I’m not going to work for and then *not* use the product (and truthfully, I *want* to use the product). Just having social bookmark links is ok, but being able to view statistics related not only to what eyeballs landed on the page, but to what people found interesting enough to bookmark is valuable. has been good to me, but I’ve been feeling the pain of not being able to add really *any* per post goodies for some time. For a while I was manually adding social bookmark links to each post, and manually adding technorati tags to each post. Know what happens when you do that? It makes blogging more of a chore, and something I’m less likely to do. So do I host the blog myself somewhere else, or do I find another non-wordpress solution altogether? I had a nightmare of a time with Blogger – has it gotten any better? Does it support trackbacks yet? Can a blog published to a url have labels?

What about other blog services? Are there any that provide the niceties of the WordPress software, but without the limitations of the service? I really like categories, I like (but don’t need) the GUI blogging interface, and I *really* like that I don’t have to host it myself and maintain the blog software. Ideas are hereby solicited.


October 17, 2007

For my next pet project…

Filed under: Me stuff,Productivity,Python,Scripting,Technology — m0j0 @ 9:24 am

Stand back!

running install_egg_info
Writing /usr/lib/python2.5/site-packages/
brj@dawg:~/working/$ python
Python 2.5.1 (r251:54863, May  2 2007, 16:27:44)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gdata
>>> print 'yay!'

No good can come of this! ;-P

Seriously, though – I really really strongly dislike spreadsheet interfaces. I hate resizing cells so I can see what’s going on, I hate cell selection, copy/pasting, and doing anything in those little cells. However, I really *need* to use one to handle some administrivia at Python Magazine, because it’s already being used by some back end processes/departments, and I don’t have time to write code and overhaul that whole process, and I don’t want to rock the boat anyway – what they have works – I just hate spreadsheets. It’s my problem, not theirs 😉

The good news is they use Google Docs, and there’s a Google Data client library for Python. So I’m creating a command line interface to the spreadsheet 🙂

September 24, 2007

My New iPod

Filed under: Apple,Me stuff — m0j0 @ 7:06 am

My wife and I don’t really celebrate Valentine’s Day. I’m not sure why. I think it started because, for the first couple of years we dated, we were a few hundred miles apart, so we couldn’t. Now it’s just tradition. Anyway, to make up for it, we go all out on our anniversaries. We had several anniversaries before we were married, but this is our second wedding anniversary, and my wife got me at 160GB black iPod Classic 😀

This is the exact model I wanted. I did not want the iPod Touch. I think the iPod Touch is an insult to my intelligence to tell you the truth. I don’t know why Apple thinks I’m stupid enough to not realize that the iPod Touch is going to magically grow a phone over the next year or two. I don’t know why they think I should spend more money to get 1/10 the storage capacity of the iPod Classic.

The real kicker is that the iPod Touch, which has 1/10 the storage capacity of the iPod Classic, has a direct line to the iTunes Music Store, but the iPod Classic – the social icon around which people build their identities these days, and which has 160GB capacity, doesn’t. Seems like Apple could just put a wi-fi radio in the iPod classic, give it a direct connection to the music store as well, and watch the kids stand around on the playground listening to each other’s tunes and downloading a copy of their own for $.99. Hell, Apple could probably eat 75% of the cost of the data connection, further subsidize it through deals with the ISP, perhaps a small fee built into the initial cost of the iPod, or a $.05 surcharge on songs downloaded directly to the iPod or something, charge the customer *once*, for the iPod instead of a monthly data transmission fee or whatever, and still make money.

For $50 more than the 16GB Touch, you can get the iPhone. It only has 8GB capacity, but replaces two gadgets you may carry around all the time. Your phone, and your point-n-shoot digital camera. I’m not a fan of Apple’s stance toward users who would like to run software not made by Apple on the hardware they allegedly own, but if we’re just talking value and comparing the devices in their line, I have to believe the iPhone is a slightly better value than the iPod Touch.

Anyway, this was really meant to be a glowing review of my iPod Classic. It works wonderfully. I’ve already loaded a few months worth of home brewing podcasts, all the music that I care about (for now – more coming), a bunch of photos of my wife and daughter and stuff, and I’m all set to go. My wife must truly love me. At some point I hope to figure out why. 🙂

September 23, 2007

Sometimes it’s just about attitude

Filed under: Me stuff,Sysadmin,Technology — m0j0 @ 10:33 pm

Today I spent the day completely breaking down and replacing the entire above-ground portion of my in-ground pool’s plumbing. I had some problems crop up with my multi-port valve, and I had to take a few things apart to troubleshoot and remove the pump as the source of a pressure problem (namely, there wasn’t any).

Without going into too much gory detail about the troubleshooting, suffice to say that, over the course of the past few weeks, I’ve spent a great deal of time in the pump house. More than I ever had to before. While I was in there I had some time to closely inspect the plumbing. While taking a break and sipping a home brewed scotch ale, I just sorta stared at each component in the line and thought about the logic employed in the overall project. By the end of my 5-minute break, I was not happy.

This plumbing was put in place by a contractor that was hired by the previous owner of this house. Thinking about that got me really steamed for two reasons;

1. I know the previous owner of this house, and he’s a great guy.

2. The contractor completely fleeced the previous owner :-/

The pipe coming out of the ground is 1 1/4″. It went downhill from there. Connected to the black pipe coming from the ground a 1 1/4 barb/thread adapter, and held in (in part) by a worm clamp. Actually – two worm clamps. And guess what screwed into there? A 1 1/4″ thread/barb adapter! Shoved onto *that* with two worm clamps was another length of the black pipe, which went to a very sharp, and *iron* threaded elbow joint which had a 1 1/4 thread/barb bit attached to connect the pipe. Yes, more worm clamps. From there there was an enormous, old, and broken brass or iron valve, and then we see our first bit of actual PVC – a union going into the pump.

Everything in that last paragraph has been completely replaced with PVC.

From the pump to the multi-port valve, there’s a PVC elbow that’s still in tact, but it had a simple barbed adapter, to which was attached 1 1/2″ vinyl tubing…. with worm clamps. The vinyl tubing connected in the same exact manner on the multi-port valve side.

Everything above was replaced with PVC, and the connections to the valve and pump are now either threaded or glued – but not barb fittings, and there are no worm clamps.

The return line (from the multi-port valve back to the pool), was, if you can imagine, even worse. A barb stuck out of the multi-port valve, and attached to that was the 1 1/2″ vinyl tubing – using worm clamps. The tubing attached to another barbed fitting on the other side that was screwed into another enormous brass or iron valve that was so broken it was not ever used. The valve actually sat on a milk crate, and I never really had any reason (or time) to consider why this is: it’s because instead of the valve being attached to some kind of rigid pipe with an elbow, it just sat on a milk crate and was connected to the ground pipe using….. vacuum hose.

Yes, that vacuum hose. If you had a pool growing up, you might’ve swung lengths of this stuff around over your head to hear the noise it would make. Or you might’ve tied up your little brother with it. The point is, it’s a toy. It’s not meant for this kind of application. It’s the wrong size, but of course, worm clamps to the rescue!

I know this is all kinda hard to believe, so I took a few pics of the “before” version of the plumbing during the takedown/troubleshooting phase of my project.


So above, Note that big valve – that’s coming from the pool into the pump. See all that black electrical tape? Yeah – that’s bad to see in a plumbing design. There was also some shrink wrap stuff on parts of the pipe that are under this table. You can also see here the infamous milk crate :-/


Here’s the other half – vinyl tubing, barbs and worm clamps. Oh my! In its defense, it sorta worked, and had the nice side effect of being able to see the water moving through the tubing. I guess that’s cool. Of course, my pump has a clear lid so you can see what’s going on, and there’s that nifty pressure gauge on the multi-port valve so….


This is a shot of my ‘testing’ setup. It’s a closed loop – the water comes from the bucket, up the hose on the left to the pump, and out of the pump back into the bucket. This worked wonderfully and allowed me to prove to myself that I didn’t need a new $x000 pump 😉

The funnier part here is that you can now see clearly in the background that the return valve is connected (with a worm clamp!) to the black and white vacuum hose! 😛

I told you all of that so I could tell you this

Nobody ever questioned this monstrosity of a setup. Somebody came in and set this up, and somebody else paid for it, and was happy to not have to think about it. It was clearly shoved together with whatever parts the guy had lying around. And “shoved” is really the perfect word here. The bottom line is that this was a fiasco. An adventure. It was not taken seriously at all. I’m starting to see things like this more and more in both my professional and non-professional work. People don’t take the work they do seriously. They don’t think much about their work. They’re here today, gone tomorrow, and they’ll get paid on Friday, and that’s all that matters.

This whole plumbing system is just that – a system. Systems require thought. A well-functioning system is almost always the result of some amount of thought and design and perhaps (gasp!) discussion. Just because they’re locked away in a place nobody ever goes doesn’t mean they’re not important. In fact, most things that are put out of the way are put there specifically because they *are* important.

If you build systems, please take the building of those systems seriously. If you’re inheriting or coming into an existing system, or managing the building of a system, question it. Question everything. Ask why. Ask what the alternative solutions are. Ask what is compromised by doing it one way as opposed to another. Ask was is commonly done in your scenario and why. Be curious and skeptical. Look for red flags. Should $.10 tin worm clamps be used in a plumbing system? Won’t they rust to the point where they are unusable? Certainly this can’t be the optimal solution? What are some alternatives? Odd – I’ve never seen vacuum hose used in that way, can’t we use something else?

I know this is goofy, but this is how my brain works: every single thing you can learn is likely to be analogous to either a) something you already know or b) something you can more readily wrap your brain around. The good thing about that is that it means you can pretty much learn every single thing 😉

In this case, my pool plumbing system is analogous to a computing system infrastructure, inasmuch as both are systems, made up of many and varied components – and each component represents a decision that must be made, and a potential source of a future problem. Does the component fit? Is it made fo this application? Does it integrate well into the rest of the system? I could be asking those questions of almost any component of almost any system whether it moves bits or water.

Well, enough rambling for one night. There was a message in that somewhere, but it’s late, and I’ve been working with PVC all day. 😉

September 7, 2007

New Job!

Filed under: Linux,Me stuff,Python,Scripting,Sysadmin,Technology — m0j0 @ 7:32 am

I started a new job about 6 weeks ago. I’m now doing infrastructure architecture at

GFDL stands for Geophysical Fluid Dynamics Lab. It’s a NOAA site that supports atmospheric and climatology research. So in other words, the work I do supports research into things ranging from global warming to what the atmosphere on Mars is like to the weather here on Earth to simulations of the shape and movement of Katrina. I think of it as sort of an Institute for Advanced Study devoted to climatology research. Great minds in the field are here.

The research actually takes place at three different sites, DC, Boulder and Princeton, and affiliations with academic institutions flourish as well. In fact, I knew at least 4 people who worked here because of interactions between this site and, my former employer.

My job, as it’s been described to me, is to provide a vision as to the design and direction of the infrastructure which supports the rather enormous high performance compute (HPC) cluster. This involves something of a learning curve to understand what’s here, how the systems are used, what the needs are, what people like and hate, where the redundancies and inefficiencies exist, etc. It also involves having meetings and coordinating with people who manage the network, the facilities (power & cooling, etc), the security policy, etc. I’ll be grilled on my ideas, and create prototypes and demos to get my ideas across. Lots of communication.

An aspect of my job will also involve getting my hands on the HPC clusters themselves as well, which are also at each site. All of the clusters are on last time I looked. Just go through the pages and search for GFDL and/or NOAA.

The systems here are all Linux. Even the standard-issue workstations are running Linux.  Scripting is done in Perl and shell, but Python is everywhere, so I’ll be doing either Perl or Python if I have the choice (because “shell” == “csh” here, which I never took well too, honestly). Some aspects of the environment are pretty fascinating. For example, how exactly do you store (*and* easily retrieve, on the fly) 9 PETABYTES of data? How do you back that up? How do you recover from hiccups? How do you instrument systems consisting of thousands of CPUs,  to pinpoint problems and get them fixed? And, by the way, how’s the best way to tune a system’s network stack to use a 50MBps pipe (that’s Mega *bytes*) efficiently enough to move multiple terabytes of data every day between collaborators at different sites? How, exactly, do you consolidate services and provide failover across geographically dispersed sites?

So that’s it for now 🙂  It’s too early to tell how things are going, really. It’s certainly not the cushy environment that Princeton U. was, but there are bigger challenges and problems to be solved here, and that’s the part I’m looking forward to.

August 17, 2007


Filed under: Me stuff — m0j0 @ 4:28 pm

I relinquished control of my house to my friend and neighbors for the coming week, and I’ll be in Martha’s Vineyard until August 27th with my wife and daughter, along with my mother- and father-in-law, sis-in-law, and her fiancee. We have lots of activities planned, including tuna fishing (if they’re running).

So, if you don’t see me on IRC, or I don’t reply to your email, or I don’t show up to a meeting, or whatever, that’s why 🙂

August 15, 2007

My Gatorade Attacked Me And All I Got Was… the thirst quenching of a lifetime?

Filed under: Me stuff — m0j0 @ 10:25 pm

I just want to ask the folks who do the marketing for Gatorade to stop coming up with beverage names that border on being downright threatening.

No, really.

I went into the refrigerator to look for something to drink just now, and way in the back I noticed a bottle of something I’d never seen before. I was pretty sure I didn’t want it, because it was blueish purple, and I’m not aware of anything that color that I’d want to ingest, but I wanted to know what it was, anyway. I noticed it had a Gatorade logo on it, and so I figured maybe it wouldn’t be so bad, because nothing Gatorade makes is anything like a normal color, and some of it isn’t bad. But then I saw the name of this stuff:

“Fierce Grape”

Now, for my money, I say give me some peppy grape, or maybe something a little stronger like “heavy grape” or something. If I’m feeling spry I might go so far as “aggressive grape”. But even there, there are still a whole bunch of levels of grape you have to pass through before you get into the same ballpark as the grape that is called “Fierce Grape”. You leap straight past even “intimidating grape”, and even that is too rich for my blood. Certainly no human would consider introducing one’s innards to something more grapy than that, would they?

There’s just no real need for my grape to be fierce. What kind of person needs their grape to be fierce I wonder? Have people gotten so aggressively competitive in every aspect of their lives that now even their beverage of choice has to be somehow more kickass than everyone else’s?

Well, I’m now relaxing with a Poland Spring, and I’m staying away from the dangerous-looking drink in the back of the fridge with the chip on its shoulder.

July 12, 2007

My first interview

Filed under: Me stuff — m0j0 @ 6:42 am

I was interviewed by Tony Mobily of Free Software Magazine! You can see the interview here.

Also, if you’re tired of Slashdot and Digg, Tony also works on Free Software Daily.

July 3, 2007

Python Magazine Lives

Filed under: Big Ideas,Me stuff,Python,Scripting,Technology — m0j0 @ 10:58 pm

I have a confession to make: For the past 6 weeks, I’ve been leading a secret double life. By day, I’m a mild mannered system/network/database admin in academia. I also write some PHP, Perl, and Python code. By night, however, I’m an author and editor. My latest project is bigger than most. In fact, it’s an entire magazine. Devoted to Python.

I am the Editor in Chief of the newly launched Python Magazine.

Why on Earth Are You Doing This?

Python Magazine was created as a result of some rather unfortunate events in my own early experiences with Python. Getting started, of course, couldn’t be easier. It was what happened after I had been coding for a while that I had issues with. Once you needed to do something a little out of the ordinary with the language, it was hard to feel confident that the way I was going was the right way.

For example, I decided to wrap up a bunch of SQL calls in Python and expose them as an API using Python’s built in SimpleXMLRPCServer. I thought this was great, because then I could maintain a single back end API, and any language that could make an xmlrpc call could use it without me having to maintain APIs in several languages. Nice in theory, but people smarter than I questioned my decision to use the built in SimpleXMLRPCServer. The right road to take, though, was completely unclear.

As another example, I needed to get up to speed on using the python-ldap module, but found that a lot of the documentation lacked anything but the most basic of features, but I was trying to write a full-fledged LDAP management API (and accompanying command line and GUI tools). Other articles I found were outdated enough that people warned me not to bother with them, pointing to glaring issues with the code samples (which turned out to be true – some of what was in the code samples turned out to be completely deprecated!).

When I wanted to write code against a PostgreSQL server, the correct module to use was also not immediately obvious, so I had to hunt down the sites of various modules, see which ones were maintained, search for articles that weren’t 5 years old on how to use them… Gah!

What I really wanted was a resource that fed me information in a way that my brain likes to feed on information. I really wanted to learn to do things with Python the way I learned to do things with Linux, Solaris, PHP, and even non-technical things like photography, billiards, and brewing beer. I wanted a magazine.

There was no magazine. I was bummed.

How did you finagle this one, jonesy?

I have a friend named Marco Tabini. He’s a publisher. He runs Marco Tabini Associates in Toronto. He is the publisher of php|architect Magazine. He’s also a total geek. For fun he does things like writing lexical parsers… in PHP. Nobody should ever do that. He thinks it’s fun. I say pass on that if you are given the chance.

Marco and I met via email. I wrote to tell him that I had received my first issue of php|architect, and would not recommend it to a friend. I had found something like 15 errors (typos and grammatical issues) in the first two pages of the magazine. Marco wrote back and said “hey, we’re a small outfit. We’re an Italian immigrant and an Iranian immigrant, living in Canada, trying to edit technical articles written by people from all over the world with varying levels of experience with English… all for a largely American audience. Come help us out!” So I did.

Shortly thereafter I became Editor in Chief of php|architect. Now there were three of us. Oh joyous day.

Those were great times, and the magazine has since spawned its own online and on-site training, its own line of books, its own series of conferences, and even a cruise! It probably has stuff I don’t even know about because I haven’t worked directly for that particular publication since 2004.

The success of that magazine gave me the courage to go to Marco about 6 weeks ago and ask about letting me head up another magazine, this time about a topic of *my* choosing. We chatted on IRC for several hours over the course of about a week, bought a couple of domain names, settled on budgets and team members and all that, and set out to make Python Magazine a reality.

So… How’s it going?

Things are *REALLY* rolling now. There are columnists, there are tech editors, there are authors. Articles have been commissioned. Logos and trademarks are in place. The design team is rocking, the contract team is rolling, and the emails are flying. In the background, the sound of constant typewriter activity can be heard, just like on those old newscasts from the old Cronkite days. Exciting times!

That said, we still need LOTS of content. The behind-the-scenes of a magazine is that you’d really like to have something like 4 months worth of content “in the can” before “Volume 1 Issue 1” is released. I’m convinced that this has never happened in the history of publishing, but it’s a great goal to have, and I’d be pleased as punch to be the first person ever to achieve it 😉

If you’re a writer who is doing or has done something interesting with Python, or can illustrate high level concepts from the fields of computer science, research computing, or IT, using Python, we’d love to hear your thoughts!

Import This

In the end, I hope I can be a good steward to the language and community. I’ve already been in touch with a lot of wonderful people – authors and others – who’ve helped out in some way, either with the magazine, with my own buggy Python code, or both. That’s all the news that’s fit to print for now, but keep an eye here and on the Python Magazine website for more updates as they happen.

Oh yeah – and if you subscribe now, you get a discount, and a chance to win a MacBook!

Technorati Tags: , , , , , , , , , , ,

Social Bookmarks:

June 13, 2007

Winner of the first fortnightly No Bueno(tm) Award:

Filed under: Me stuff,Technology — m0j0 @ 7:29 am

I occasionally make up words. I haven’t ever blogged them. I think the last one I made up was “Frauthentic” – a mix of “fraudulent” and “authenticity”. I use that term to describe things that come out of places like Pottery Barn that are supposed to look aged, vintage, distressed… you know. Like they come from “a simpler time” or something. Meanwhile, that espresso-stained box is made from about $3 worth of pine that was probably beaten with chains by a person who lives in a rain forest and is paid with wampum or worm larvae or something. Ah yes. $500 well spent, eh?

I recently made up another word. The word is “Navistration”. It is used to describe the feeling I get when I use’s web site to manage my photos. While is often applauded for it’s Web 2.0 shininess, it has also completely failed to evolve and fix glaring, blatant problems with its navigation.

If someone from reads this, here is really the main rule that seems to be broken on every page of

Navigational, informational, or text-entry items that are of use to the end user but fail to appear until they hover their mouse over them is No Bueno(tm).

How did you decide where to draw that line? Is there some magical concept like hierarchically-prioritized navigational items or something that my mom is supposed to understand and apply selectively when she visits If that’s good navigation, then let’s just go all the way and show nothing on the page but the photo, and I’ll just wave my mouse across the page to find whatever else I might need.

Want an example? Ok. If I click on a picture of mine, I’m taken to the photo’s page. Looking at the page, I have no idea how I can add a description. I can add a note using a very easy-to-use (mainly because it’s VISIBLE) button above the image, but for some reason I can’t seem to add a description.

Ah! But if I hover my mouse in just the right place – there we go! Hover, click, and type. Great! Er. Or not. That’s actually pretty sucky. I shouldn’t have to perform magical incantations with my mouse to find the tools I need.

In some cases, like the picture’s title, there’s actually something there – it’s just not clear that you can do anything with it until you hover. This also sucks really badly. Just put text boxes there or something. I know it’s not as pretty, but being pretty is only part of your job. The other part (arguably the most important) is to be USEFUL.

And don’t think these are the only gripes people have – there are plenty more. For example, how do I un-join a group? There’s plenty to pick on, and that’s why is the winner of the first fortnightly No Bueno(tm) Award.

As it stands right now, is only useful because I can’t easily import everything I’ve done in into another photo management site that is any better. If someone knows how to do this (and a better photo management site to use), that *doesn’t* involve me writing code or hosting the service myself, let me know.

Next Page »

Blog at