Older blog entries for gstein (starting at number 89)

Been doing mostly Apache and APR work lately... not as much SVN as I'd like. Also a bunch of time with the DeltaV group and spec. It is finally getting wrapped up, but as with all things: when you give people a hard deadline, a bunch of suggestions come out of the woodwork.
[ of course, that is also to be expected. people will always want a stable spec before spending time with it. they are discouraged to spend time reviewing if they know their changes won't matter in the end. ]

Anyways... getting back to SVN now. Grabbed all the latest changes and updated mod_dav_svn to my latest changes over in Apache/mod_dav. It builds, so I'm starting to work on activities now. It doesn't seem like it will be difficult since it is essentially just recording a table which maps activity URIs to SVN_FS transaction ids.

Tonite, I also quickly hacked together an svnadmin proggie to create SVN_FS repositories. It spits out files, but there is still a ton missing from the FS. I hope that people can use the cmdline tool to create repositories to experiment with while they finish coding the FS. It seems rather log-jammed right now.

Spent some time up in Seattle last week. Visiting XMLFund, as usual. We covered a bunch of ground on the current technology in one of the portfolio companies, where things are going, what kinds of companies XMLFund will focus on, etc. While in Seattle, I stayed with my good friend Kanchan, and got to visit a number of other friends. It is quite nice to be able to go back periodically to visit.

End of last week, this weekend, I've also been moving the list.org and webdav.org websites to new hardware at John Viega's house. Our friend, Hellmonger, who is hosting the sites right now is leaving his job at the ISP, so we kinda need to move them :-). list.org will stay at John's (it's his site anyways), but webdav.org will move onto some dedicated hardware and then colocated for excellent connectivity and uptime. The hardware and colocation are being donated; I'll post to dav-announce when it happens.

Blah blah blah... I think that is all for now.

Just got back from Chicago yesterday. We had a great Subversion meeting (myself, JimB, KarlF, BenCS). Spent a few days just grinding through SVN design, and came out with a number of resolutions. Goodness.

The meeting was also for the express purpose of learning about change sets. We had Phil McCoog from HP there to tell us all about the change set gospel. Very cool. Unfortunately, SVN can't truly do change sets right now, and a redesign to enable that is out of the question. But we can take some of the particular user-features of change sets and implement them on top of SVN.

For the most part, change sets are very good for the merge problem. If you have a number of lines of development, or branches, and then want to merge changes from the separate line back into the main (or vice-versa), then the change set design makes it quite simple. There are also some excellent benefits for defect tracking and for determining differences between revs A and B. We'll have the latter done quite well, and hooking in with defect tracking is a separate issue in my mind (although we have some excellent properties within SVN to enable external defect systems to do this quite well).

Got a PS2 finally, last Friday. Of course, that also kinda sucked. Here I get a box, then bolt out of town the next day. When's a guy to play with the thing? :-) ... of course, I spent mucho time tonite with it. The PS2 kicks some serious butt. I've been playing a lot of SSX (a snowboarding game from EA). Rocks...

Chicago this time of year was a lot better than I expected. Possibly, it was just lucky. But it was only cold while I was there. No serious wind, no rain, no (falling) snow. Plenty of snow and ice on the ground, of course. Weird, as I was just thru Chicago at the end of December.

Small world! In 1996, when my company was purchased by MSFT, I met an awesome programmer named Kanchan Mitra. Over the next few years, I also became very good friends with him (great guy!), and at some point in there I learned he went to Oberlin college. No biggy, just a little factoid in the back of my head. Kanch also bought my house when I left Washington to return to the Bay Area... that was awesome -- we signed papers, ate Thai food, and drank champagne. What house purchase/sale could be better than that? In any case, I'm hanging in Chicago talking with Ben (Collins-Sussman) and he mentions that Karl and Jim also went to Oberlin. I do a bit of computation in my head with all of their ages and think "damn... they were probably there at the same time!" The next evening, I ask Karl whether he knows Kanch. Damn straight, he knows him. Ask Jim the next day, yup. (of course, Oberlin only has a few hundred people, but I don't know that at this point) But damn... they all know each other, and Karl/Jim both have a high regard for Kanch. Of course, Jim is upset that Kanch is at MSFT rather than contributing his talent to the OSS world, but hey... so it goes. ... Here I am working with the SVN guys for nearly nine months, and they know one of my best friends from the Seattle area.

Damn small world.

Coding-wise, I haven't got much done over the past couple weeks. The bulk of my efforts have been towards email discussions on the DeltaV design list and the (related) Subversion design. The big issues were atomic checkin and merging of activities, baselines, how to do copies into a working collection, linked version histories, etc.

Sigh. It's been a hell of a lot of email discussion. Not much time for real coding. Much of it is wrapping up, though, and the DeltaV spec is moving into last call. The mapping to Subversion is stabilizing, so the next few weeks will be the coding towards the second milestone.

On the home front, we went to Cleveland for the holidays. It was quite cool... a white Christmas. Left Cleveland and made it back to California before the big ol' blizzard smacked the east coast. Had some minor delays in Chicago, but not bad.

Cool part: got a whole bundle of Dragonball Z DVDs. Watching them right now, actually :-) Also got some books and some CDs. Fun stuff!

Gonna toodle off to Chicago on the 13th. Gonna hang with the other Subversion folks, and do some fun design work.

Had a party over the weekend. Didn't turn out too badly, but we just aren't seeing the same kind of attendence here as when we lived in Washington. I think it is my hypothetical "20 minute driving rule." If somebody has to drive more than 20 minutes to get somewhere (e.g. to your house), then they'll tend to punt. In Seattle, most people were within that, or close to. Here in the Bay Area, it can be a full-on hour just to get back/forth to SanFran from Palo Alto. So... we don't get SF people. [and yes: the reverse is true... we don't get up to SF all that much; but then again, our SF friends don't have a lot of parties. oy]

So... back to working on SVN. Adding tidbits, refining, etc the client side of the connection. Getting the "checkout" behavior working better -- fetching the right bits and dropping then into the WC. I've also been spending some time working on getting the "commit" operation in order. That actually doesn't seem to hard. The "update" stuff is going to be a bit of a bitch, though. There is a custom WebDAV REPORT to support that.

When the FS settles down a bit, then I'll go back in there and bring mod_dav_svn up to working order.

Well, all the APR(UTIL) stuff is finally settled down, and we released Apache 2.0a9 today. It's got the new directory structure and the additional APRUTIL dependency. It's time to get back to SVN coding and let the other stuff just lie around for a while.

Had a good weekend down in Palm Springs at the wedding. Not a whole lot to report there: some drinking, some eating, some bridge playing, and lots of great time with old friends. Just can't beat it.

Finished the setup of aprutil the other day. At the same time, the Apache CVS repository was revamped. With two big reorganizations, we've been spending the week getting things put back together the Right Way(tm). I think it has gone quite well, and we've got a much better structure as a result.

There have been a number of issues with the new aprutil library and some of its interaction when included in Apache, and how it references APR, and its layout and build system, etc. A good portion of this week has been working through those issues.

We have an Apache release on Monday/Tuesday next week, so there are some straggler issues with the new layout and APR (UTIL) to try and wrap up by then.

For people who haven't really taken a look at APR, it is similar in purpose to NSPR. Both libraries abstract a lot of platform-specific functionality so that you can write portable applications. Apache 2.0 uses APR as its portability layer, and much of APR's code came out of Apache's long history of extreme portability. We've taken a bit different focus in some areas (compared to NSPR), and worked harder for certain types of features and performance. It is an extremely useful library, and it is being used by both Apache 2.0 and the Subversion project. APR manages things like memory allocation and cleanup, sockets, locks, files and pipes, character set handling/recoding, memory-mapped files, shared memory, process and thread management, time, user handling, and dynamic library loading. (plus more) Its primary platforms are Unix-ish platforms (including things like Mac OS X and OS/390), BeOS, OS/2, and Win32.

On the Subversion front, the SVN filesystem (FS) has been going through a huge revamp. Some of the new APIs are finally coming out of that effort, so I spent a bit of time last night updating mod_dav_svn to compensate.

Getting ready to leave for Palm Springs tomorrow, too. Got a wedding to attend. Just a short visit, and I'll be back on Sunday afternoon.

Over the next few days, I want to wrap up the Apache, APR, and APRUTIL work, then get back to SVN coding.

Mostly email the past couple days, but have been doing various coding bits in Apache (sdbm, config, etc), and some client-side work in SVN. We just redesigned the API for the RA modules so that we can dynload the guys. That broke the build for a bit :-), but I got it sync'd back up tonite.

Also tonite I'm working on setting up the new APRUTIL library as part of the APR effort.

Dick Hardt has been in town again, and stayed at my place again. Always fun to have him as a houseguest. Last night, we went to dinner with Michael Tiemann, which was very cool. I had met him a long time ago, but never really got a chance to talk with him until last night. He was a lot of fun to talk with, and dinner was quite good (get the ribeye!). We went to the Blue Chalk here in Palo Alto, which was pretty darn busy for a Thursday night, but we got a table right away. Dinner ended up being a tad rushed because we had to take Michael to the airport.

Today has been mostly an email day (as I mentioned earlier). Got most of that out of the way, so I started on the aprutil stuff. Off to do more now...

Just noticed something interesting. Check out the lists of people working on Apache and APR. Both projects are based out of the ASF, and have a firmly established community and a solid culture.

Ok... so what? Many projects do. Yes, but what I found interesting was that not a single person on either of those projects have listed themselves as a "Lead Developer." It is kind of neat, in that the culture of the communities leads people to a very high sense of equality.

That's all. Interesting thing that I just saw and wanted to note...


Been spending the past week hacking a ton of Apache and SVN code. The Apache stuff is mostly DAV infrastructure, cleaning, revising, etc. Also been working on APR stuff and (just tonite) the SDBM support in Apache. Oh, and I introduced some new DBM cover functions for Apache use, then spun mod_dav_fs to use those rather than hard-coding for SDBM. Basically, this means that a simple ./configure switch allows mod_dav to use GDBM now. (mod_dav 1.0 has a #define you can change, but no autoconf support; Apache 2.0 tossed that #define and just waited for these covers; well... they're done now).

Been watching various movies... Gladiator, M-I 2, and some crappy late night movies. Actually, the first two were rather mediocre, too. Gladiator had great scenery, character development, etc, but the plot line was just a bit too obvious and the movie seemd a bit too long (although I'll give it the benefit of the doubt since character dev was very important, and that simply takes time). M-I 2 was eye candy, but the whole romance thing was rather bogus. Like they're trying to turn Ethan in some 007 playboy or whatever. Sorry... just won't work.

Last weekend, O'co and I grabbed some new Playstation games and hung out for a while playing them. It'll be kickass to get a PS2... the graphics will be so much better. Of course, they simply don't exist right now, for all intents and purposes. I'm just going to wait until after xmas to get one, when the demand eases up relative to the supply. I doubt there will be any "after xmas specials" on the bad boys, but I can hope.

Spent the weekend working on an xmas list web app. The family can now enter their wish list online, and everybody can see it, mark the items off, etc. It even filters on families; I can be part of my family and Anni's family, but not worry about seeing my brother-in-law's family. It's pretty neat. I've been thinking about putting the stuff over on SourceForge as a "gift exchange" app. Hell, it is basically a neat gift registry.

Thanksgiving was kickass. Some friends were in town, and we all got together and filled ourselves till we nearly popped. What an insane ritual :-). Of course, drinking all of that wine was a definite bonus.

I gotta say that satellite TV just rules sometimes. Normally, I have a big conflict at 9pm between Angel and Dark Angel (heh; coincidence?). But wait! Angel comes on the WB, of which I have three channels from across the US. I get Angel at 6pm, 7pm, and 9pm. So... I watch Angel at 7pm, Buffy at 8pm, then Dark Angel at 9pm. It works out quite well!

And yah... it just has to be said: Jessica Alba is definitely hot. Of course, I still carry my official "Salma Hayek Groupie" badge, but Alba makes for a more interesting TV series. :-)

Speaking of sexism ;-) ... has anybody ever wondered why all the women on TV always where clingy tops? Seriously. Ever see an episode of Friends where the women don't have tight tops on? Pick a show, and take a look. Well, okay... maybe not all shows. But hell... I was noticing it on X-Files on Sunday. Even Sculley was where a tight top. Sure, a jacket over that for half the episode, but my point is... I believe the costuming department for these shows specifically provide clothes to (effectively) put the women on display.

Tomorrow will be kind of busy. Got the painter here, gonna have a nice meal at home with the woman. Gotta take the car for a smog check and then get plates for it. etc etc. Thursday, Anni takes off for a trip to Seattle for five days. Bummer, but that does mean that I'll be a little coding junkie for the weekend. Still have a ways to go on SVN to hit the Dec7 milestone...

Hi logic. :-)

And yah: PHP's lack of anything like the DBAPI kinda blows. Of course, I just always use MySQL with it, but the point stands. For a language that prides itself on DB integration, it is definitely a head-scratcher.

I'm somewhat amused by your comment on Zope. I tell ya... half the people that I talk to about Zope have a complaint about its size/complexity. I also tend to shy away from things that say, "stay within this framework and you're okay. leave? what do you mean?" Zope is a great system, but it also seems pretty all-or-nothing, which is unfortunate. And its footprint scares more people than I could count.

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