It's officially Christmas. This isn't a surprise, of course, but just in case
I had somehow missed it, Safeway was thoughtful enough to remind me during the
entirety of my shopping by playing non-stop from a collection called
“Top 100 Bad Holiday Covers And Remixes By No-Name Artists”.
At least, that's what I assume it was called.
Category: Society
Writebacks (0)
Today was cascading
build failure day. Whee! Fun for the whole family. It's going to be a while
before I start feeling bad about at any times I might briefly break the Camino tree
again; today I spent enough time on build failures that were not my fault that
I think I have a large stockpile of build karma.
The fun began with an SVG change that assumed Cairo, which therefore started
the Camino tree burning. So SVG was disabled in Camino, but then Xcode was
unhappy about a missing file. I misunderstood the reason for the missing file
and thought the best way to deal with the problem was to go ahead and land my
Cairo build patch right away. Which did need to happen soon, but in retrospect
it would probably have been nice to wait for another day just to spread out
the flames a bit. So anyway, when the tree stayed red I learned that the file
was missing even with SVG enabled, on purpose, so turning on Cairo didn't
actually help that particular problem. So I ripped out references to that file,
and would have gone back to doing something useful with my day except that right
around then we discovered that Cairo didn't build on 10.3. Oops. And the red
continues.
What followed was a tedious debugging process where we finally found that
this was a latent bug in cairo-cocoa, that no amount of testing on 10.4 would
have found (yay! not my fault!). One of the files was being built in a very
un-kosher way that hid (on the Firefox build machine) the fact that it was
written using 10.4-only stuff, when it's supposed to build for 10.3. And our
build machines are 10.3. And there was no easy fix. Good times.
So faced with either backing out Cairo (which would just open us up for more
pain due to the trunk==Cairo mindset of the moment) or hacking around it in
fairly ugly ways, I chose the latter. All was going well, until I discovered
that one of our build machines is 10.4, and because of how badly messed up
the compiling of that file was handled, My hack had broken the ability to build
for 10.3 on 10.4. So the hacking got uglier, to the point where I thought long
and hard about just backing out Cairo instead. But there the new hacks are,
and over nine hours after this roller-coaster of build excitement began, things
are finally green again.
Thanks for asking—how was your day?
Category: Camino
Writebacks (1)
Laura and I went to watch part of a nearby collegiate ballroom dance
competition, and were pleased to discover that we haven't lost that most
important attribute: petty cattiness. Who cares if our style is getting sloppy
as long as we can watch other people with sloppy style and verbally
rip them apart? Given that, I suspect we'd have no problem jumping back into
the competitive circuit. (In fairness to us, these were people dancing several
levels above where we ever danced, so their style really should have been much
better.)
But in all seriousness, it was a lot of fun. There were a few couples that
were very good and were a lot of fun to watch, and we caught some of the fun
events (the ubiquitous reverse-lead Cha-Cha being one of them), which are great
to watch and reminded us of some of the fun parts of competitions. And hopefully
watching and doing a bit of dancing during the general dances will finally goad
us into finding some new lessons so we start dancing regularly again.
It would just be for fun though; watching the comp was entertaining, but we
don't really want to get back into that circuit.
But if we did, we could totally kick some of their butts.
Category: Random
Writebacks (0)
So I'm about a third of the way through iWoz,
and while some of the stories are certainly interesting I found myself getting
irritated as I read it and tried to figure out why. At some level it's perhaps
all his commentary on how great a lot of the stuff he did was, but mostly that
doesn't bother me so much. Clearly, a lot of the stuff he did was in fact really
cool, and clearly he is really smart, so that seems reasonable (even if he could
have perhaps spend a little less time drawing attention to just how great he
is).
But I realized that what really bothers me that it's that he's not
very honest about himself. An illustrative example, starting with
a passage from the beginning of the book about how his childhood shaped him:
[...] my dad believed in honesty. Extreme honesty. Extreme
ethics, really. That's the biggest thing he taught me. He used to tell me that
it was worse to lie about doing something bad under oath than it was to actually
do something bad [...] That really sunk in. I never
lie, even to this day. Not even a little.
Then later, this passage from when he and The Other Steve are approached
(completely coincidentally, although he didn't yet know it) by police officers
just after making illegal Blue Box calls from a pay phone:
But then the cop turned back to us and patted us down. He felt
my Blue Box and I pulled it out of my pocket and showed it to him. We knew we
were caught. The cop asked me what it was. I was not about to say “Oh,
this is a Blue Box for making free telephone calls.” So for some reason I
said it was an electronic music synthesizer.
And then after convincing them of the above:
The internal joy I felt when the cop believed our story about
the Blue Box being the Moog synthesizer is almost indescribable. Not only were
we not arrested for making illegal calls with or owning a Blue Box, but these
supposedly intelligent cops had bought our B.S.
Um, what? Someone who gloats to himself (and now an audience of millions)
about how cool it was to lie to the police to avoid the consequences of doing
something he knew to be illegal at the time is not a practitioner of
“extreme ethics”, and I'm pretty sure that lying to the police
isn't consistent with never lying “even a little”. And it's not
just the dishonesty, but the sense that he's taking something away from
others—yes, he's clearly a gifted engineer, so talking about that is fine.
But there are people out there who genuinely are extremely ethical, and this
just feels to me like he's robbing them of something in order to claim a virtue
that he doesn't really seem to posses, rather than being satisfied with the
(remarkable) things that he legitimately did accomplish.
I guess what it comes down to is that I can respect pride, but when it
crosses into unfounded ego it's not so respectable.
Category: A & E
Writebacks (0)
Today I met Hixie and chatted with him about web standards for an hour or so,
then got a book signed by
Woz. Not too
shabby for the space of a few hours.
Category: Random
Writebacks (0)
The list of bugs for 1.1 is definitely shrinking, and I just landed both the
first part of session saving (woohoo, easy nightly-build upgrading!) and a fix
for a big popup-blocking regression. Keychain is also getting very close to
landing, so I'm hoping that in the next week or two I can get some cool new
feature work done on both that and the session saver.
It feels very good to be splitting time between feature work and polish,
since it means I feel like we're neither rushing features out without smoothing
edges, nor delivering an update that won't have some substantial new user
features. Should be a solid release.
Category: Camino
Writebacks (0)
I learned today that the next batch of hybrid HOV-lane stickers won't actually
be issued until January 1st, since that's when the law that authorizes them
goes into effect. It looks like my smug superiority will have to wait a little
longer.
Category: Life
Writebacks (0)
I think the number one thing I got out of today's second half of the wine and
food class (besides some really tasty food) was the realization that now I can
say I generally prefer white wine to red and it's not total ignorance. Now I
can come up with various plausible-sounding reasons instead of trailing off with
“...but it's probably because I just don't know any better.”
Also: mmmm, desert wine. But I already knew that.
Category: Life
Writebacks (1)
The newest piece of my on-again-off-again, two-steps-forward-one-step-back dance
with GTD is another attempting at getting the appropriate parts of my life into
a calendar. In the past I've had a couple of false starts, where I did
a reasonable job for a week or two, then slowly stopped checking my calendar
regularly, completely eliminating the usefulness of having things there at all.
Part of the problem was that I spent a lot of time at work, where I was using
a different calendar system (I was on iCal at home), and looking at two
calendars all the time was a pain. Plus, syncing back and forth from work to
home was a mess when I was constantly switching computers and reinstalling the
entire OS. (On top of which, syncing to development versions of an OS is
not for the faint of heart; data loss in an environment where you know it could
happen and plan accordingly is one thing, but automatically syncing that back to
your home machine is another thing altogether.)
This time around I thought I should check out that whole Google Calendar
thing, and it's really quite nice (and no, I'm not required to say that). It's
a web interface, which means it's not quite iCal in some respects, but it's
without a doubt very usable. On the other hand, it's a web interface, so it
isn't iCal in some other respects too: access, both read and write, from anywhere
internet-enabled (which is where I spend most of my time) being a big one.
Perhaps even bigger is the very flexible inter-user calendar sharing system,
which means that Laura and I can have a shared calendar that we can both write
to (she has argued that we have one of those already, hanging in the kitchen,
but as I can't get to it easily from my desk at home or at work, that's not
terribly useful to me). So instead of Laura telling me things and hoping I
remember to put them on the calendar, or me putting things on my calendar and
hoping I remember to tell Laura, we'll only do the work once, and we'll
both get the information reliably. I'm pretty confident that those two things
will make the difference and keep me from falling off the wagon yet again.
On the other hand I'm often pretty confident when I start a new GTD piece,
so we'll see how that goes. I can but try after all.
My hope is to slowly and steadily pick up GTD habits that I keep for
more than a few weeks at a time; I've managed to get a couple to stick, and just
those pieces have definitely made me at least a little less disorganized.
Hopefully over time I can sidle up sideways to the eventual goal of
stress-free productivity.
Category: Life
Writebacks (0)
As promised, some pictures from the butterflies' winter home in
Santa Cruz. These give some sense of how many butterflies there were (although
I'm told that it's nowhere near what it once was):
And a few pictures of the stars of the show:
Sadly, my camera was really not up to the task in terms of zoom; these
only look like it was due to heavy cropping. Laura and I spent a lot of time
looking enviously at other visitors with much more substantial lenses—in
fact, Laura is looking at telephoto lenses for her digital Rebel as I write
this, so maybe next year's crop of photos will be even better.
(Yes, the title is terrible. It's my weblog, and I'll do as I please.)
Category: Photos
Writebacks (0)
Hornsby's hard cider isn't nearly as good as Woodchuck. Sadly, the I haven't
been able to find the latter around here.
Pictures from our visit to the butterfly migration in Santa Cruz are coming,
but I haven't had a chance to sift through them yet. Stay tuned!
Category: Random
Writebacks (0)
Having to do a bunch of work that seems like it should have been made available
in the Cocoa APIs is always annoying, but I've been learning how intensely
painful it is when you are trying to implement functionality that turns out to
be messy to do correctly yourself when you went to a developer conference a few
months earlier and learned that it would all be a single method call in a
version of the OS that you unfortunately can't design for yet.
I guess it will help me appreciate the API I do have. And build character or
something. I guess someday I'll be able to say “Why, back when I was a
developer we didn't have all these new-fangled APIs. We had to code all that
ourselves, and we liked it!” and it'll all be worthwhile.
Category: Geek
Writebacks (0)
My lesson for the day: the time before you can actually go to sleep is
substantially longer than the amount of time it takes to discover that you
accidentally broke the build and back out the offending patch. I'm definitely
not doing checkins less than two or three hours before I plan to go to bed
in the future.
Category: Camino
Writebacks (0)
While the national races are looking pretty good, some of the state and local
issues are looking not so pleasant. I'm really hoping that the precincts that
have reported are not representative of the remainder of the state. Sure, I knew
that several things I voted for wouldn't pass (because it would just be crazy
to tax the multi-bazillion-dollar-earning oil companies for destroying the
environment extracting oil) and that others were borderline (education? housing?
the environment? who uses them?), but there are times I just foolishly like to
think, if not the best, at least some decency of my fellow man. Overwhelming
support for permanently tagging sex offenders with GPS devices? I'm not a big
fan of sex offenders by any stretch of the imagination, but come on.
Let's review that for a second: they will be tagged (you know, like cattle)
for the rest of their lives. I'm sure that won't increase any sense of
alienation that would hinder their ability to potentially become functional
members of society again. Oh, and they get to pay for it too, as an added bonus.
And then they can't live within some distance of schools and parks (because, you
know, sex offenders have no means of transportation). The writers of this
initiative did miss one obvious component: we want to keep them away from
schools, and we don't care about removing any shred of dignity. Clearly the
solution here is to surgically implant electric dog collars. Maybe next
election.
I know I feel more secure the more Big Brother watches over me. I have
nothing to fear if I haven't done anything wrong.
Freedom is slavery. War is peace.
Category: Society
Writebacks (0)
Laura and I just got back from learning more about wine in an hour and a half
than we had gleaned from several years of random tasting. It turns out there
really is something to that whole actually learning about wine thing.
I think the biggest take-away lesson was that I had wildly underestimated
the extent to which food pairing matters. I always thought it was a sort of
“find a wine you like, and then if it goes with the food, so much the
better” sort of thing, when in actuality it's a “if you drink wine
with the wrong food you stand a good chance of ruining the wine completely and
coming away with totally the wrong idea” thing.
Who knew?
Category: Life
Writebacks (1)
Most of the time I haven't been working recently has been spent on Camino,
which is part of the reason it's been so quiet around here. For a while I
was averaging about a bug fix per day, which was pretty satisfying. I'm scaling
back a bit now, partially because I need to spend time on things besides
Camino at least occasionally, partially to make sure I don't burn out, and
partially because I've overloaded the review queue lately and don't want to
make it too much worse until it's had time to drain.
Most of the work I've been doing has been to try to chip away at the 1.1
bugs, many of which have been minor polish that Camino has been needing for
a while but weren't ever really high enough priority to fix. Having them on the
1.1 list was good incentive to just burn through them instead seeing many of
them punted (again, in many cases).
There are some bigger ticket items on my plate too though; on top of the
Keychain rewrite I did to celebrate my return, I'm hoping that there will be
time in the 1.1 schedule to do the part users will actually care about: Keychain
interoperability with Safari. We've heard lots of times that people trying
Camino after using Safari are dismayed to discover that they have to try to
remember all their site passwords... which mostly they don't because they've
just been letting Keychain do it for them, that being the entire point of the
Keychain. I think a lot more people will be willing to give Camino a try once
we pick up Safari-stored passwords, and it should also be a boon for those who
can't quite decide and go back and forth regularly.
The other larger thing I'm working on is session saving, which is something
I've wanted for a while. I tend to accumulate lots of open pages over time as
a sort of holding area for my brain. This works fine up until a) I want to
either install an OS update or upgrade Camino, or b) Camino crashes (pretty
rarely, but it does happen since I live on development builds). When I find
myself delaying system upgrades for upward of a week just because I don't want
to go to the trouble of manually saving all my browser/brain state, there's
definitely a need for the software to be doing something different—and
of course minimizing data loss is always a good thing. I'm a little concerned
that users won't understand why things like forms and AJAX-y pages don't look
just like when they quit; I suspect there will be some unhappiness the first
time people discover that it's remembering where they were, not the
actual page as it was when they were looking at it. There's some hope that we
may be able to leverage the work Firefox did for session saving and get the
whole experience, but if not, well, losing a bit of data is better than losing
lots, and there are still a lot of pages out there that do actually look the
same when you reload them.
In short, I'm definitely feeling good about developing again, and definitely
feeling good about the upcoming 1.1 release.
Oh, and I also did my first (mini) super-reviews and my first check-in
recently, so that was pretty cool.
Category: Camino
Writebacks (1)
It has been pointed out to me that I haven't updated in a while, which, while
not especially surprising given my record, is certainly true. To make up for it,
I'm kicking off another post-a-day week to encourage me to catch up.
We'll begin today with work, which is of course part of what's been keeping
me busy this past month. I've been settling in, and am just now starting to feel
at least marginally useful; there's been a lot to get up to speed on and
acclimated to. The work style I have now is so different than what I've been
used to for the last couple of years that it's taking me a while to get used to
how to structure my time. Not having the bulk of most days' work determined
by events I have no way to predict seems strange and magical.
There is of course also the adjustment to being the new guy. I'm still
figuring out where I fit, which can be hard, since it means I'm not really
having much of a positive impact. But I know that that's just what happens when
you are the new guy, and that it will pass—besides, having a lot to learn
means that I'm learning a lot, which is something I enjoy. I definitely still
believe that I made the right decision.
And then there's adjusting to the snacks. Working near a convenient supply of
M&Ms is indeed a test of my willpower, and as I feared it's not a test I'm
particularly well-prepared for. I tend to be good at resting buying
snacks, but bad at resisting eating them once they are there. That model had
been working well; we don't buy too many snacks, so I don't snack too much.
When I lose control over the part that I'm good at, it's a whole different
ball game. (Although I at least do avoid the M&Ms in favor of slightly better
snacks. Mostly). But hey, I did say I like learning new things, right? And
hopefully I can spin the snack-guilt into motivating me to start excercising at
the almost-as-conveniently-located gym, especially since I need a regular
excercise routine more than ever now that I'm not biking to work...
...which brings me to my last recap for today's installment: my new car!
Having one car stopped working so well when I needed the car every day,
so we finally broke down and bought a second car. I looked at a hybrid Civic and
a Prius (if you are going to be commuting every day, at least try not to be
evil about it, right?), and am now the very happy owner of a 2007 Prius. The
civic felt smaller, its CVT was noticiably less C than that of the Prius, and,
frankly, the Prius is just plain awesomer. Having a car that unlocks when I
touch the handle almost makes up for the fact that we still don't have the
flying cars we've been promised for so long. I finally collected the last
requisite box-top to be able to send off for my HOV lane stickers, which should
make me love having a Prius even more every morning and evening as I shave a
substantial chunk off of my commute. And really, what's the point of having a
Prius if I can't enjoy a smug sense of moral superiority as I blow by SUVs stuck
in gridlock?
(I am also starting to look into actually carpooling too, in continued
pursuit of non-evilness—I'm just kidding about the smug moral superiority
thing. Mostly.)
Category: Life
Writebacks (0)