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...