Older blog entries for northrup (starting at number 17)

I survived the layoffs at Loudcloud. I'm hoping this is an indication that I'm a valuable member of the team and they want to keep me around because of my great contributions. However, it's always possible that they kept me around because it's always nice to have someone around who you can say "Gee, I'm glad I'm not in his shoes!"

Ruby coding goes well. It is so nice to have a language where I don't have to jump through hoops to get things done. I had thought Perl was the best thing since sliced bread, but (to quote an acquaintance of mine) "My head has stopped hurting." Being able to use objects to get rid of iterators (to a very large extent) and just using code blocks wherever I need to is an incredibly cool thing. Perhaps I just didn't know what OOP was until now, but if this is it, I'm sold. You had me from myArray.each {|x| do_some_cool_stuff_with(x)}. Using end instead of braces to denote code blocks is a little wierd at first, but I've gotten used to it pretty quickly.

I made the analogy the other day to my co-workers that doing a new project in a new programming language is like writing a dissertation on a topic you don't know in a foreign language you don't really know. Not only are you struggling with figuring out what you want to do with the project, but you're also having problems expressing yourself to the compiler/interpreter in the new syntax.

That was a lead in to the fact that my irritation with python has reached its breaking point. I originally started using python because it was billed as an "Object Oriented Programming Language". After reading through the first seven chapters of ORA's Learning Python, it looks to me like python is simply a procedural language with some objects bolted on. Most of the examples from the first chapters were procedural statements with only passing lip service to actually using objects. Classes aren't introduced until chapter 8 and, when they are presented they're presented in a ship-shot manner with little practical application. If I wanted no practical application for my code, there are a thousand OOP books out there to tell me how to create a generic Shape object and subclass a Square, Circle and Triangle from that, then override the Shape.compute_area() method in Square, Circle and Triangle to calculate the area appropriate for each. Is it too fucking much to ask for a reasonable example to use for coding!?!?!

Well, apparently not. The Practical Programmers in their Ruby book A) use a concrete example (that of coding a jukebox) for their discussions and B) talk about and show objects from the first chapter. Perhaps I'll give python another chance a little later, but for now, I think I'll use ruby to make my new project. The documentation is clearer and the pureness of the Object Orientation is much more appealing.

3 Apr 2001 (updated 21 Apr 2001 at 00:16 UTC) »

I'm simultaneously reading Learning Python, Programming Ruby and Java in a Nutshell (though it's the first edition, not the third, but that's the only link I could find on their site. . . *sigh*). I'm in a sort of OOP Boot Camp. I've got folks at work telling me that Python is pretty cool, friends saying that Java is the one true way and a little voice in the back of my head that tells me "Ruby, it's the Perl of the new millenium."

I'm not a big fan of typed languages. . . This and garbage collection are the major reasons I use perl instead of C. Variables and functions being sprung to life fully formed from the head of Zeus is much easier for me than having to predeclare var types, function params and return values. . . If it's important enough and not patently obvious from the name sort_by_name that it's going to take an array of hashes (which all have a name key) and return an array of hashes all sorted by the name, then I'll put a nice comment above the code to spell this out for whoever happens to want to re-use my code after me. Besides, I've always thought making things easier for the user is what computers were supposed to do. From an aesthetic perspective, I don't like a language or compiler making me do work it should be able to do. Java annoys me because of this.

Python is nice, but has some irritants to it as well (all variables are class variables, not instance variables, unless declared inside a method. . . what's up with that!?!?!? I realise I can get around this with an __init__ method, but why do I need that?) I guess it just doesn't do things in the way I think it should (which isn't necessarily a bad thing if it does it better, but from what I see right now, it just does it differently). Oh well.

Ruby just seems right at the moment. The only bad thing about it is . . . it's new and is fewer places than Python. There isn't the wealth of software examples out there that there are for Java and Python (though I believe that will change).

Who will win. Who's language will reign supreme!?!?!?

The bad thing about taking the train into work is, while I have lots of time to read, I don't have a laptop so that I can actually use the time creatively (programming, writing, editing, etc). Pen and paper are somewhat useful, but it's not so good on the really bumpy parts of the tracks (which there are quire a few stretches of). Oh well.

So things finally blew up between me and PHB. The net result being I don't have to deal with her, but I had to find another place to work. Suits me. Things are better off this way.

In the meantime, I've been working on some movies. They're short right now, but I'm working on my Premiere skills to prepare for the time when I get a real video editing machine.

Anyway, back to reading proprietary and confidential information at my new company. . . I'm not a big fan of IP nazis, but at least these guys give me free snacks and soda :-)

It's always wierd getting calls from companies trying to woo you at your current company. There's that sense of at ease with taking up time that you're being paid for to talk to another person who is trying to get you to leave where you are. It seems dishonest in a way. I guess I could put down on my time tracking chart "Talking with recruiter - 30 mins", "Lunch interview at Company X - 1.5 hrs". Don't know if that would do more harm than good in my attempt to make my current working environment more amicable. It's so hard to make change in an environment with a passive agressive boss and a PHB. *sigh*

This job wasn't supposed to be this way. I was supposed to have fun, improve my unix-fu, master some new schools and be with friends all the while. It turns out that a) working for friends has inherent downsides and b) my immediate boss isn't who I thought they were going to be. . . at least I've learned that more information is always better and that it's worth waiting for the new info before making the rash decision to move across the country.

I've been back in California for a while. Got back on the 15th of Sept. Living in Gilroy sucks and doesn't. The commute blows dead donkey dicks. However, the town itself is reasonable, has stores close to the apartment for Jeannie (an important thing until we get her a car) and has a good pediatrician for Valen.

One saving grace for me is being able to find a good comics shop in Campbell to make up for the complete lack of a shop in Gilroy (serious oversight. . . dozens of antique shops, no comic shops. . . *sigh*)

I've been starting to do a lot of sysadmin stuff here (as opposed to visiting customer sites). It's annoying when customers aren't prepared and don't have their (gear|expertise|software|shit) ready and prepared for us to come in, install our software and test. Having to go back multiple times is a little annoying. Having a call scheduled for a day and having it pushed is more annoying. When I have to start driving in my car (as opposed to taking Caltrain) so I can go to customer sites and this sort of thing starts to happen, I can forsee me becoming filled with hate.

Caltrain is nice. I enjoy being able to work on my laptop while I'm riding in. Gives me an extra two hours or so to work on personal stuff without taking away from company time. I wish the office were closer to Tamien, though. As it is, it's about 5 miles away which is a pretty stiff bike ride (especially for someone so out of shape as myself . . . and yes, I know that riding 10 miles a day would get me back into shape, but it would also make me have to take multiple showers a day and I would have to find a place at work to be able to take a shower which doesn't seem bloody likely given our current building situation). I'm thinking about getting some sort of two-wheeled motorized conveyance and haven't settled on whether it will be a motorcycle, scooter or somewhere in between. I guess I'll make the decision when I've got more funds at my disposal with which to adequately purchase such a vehicle (or at least to bargain down by saying "I've got cash right now for $XXXX").

I'm going to go to a gaming convention this weekend. I'm hoping to hook up with some folks to play 7th Sea with as well as exercise some of my B5CCG decks.

So I went by MindLink today. It's a good thing I got all my mp3 files off of test2 last night. Otherwise, I'd be trying to figure out a way to get them from my Windows box through the Integratus firewall. It turns out that one of the brightest guys in the web hosting group left yesterday. It was amusing to find out that the acquisition of OneMain.com was being ammended so that the acquisition won't go through if Earthlink's stock goes below $8/share (something which looks pretty damned likely at the moment). My decision to leave is looking better and better each day.

Now, they've lost one more of their really good admins, but at least they have an administrative assistant. That's right, they can't hire sysadmins, but at least the ones still left have an assistant. *sigh* Anyway, I was able to get the last of my files off test2 before Chris moved into my old cube and turned it off. Someone finally noticed the box lying under the desk of a recently departed employee. Not that I should complain, it was handy to have a backup copy of my files until I could move them all over to Integratus.

I finally got an HA web server pair setup in my guest bedroom (because you never know when they'll come in handy :-). Now that I've got a handle on the UHA software, it's time to start learning Veritas File System and Volume Manager. The fun never stops!

Valen's been a little sick recently. His temperature has been between 101 and 102.5 for most of the day. I read some of the baby books we have and they say it's normal for a child who's teething to have a temperature. However, it's unsettling to have him running a temperatur so high that it would have fried my brains had it gone on for this long for me. We're trying water soaked wash rags and turning down the thermostat to see if that helps. The bad thing is he really wants to cuddle right now and I hate to see him cry, but I know that if I hold on to him for very long it will raise his temperature.

I've built my home network to the point where I can start doing practical HA testing. I was shocked when I found out how much CAT-5 TP cables actually were. 14 feet for $25!!! That's highway robbery! I should have taken this as an opportunity to spend some money down at Graybar, but didn't feel like spending more time away from home than I had to considering how Valen was feeling and how nervous Jeannie was.

I haven't had much time to think about the package management stuff I'd been mulling over just after Usenix. I'd start working on it, but don't want to erase Linux from the laptop I have to install FreeBSD on it to have a machine I can do package work on anywhere I go. I guess I'll just have to keep working on fixing the bugs in my search engine. At least I'll have something to keep me occupied and to help me stop thinking about how bad Valen feels.

Back in Atlanta. I stepped off the plane from CA and realised a) how cool the weather had been in San Jose and b) how hot and humid the weather is in Atlanta. It's amazing how your tolerance for warm weather melts away so quickly when you're somewhere nice.

I finally got a nice set of speakers for my home system. It's amazing the difference having a subwoofer makes. Also replaced my DSL Router and picked up a few things for what is becoming my home office. I'll be in ATL for the next 6 weeks doing telecommuting back to SJC and learning the software I'll soon be installing at customer sites (Veritas stuff and our HA product). Mike, the only company employee with less tenure than me, is setting up a couple of Sun boxes back at the office for me to play around on and learn the Veritas stuff. I'm in the process of setting up a couple of Linux boxes to play around with our UHA stuff.

Working from home is better and worse than I thought it would be. It's nice to have a quick commute (30 seconds from finishing getting dressed to sitting at the office), but it's easier to get distracted by the wife or my son. It's difficult for me to say "I'm working, please go away" without sounding like an ass. I'm getting a little better at it as well as getting better at working with the distraction of a wife or son talking in the background.

I'm lucky my son is easily distracted by extra power cords and old mice. He likes them almost to the exclusion of other, proper baby toys. Perhaps the geek genes are getting expressed early.

Now, time to read some documentation, install some Red Hat and set up some HA web servers.

8 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!