November 30, 2006

For the last N months (let’s call that number 12 or so) I’ve been kind of in and out of productivity. A lot of that is b/c half of my day job is keeping me from doing the other half of my day job. It keeps me away from interacting with the open-source-y part of my day job as much and it frustrates me to no end. A lot of things frustrate me about that half of my day job. When I took this job what I didn’t want to have happen is that I go off into oit-land and am never heard from again. That is almost exactly what has happened. I think I know of some ways of weasling out of that problem but it’ll take me some time to invent ways of tying things back to campus.

Additionally, I’ve been making a lot of changes in what I do after and away from work. Some of these are for the better for me, personally, others are a little of better and worse. I’ve picked up what could only be described as hobbies and I’m focused on things away from just the freesoftware world. And while I’m still working a not-sane amount of hours a fair bit I’m also learning about areas outside of my work field. In the last year or so I’ve learned a lot of about pens, bicycling, gardening, resource consumption and depletion, climate-change and I’ve learned a lot about where I like traveling and an enormous amount about where I currently live. All of these things take some time away from when I would have, in the past, been working on free-software related things.

Changes I’m thinking of making:

I think I’m going to go back to my old system of dividing my time up between the pieces of my job. Monday and Wednesday will be linux@duke/yum/etc specific. Tues, Thurs will be oit-specific. Then Friday will be ‘whatever else’. Now the fun part is figuring out how to make that work with my current meeting schedule which is, right now, taking up an average of 10 hours of week.

I’m also going to start working on putting together some collections of systems-maintenance/change-mgmt scripts we’ve written over the years into an easily-managed set. Mostly so they can be hung together in a scm repo but also b/c it’ll give me an excuse to talk more to the sysadmins in the departments and schools at duke and get away from doing everything solely at oit.

Finally, I’m going to try to post more entries here. Migrating everything over made me realize two things:

November 29, 2006

Took some time tonight and hunted around for blog software. Then I just said ‘screw it’ and opened an account on wordpress.com. That way someone else can muck with the software side of running it while I can simply be a user of it. I know, it doesn’t sound like me but I don’t feel like chasing versions of wordpress all the time and it’s all running on open source software so I don’t feel any constriction in using it. Now, if we just had an open source flickr I’d be quite pleased with the world.

So I’ve taken some pains to make sure that old links from google to old pages still work and I’ll probably be working on making the domain show up more nicely than skvidal.wordpress.com but in the meantime it is easy to work with so, yay!

November 29, 2006

November 21, 2006

I’m confused. I’ve got a client connection to a server/service at work where I think I’ve found a bug and the response by the vendor is just baffling.

I’m using the vendor’s python module to connect to the daemon that’s listening on a tcp port. I connect, grab some data based on some input, then disconnect. It’s pretty simple. Now, I decided to play around a little bit and I was testing some of the input validation I was doing and I ended up throwing about 1000 consecutive connections at the daemon. So, I was looping in a: connect-read-disconnect process about 1000 times. (essentially, I had a script which did a single connection and I used a shell loop to run the command over a big set of things from a text file). Now, at this point I start seeing odd behavior. Sometimes the daemon locks up and won’t respond at all and I then need to log into the machine and cleanup some garbage and restart the daemon. Sometimes it just hangs up entirely and I have to recreate the data it’s reading the info from on the backend. It’s just goofy.

So, I contact the vendor, tell them what my script was doing, which they said is fine, then tell them about the loop I was running it in when I did it. At this point, they get fairly snarky and start telling me that the fault is in my loop. That I’m a bad programmer for not opening the connection and keeping it open. I’m happy to acknowledge that I’m not a very good programmer but, that I was just messing about, not really going for the most efficient mechanism. They become abrupt and make it clear that they feel that clients making lots of short, serial connections to their daemon are a bug in the client code/use and not in their daemon.

Now, I’ve read bugtraq enough to know that if I can knock over a daemon from a client and make it so other clients can’t use it that that is a Denial of Service attack. So, I’m curious, does this seem like a client code/use bug to anyone else or is just me who thinks the vendor should be responsible for making their daemon more robust/reliable? Drop me an email if you have a comment. Thanks.

November 20, 2006

I talked to a friend of mine on Saturday about the open sourcing of java. He was a bit disappointed that it was not BSD licensed instead of GPL’d. He and I have had this discussion before. He seems to think BSD is ‘more free’ than the GPL. I realized this time, though, in talking to him that I’m not all that interested in the freedom aspects of the GPL. I’m more interested in the sustainability of the GPL. It seems to me that with BSD licensed code you end up with the potential for all the interested parties to run off behind their respective Intellectual property barriers and never be heard from again. Whereas with GPL’d code there’s a better chance the code they develop will come back out if they decide to sell the binaries to a customer.

I think of the GPL like seed saving. You grow something and at the end of the season you make sure to preserve some of the seeds from your plants so you can grow more things for the next season. The BSD license seems to lose out there. It reminds me of those plants from ADM or Montsantos(sp?) that are incapable of being used to grow any other of themselves.

So, just like with plants it is a good idea to back the ideas that are the most sustainable.