The diary

19.08.2008 USB drive woes
  • So.. our new external USB suffers when I rdiff-backup to it. Turns out that it may be too fast (the old one was a WD 5400rpm): [bugs.edge.launchpad.net]
     Aug 18 23:57:01 anthem kernel: [519190.143537] EXT3-fs error (device sdf1): ext3_fin
     d_entry: reading directory #2 offset 0
     Aug 18 23:57:01 anthem kernel: [519190.143882] Buffer I/O error on device sdf1, logi
     cal block 0
     Aug 18 23:57:01 anthem kernel: [519190.143907] lost page write due to I/O error on s
     df1
  • I'm trying out a suggestion to fudge max_sectors to 128 and see if that improves things tonight..
04.05.2008 NFS sync versus async and /var/run and /var/lock mystery
03.05.2008 After upgrading the diskless
  • Run a depmod -a, because otherwise my screen get busted. Reminder to self!
  • When a server nfs.lockd stops responding, what to do? Well, Bruce Fields sent me a suggestion:
    Perhaps a sysrq-T dump of lockd would show where (and whether) it's blocked? (So once lockd stops responding, log into the server, run "echo t >/proc/sysrq-trigger", and collect the output from the logs, especially the stacktrace for the lockd process).
01.04.2008 New office
  • First of April, joke's on us. But we got a new office as a special gift! Rui Barbosa 1977 is going through its finishing touches as we speak and with some luck we will even have the Internet installed there.
31.03.2008 The phones I've owned
  • Nokia 1100a
  • Nokia 3250
  • Nokia 7250i (Pink!)
  • Nokia 6120
  • All but the 3250 can be unlocked with the code calculator at [www.peters1.dk] -- the the 3250 can't be because it requires a flash update?
  • Somebody asked me if it was possible to have more than one SIM in a mobile, and I thought there were no models that allowed that. Well, not a phone, but check this out: [ucables.com]
14.03.2008 USB 1.1 sucks
  • Had to go out and buy a USB 2.0 PCI card for my server today. Before:
     102400000 bytes (102 MB) copied, 76.3268 seconds, 1.3 MB/s
    After:
     102400000 bytes (102 MB) copied, 4.79696 seconds, 21.3 MB/s
    Much better.
12.03.2008 Super Sony Storage Support
  • I have an AIT drive that I bought back in 2005 to do backups and archival of the content on our server. We do daily backups of the full content, and rotate tapes weekly.
  • So a few weeks ago the backup started failing randomly mid-process. This happened before in the DAT days, but AIT proved to be much more reliable -- until now. I ordered a cleaning tape (there's a myth that AIT is self-cleansing, but [www.rm.com] says it's not) and when that didn't fix things, decided to send the unit out to warranty. I had to fish a number out of the Sony UK support site but once that was done it was quite smooth!
  • There's this great little software package called sonytape that Sony distributes from [sony.storagesupport.com] and I used it to generate a trace file. One cool thing was that the support team at Sony was able to look at the trace file (after I sent it to them) and find out how dirty the tape head was and how many times the tapes I was using had been cycled (provided the tapes have [www.aittape.com] which mine do). That's pretty impressive! One interesting result of that is that I know (now) you're not supposed to cycle a tape more than 50 times, which means that if you're using a tape a week, it shouldn't be used for more than a year. I hadn't heard that number anywhere else, and the only stuff I can find on the web says the tapes last 30 years. But that's shelf life!
  • In general, the support experience was outstanding. You call a UK number and get a support engineer that can actually tell you something useful and knows enough about the hardware to make the experience interesting and rewarding. If I ever run a support operation, I want to make sure my experience is as good as that one.
08.12.2007 The Royal Dutch
  • Wanna tell a dutchman from an eskimo? [www.zompist.com]
  • When apt says
      files list file for package `cpp-4.1' is missing final newline
    it's time to look at /var/lib/dpkg/info/smbfs.list and figure out what is wrong with the file. In my case, it was a very mangled file; probably a result of some filesystem damage that happened when my mac mini hung.
  • I finally discovered that mutt can record my multiple identities (well, actually, multiple email addresses) and make reverse_name work by using the "alternates" configuration variable.
  • Commands I learned how to use today: blkid vol_id md5sum gnome-mount, and all because I am investigating [bugs.launchpad.net] with Johan!
07.12.2007 Things gone missing
06.12.2007 The disappointment junkies
  • This week Johan is trying to convince me that when we upgraded from 10BaseT to 100BaseT that the diskless did not get significantly faster; I am upset at that suggestion but given that my memory is not anything to write home about he might be write.
  • So just to make sure we have a late 2008 opportunity for disappointment I convinced him to buy a [www.netgear.com] switch so we can test our diskless at a full gigabit speed. We'll tell you really soon how much of a difference it didn't make!
05.12.2007 Some keywords
  • Ride João Arthur Catraquinha Me Santa Eudóxia Afternoon Felt Bianchi Melting Hammered Happy Dinner Sal6 Pizza João Just Like The Old Days
04.12.2007 Trails from a forgotten past (at UFSCar)
  • Today João, Fabiano, Dalcimar and I rediscovered a set of trails at UFSCar that made me remember how much fun I used to have there in the 90s. Crazy technical, fast and not too hard, which means you can do a hundred loops without noticing you're dead. I got whipped in the face and arm by a thorny bush, and after the 2:30h my legs and my back definitely hurt!
  • When I went to university back in 93, it was crazy how many bicycles and cyclists there were. The classrooms were jammed with them. If you wanted to skip a class and go for a ride, all you had to do is go down to the restaurant and you'd always, reliably, find someone who was there waiting for you. We used to ride to uni with cycling shoes because that's just how it was. I missed a lot of statistics classes riding over the Jedi trail. The interesting thing is that the trails are all still there; in fact, they are better now than they have ever been. However, there are no cyclists any more. And I mean none. Zero. Not a single student after 1998 has taken up cycling as a sport, and only a minority commute, probably on the days they can't get a ride with somebody else. That's a big change in demographics and culture.
  • I've been reading at Mary Poppendieck's suggestion a set of software engineering articles by Corey Ladas. They are very interesting! One that stands out is this sincere review of process models (a topic which fascinates me) I just saw at [leansoftwareengineering.com] He also makes a pretty cool point about multitasking:
    One inspiration was a result from Boehm that programmer productivity peaks at 2 concurrent tasks. One task should be a high-priority primary task, and the other task should be a lower-priority task that you can work on when the first task is blocked. This was an empirical result, not just armchair noodling, so I thought it would be cool to build a process around it.
03.12.2007 The House of Heat
  • It's hot today. No, serious, it's like 35C in the shade. I went for a 3-hour ride today and towards the end my heart rate (which admittedly has been pretty high since I've come back from vacation) was in the 160s for a sustained 220W. That's not very impressive. The ride was good, just a loop towards Corumbataí and back, and I had this funny buzz from [www.gigolorecords.com] playing in my head for some of it. That's a great album even if it is a bit sick. I mean, not as sick as, say, [en.wikipedia.org] but if you have heard either you get what I mean.
  • Today I had lunch with João, one of my friends who is a biologist and a teacher and also as much of a cyclist as anyone could be. Biologists are amazing people and I would strongly recommend lunch with one if you have the opportunity. As it is I privileged to have the best biologist friends a human could ask for! (The god of friendship must like me.) Speaking of which, Sal6 came back from Australia today, too. OK, different subject.
  • Anyway, during lunch João and I talked about mitochondria. Recently it came to my attention (and there's a dead-basic page up at [www.microbeworld.org] that talks about this) that mitochondria and chroloplasts have their own DNA, and there are hypothesis that say they they actually derive from bacteria that came to coexist within more complex cells. I talked to João about the evolutionary consequences of that. Earth has a lot of O2 and CO2, and therefore, it's easy to see how organisms that consumed those primary gasses could have appeared. The fact that they could then develop this symbiotic relationship with an eukariot is to me, however, amazing.
  • More interesting yet is how different plants are to us and other fauna, and I am led to suspect that a lot of it has to do with how our energy processes work -- for instance, CO2 is abundant in different locations, at different times, and the process for consuming it places constraints on how a successful organism might develop; those constraints (to an extent) dictate the morphology (and other aspects) of plants. João and I talked about the existence of other little prokariot cells that consume other gasses; we know of various examples of deep-sea (barophilic) bacteria that reduce methane and sulfates (I recommend [www.zmuc.dk] as a great paper on this). We also speculated on how we could have ended up with some wildly different creatures on earth if those had been abundant in our atmosphere instead of O2 and CO2 (there's even an article at [www.int-res.com] strangely named "Symbiosis between methane-oxidizing bacteria and a deep-sea carnivorous cladorhizid sponge" that shows that it is at least possible).
  • So I'm left wondering if this doesn't make it much more likely that complex alien life could actually exist. I mean, finding a planet that has similar atmospherical components to Earth is hard, but if we know that one-celled organisms could use other stuff to breathe.. it suddently looks a lot less unlikely to me.
02.12.2007 A Sunday with God
  • Today I am pondering about God. Or rather his existence. Sorry, His existence. I mean -- if He does actually exist -- He gave me an afternoon at the swimming pool with girls in bikinis, and He also gave me a productive morning where I made PQM grant my fix to [launchpad.net]
  • On the other hand, [farm1.static.flickr.com] makes it clear that God didn't provide blankets where they were most needed. I used to take that to mean that He didn't actually exist, but I'm not so sure right now.
  • And today's working hypothesis, slightly inebriated one at that, is that there may not be actually one God, but lots of gods. And maybe that the god that gives blankets takes Sundays off too.
01.12.2007 San'kara
  • Cycled to Santa Eudóxia with Dalcimar, then took a nap, and then checked out [www.myspace.com] and Shanti at this end-of-year edition of the local open-air rave. You weren't there, so you don't know anything about what happened here!
30.11.2007 Or.. do they?
  • Magno is never wrong. So when he saw my post yesterday, he went straight to the crux of the LASIK versus PRK matter: [www.youtube.com]
  • One thing I can never remember how to do is to allow remote users to relay through our server. It's as simple as adding the user to the SASL database, but I can never figure out what the domain is. I finally had the time to find out today: the SASL domain /must/ be anthem.async.com.br. I'm not sure why, and I don't care, but if it works for matsubara, it's good enough for me.
29.11.2007 LASIK, PRK and Cycling
  • And meanwhile (I don't have enough to do) I have started to look into eye surgery. You could ask me why I would even consider that given how great contacts and glasses work. I could then say it's because I keep losing (or ripping) my contacts, or because glasses are heavy and make me look like I'm about to retire, but that's not the truth. It's not because I spend the day looking at a computer screen. It's not because I adore movies and reading and drawing. Those are all things that I can do with contacts just fine. I have mild diopters: -1.50 sphere and -1.25 cyl. in the left eye and -1.50 sphere and -1.25 cyl. in the right. I've not worn any correction for the past month, and I'm not bothered -- it's not a serious handicap.
  • Well, except for the horribly true fact that contacts and glasses are terrible for cyclists. Yeah, I'm aware of just how much they have evolved and improved over the past 10 years, in particular because I was already a cyclist then -- and practically with the same diopters, too. No, the issue, really, is that cycling is this crazy sport where dirt and rain flies into your eye during hours, where you bang your globes out dropping off jagged rocks, and where you occasionally end up in the emergency room (as [www.amigosdabike.com.br] so painfully demonstrates). These particularities make glasses and contacts pretty painfully inconvenient, even if you need the visual acuity to survive through the event.
  • Glasses are great for their stability and protection. It's hard to beat them for value, too. But unfortunately, when it rains or gets muddy, they are useless. You can't clean them or dry them; you can only stick them into your helmet and hope they stay put. They are also heavy, fragile and prone to scratching. Peripheral vision is really bad, which as a cyclist I miss a lot, particularly when looking backwards or around in a pack; if you have rimmed glasses it is worse as you get this stripe of plastic in the middle of the screen. For mountain biking, where you splash around for at least part of any ride, you often end up with your glasses in your jersey pocket and red, myopic eyes full of dirt. And, without glasses, when you hit that technical section with that murderous rut to the left, you only see it when you've already picked the left side.
  • Contacts are great for peripheral vision, and somewhat better in the dirt-in-my-eyes aspect. You still get big chunks of dirt in your eyes, but if you blink madly and endure the sand in them, they clear up. You can wear regular sunglasses, which means you are not locked into your custom-prescription set, and which will still protect your eyes. Unfortunately, they have two very undesireable properties for cycling. First, when a pack accelerates to 70kph, it's hard to keep them in your eyes, and this is why I lose so many. They often end up stuck on my glasses, or melting on pavement. The second, more terrifying aspect to the toric contacts I wear, is that when you are banging down singletrack, they spin ever so subtly. When they spin, you can't see /anything/ for a few seconds, which is damned scary in the beginning and only slightly less so five years later. I can't really prove a unified theory of poor vision leading to bicycle crashes, but I have enough scars that prove I've done serious field research on the matter.
  • And this is why today at 9am I found myself doing a first consultation with a doctor that has practiced eye surgery for the past 13 years, Marcelo Torigoe (of [www.google.com] fame). I had a great time and asked him almost everything I was curious to learn about: risks, healing time, procedure, technology. I had already researched the basics before going on, and I came out with a few interesting considerations for the R$200 appointment:
  • Corneal thickness is really the crucial factor when decising between LASIK and PRK; the fact that you need to cut a flap means LASIK requires a thicker layer of material to work with.
  • Marcelo defaulted to LASIK. He explained that the Bowman membrane stays intact in LASIK, and that photophobia, haze and halos were less frequent with it, and those were pretty much his stated advantages of LASIK. He said his ratio was 80 LASIKs to 1 PRK, which to me was surprising. This kind of freaked me out because LASIK has this serious flap-cutting side to it, though he reassured me it would be safe in altitude or depth.
  • He made a point of saying that I'd not wear contacts for 30 days before the operation, to reduce risk of infection and to ensure the eye was in its natural shape. He also, more worryingly, said no crashing, water or sweat for 30 days after the operation.
  • Modern eye surgery uses an eye tracker to follow the eye if it moves; it used to be that the doctor needed to adjust for this manually (well, with his foot; is that strictly manual?). You look at a bullseye on the operating equipment in order to try and keep your eye still. It appears to work, somehow, since so many people have had luck with it.
  • The operation itself would cost R$2,400 -- which I did not find too expensive, and it would include both a corneal topography and pachymetry done on the day to ensure my eyes looked good enough to cut up.
  • There is newer equipment (which they have) that does custom PRK and LASIK; they have one but haven't used it much yet, and it's a lot more expensive. It sounded like it had better.. uhm.. resolution, but he said there wasn't a strong advantage to using this procedure for my diopters. (He obviously didn't think my diopters were anything to write home about.)
  • He told me I have a little spot in the back of my left eye, about the size of my optic nerve. I hope that's not going anywhere!
  • I still have a few questions now that I have reflected on all this. Is LASIK really safe for a cyclist? Does the flap heal perfectly, or will it always be a delicate membrane glued by the corners, ready to be banged or wrinkled out of place by a crash? Will my eye be less robust because of it? And is the Bowman layer important enough to justify LASIK over PRK? Seems like dogs don't miss it much.

    Though, truth be told, dogs don't ride.

  • (I read through many threads today on the topic of PRK and LASIK while I was waiting for the doctor. The post I found the most quotable at [groups.google.com.br] -- blog school says all classic posts end with a quote -- goes like this:)
     > I think the faster the guy can perform the proceedure, the less
     > invasive he is in performing it.
      
     Invasive is invasive.  The speed of the procedure makes no difference.
      
     Speed is good in a sprint.  It's not good in surgery or sex.
28.11.2007 And back home
  • After almost four weeks somewhere.. no.. everywhere else, I'm finally back home, back to a strange world of bicycles, work and friends. Well, most of my friends, anyway. Sal6 is still out in Australia and I left Keren-Or back in Equador, and god knows I haven't seen Dieter for ages now (eternal shame on him for missing me when I raced the Satellite Tours!), but that's just how it is with best friends; take decades to see them again and you still have everything in common. I am very lucky for having these friends.
  • The last month went by in a flash. I was in Boston for UDS and some Launchpad training with Mary Poppendieck; then about 1h south in Plymouth for Canonical's yearly all-hands meeting. That was mad. Then, after getting stuck in Miami for a day and a night (which was even madder) I rolled into Quito, and from there, to the Galapagos. What followed is.. just not really fit to put into words, because every adjective sounds light, biased or clichéd. So I won't try. But I might post a picture soon!
13.11.2007 Random pausing for just a bit
  • I can't get to Quito because, well.. [www.dailymail.co.uk]
  • I annoyingly cracked my FSA K-Force Carbon crank arm bolt when moving it from my Specialized to my Felt F2, and I have been looking for a replacement ever since. On this trip I finally found one at [smartbikeparts.com] -- the part I wanted was FSA 390-2060, a.k.a. CR3807. I have no idea what the codes mean, but I got exactly what I needed, except that my original bolt was a cheap alloy, and this one is definitely steel.
  • When it comes to airplane security for cyclists, Lennard Zinn said it best at [www.velonews.com]
    You absolutely cannot bring CO2 cartridges on the plane; not even in your checked baggage. Of course, what do you think inflates those life vests under the seats if you pull the tab? You guessed it, a CO2 cartridge! But, as with every airline security rule, ours is not to question why, ours is but to smile and comply.
23.10.2007 Cups Browsing Mysteries
  • So today Roberta tells me, mid-LP-release, that she can't print. There is no LaserJet available for her, which means that our server isn't sending out browse messages, which means something's broken in the Gutsy upgrade. Man!
  • tcpdumping IPP showed me that anthem isn't sending out IPP broadcast packets, but another box (with a dead printer, ironically) was. What's up with that?
  • Gutsy has cupsys-1.3.2; feisty has cupsys-1.2.8; ISTM that browsing for 1.3 must have been updated, because the configuration options are different. For Gutsy, I can use:
     Browsing Yes
     BrowseAddress 192.168.99.255
     BrowseProtocols cups
    but for Feisty, I have to use:
     Browsing Yes
     BrowseAddress 192.168.99.255
     BrowseLocalProtocols cups
    Note that BrowseLocalProtocols /is/ required there. There may be a way to have BrowseLocalProtocols defined as a consequence of some other setting, but I couldn't find out what. The code in scheduler/main.c hinted that it was involved, but oddly enough the source code is indentical in both versions.
  • Also solved my MRTG/SNMP problem with interfaces reordering today: [answers.edge.launchpad.net] -- take note to the hint in the MRTG manual, which allows you to specify interfaces using differing syntaxes: [oss.oetiker.ch]
  • And on a final note: logrotate -d really means debug. I was getting a weird error when testing logrotate on a file:
     creating new log mode = 0644 uid = 0 gid = 0
     open("/var/log/named.log.1", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such
         file or directory)
     error: unable to open /var/log/named.log.1 for compression
    and was scraching my head. Why is this open() missing an O_CREAT? Well, doh -- the file wasn't created in debug mode, and that's why you get this obscure error. Silly logrotate.
21.10.2007 Gutsy and Network Interfaces
  • Upgraded Anthem to gutsy. Rebooted, no eth0. What's up? I spent a long time doing random ifconfigs until I realized that ifconfig -a actually did list the interfaces -- as eth3, 4 and 5!
  • Turns out that /etc/udev/rules.d now has a configuration file that persistently defines what the network interfaces are going to be called. It is regenerated by udev on startup (for the first time, I guess) and you can edit it to specify what you want it to look like. Fixed and restarted udev and they all look good.
  • Also finally figured out what was the deal with specifying interfaces for samba but still getting netfilter log spam: if you don't specify "bind interfaces only" it doesn't work! Read more at [samba.org]
  • Final lesson of the night. If ICMP pings are going through your Speedtouch DSL modem, but TCP isn't, check if the interface isn't set to "napt". For some reason it doesn't seem to do double-napt the right way.
18.10.2007 PostgreSQL and daylight savings
  • So Brazil (for some reason) changes its DST date every year, based on calculations by "the scientists". I use Pedro's very cool tz-brasil package to handle that and it works pretty well most of the time. However, we run both PostgreSQL 8.1 and 8.2 in the server, and the 8.1 servers didn't update their time. What's going on?
  • Turns out that the reason for this is that PostgreSQL has its own copy of the timezone database, and tz-brasil doesn't update that copy (understandably). Martin Pitt explains to me that the reason for this is mostly compatibility with legacy systems, but that for Gutsy he's now just symlinked to the system zoneinfo database, and that upstream actually approved of this change. Whew!
  • Incidentally, the reason 8.2 worked was that its timezone was set to 'localtime' by default, which follows the default system time. 8.1 doesn't let you do that:
     kiko=# set timezone='localtime';
     ERROR:  unrecognized time zone name: "localtime"
    so you are stuck with updating the file.
10.09.2007 30 percent is steep
  • After riding over the unpaved, 30% gradient, mind-numbing Serra dos Lima at this long weekend's race, I was entertained at discovering an article at [www.bikereader.com] which discusses a few 30%-plus ascents across the world.
27.08.2007 Water landings
  • One day somebody told me that there had never been a successful water landing performed by a commercial airline. That's actually not true, as you can read at [en.wikipedia.org] and [dir.salon.com] -- in particular
    If you're flying from New York to Phoenix and you're smirking as the attendant blows into that plastic tube, remember that twice since the late 1980s jets went off the end of a runway at La Guardia and ended up in the bay. Both crashes left people very much alive and very much swimming.
03.08.2007 This TOS stuff doesn't work
  • So much for my apparent success of yesterday! I've found a couple of problems with this policy routing that are driving me crazy. First, Squid fails to put the TOS bits on some packets; while normally the 0x8 that I specified can actually be seen in an ethereal capture (though there it's called the "Differentiated Services Field", it's the same thing, really) in some cases, it just isn't: [www.squid-cache.org]
  • Apart from that, SSH also uses DSCP 0x8 midway in its connection when you are running a non-interactive command (it actually uses 0x8, 0x10 and 0x4 sometimes). This causes my server to also route the packets in the wrong direction! Very frustrating. While I could use netfilter to mangle DSCP away on the incoming interfaces, the fact that squid is giving me the headaches above suggests it's actually not likely to be worth it. Damn. Moved back to tcp_outgoing_address, with an ACL to avoid the host we want to route statically :-(
02.08.2007 It's been a while
  • but I just found a way to fix up squid and iproute2 to actually route the way I want to, and I think that's worth celebrating (and communicating) through a traditional diary entry. So first the problem: our server has two outbound connections to it; connection A is a static IP DSL link, which is pretty slow; connection B is a faster dynamic IP DSL link. We want most web traffic to route through connection B, but certain servers want to restrict per IP, so we want to route this traffic through connection A.
  • The easy solution to this is of course to use netfilter's mangle table and iproute2's ip rules to determine what goes where. We tell netfilter to mangle this way:
     -A PREROUTING -i eth1 -p tcp --dport 80 -j MARK --set-mark 1
    and we tell ip rule to divert this way:
     32765:  from all fwmark 0x1 lookup dsl-home
    To restrict host X.X.X.X to go through the other connection, I just added a specific IP rule:
     from all to X.X.X.X lookup dsl-business
  • This works perfectly, except for one situation: where traffic originates from the server itself, it always goes through the business link. The reason for this is explained in table 3-2 on [www.faqs.org] -- in short, when packets originate on the local host, routing decisions are made before the packets can get mangled, which means the fwmark gets added too late.
  • Now that's such a corner case I would normally not care, except for the fact that we also run squid on this server. That means that all the traffic we direct via squid is actually getting routed through connection A -- which is slow and definitely not whatwe want. So for the past months, I've been using a very hackish solution, which is to use squid's tcp_outgoing_address to put packets on the wire with connection B's IP address. This works, but it's a big hack, and it requires that you actually avoid doing it for host X.X.X.X, because otherwise you're putting packets with connection B's source address on connection A. That means editing two configuration files for each host -- yuck.
  • Today I `discovered' the tcp_outgoing_tos config option for squid. I had not realized that iproute2 lets you do policy routing based on TOS! This actually end up being slightly more complicted than simply setting the same TOS in both places; first, because the squid docs mislead you into thinking that any TOS will do; a message suggests that rfc1349 doesn't agree with that, though: [lists.netfilter.org] and even for squid there's some odd behaviour reported: [www.squid-cache.org]
     tcp_outgoing_tos 0x8
  • Turns out that there is actually a TOS bit in [rfc.net] that makes sense in my case, which is 8 -- maximize throughput. So I set that up in squid and in ip route, and wow, the packets started flowing correctly. I discovered that ping also has a -Q option you can use to test the routing, and it works as expected, which is quite cool.
  • You need to disable the reverse path filtering for any of this (even using tcp_outgoing_address) to work. I'm not sure why, but:
     echo 0 > /proc/sys/net/ipv4/conf/eth2/rp_filter
  • The unfortunate side to this story is that some connection-B-bound packets, for some reason, still end up on connection A, and what's worse, with connection B's source IP:
     00:55:36.352517 IP homelink.async.com.br.52332 > od-in-f147.google.com.www: R 2679150523:2679150523(0) win 0
     00:55:53.498535 IP homelink.async.com.br.46654 > pain.warhead.org.uk.www: R 2759083133:2759083133(0) win 0
    I suspect it may have something to do with [osdir.com] but I am not sure yet..
23.05.2007
  • Did three months really just go by, or was that just my imagination? Where have I been?! Not New Zealand, like certain other creatures it seems: [www.kikokiwi.com]
25.02.2007 Marmelópolis to São José dos Campos: 181km
  • World hold on..
24.02.2007 Visconde de Mauá to Marmelópolis: 148km
  • After a completely blacked-out night, I left Mauá after breakfast with Sylvia (Ivan apparently never has more than just coffee). I eat bread and spend the morning fighting the burning sensation it gives me. I fail to find a new camera at Mauá; I guess lots of people buy cameras for Carnival. I also forget to buy rehydration powder. I manage to fill my bottles despite all this incompetence, and call my grandmother to say hi and bye. She is lovely even when she forgets everything; she is definitely in the "face adversity with good humor" school and I have tried to learn from her as well as I can.
  • Mauá is a lovely place and I loved its activist community; everywhere you see signs of people rallying for all sorts of interesting and important causes. You feel that nature is well-kept by its inhabitants here; I end up wishing I felt like that everywhere. But in half an hour I wasn't feeling anything but the painful drone over the pass of Serra da Barreira into a village called Mirantão, about an hour out of Mauá.
  • The reason I ended up in Mirantão is that I've been unable to establish whether or not I can get from Maromba to Itamonte. Itamonte is on the other side of Itatiaia, and there isn't much in the way of roads around here; I should be happy that there is a way for me to get there at all without having to ride back to the tarmac of Dutra. I got my mother to try and call some travel agents around there but nobody was able to provide us with a reliable suggestion to go with, and the only story we heard was of someone that spent a whole day on a motorbike to do the 40km trail. Ivan suggested Mirantão, and I'm crazy enough to say sure why not.
  • So on this uphill to Mirantão I figure out that I feel only average today. This is a marked change from yesterday when I was able to attack all the uphills with a vengeance; today I feel sort of flat and it takes a while for the pain to become sharp enough for comfort. It's weird how a dull pain is rarely appreciated in cycling, but there you have it. It's amazing how I only really feel better after some 4 hours of riding -- before that I feel like I am practically dragging myself along.
  • Anyway, I wasn't very sure about this road to Itamonte. I had ruled out this trail from Maromba. I knew there was a trail through a place called Vale da Prata that Ivan had pointed out to me in his crumbling IBGE maps. But it all looked very sketchy, and at Mirantão a pair of guys on motorbikes explained how it was best to go through Santo Antônio; so after some Guará Viton (the black petrol from hell that god sent to save cariocas) I rolled off on that road. Man, was it hard. I'm not saying just "tough".. this was about 6km of really steep, really rocky uphill. I gasped all the way up. It was unexpectedly hard and will remain the second hardest uphill I endured on this trip (I think) -- and that's only because Passa Vinte had make me almost cry the day before. It actually made the 3km of uphill to Mirantão feel like a joke. At Santo Antônio I put on a healthy face and drank a coke at the local bar. I think bars are the only thing you can guarantee that every village will have, and this bar, next to the colourful little square that defines Santo Antônio, was the last sign of practical civilization I'd see before reaching Itamonte, some 3 hours later. It turns out that Santo Antônio to Itamonte is 54km of hard dirt road, and not a lot of locals had ever made the whole trip. My tour guide reassured me "even cars can drive on that road". Great. That makes it sound almost as bad as it actually was. Ouch. Long stretches of sandy flats ended up giving way to rockier and rockier uphills that would fit perfectly into a mountain bike marathon, and then finally a long, twisty and pretty technical uphill unfolded. My chain started to suck a bit at this pint and I was forced to keep ratcheting back and forth; at this point I felt pretty down and a bit depressed at how slow I was going, even after putting in an effort that I knew I'd have to pay for later.
  • But the area has got to be one of the most beautiful I've seen on this trip. Rocks and our native Mata Atlântica are everywhere; birds and butterflies and flowers decorate them. The road levels off finally and then bumps up and down through a handful of villages. One of these little villages has a bar whose owner is discussing VOIP with a customer. I have another coke there; this time it's warm but I am past caring. And then after an endless succession of up and down I reach the downhill to Itamonte, all 20km of it. I swear it's like an hour of no-pedalling downhill, not steep but fast enough to keep you honest. The road here is better, but not excellent, and the ruts and rocks teach me an "exit strategy" strategy. This routine is basically looking at a risky section and figuring out where I want to exit the section; it's really useful because what defines how much you have to brake is what comes after the section you are on (and not really how hard the section actually is). It's all about looking ahead, identifying risks and when and where to exit. Sounds like Barry Boehm and a VC on crack desn't it?
  • Anyway, finally hit Itamonte. It's an oddly small city with a million bikes per capita. I had a cheese-n-egg sandwich and a coke for lunch, and I don't really feel very good in the stomach. Finally manage to buy some rehydration powder from the prettiest pharmacy salesgirl I've met. Bloody expensive too!
  • I endure 20km of the most horrible road to Pouso Alto. I swear that I was in some sort of serious risk no less than 5 times in those 40 minutes of biking! The road is so narrow, the cars and trucks so fast, the vegetation so overgrown.. I have no clue how this nightmare of tarmac doesn't have a collection of crosses decorating it, but I'm not too interested in being the next cross there, so I take it easy and look back a lot. Friggin drivers honking their horns at me! At Pouso Alto I turn off from this horrible road, have another coke (burp) and hear from the man who runs this bar (another bar) that the road to Virginia would be "calmer". Well, doh. Only /one/ car overtook me for the collection of ups and down. This was a seriously peaceful 25km ride once I was past São Sebastião do Rio Verde (which is practically connected to Pouso Alto, really). I stopped only once on this road to appreciate it; this road which would appear to go to many places but which ends up in Virginia because "the gubmint didn't finish it". I wonder how many pieces of unfinished business has been left behind.
  • At Virginia it dawns on me that it is too far to get to Delfim Moreira today. It's getting dark and it's going to rain. I stop at a bar (yes) and get more instructions. So it's not too far to Marmelópolis, and I can probably get food and bed there. Now the funny part about that is that I had just read about Marmelópolis a few days ago in Itaipava, and now I was facing the possibility I would be sleeping there (if I managed to not die en route, which was easier said than done because at this point I had been riding for some 7 hours already). Fascinating coincidence? It rains at the foot of the 11km uphill I am about to face, and for the second time on the trip that little yellow Pearl Izumi jacket is called upon to save me. I clean my chain while I wait for the rain to go away, and it kind of does. The uphill is not too steep and is actually a lot of fun! I trick myself into just looking a the antennae at the far end of the valley and every once in a while I look up and admire how close they are already. There's a beautiful little waterfall on the way up, too. I reach a tiny village and am scared that this is all of Marmelópolis, but of course it's not, it's still some 6km beyond São José da Mantiqueira. I investigate the local bar and buy things that you put in your mouth and go crunch with nutrition or swish with hydration. And then there are signs, and then a steep bit of downhill, and there unfolds before my eyes Marmelópolis in all its splendour. I try and remember what I read about this place.. it used to host a pair of factories that made a sweet out of the Marmelo fruit, but they closed and the city has been asleep since then. But as I arrive the city comes back to life and I am in love with its peacefulness and its people. Hold on, find a pousada. Ring but no answer. Turns out the city's just had a blackout, but the owner's brother comes by and gets the owner to come by and open the place for me, the most humble and yet appreciative people you could find in such a place. As if they were honestly happy to hear your story, and eager to share theirs with you. So the owner worked at Scania, in São Paulo, and came back with his savings to set this place up; his brother lives here as well, with his mother, and they shower me in sweets photos and even a calendar (not sure how that's going to fit into my baggage).
  • That's all I get in terms of showers, though, because there is no hot water, and I've waited so long that it's now dark and real cold. Altitude. We've been chatting for hours, and no, there's no electricity, which is also a big problem for Marmelópolis because there's a major party supposed to run at the local club and everybody's bought tickets and is waiting out for this. We spend long hours looking at the mountains around us and figuring out if the trucks we see belong to the electricity company. So I mention stove-heating some water, because a man has to eat after some 9 of riding, and just as that is coming to fruition.. lights. It's a hot bath for me (luckiest human on earth) and then a stroll through the town for dinner at Monte Moriá. The owner, Jair, tells me about this Jerusalem landmark, while I eat an omelette, rice, beans, fries.. mmmmm. That's what I needed. He tells me about an alternative route, where I will see less tarmac and more mountains, and about the city, and about its history and folklore. I manage to avoid the disco on the way back, where washing and brushing and writing up is enough to trigger a shut down for the night.. night.
  • Marmelópolis is at 1303m, and about 3400 people live here. You need to have been there to see how pretty the stars are on a summer night, though.
23.02.2007 Conservatória to Visconde de Mauá: 123km
  • So it turns out that cycling clothes do not dry overnight, regardless of what is otherwise considered as fact. They are soggy and that's a bit depressing when you are awake at 7am looking forward to breakfast in dry clothes. I towel-dry them, and that does not work very well. Body-drying is a technology which /does/ work however. I have that early breakfast with an adorable housemaid and I pack my stuff. Nobody else is awake in this city. It is very pretty in the morning light. The road starts out up, as usual, and terribly steep; it then levels out enough for me to enjoy it. Some 3km out of the city I view the arched bridge which is an attraction in this area. It was built by slaves, I was told in Conservatória, and the railroad tracks used to go over it. I climb up and see what it looks like from up there. Somebody is building a little house on the right hand side, though you can't see it from below. Survival, I guess.
  • I had decided to change my route, which originally ran due west to Fumaça, to visit this bridge and another important feature: a 200m tunnel through which the old railroad used to go through. And it is amazing! It drips water through, and puddles and a river flow through it. You ride in and only have the light on the far side to guide you, and it's actually not a lot of light. I cross a man on a horse at this point and we wave to each other. I must admit I am happier to be cruel to a bicycle than to a horse. The road I'm following is narrow and twists and turns through the hills; I can only think of the train going through them, hauling cargo to and from god knows where. I pass by a house which has been assembled inside a deactivated railroad station; we have so many of these in my country. This one is called Leite de Souza, I think. The lady is amused at my request to take a picture of her house but in hindsight the sun was in the wrong position and it flares out the shot. I can still remember her holding on to her little baby in the morning light, though.
  • The road is not too hard or uphill and I roll through São José do Turvo and then Santa Rita do Jacutinga. São José is nice and small, but Santa Rita is amazing, and a waterfall runs through the city. This waterfall is walled off and you're not allowed to bathe in it; in fact, you can't even look at it from very close up and I was unable to get a decent shot of it. What is wrong with these people? I think the river is managed by this mining company set up close by and they must have some sort of weird voodoo with the river that they don't want me to see.
  • From Santa Rita to Passa Vinte it gets a bit scary. All I can see are steep mountains that look at me with evil cyclist eating grins, and the road is narrow and full of splintered rock. This is mining country. In fact, the state I have just entered is called Minas Gerais. This road splits up and there are two options announced, one through a named uphill, and one unnamed. I chose the nameless one; if this uphill has a name it's because it's got to be pretty nasty.
  • Turns out my option can't have been much easier. I go through three serious sections of uphill and downhill and it's not only pretty dangerous going down I fear I'll collapse out of heat going up. I can't remember if I used the small chainring here, but if I didn't, I should have, because the uphill that goes into the city is in three long and painful sections which I meditate through, click, click, click. When I finally reach the city I am afraid to say there is not much going on there. I stop at a bar and get the best information a man can get about the road on to Visconde de Mauá, and buy drinks at pretty much every establishment open here. I try and buy some rehydration powder at the pharmacy but they don't have any can you please try the local hospital. I'm in a hurry (what for exactly?) and say thank you very much and then ride off. And the ride is nice because it is mostly down and around and along the Rio Preto with its wide and charming curves. I stop for a while to clean and oil the chain which is a little bit worse for the wear, but still going okay. I pass by all these folks on holidays with their cars full of chairs, children and.. beer; I guess that's what these guys think is a holiday. Come to think of it, can't blame them given I'm giving a demo of the alternatives. But everybody I pass by is friendly (though not very curious) and waves me on into the right direction, and makes nice comments about the weather and how hot it can be and oh, it's a serious uphill to Mauá. I'm like whoa -- 12km of uphill? But that's what they say it is.
  • So I turn off in the wrong direction after a river and a bridge and then I turn off in the wrong direction again. What is wrong with me! I get advice, the second time after I'm some 5km off the track, but this road, it's so beautifully covered in trees, that I forget it. When I finally do get on the right road up to Mauá (no, not really, but I can't remember the name of the little village at the top of this pass..) I have been psychologically prepared for some serious handlebar-hugging but it never comes. There are only two steep sections and I negotiate them by spinning hard before hitting them, and then keeping the cadence high enough to get past them. I use another strategy too: stopping to look at waterfalls! There is a massive waterfall next to the road and I take this 2k detour because you only live once and this is no little waterfall. It's got to be some 500m down at least, and I hike up over the rocks and look at it from many different angles. I tell you man, this is a /lot/ of water. The rains of January are still being washed down the great fluvial veins of Minas, it seems. The uphill to the pass is not too hard; I think I must have climbed in total some 8km over an hour, but this is now behind me as I roll easily across the flat at the top. I run into an electricity truck and they all point me in the right direction (and I'm hungry by now, but I will have to make it). As I descend out of the hilly section at the end of the pass I notice that there is this massive rock towering over me, and from there on Pedra Selada watches me ride through the farmland that you run into approaching Mauá. The rock is particularly striking and once you hear its name you can't help but think it actually is saddled up. I chase a bus down and pass it and I must be going over 40 an hour if he's not keeping up (stopping for everybody in sight as he was, too).
  • I arrive in Mauá early. I run into Sylvia's house just after I decide to eat some of my food as I am just starved; it is right on the road I am coming into and it is a beautiful little cottage with a.. pizzaria right next door to it. You can't go wrong with pizza. Trout pizza, pizza with chèvre cheese, vegetarian pizza... I definitely need the calories. Sylvia and Ivan treat me like a king and I am already spoilt 30 minutes in.. hours later I can only move around by rolling. We spend a lot of time reminiscing about family (and we have lots of that) and the past; her grand-daughters join us for pizza and I can't help but laugh at the age gap. Seems like everybody has an age gap to me; where are all those 76ers I grew up with? And are any of them on a bike today? After 120km of dirt I don't think I can guess the answer to that today.
  • Mauá is at 1300m, population around 6000. The city itself is only a short little strip with shops on each side; most of the population lives in little country houses around it, I guess.
22.02.2007 Itaipava to Conservatória: 151km
  • So on my Carnival vacation, following the tradition of last year's epic ride to the beach, I decided to set up a bike trip from Itaipava, where my aunt Bia and my grandmother Alayde live, to as far west as I could in 4 days of hard riding. The map I bought with Tecão at the bus stop said that was probably São José dos Campos (which is where we ended last year's tour) and after being body-searched by the armed forces while getting into Rio, enjoying a raucous Carnival at Areial with my mother, sister, Crica, Mari, Emilia and Olimpia, and cycling with Brazil's finest Avancinis, I was more or less ready to go. Starting a bike tour is a funny thing, because it's just as if you were leaving home to go for a ride, except you don't come back, and instead ride on until you are past the point of no return. These diary entries will be in installments as they are large and mostly reproduced from a battered notebook which survived the rains on the fourth day (we'll get there), but they are about as much fun as actually going there, and they hurt a lot less to read than to ride.
  • I leave Itaipava at around 9 in the morning. It's hard to leave early when you have all your stuff to pack and yourself to prepare, though this does get a bit easier as you get into the pattern of doing it daily. My grandmother Alayde is lonely all by herself in that big house, as Bia and my uncle are down in Rio for a doctor's visit today. I think many lonely thoughts as I roll out feeling well but a bit confused. I ride past (closed) bike shops (damn, wanted to buy a Presta adapter..), sleepy Itaipava on this post-carnival Thursday, up and around and then finally out to the road where I attacked everybody (on a mountain bike) yesterday and survived with a smile. The road turns off to Araras and then starts going up and down, rolling in the beginning and then it's way up after some 10K or so; it is cold and I wonder if I should have pulled out that rainjacket that yes Michy you give me the most spectacular things but never mind, it's hard going up and I'm only cold because it's 95% humidity around here (as usual). The climb is probably around 15% at parts, and at least 10% average. I grind up in the middle ring (and will only end up using the small ring on Friday, and even then, only for a short while), overtaken by little busses and big pickups, riding up into the clouds. It was sunny when I left home, but here the valley is covered in pretty but dark clouds in those menacing patterns that make you think of Pearl Izumi jackets (like that one yes I have it stowed away way too carefully in my pack). As does the downhill after the unexpected pass (well, it's not so unexpected after you're twisting your frame left and right and looking up in hope of some respite); no, come to think of it the downhill makes you think about that black North Face fleece that you decided to send off via Brasília with the rest of your baggage because it was too heavy to carry. So, freezing hands and back, the road tilts down and DOWN and then it flattens out into Vale das Videiras.
  • So the Valley is the sort of place that the eco-riche enjoy; lots of little restaurants and pousadas and the kind of place that is tastefully painted and clean and delicious and unfortunately not our destination for today. I roll on past Malta and then through a tiny village where the tarmac finally ends. The road from here on is bumpy but hardly sandy, and I'm all questions as to how my little KHS will take the rack I've attached only 12h ago to its seatpost (I will later find that the rack grinded a millimeter off the post across these 600km, which is a rate of around 0.0017 mm/km; a good deal, I think). The rack makes noises and shakes a lot and occasionally swings out to the right (always right. always right. is that my crooked pedalling?) but is remarkably stable for the R$20 it cost a year ago. About this road: the views are magnificent, left and right. Black rounded rock that marks this region of Brazil is everywhere. I roll on to Coqueiros, a tiny village on the crossroads, and then it's actually tarmac into Maravilha. And on that tarmac downhill, once a kombi has ridden past me, something funny happens.
  • My bike is my old KHS, which is OX3 cromoly mostly assembled with XTR plus an assortment of parts some of which actually survive from my S-Works tour bike I used in the Great Travels of 1998. But the wheels are my old racing Mavic Crosslinks, except the rims have been replaced by DT Swiss, because rims don't last forever and even less so when they have two XTR vise-grips, designed by Japanese engineers, machining into their walls. So this bike is sturdy and has seen everything, and just last Monday it has seen a bearing replacement, because on the Sunday ride to Teresópolis and back the rear hub made really scary noises and then blew up completely. Now Crica and Mari drove me around Carnival Monday looking for a bearing shop and we actually managed to buy replacements, and me in my premonitious self buy two because spares are wisdom. And then my wisdom sends this same spare off straight home with my stuff because, yes, bearings are too heavy to carry around. Except that now, on this tarmac downhill into Maravilha (and only the portuguese-speaking can appreciate the irony), the bearing starts to make the same ominous noises. It sounds like little bones are being ground into the thing which they make Jello out of. Or maybe like the premature end of a bike tour. So I am depressed. But I roll on despite the noise, and the fact that my rear wheel has developed this pretty nasty wobble that at times rubs the right stay.. you know, it's OX3. Nothing can really harm it. A kid rolls by me into Maravilha and tells me that's what the place is called, no serious it really is. He rolls by me on a little BMX, and him and I know that it has no brakes which means skidding is the only way of stopping. I ask him, only half-jokingly, where I can find a bike shop, and he shows off his little-proud-blue and brand-new grips and says that at Paty do Alferes is where you get them. I conclude I must visit this shop.
  • So as soon as I get into town I roll down the cobbles, which means Unlock ETA on the Marzocchi because it's hard when it's that bumpy, and my hands were a bit numb this morning, probably because of the extra effort to hold the weight attached to seatpost, yes? I pass a typical small-sized town in Brazil. Lots of construction. Real estate. Everything for sale. Brazil rolls on too, regardless of crisis and scandal and success in my world it seems. I ask around and end up at the bike shop. I am destiny's fool today too. The bike shop is not what me, urban creature extraordinaire, am expecting, because not one bike in it has a quick-release skewer, and that is a simple way of saying bad news to a cyclist. So I try easy things first, and ask the guy who runs the shop if I can use his wheel truing device (which is doubtlessly and then confirmed of course to be a contraption machined out of a fork and some custom aluminum adjustment bits attached to it via complicated wires and plates) to try and get it straightened out, and he says that no, we don't do this sort of thing around here, you leave the bike and then you pick it up later. But this is Brazil, so I say "no, no, I can do this, really, and I can pay for the time I use the stand" and the guy says ok. So I fix the wheel as well as I can, except that it only depresses me further because the crackling noises and loose axle are self-evident as I spin and true it. Why am I even bothering? Well, because. And easy things first.
  • So I try and take apart the rear hub, and it's easy to do this on the Crosslink. But the left-hand bearing is fine, so we're going to have to disassemble the cogs, and though he miraculously has a cassette tool (what for I wonder) he lacks a chain whip. Well, chain whips are easy to cobble, and a bit of chain and a wrench make up for it. Out come the cogs, off I spin the nut that holds the bearing in place inside the freehub body, and.. oh. Out come lots of little steel balls and three almost triangular sections of a cylinder, which are obviously a cracked inner ring. But this is a sealed bearing hub, you see. These things aren't user-serviceable. They live their precise little lives inside walls of steel and virtually nothing but nuclear impact makes them come apart. So it's like when you look at your patient and you see his pancreas and spleen without an x-ray: you know it's gone the way of Mr. Eko. But hang on. I had just replaced this bearing last Monday. WTF?
  • So here I am standing inside one of the most understocked bike shops in the world, with a cartridge-bearing wheelset disassembled, and a very specific cartridge bearing that looks more like army shrapnel. How do I get myself in these situations? The bike mechanic is sympathetic in a really cool way and him and I end up having a great time musing about ways to fix the wheel. You can't really put ball bearings into a used cartridge, and particularly one which is in bad a shape as mine. So I instead walk over to a gas station closeby, axle and bearing bits in hand. There are two gas stations and both apparently sell automotive parts, but I choose the one on the left. And at this station there's a shop, where in turn there's a guy peering into a computer screen and I greet him smiling (you have to be positive when you're as busted as I am). He half-ignores me, then comes around to looking at me. So yes sir, I am looking for a bearing replacement. What's the code? Uhm, well, this is all I have of it. Display axle and mangled bits of metal. Eyebrows. I need a code if I am to locate a bearing. Well sir, unfortunately this is all that's remaining of the bearing; can we not do some measurement and searching? Young man, we seem to not be communicating. I say I need a code to locate this bearing, and you have none. What application is this for? It's for a bicycle wheel. Oh, then. Bike parts are found in the bike shop.
  • So I look at him feeling like 65 cents. Instead of cursing him, though, I measure the bearing, try to find it in a catalog, and when I conclude he only has bearings slightly larger than mine, I give up and walk away with his unfriendly replies stuck in my head. At the bike shop the mechanic is sympathetic again and asks me what I am to do. I consider this myself; call home? Catch a bus? Find a job? Meanwhile he is busy opening the counter and looking at a bottom bracket. Not a 2007 XTR BB I tell you. But inside this bracket you can see a little cartridge bearing. And you won't believe that it's exactly the same size bearing as I wanted, either. Well, neither did I, but it fit and after some copious hammering (yes, you often need to use hammers around this KHS) the old bearing was out and the new bearing was in. That's the way you fix things! Perhaps most curious was the discussion about pricing of this bearing. The mechanic tells me that yes, the bearing works, but that I'll have to pay a steep price for it given I've rendered the BB useless. I say whoa, here goes my lunch money. I am in the worst possible position to negotiate and prepare to shell out hundreds of reals. Then he does little calculations, and you can see the numbers bubble up in the ether of his thoughts. And he tells me: R$9.80. No, really. And all this while, the truth in the gas station salesman rings in my ears. Bike parts, bike shop. Doh. The mechanic even finds me a spare bearing in a box before I leave. I smile, confident that I've just confirmed that God actually exists. And on with this cycling business.
  • The road between Paty and Miguel Pereira is run alongside a set of deactivated railroad tracks which double as a bike path. Miguel and Paty are an odd continuum, even though there's supposed to be some kilometers between them, and I catch glimpses of bike shops over my shoulder. Maybe I'm not so out in the sticks after all. Miguel is a charming little town and pity it doesn't have a disposable camera for sale so I can show people just how much. Fair enough, my memory is my personal prize. So I ride along the road to Vassouras. It's hot and sunny but I hammer it out, faux aero-bar position just like Floyd taught us last year. The road rolls around and down, down and down, right, left, and I'm in Vassouras, university city which wins today's picturesque city square contest. And I finally buy a camera to prove it! Another irony: the bike shop here actually has the brake pads I've been trying to buy for a week, and it costs R$5 and change. I am being spoilt by this place. The pads are GTS brand, which my friend Gaucho always finds good things to say about. I figure they could improve, but at least they are still "starting". I forget to buy the Presta valve adapter though. Again. Roll away anyway, and off to Barão de Vassouras, and then to Juparanã, where I cross the Paraíba river in an odd but lovely bridge. I take a snapshot of the tracks and the river underneath it. It is sunny and very hot and I love being here.
  • I hammer along into Juparanã, over cobbles and around a square and somehow Ms. Tatoos and Mr. Bike can't seem to agree on the best way to advise me to get to Conservatória. I laugh, and it's the third time I ask anyway. Juparanã is charming but strange, as if it's a ghost town stuck in the wake of Carnival. The road climbs up and it's not too harsh, and then it turns into a hot and rolling race on tarmac. I must have been overtaken by at most 3 cars in the hour and a half it takes me to dust this section. The road is great until it disappears into craters and then it is great again; I muse how hard this must be to drive on, and it reminds me of driving to Ouro Preto two years ago, stuck on these secondary roads that cyclists love and drivers hate. I make it to the end of the road unscathed and then left towards Barão, but I turn off into the dirt road of Conservatória. 120km and almost there. It is a hard ride up and down, or maybe I'm just not used to being off-road. Conservatória takes a while to show up; I'm tricked into detouring to look at a waterfall which is really more of a pool, and it's not an easy ride up, but I have matches to spend still. That is, until I realize that Conservatória is not close! In the end I get there. It's a lovely little cobbled town, musical in every aspect, and with houses that are named and not numbered. You need to go there one day. And send me a postcard. I stay at the nicest pousada, and it's expensive but worth it; dinner is at a portuguese restaurant that is charming and delicious and serves tortillas like Emilia would have me eat after a long day like this. I complain very little tonight, 150km and change. Laundry, swap those brake pads and I am a dead man until tomorrow.
  • 150km in 7:25 (20.2 kph). Heart rate averaged 126, maxing out at 172 (I think out of Araras). My CS-200 tells me 3976 calories. Conservatória is at 518m; population 6500.
09.02.2007 TV on the Radio
  • Is so good it hurts. Don't walk, RUN and steal some of their music today -- while you still can <wink>.
07.02.2007 Ouch
  • My right thigh hurts; I think I have tendinitis somewhere in my sartorius.
  • I h8:
     ProgrammingError: ERROR:  for SELECT DISTINCT, 
         ORDER BY expressions must appear in select list
  • But I <3 science: [www.eurekalert.org]
    Harvard University psychologist Ellen Langer and her student Alia Crum found that many of the beneficial results of exercise are due to the placebo effect.
06.02.2007 First race of the year
  • And two crashes later I finish second and 22nd overall: [www.marcioravelli.com.br] -- my conclusions? a) 12 minutes off the pace b) base training makes you slow c) Larsen Mimo tires up front are too dangerous for me d) all eyes rest on March. Pictures up at [www.ativo.com] and [www.ativo.com]
02.02.2007 U R what U 8
  • Remember that thing about me having plotted my blood tests in a spreadsheet? Well, I just discovered that Scientists also suggest that "Vegetarians and semi-vegetarians are less exposed to cardiovascular risk factors": [www.ijathero.com]
  • Being a vegetarian is even good for the environment. I think TGI should factor that in to avoid me having to plant 100 trees a year :-/ [www.ambientebrasil.com.br]
01.02.2007 All that suffering works wonders
30.01.2007 Never let culture stand in the way of TV
29.01.2007 Fashion reigns, but fashion rains?
  • You won't guess that I was at [www.spfw.com.br] this weekend. I was on biking holidays (for the first time in some 30 days too) and Emilia and Olimpia were down in São Paulo so I took the bus down on Friday evening and spent the days roaming the city. You always spend horrendous amounts of money in São Paulo, though this weekend was cheaper than usual because the fair was free (and the freebies were fun too). We saw Anish Kapoor's São Paulo exhibit (I had seen the one in Brasília which is very similar but has some peculiar differences in positioning and setup). We were late to the play that Emilia is performing this weekend and that was a pity but I have seen Autumn, Winter (by Lars Norén) before so not a complete catastrophe. Many other wonderfully bizarre things happened over the two days; one that immediately comes to mind is watching leadout man Chamorro (for Sundown) actually win Aberto da República in Brasília after dropping the favorites and his main man Morcegão in the final push to the line. I have never seen this happen before in a race.
  • Also presenting at SPFW was The Green Initiative, Osvaldo's reforesting project that has been making waves all over. The cool thing about TGI is that they make it easy for anybody to calculate how much they would need to plant in order to neutralize their equivalent six-month emissions, and it's trivial to actually go ahead and sponsor the reforesting for that amount. Very smart.
  • Apart from that it rained. It is raining here today too. Excessive rain sucks, and we've had way more than an excess this year. It hasn't rained fish yet though: [en.wikipedia.org]
28.01.2007 It almost happened
  • If Adam hadn't spoken to the cowboy, it would have all been shut down.
26.01.2007 Dismemberment pickups
  • I mean, Dismemberment Plan and Silversun Pickups. But I keep hearing Boards of Canada in them..
25.01.2007 An anecdotal investigation into NFS performance
  • Johan often complains. It's sometimes because of NFS. Today Johan pointed out to me that issuing a copy of a working tree over NFS was really slow:
         jdahlin@walrus:~/dev/sicem$ time cp -r gazpacho gazpacho-2
         real    2m9.621s
    and I was intrigued as to why indeed that is so slow. It's an average-sized tree: 33MB, and it contains about 2500 files. So why does this copy, which takes about 3 seconds on the server, take so long over NFS? The short answer is that file creation is synchronous, and I have tried to start a thread about this over at [marc2.theaimsgroup.com]
22.01.2007 Transform null equals?
  • Today was a day of many WTFs. So you tell me what's wrong in this picture?
     launchpad_dev=# select * from bug where owner != NULL;
      id | ... | date_last_updated 
      --------+-------------------
      (0 rows)
      
      launchpad_dev=# select * from bug where owner = NULL;
      id | ... | date_last_updated 
      --------+-------------------
      (0 rows)
      
      launchpad_dev=# select count(*) from bug;
      count
      -----
         10
      (1 row)
    Yeah. Salgado and I were bitten by this "feature" today in the karma cache updater and I just found it so dangerous that I have got to question the value of having this in the SQL standard for anything but cuteness. There's an option in PostgreSQL that gets the sane behaviour back: transform_null_equals. The funny thing is the only result you get back when you query for "transform_null_equals" and braindead is (as usual) a comment about Microsoft: [www.google.com]
21.01.2007 Google: Cinema São Carlos
  • "São Carlos produz 1º filme inteiramente local": [overmundo.com.br]
  • Our apache dies every time logrotate runs. The logs tell us this:
     [Sun Jan 21 06:25:24 2007] [notice] SIGUSR1 received.  Doing graceful restart
         accept_mutex_on: Identifier removed
     [Sun Jan 21 06:25:24 2007] /usr/lib/apache-ssl/gcache started
     [Sun Jan 21 06:25:24 2007] [error] (2)No such file or directory:
         mod_mime_magic: can't read magic file /usr/share/misc/file/magic.mime
     [Sun Jan 21 06:25:24 2007] [notice] Apache/1.3.34 Ben-SSL/1.55 (Ubuntu)
         mod_filter/1.4 PHP/4.4.2-1build1 mod_auth_pam/1.1.1 mod_perl/1.29
         configured -- resuming normal operations
     [Sun Jan 21 06:25:24 2007] [notice] Accept mutex: sysvsem (Default: sysvsem)
     [Sun Jan 21 06:25:24 2007] [alert] Child 7177 returned a Fatal error...
         Apache is exiting!
    Funny thing is, it happens to a bunch of other people as well: [blog.gmane.org] [www.wlug.org.nz]
13.01.2007 If you REALLY need to use PHP
  • Then don't do as I do:
         $open = 0;
         $filename = "../DIARY";
     ?>
     <!-- BEGIN_DIARY -->.
     <TABLE CELLSPACING="0" CELLPADDING="5" BORDER="0">
     <?
         $fd = fopen($filename,"r");
         while (!feof ($fd) && ( ! $count || $i <= $count ) ) {
             $buffer = fgets($fd, 4096);
             if ( ereg("(^[0-9][0-9]\.[0-9][0-9]|^TODO)", $buffer) &&
                  ( !id || ereg("^$id", $buffer))) {
                 $open = 1;
                 $buffer = explode(" ", $buffer, 2);
             /* open day block */
     ?>
       <TR><TD CLASS="diaryhead">
       <A HREF="diary.html?date=<?=$buffer[0]?>"><?=$buffer[0]?></A>
  • Instead do as I say: use a templating system like Smarty or FastTemplate.
         <div>
           <p><b>{t}Last 24h{/t}</b></p>
           {if $24h_ip}
           <table id="TopIp">
             <tr class="Header">
               <th></th>
               <td><b>{t}IP{/t}</b></td>
  • Every time you use inline HTML in your PHP scripts, god kills a kitten. If you won't do it for me, do it for the kittens.
12.01.2007 Hand crafting
  • The ACM Queue supplement of this month, on the topic of 2007 development tools, has an editorial that says the following:
    The era of handcrafted code and tests, and then a hand-off of code via uncoordinated linear processes into production, is coming to an end.
    Really? Does anyone see an end to handcrafted code and tests? Not in the Free Software world, I don't. In fact, I see less and less code and test generation tools, while I see more and more abstraction in the form of frameworks and libraries.
  • Speaking of which, I finally hacked up an RSS feed of my diary. Blame Fabio C. P. Navarro for reminding me that it wasn't that hard. It is actually one of the ugliest hacks I've ever produced, and yet I am still proud of it. Yes, it too was hand crafted.
10.01.2007 Window scaling?
  • One of our clients is using a satellite link which carries Windows packets perfects, but not Linux packets. Why? Turns out the issue is some router on their outgoing path which doesn't handle TCP window scaling (as specified by RFC-1323) correctly. The horrible workaround is to disable window scaling on the Linux hosts.. but Dave M. would frown: [www.ussg.iu.edu]
  • Or could it be tcp_timestamps? There's some evidence that can be problematic with broken routers as well: [antionline.com] [www.squid-cache.org]
09.01.2007 Speaking of fighting back
  • It seems Daniela Cicarelli and her co-star in their "home" video (available everywhere on the Internet you care to look) have managed to "fight back" and get YouTube banned across Brazil! It's more a beach video than a home video, to be honest: [exclusivo.terra.com.br]
  • I noticed this on the cover of the newspaper when I was out buying food for Olivia this morning and I have got to say this is wonderfully insane. I guess there are two sides to it. On the down side, there is a lot of great YouTube.com content that we're going to have to miss out, but on the upside, you have many options to grab the amateur video elsewhere: [www.mininova.org] [www.mininova.org] [www.mininova.org] [www.mininova.org] and, oh yeah, Google, who owns YouTube still lists the video, anyway: [video.google.com]
  • What can I say. Thank god for effective protection of privacy? I wonder how much effort it would take to knock down Google, come to think of it. Zuardi has more to say about this, in softer words and a sweeter language than I do: [idomyownstunts.blogspot.com] and somebody's actually registered a boycott domain already: [www.boicoteacicarelli.com]
  • BEST MUSIC TITLE EVER: [cchits.ning.com]
  • If you think you might enjoy Goodbye The Band, since the track above is lost and gone, try this: [ia300031.us.archive.org]
  • I bought a Kong toy for Olivia today. I'm reading about stuffing them, which apparently is something of an.. art? [dogs.thefuntimesguide.com] Wonder if I got the right thing? This guide actually says that "Kong Toys Are The Best Toys For Dogs": [dogs.thefuntimesguide.com] ... but... an automatic dispenser? [www.sfgate.com]
08.01.2007 Fighting back
  • Hardware hell almost took over my weekend but I fought back and won. Upgraded the drives in the server to 73GB and added them one by one to the Raid-5 doing the musical chairs routine. It was unfortunate that along the way I got the SCSI transmission blues: I replaced the SCSI cable for a cable with more positions, then replaced one hard drive, then replaced the next, and that's where the SCSI errors appeared. I rebooted out, swapped the cable for the old one, and the errors went away. Swapped the rest of the drives. Swapped the SCSI cable back in. End of problems. Go figure!
  • Here's a bonnie++ run of the Raid-5 with the new Atlas Vs:
            ------Sequential Output------ --Sequential Input- --Random-
            -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
       Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
      7592M 18494  59 28195  34 21676  26 40032  92 74555  21 596.9   1
            ------Sequential Create------ --------Random Create--------
            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
      files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
         16  2662  98 +++++ +++ +++++ +++  2746  98 +++++ +++  6460  97
    By looking over the internet I notice that the performance I'm getting isn't actually that great (I've seen setups that do twice the sequential read and write speed we do) but.. I'm not sure why.
  • Was reminded by [groups.google.com] of how to copy partition tables using sfdisk. It's actually too trivial:
    sfdisk -d /dev/sda | sfdisk /dev/sdb
  • Then discovered what /etc/iftab (and iftab(5)) was meant to do, and stopped the interfaces dancing around every time I rebooted; it was almost completely random, amazingly.
  • VMWare refuses to run over SSH on my PowerPC mac, and I haven't yet found out why. I discovered today it does run on my laptop, but only after I added the infamous
     xkeymap.useKeycodeMap = "TRUE"
    option to my ~/.vmware/preferences. Go figure. Funny thing is that Gustavo's email to the redhat list is what reminded me of it: [www.redhat.com]
  • I then got the new VMWare tools installed; I liked seeing that it actually allows you to shrink virtual devices (though I don't need to right now), and that it installed easily after I added a CD-ROM to the virtual machine (who knows why? I had a virtual CD-ROM there but it didn't work) and did the Add/remove programs thing.
  • I hear thunder on the horizon.. oh-oh.
05.01.2007 A Crater
21.12.2006 7 meters of rain
  • [www.agencia.fapesp.br] should make London residents feel better: 7000mm of rain fell in 2000 in an area in Calçoene, in Amapá, northern-most state in Brazil. That's like twice as much the second-most-rainy place registered, which is around Panapiacaba, near São Paulo capital. One interesting fact in the study is how much rainfall varies across the Amazon region: some places have almost desertic profiles, whereas others are almost as.. good.. as Calçoene.
20.12.2006 MySQL repair man of the day
  • I had to fix some corrupt MySQL tables today. If only I knew how. I was running into a problem: any insert into the bugs table for Bugzilla told me the following:
    Duplicate entry 'NULL' for key 2
    Thing is, there is no key 2 for the bugs table. Scratch head, right? Oh-oh: [forums.mysql.com]
  • Turns out there are two great commands for MySQL I had never used: CHECK TABLE and REPAIR TABLE. A number of these tables were corrupted! I'm not sure how bulletproof the recovery is, but I hope it's good enough -- no 8am calls for me tomorrow please!
11.12.2006 The heat is on
  • At least inside the server case:
     kiko@anthem:~$ sudo hddtemp /dev/sd[abcd]
     /dev/sda: QUANTUM ATLAS10K3_36_WLS020W: 37°C
     /dev/sdb: QUANTUM ATLAS10K3_36_WLS020W: 37°C
     /dev/sdc: MAXTOR ATLAS10K5_73WLS: 44°C
     /dev/sdd: MAXTOR ATLAS10K4_36WLS: 39°C
    So maybe the drives which are higher up in the case are hotter, and the 10K5 is hottest. Why is that I wonder? Or could it be that the more modern the drive, the warmer it gets?
06.12.2006 That's why they call them scientists
  • Apparently scientists have discovered that environmental issues such as contact with family, exposure to drugs and poverty have more to do with people taking up harder drugs than being smokers of pot: [www.agencia.fapesp.br] -- and all I can really say is "duuuh". The study is interesting, though, in that it used a population with groups that used pot before or after cigarettes and alcohol, and neither of them had a higher propensity of serious drug addiction.
  • One of our server's fans is on strike. It's a Minebea 3110KL-04W-B69. Interestingly enough, I found in a message post at [www.short-media.com] its CFM rate -- about 42.
  • You might ask yourself why I am looking at [www.thule.com.br] -- to be honest, I don't even know myself. But it's pretty cool, isn't it? Thule make a 4-bike one too, but it's more than twice the price, and this one is so nice and compact.
05.12.2006 Was it the shorts and sandals?
  • Yesterday evening something interesting happened that I didn't mention. So I went to see if everything's sorted for me to finally vacate and return my old house, and this is after an army of painters and workers have been over it fixing scrubbing and cleaning up, and my bank account has suffered the usual million little cuts in getting this sorted out. Now my landlord's had a bit of bad luck this year and his old lady is very sick, and the entire family has moved in to his place and are doing a good job of cheering him up. I've stopped by a few times to pay my respects and talk about the house and generally I think I've been a good tenant and a respectful neighbor. I mean, I've minded my own business, taken good care of the house, and made improvements during the years I was there to the extent the house is nicer than when I moved in. I think that's good karma to share.
  • And then there was yesterday. While I am walking into the house, my landlord's son greets me and we make conversation, in typical São Carlos fashion. How are you? Pretty good; how are you guys doing? Ah, not too bad. So.. you're a student here, are you? Me? No, I graduated a long time ago. Oh, really? Yeah. I finished my master's about 4 years ago and haven't gone back to study yet. So he pauses for a bit and then asks me what he's been meaning to ask me all along. So, do you, I mean, aren't you going to go out and get a job?
04.12.2006 and back
  • In second place, and third place overall, which was great: [www.sampabikers.com.br] I was a bit miffed at having missed first place in our age group by some 8 minutes, given we led the race for a long while, and I am still asking myself how we managed to fall back 12 minutes from first place overall! However, I had only one very slight and uneventful crash at night, and the rest of the time rode super-strong. I finished the first lap in second place and the third lap (I had to do three in a row, which kinda broke me) in the top 5, which very a pretty pleasing experience. Next year we will shoot for number one, because it's been many years of #2 at this specific race. The last time I was on that same podium, I recall, our team ended up in a fist-fight! At least the runners-up were a bit classier this time. Pictures I found online include: [www.amigosdabike.com.br] [www.wvagencia.com.br] [www.wvagencia.com.br]
01.12.2006 Almost there
  • The last great race of the year starts tomorrow: [www.mtb12horas.com.br] so today João, Gaúcho and I did some loops of Russian Roulette, and yes, you guessed it! The first mandatory crash was mine! João had a nastier one later because he had a chain skip and I hope he can sort that out until tomorrow. I may have pictures to share on Monday; here's hoping batteries last. I will take a video camera to shoot some of the training loops and well who knows, perhaps we can even manage to shoot one of the final laps. Wish me luck!
30.11.2006 I have been so busy
  • I've been unable to stay awake at the job: [www.async.com.br]
  • But still smiling through the rough of it all: [www.flickr.com]
  • It was Daniela's birthday over the weekend, so I had to do a marathon of work and travel on Saturday that ended up at 1am at the airport in Rio; highlights were me missing the flight in Campinas, Fabia and I driving to São Paulo in an amazing rail of rain, our flight delaying 2 hours, and actually getting to the club. Pictures of the really fun part of the trip are at [picasaweb.google.com] and mmmm I realize I need to shave sometime soon: [picasaweb.google.com]
29.11.2006 The Forest (The Cure)
  • Today, after 14 years of negotiation, a law that specifies use and protection of Brazil's Atlantic rain forest (Mata Atlântica, perhaps my favorite forest worldwide, and one in which I have spent many nights, and left many pounds of flesh in) was approved by our state legislators. 14 years is a bloody ridiculous amount of time to do anything, but this is such an amazing success that I can't help getting a knot deep down that our bumbling government has actually managed to so something unequivocally good. So share my hope, and if you can savour the portuguese, read more about this milestone at [www.sosmatatlantica.org.br]
28.11.2006 Gravity
  • Lennard Zinn finally explains why heavier cyclists descend faster using the math here: [www.velonews.com] -- but the most interesting part of it is that he actually links to an article from a Brazilian site: [www.vivaesporte.com.br] -- and that article in particular is an amazing resource for both climbing and descending for cyclists who are scientifically inclined.
24.11.2006 So you have a Siemens Gigaset
  • And you are curious how to set the names of the extensions? You select the "internal" menu, and then each individual phone has its own menu where you can change its number, set its name and unregister it. I am still not sure how you get some of the extensions to not ring when somebody calls in. Tech support says it's not possible -- well that just sucks. I guess these phones are not really useful for companies with secretaries, after all!
22.11.2006 Jono says it all
     <kiko> I suck at mutt
     <jono> mutt? kiko, the 1980s called and want their mail client back
21.11.2006 They overcame ED!
  • Of the 16 bits of spam stuck in the moderation queue for the Kiwi mailing list, 14 of them mentioned Erectile Disfunction -- a few of them abbreviated as ED. Has somebody been leaking information over the INTERNET??
  • Back in Brazil after some good ole USAing. It was fun. I need to add some backlogged entries to ensure I actually remember what I did.
01.11.2006 Moving house..
  • I'm moving house today, and then moving city for a few days, and then moving country for a few weeks. Don't expect to see me on the hills to Analândia for a while.. I'm going to be up in Minneapolis, which is freezing: [www.weather.com]
31.10.2006 Some things in cycling just make you go WTF
  • So how do you explain, after being caught red-handed with cash and dope, evidence stacked as high as the Galibier, Manolo Saiz is awarded a ProTour license for 2007?! WTF? At least somebody found the words to make it right: [www.velonews.com]
30.10.2006 In no particular order
  • In the next 5 days I need to:

    a) write two reports
    b) land 4 branches
    c) visit my grandmother
    d) go to Rio
    e) ride 300km
    f) fly to Minneapolis
    g) produce a plan for next week's UDS
    h) produce a plan for the Canonical all-hands
    i) rent bicycles in various places
    j) get 5 custom parts ordered and delivered at Michy's house in time
    k) move houses
    l) find a home for 2 dogs
    m) interview 2 people for random jobs

    Oh, hmm and n) write an obscene number of emails. I know I do that already but this week will be particularly obscene. I might even include profanity in them if you really ask for it.

28.10.2006 It's a hot saturday
  • and as usual the afternoon acid baths are scheduled. Tune in at 14:00 if you are that sort of person.
  • Mez and I yesterday tried to figure out how the hell to get Mailman to let messages with a certain header through without making the list unmoderated. It turns out that the spam filters can almost do what you want, if not for a strange design detail that the UI doesn't make clear. The bug report and a workaround are here: [sourceforge.net]
  • I was doing some google trawling of myself, and found a set of links that are historically interesting (and I don't even remember most of it): [www.rnlivre.rn.gov.br] [www.gnu.frb.br] [www.sounerd.com.br] [lse.sourceforge.net] [www.snort.org] [www.osdl.org]
27.10.2006 Constant Gardeners
  • Today I am going to write about how amazed I am with gardeners in my home city. It's a long story, but, basically, I live between my house and my office in São Carlos. Each of these has a garden, and each of these gardens requires regular tending to. I do it occasionally, but I am really too busy to do it regularly, and for this reason we've tried to find somebody to come and do it regularly for a monthly price. This is the same sort of work I used to do up in New Milford in 1998, and I really enjoyed it. I enjoyed getting paid regularly, too. Funny thing is, it appears the gardeners here don't! You see, they come and announce good intentions in doing weekly work. Because there will have been some time since the last well-intended gardener has done trimming, there will be some initial heavy lifting required, and I offer to pay that work up-front as a sign of good will. So the gardener comes and does the work and we pay him and the houses look smart, and we say yes sir you do acceptable work let's do this regularly and we'll pay you once a month. That's the last we see of the gardener. At some point some other gardener comes along, and the story starts over, with an interesting overlap, because the old gardener comes back a few weeks later and says hey remember me I'm the gardener, to which I reply yes sir but it's a bit too late now as we've found a new and reliable replacement. And after doing this some six times, I realize what the problem is: I'm stuck in a Moebius loop.
  • Overweight and heating up the world. Hard to actually believe, but [www.news.uiuc.edu] has a report on how weight increases in the American population have led to increased fuel consumption. I am blaming them for how hot it is here today.
26.10.2006 So far
  • It was an interesting morning. I did 5 repeats of the local Tour of Flanders, and for all of them my heart rate was way into the 170s, hitting 181 on the fourth. I was flying over the cobbles; at one point André stopped me and said "Dude, the laws of gravity still apply to you, mmmkay?". I wonder if it's because the Granfondo has brought me to a better level, or if it is a temporary benefit that will wear off in a few weeks. Maybe it's because I'm finally under 65kg. Whatever it is I really enjoyed it and ended up the intervals not even half-dead; we had enough energy left to chase each other in the downhill, with the sand in the corner making the turn at the bottom particularly fun. For some value of "fun" I mean. 1:44 total riding time. Today was so hot I put sunblock on at 6 in the morning. That's gotta be a personal record. Which reminds me..
    You're staring at the sun
    You're standing in the sea
    Your mouth is open wide
    You're trying hard to breathe
    The water's at your neck
    Your body's over me
25.10.2006 I'm really weird
  • But after listening twice to TV on the Radio I start to think I like it. What is wrong with me?
  • I tabulated my blood tests from the past 6 years today in Openoffice, and noticed a bunch of interesting little details. I am rather fascinated by blood tests in general: the idea that you can measure a net result of everything you do as an organism by measuring your blood. For instance, since converting to a vegetarian diet my LDL and Triglycerides have gone down by around 50%, and this last year, where I've eaten some fish and more egg, my LDL levels have gone up slightly, but my triglycerides are as low as ever. I rated high on glycosis, but I think that's just because I didn't really have a 12-hour fast before the test (I had dinner too late). I catch myself wondering how much daily variation in these levels may occur; I might request a second test in December at another lab to see what it looks like.
  • Back in 99 my test detected some calcium oxalate crystals in my urine; the portuguese article at [www.medonline.com.br] is an excellent technical description of kidney stones and potential dietary contributors to them. I may have just been dehydrated when I took the test, though -- I often was back then.
24.10.2006 Granfondo Pinarello 2006
  • Results of the weekend race may tell a sad story; 9th in age group and 45th overall: [www.ativo.com] However, that is but a fraction of the awesome experience that the race was. Riding up in the top-20 of a massive peloton at an average of over 40kph is an amazing feeling, and I climbed, attacked and paced with them all. That is, until we hit the 110km mark, I ran out of water, bonked on the larger uphill on the way back, paced Beto up the hill and then paused for a few minutes to fill up those bottles. I managed to latch on to a group which was riding okay, but not really spectacularly. I ended up averaging around 38, which means I covered the 150km in less than 4:15. It's amazing how much time you lose if you drop out of the peloton; it would have been impossible to chase them back if they were anything more than 100 meters ahead of me. I loved the race, and will definitely ride it again next year. And yes, I know myself enough to know that a dehydrated Kiko just doesn't operate smoothly; however, the logistics of getting water were complicated, and it was my first road race ever. Frances Farmer will have her revenge.
18.10.2006 You Could Have It So Much Better
  • [www.fpciclismo.org.br] It might not be *all* right, but beach, biking and 160km of blood-curling flats starts sounding really appealing now that the acid baths of the weekend have started wearing off the legs (and brain). I am curious to see how strong I'll feel at the end of it of course. And if we're lucky, it might not even rain: [br.weather.com]
17.10.2006 São Carlos once more
  • After a late flight home and a seriously LONG taxi ride I made it home yesterday without passing out. Well I did actually pass out for most of the trip and was surprised that we were already at Analância after what seemed to be a blink. I did end up having to pay part of the fare with some US$50! Funny thing that the rain overnight didn't manage to ruin our morning ride (but no, no Tour of Flandres to celebrate either). I was wrecked from the aggression of the weekend war in Brasilia, so much that I was dropped on one of the last uphills.. thank god for offices.
11.10.2006 I did something
10.10.2006 Iron Biker
04.10.2006 The codes of ethics
  • Wouldn't it be great if political parties signed ethics codes, just like the Pro Tour teams do? I mean with automatic suspension of any politician involved in a corruption inquiry, and automatic suspension of the whole party if multiple politicians were found guilty. And why on earth is such a thing possible in cycling, but not in government?
03.10.2006 To say the least
  • if you are anything like me you should apt-get install the miscfiles package.
29.09.2006 What am I talking about?
  • As Johan points out, indeed, it was not a dog.
    Franco is not speaking Norwegian but making up the dialog. "Schmergsdorf" as Carpenter puts it. The subtitles, however, give the impression he is speaking Norwegian. The words spoken are actually understandable for Norwegians. Albeit broken Norwegian, the line goes: "Se til helvete og kom dere vekk. Det er ikke en bikkje, det er en slags ting! Det imiterer en bikkje, det er ikke virkelig! KOM DERE VEKK IDIOTER!!" This translates to: "Get the hell outta there. That's not a dog, it's some sort of thing! It's imitating a dog, it isn't real! GET AWAY YOU IDIOTS!!"
25.09.2006 Stretching
  • Perhaps the best short Q&A about stretching I've ever read is at [www.cyclingnews.com]
  • And some stretching of the arms at the National Championships this weekend: