Took a trip to Bedford to the whole foods supermarket. Bought a load of tasty things. Somehow we managed to spend far too much time there, as when we came out, it was dark.
Off to the bank in the morning, to finalise some things
about the finance on the car. Turned out that we screwed up,
and ended up having to go back to the dealership to re-sign
Stopped off at the car insurance place on the way back
and got that sorted out. Across the street from there, we
found a Lindt shop. Finally, real chocolate.
We must be missing real chocolate, as we ended up spending
$30 in there somehow. Perhaps we went a little overboard.
Finally pushed out a test kernel for a Fedora Core 2 update.
This kernel is 99% the same as the FC3 kernel, which whilst
not perfect, at least gets things on a level playing field,
so we can fix common bugs across the releases.
Medical insurance info finally came through the mail,
so Victoria organised a trip to the dentist for us both.
A week or so ago, we checked out a Thai restaurant
not too far from the office that happens to be on
one of the possible routes home, and had a very
enjoyable meal. Last Friday, Victoria picked up
take-out to bring to the office as I was working late.
Again, good food, but she commented that the bar
in the restaurant had become filled with rowdy drunk
Tonight we paid another visit. My salmon
was uncooked (to the point there was ice in the center of it).
Things seem to have sadly taken a turn for the worse
at that place.
Topped off by the fact that the bar was indeed filled
with rednecks, offering conversational tidbits such as
"I've got a 45' in my glove box, if you don't shut up, I'll go get it"
and the jaw-dropping 'cant-believe-he-did-that'ness of folks
prepared to drive after having drunk way too much
(ironically: one guy was on his way to the hospital).
Apple continues to annoy me with the iPod and iTunes. On the iPod front, after a long and arduous search I found a source of replacement foam cups for headphones. They are sold in Radio Shack, catalog number 33-376. They also sell silicone replacements, which are comfy, but incompatible with iPod: they tend to slip and cover outside holes in earpieces, which distorts the sound. As for the iTunes, their store is a bloody murder. I keep buying wrong tracks, because the preview clip is too short. For example, "I hope you dance" which I got has some hideous voices in the background, quite unlike the common radio version. And don't get me started on the subject of J-pop, which is GODDAMN MISSING. ABSENT. NOT PRESENT.
Went to DCU to open
an account, and organise a loan for a car. Left without
a loan, less than impressed with the service.
Trying to establish a credit history is difficult
when no-one will give you credit to begin with.
Did manage to organise a credit card though
(no doubt at a silly rate of interest, but its a start).
Natty: He is
doing it manually. You know, the 'ol sync;sync;/sbin/reboot thing.
I may have exaggerated the 57 times--maybe more like five. The eternal quest
to optimize sync is unrelated to sri's obsessions, though, they just
incited the fire.
Is Java better than Python?
I observed that Azureus uses less memory than the original Bram's btdownload, while providing an enormous GUI. This is very unscientific, but very impressive.
Callum hand wrote the ELF headers and took my four instruction sync(1)
from 360 bytes down to 45 bytes. Nice job, duder.
Oh, and it works.
Are there any more optimizations to make?
Update: Uh oh, this version takes double as long to run (two
milliseconds versus one, both cache hot). Since the size is under VM and block
device granularities anyhow...
J Greely finally got around to fixing his issues with TCP Window Scaling at dotclue.org. Took him just about 6 months. I blame Theo :-).
sri commented that he runs
sync(1) 57 times before rebooting, which prompted me to run
strace(1) on sync, notice that sync executes
98 system calls, grumble in disgust, and cry.
The overhead was mostly in dynamically linking in libc and some locale junk,
so my first attempt at improvement was just a simple:
Yet another respin. Hopefully this is it for FC3/RHEL4 B2.
Spent some time in the afternoon looking into doing an update
for the Fedora Core 2 kernel, as thats still sat at 2.6.8.
The current plan is to use a mostly-the-same kernel as the
release candidate for FC3. This maximises testing, as bugs
get shared across the two releases for the same codebase.
This has highlighted an interesting problem with our internal
CVS. Kernel RPMs are versioned based upon their CVS tag.
As FC2 and FC3 are both subdirs off of a branch, this meant
that its possible for both to have the same release numbers.
This way lies madness, especially as theres nothing that
guarantees that a 2.6.9-1.522 update for FC2 was the same
2.6.9-1.522 kernel that was built during FC3's development.
It's a fun problem, but one (of no doubt many) that Gafton
is working on before CVS goes public.
out last week. Few needed changes remain. I want to redo the locking.
Largely, I already have, but the current diff is so large and unwieldly that I
can never hope to break it up. Also, I have not even booted it yet. I
additionally want to replace our bitmask lookup with the idr layer. I actually
already did this; we just need to integrate the patch. Finally, I
need to change how we do resource limits, moving from per-device to
per-user limits and then removing entirely the open device limit. But even
now, inotify really is nice, an excellent example of a file change notification
system, full-featured but simple to use.