Older blog entries for cwinters (starting at number 32)

Yesterday was my last day at intes.net, and while things are not entirely finished, it was a good stopping point. Christian was here over the last week and we worked on documentation for OpenInteract and fixed a few bugs. The installer is (IMO) kick-ass right now -- 10 minutes after downloading OpenInteract, you can install it (normal Perl stuff), create a base installation, create a website, configure the website, import all the initial data and templates, setup the Apache virtual hosts and have a fully functioning website! (Well, for first-time users it might take a little longer :)

Still, I did this for the guys at intes.net and everything worked just like it was supposed to work. Very cool. They're building a new web application development team centered around this and other work, and I think they can make it work. The company is also skewing much younger now, which is kind of funny. The last four or five people hired have all been around 20 - 23. Makes the company's founders look like geezers...

We settled once and for all that the core OpenInteract framework will be Artistic/GPL -- our sister company raised some concerns (legal and otherwise), but we settled them. So I can still work on this thing. But it's at a point now where other folks can take it and run in new directions. Nice feeling.

So, new job starts on Monday. I should have left at least a couple days breathing room between the two...

I can spill the beans now: like many other folks on here, I'm onto a new job. This was an extremely difficult decision, since I was one of the founders of the company I'm leaving. But working at home, by myself, all the time, proved too much to bear in many ways.

Concidentally, with the recent notes on here from graydon about taking things easier (on ourselves, the earth, etc.), one of my primary motivations is taking things easier. For me, working at home really taxed my ability to separate the work and non-work areas of my life, and the balance between the two (never right to begin with) got seriously out of whack. It got so that I felt guilty doing something (even nothing) for myself -- just watching TV or going out camping for a weekend or whatever. This is no state to be in, particularly for someone who just got married.

I recognize that I work in an industry -- programming, web development -- that relies on people enjoying their jobs and not putting up much of a fuss over working 50-60-70 hour weeks on a regular basis. Occasionally, this is unavoidable, but IMO it shouldn't be the norm. Work should be a means to an end, not the end. IME Europeans seem to have a better attitude about this than Americans do, but that's neither here nor there.

Of course, another huge motivation for taking this job is working closely with other technical people. I recently learned what it's like to work closely with someone over an extended period of time, and I don't know that I can ever go back. Even if your comrades aren't at the same level as you, having someone around to interact with raises everything to another level. (Plus might get lucky and enter into a teching relationship as either the mentor or the student.) This might be a failing on my part, this relying on face-to-face contact for certain things. But I'm not trying to generalize my experience to everyone else, either :)

That said, I'm interested to hear from people who work by themselves all the time how they deal with it, or if they even have anything to deal with. It might be that my previous experience working with someone was a fluke because he's an exceptional person, and that I'll hate working with people and want to go back to working at home in my sweatpants with only the cats to talk to. We'll see.

agntdrake: The perl module you're looking for is XML::Simple. Very (!) easy to translate from a hashref of whatever (arrays, hashrefs, scalars) to XML and back again. The only slightly annoying thing is that it represents almost everything as XML name keys (<key name1="val" name2="val2">) versus the way you describe. It's all valid XML, but one is easier (IMO) to hand-edit than the other, which is a legit concern when you're using it for configuration files.

Making a trip down to DC tomorrow to visit the home office. Should be... interesting. Enough for now, more later.

Added some cool functionality to the package management program. Christian thought it was lame (not his words) that whenever you exported a package (to a .tar.gz dist file) it took all the files in the package directory. He said, why don't you use a MANIFEST file (just like perl modules) and the ExtUtils stuff for it?

Sure enough, ExtUtils::Manifest does exactly that -- creates MANIFEST files, reads them in and does checks (files in MANIFEST not in the fs, files in the fs not in MANIFEST) for you to ensure everything matches up. It even copies all the files into a separate directory of your choosing, making it easy to use something like Archive::Tar to create a distribution file (even on Win32 machines). How cool is that?

I did find a little annoyance about the module but was hesitan tto send it to Perl demigod Andreas Koenig just because I figured he had already thought of it (being a demigod and all). I turned this over for a bit, not wanting to look foolish, and sent it anyway. One of the cool things about this community is that most people won't bite your ass off if you're trying to be helpful and do sufficient research and testing before bothering them. Even the demigods.

For today's excitement: the hard drive in the machine storing our CVS repository crashed. At first I didn't know what was wrong, the machine wasn't responding to cvs or ssh but it was sending back pings. I called up the office and asked someone to take a look at it. He called me back two minutes later and said, "Well, I have some bad news...", instantly giving me that bad feeling in the pit of your stomach that you have when you do a 'rm -rf' on something and realize that the prompt is taking way too long to return.

Fortunately, the partition with CVS was recoverable and we promptly put it on a machine with access to the backup system. That could have been a really painful lesson -- really dodged a bullet.

I feel so special: my very own CPAN id: CWINTERS. Yay! And as my first task, I uploaded SPOPS to CPAN. (OpenInteract might be a day or three, still some SQL issues to deal with, but the package management system is looking good.)

Yes, I know it's silly to get excited over this stuff, but I can't help it. Even more exciting is the idea that I can get good enough for publishing modules to be an everyday thing. If you'd have told me a couple years ago that I'd be sending something to CPAN I'd have told you to go smoke some more.

dhd: Let me know if you want help with moving into a new place in Pittsburgh. (Seriously!) It's a great place to live!

Funny node on perlmonks, a site that's rapidly addicting itself to me: Mortal Kombat

When people say they are (or provide) 'the plumbing of the internet', I'd like to be there when they have to take a plunger to the thing because someone's been putting their food down the drain and it's been backing up in the stationary tub in the basement.

Even thought it has a lot of generalizations, The Tipping Point is one of the best books I read in a while. I love cross-disciplinary stuff like this that's still accessible to us non-geniuses who don't read Gödel, Escher, Bach while they're on the can with just a few minutes to kill...

12 Oct 2000 (updated 12 Oct 2000 at 14:05 UTC) »

Couple of funny things:

First, from a recent TV Week distributed along with the Sunday newspaper to help you plan your TV watching experience days ahead of time. In the Q & A section:

Q: Are Bruce Dern and Bradford Dilman related? They have the same initials. - B.L.P., Myrtle Creek, Ore

A: Having the same initials is no indication of a relationship. Those two are unrelated.

This is, I think, admirable restraint on the part of A...

Second, from a recent (Oct 2) New Yorker humor piece by Christopher Buckley, writing a "retrospective" about the reasons why George W. Bush won the presidency. The last one is:

Bush's October Surprise charge that Gore, a Southerner, had owned slaves while he was a senator, though demonstrably untrue, forced Gore to go off message during the campaign's critical last days.

Thinking about the "though demonstrably untrue" aside is enough to send me into giggles.

On the technology side, having to work with NT is enough to send me into sustained grumpiness. (grumble grumble)

Worked in Germany all last week, really the first time I'd worked extensively with someone around my level technically. Great, great experience. On a basic level it's just closing the normal feedback loop for discussion, but it's much more than that. You establish a sort of shorthand about certain things so that discussions about them can be both very potent and very short. This might seem really basic and it's something that happens whenever you spend a good deal of time with someone, but I'd only really experienced this previously in a social setting or a non-technical work setting.

This has the unfortunate side-effect that I feel quite deprived now working at home by myself. The next few weeks are going to be a serious PITA.

I need to get a contract finished up in the next few days, but then I should be able to put some cool changes into both OpenInteract and SPOPS and really release them under the Artistic/GPL. (They're available now, but only if you know where to look. Don't do that just yet :)

Hopefully we'll be able to convince our managers that working together like this for a week at a time pays off handsomely in the quality (and quantity) of work done as well as for generating new ideas. Next time, he comes here though :)

jfs: Check out OpenLDAP for a open-source LDAP server. They recently put out v. 2.0 which (I believe) implements version 3 of the LDAP protocol. (Haven't had time to play with it recently -- previous versions worked great.)

The book Peopleware discusses the idea that there is no such thing as overtime. However many hours you work over some figure (around 40 hours, varying some per person) for a week you will eventually have a roughly equivalent amount of undertime. Undertime is not just sitting around doing nothing (although that counts too), but doing things like reading advogato and for every person who has posted a diary entry checking out their description, homepage, branching off into links from there, talking to people around the "watercooler", taking long lunches, coming to work later and leaving earlier, etc.

Some people have a hard time separating this from laziness, but too little undertime leads to burn-out time. Of course, those same people probably thing burn-out time is laziness too...

I staved off burn-out time (a little) by going camping with B and some of her family this weekend around Ohiopyle. Also saw Fallingwater, which was pretty amazing. The attention to detail was admirable, as were some of the solutions they devised to get around some of the difficulties resulting from integrating the building so closely with its surroundings.

For instance, in one area water leaked through a rock formation that was also inside the house. The first time it happened after a big rainstorm, the water ran down a hall and through the first floor before making its way down to the stream. Instead of trying to prevent the water from running at all (which would have been futile), they simply put a hole in the floor next to the rock inside the house so the water could drain -- they worked with the water rather than trying to force it into a desired behavior. Nice lesson.

How many people have accidentally typed in 'www.advogato.org/dairy/' instead of '/diary/'? Wouldn't it be funny if one day you saw a cow there instead of a 404?

Word has come down from the mount: OpenInteract (and SPOPS) shall be open source by Thursday (Sep 28). I'm not celebrating just yet (still haven't settled on a license, but leaning strongly toward Artistic/GPL for the core framework), but this is deeply rewarding.

I've still got a million things to do with it -- particularly in terms of efficiency, as we've been striving to make it right first and then efficient -- but at least other people will be looking at it. I'm a little leery of this and have to remember that people generally just want things to be better, that it's not personal. (A problem with working remotely for a small company is that you have little-to-no feedback on your actual work -- code -- just on the results of the work.)

It's also kinda funny (some would say ironic) because I leave on Thursday (Sep 28) for Germany. So I won't get to respond to email questions as quickly as I would like. So it goes.

The DBD::ASAny author sent me a new version of the driver that includes $sth->{TYPE} support -- woohoo! I ran some tests and all tests passed 'ok'. (It's very satisfying to type 'make test' and see that little 'ok' come back as many times as you ask it to do something.) He also modified the DBI->connect string so that it's more in line with other DBD drivers. I love this community.

It's taken longer than I thought (thanks largely to the efforts of my boss), but my work situation -- at home, alone, all the time -- is getting pretty old. I didn't think I'd miss people as much as I do, since I'm slightly introverted. But there it is. We'll see how it plays out.

23 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!