It's rather obvious that an update here is a bit overdue, so here's some of what's been going on with me.
I spent the end of January trying to ensure that all of the stuff I thought was important for the upcoming Mac OS X release was taken care of. That included un-frameworkifying OpenSSL so that it's a library, which I didn't get to in December before my vacation, and making sure PHP builds on Darwin properly. I had still found problems with the Darwin support I has added to GNU libtool, but by the end of the month, I had that well enough in hand that PHP is now in pretty good shape on OS X.
I think I pretty much suceeded at getting my high priority items taken care of, so that put me pretty much done with Mac OS X for this release. Which was good timing, because Friday, Februrary 2nd would be my last day at the company. A lot of people slack off when they know they are quitting, but I was exhausted by Friday; I barely had time to pack up my stuff. Call me nuts.
I'd met Rohit Khare and Adam Rifkin almost a year ago, I think. They were in Silicon Valley trying to get some things done for a startup that they had going up in Seattle, and they came by to offer me a job. Now I got job offers pretty often for whatever reasons; recruiters called by office every week or so and I *always* turned them down. I'd listen sometimes, because it's prudent to know what's out there, but I like Apple and I really liked working at Apple, and I certainly liked working on Mac OS X and so that was that.
But Rohit is a blustery sort of fellow, and he talks quickly for long stretches and so I got inundated with information within minutes of meeting him--he came with a PowerPoint presentation and everything--and amazingly enough, he was making a lot of sense, and I though he really had something interesting there. Even so, I had to pass, because I wasn't finished with my work, and I have this compulsion to finish what I start, especially when I think it's helping make the world a better place, as Apple folks like to do.
However, many blustery conversations later, and having approached The Big Milestone of helping release a system I will undoubtedly prefer over any other for a long time to come, I was ready to take a leap into something new. It was probably the harder "life" decision I've ever made, and honestly I was quite terrified after having made it. I was, after all, giving up a job I really liked for one I hoped I'd like even more, and that's not a trivial thing--for me, anyway.
So Monday, February 5th was my first day at KnowNow. It took them a while, but they sucked me in. When there is something meaningful to say about what we do, I'm sure we'll have plenty to say. At the moment, I'll just say that my first two weeks have been pretty cool, and I like the people. That is, the terror is gone. Though would probably make our receptionist like me better if people would stop calling and sending email; she's had a busy week.
That said, I got a lot of encouraging email of late. Some from MIT buddies, ex-Disney Online folks, family, and people I've met since working at Apple. Many from people I haven't met. My apologies for not responding to all of them, but I have a new job and I should probably do some work. I do read and appreciate it, though.
Last week which was rather quite still, I was fillding with mod_perl and found out that I was stomping on CFLAGS in the mod_perl build in a way that that normally causes things to break, but in mod_perl's case was building find but causing it not to build with -DEAPI like httpd, which is really very bad. So I fixed that.
Chuck Murko got a port of cscope to Darwin started, and I did a little more tweaking and checked it into the Darwin CVS repository, where Umesh tweaked it some more, and I think we have a nice, clean port of it now. Chuck is making sure the resulting patches get sent upstream for integration. (Thanks, Chuck!)
This week, since I do web things now, I was in the market for a good open source HTTP library. I need one that lets me specify the headers to stick into the request and get the result back as a stream as the server outputs it. So I looked around and the only one I found was W3C Libwww.
Libwww has all the features I want and a bunch more, so I download it and I wrote a really simple client which sends a GET request. In this case, I don't care about the response, I just care that some CGI program gets poked. Libwww is a horrible library. The docs are obtuse, the API is inconsistent, and were it not for the example, I'd have taken a long time to write this very simple thing. It should have been easy, but it was a yucky experience. Plus I had to link in more libraries than the number of Libwww functions I used in my program. I know poeple put some effort into the functionality, but that's some crappy library design, guys.
So I asked around some more and someone at MIT suggested libcurl. Now this is a really nice little library. Simple and functional. It does exactly what I want with not fuss, and now I have a happy program, and I'm a happy programmer. Libcurl rocks.
I shared some thoughts on my understanding of open source with Louis at OpenOffice this week as well, and he wrote that interview up on their site. It was kinda cool to think through some of that stuff.
This weekend I'm off on a spontaneous trip to Tahoe with some MIT buddies. I went on a wild spree at REI a few hours ago buying warm things. (I don't like cold; I'm from Puerto Rico, after all.)
And that's the past month. Hope yours has been exciting, too...