|
|
|
Monday, 1 May 2006 | Echunga | Images for 1 May 2006 |
Top of page | ||
next day | ||
last day |
Back to backup documentation today. I have the streaming backup more or less up to date, but there's other stuff in there which is sadly in need of attention. Also, Jeremy Cole recently had an idea (with code!) for plugin based backup for MySQL, so spent some time looking at that. The biggest issue is that there are so many different approaches; Jeremy's is based on the idea of a file system snapshot, something that not every system offers. Still, it looks like it could be a useful part of the jigsaw puzzle.
I use groff for almost all my document processing (the exception being the web pages), but sometimes I wish I didn't. Spent at least an hour trying—without success—to understand why a rule at the beginning of the preface started 10 cm too far to the right. Grrr.
Two weeks ago I bought a camera for Yana on eBay; it finally arrived today, 14 days after the end of the auction:
Despite the packaging it wasn't damaged, but it didn't have a strap, lens cap or batteries. I'll be very careful before buying from this seller again.
Tuesday, 2 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
More work on my documentation today, and after lots of work with the chapter header macro, found a workaround (move the command further down the macro). I'm really quite unhappy with this solution; I still don't know whether this is my fault or a bug in groff. Still, I have documentation to write, and did that.
Yvonne brought some batteries home for the camera I bought for Yana. They cost nearly 25% of what I paid for the camera. Put them in the camera and discovered that the electronics are defective: it transported the film one frame every time it was turned on or off, or when I pressed the shutter—without taking a photo. While looking at the fact, looked at the original auction information, which clearly illustrated the actual camera with strap and lens cap. This is the first time I've had problems with eBay, and hopefully it'll be the last.
I hate firefox! I'm currently running it on echunga because it won't run at all on wantadilla, but even on echunga it crashes if I try to print anything:
(Gecko:81998): Gdk-WARNING **: Error converting to UTF-8 from 'ASCII': Invalid byte sequence in conversion input Segmentation fault (core dumped) [1]+ Exit 139 DISPLAY=wantadilla:0 firefox
This looks like an inability to recover from defective documents. Tried running it on linux and was reminded just how broken this highly acclaimed piece of software is:
Only one instance can run at a time.
It only understands one screen.
I hate tabs! They're designed to break exactly the functionality that windows offer: to have more than one thing visible at a time. The only rationale I can think for them is that they work around the breakage of most “desktops” that place voluminous icons at the bottom of the screen, where only a few can fit at any one time.
Layout is random. Here are three attempts to display the same text:
echunga.lemis.com. This is displaying on a 2048x1536 monitor with 131 dpi. It looks almost OK.
ceeveear.lemis.com. Compared to the echunga display, the characters are a little smaller, but for some reason the line spacing is too wide. I can't find a way to influence this.
eucla.lemis.com. This is a laptop with a 1920x1200 display with 147 dpi. It is almost completely illegible. The original display size is 10 x 13.7 cm (4 x 5.5" ).
I can't work out where this is coming from. It's not a difference between FreeBSD and Linux; echunga is running FreeBSD 6.1-PRERELEASE, while ceeveear and eucla are running Fedora Core 5.
You can't tell firefox how big the window should be when starting it. For decades, X clients have understood things like -geometry 900x1200+0+0, which tells the client to open a window 900 pixels wide and 1200 high and place it in the top left corner. firefox doesn't understand this, and the size of the windows you get on startup depends on what you did before you last shut down. It's frequent that I end up with firefox starting in full-screen mode, and getting it to open windows of more normal size is a matter of trial and error; simply resizing the current window and opening a new one doesn't help, though it may help to resize, close and then open a window.
You'd be forgiven for believing that the display on eucla got that way because of a misconfiguration. That's very probable, but it's not of my doing: it happened after I displayed an external web site, and there's no way to fix it. Here are more indications of the problem: first, I try to set preferences (not easy when you consider that the following image is written in 3 pt text):
Where's the tab for “font size”? It's not displayed. First you need to expand the window to the full size (still only a large postage stamp):
The only useful tab there is “Advanced” on the right just below the middle. It gives the following display (again truncated, and it doesn't remember resizing, but you get the idea):
This shows, if not clearly, that I have selected 96 dpi (because it forgets the “customer settings”) and “character size” 24. That's the largest it will allow you to set. Nevertheless, the text at the top of main window is only about 6 pixels high, as xmag shows:
Clearly there's a problem here with firefox storing some configuration without asking for it, but I can't work out where it's coming from, nor how to fix it.
Like so many “modern” GUI programs, they deliberately try to break the concept of a directory hierarchy. For example, when saving files, you'll see a menu like this:
It has no idea of path names: when looking for a program to “open” a file type, it starts in the home directory:
Even after entering ghostview, which is in the PATH, all I get is:
This requires me to run which to determine the complete path name for ghostview, then split it into the directory name (enter at top) and the file name (enter at bottom). This is more broken than any UNIX software was 20 years ago.
Unreliable. For reasons I don't understand, the firefox installation on my main system, wantadilla, no longer works at all: on startup it SIGSEGVs. I've tried reinstalling a newer version of firefox, and it, too, SIGSEGVs, so I suppose this is a library or configuration issue. But I stand by my point that software that SIGSEGVs is buggy.
About the only thing I can say in favour of firefox is that all other web browsers seem to be equally broken. Is this progress?
I now have my RSS feed running, mainly, but it's clear that it's sub-optimal. Aggregators such as bloglines pull the feed and change relative URLs, apparently incorrectly. Yesterday I put in an image with the URL Photos/20060501/tiny/camera.jpeg into the feed at http://www.lemis.com/grog/diary.xml; I would have expected that the aggregator would thus have created an absolute URL http://www.lemis.com/grog/Photos/20060501/tiny/camera.jpeg; instead it created the URL http://www.lemis.com/Photos/20060501/tiny/camera.jpeg, which of course is invalid. Fixed that, after which the aggregator created a new entry, but didn't remove the old one. I need to find out how to fix that (and to ensure that the feed contains only absolute URLs).
Wednesday, 3 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
I'm off to the USA and Canada in a couple of days, to visit MySQL people on the West Coast and the BSDCan conference in Ottawa. Somehow I spent all day rotating, but in retrospect just handled mail and a single bug. Where does the time go?
My eBay camera purchase is not resolving itself. Intended to put in negative feedback, but the web site suggested to take my time, and also offered me the contact details of the seller. The email looked less then informative:
335/335 + aw-confirm@ebay.com eBay User Information Request -- (all) Date: Wed, 3 May 2006 00:56:14 -0700 From: aw-confirm@ebay.com To: groggybay@lemis.com Subject: eBay User Information Request ~
It proved to be a defective multipart/alternative message; the entire message is in HTML, and a particularly emetic rendition at that:
<br xmlns:x=3D"urn:schemas-microsoft-com:xslt"><br xmlns:x=3D"urn:schemas-m= icrosoft-com:xslt"> This message is an automated reply to a contact information request made by= =20 lemisauctions. <br xmlns:x=3D"urn:schemas-microsoft-com:xslt">This request is related to i= tem # 7607919429 . <br xmlns:x=3D"urn:schemas-microsoft-com:xslt"><br xmlns:x=3D"urn:schemas-m= icrosoft-com:xslt"> Important Usage Guidelines <br xmlns:x=3D"urn:schemas-microsoft-com:xslt"> 1. This contact information should only be used for resolving matters relat= ed to eBay. Any other use is strictly prohibited.=20
And I don't have a functional web browser. sigh. Extracted the phone number (the only useful information it contained, and a mobile number at that), called it and got voice mail. Left a message, of course; I wonder if he'll call back.
Thursday, 4 May 2006 | Echunga | Images for 4 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Spent some more time working on my backup specification today, and made some significant progress with the stream format. There's nothing completely new here, but I finally have the feeling that I have the right levels of detail and clarity. Sent it off to a number of people; hopefully we'll get some progress on the subject next week.
Still more mushrooms are growing in our garden. I wonder what these ones are:
|
|
Still no response from the vendor of my defective camera on eBay. Looks like it's going to be a legal issue.
Friday, 5 May 2006 | Echunga → Sydney → San Francisco → Cupertino | Images for 5 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Up in the middle of the night and off through pouring rain to the airport, where they weren't able to give me an emergency exit place on the transpacific flight. In Sydney, they told me that all places had already been taken, but they'd try to get one anyway. Somehow that doesn't quite match the statement I heard 2 days ago that the seats weren't assigned until after seeing the passenger.
Arrived in Sydney at an unfortunate time where a lot of passengers were entering the international terminal, and had a long wait to be screened. After that, the airport does the best to disorient you:
|
That's a duty free shop, through which you must pass to get into the terminal. I feel like accidentally brushing off a few bottles in the display and then telling people that they shouldn't have been there in the first place.
I don't like the Qantas Club in Sydney; hopefully they're in the process of building a new one somewhere, though this one is not very old. No computers at all, and no Ethernet connections. To make up for that, there were two wireless networks, and nobody could tell me which one to take. Finally chose the one on network 144.135, which was very expensive and kept dropping the connection.
Firing up firefox on eucla was surprising: a couple of days ago I got ridiculously small text.
When I fired it up today, I got something completely different. Unfortunately the screenshot has got lost.
What changed? Well, I'm now running FreeBSD on it instead of Linux, which means a different firefox binary, but the preferences are the same (I use the same /home file system for both Linux and FreeBSD), so the preferences have not change at all. I still can't understand what is causing this.
They finally got me an exit row seat, and this time I managed to get two blankets: the window seats in the exit row of a 747 are really cold at night. Today I found out why:
|
That's a vent at foot level which discharges quite a bit of air, frequently cold.
Arrived at San Francisco International terminal for the first time in over 15 years. Things have changed, and after a 15 minute wait at immigration, my bag was waiting for me. This airport has good signs! After places like Heathrow and Rhein/Main, it's really pleasant not to have to guess at every juncture.
Picked up my car at Thrifty, who promptly doubled the cost of the car: the web site had made no mention of any insurance cover except for vehicle loss, implying that the rest was included in the price. In fact, it was more expensive than the base price. I chose them based on the price, and I'll consider hard before I hire another car from them.
Down to Cupertino via the 280, and found the office with little difficulty. Off to lunch with Omer BarNir, Edwin DeSouza and Eric Braswell at a place on the corner of Wolfe and Homestead, where they used to serve beef, but which is now Vietnamese.
Got back and found J. D. Duncan playing around with one of the Sun Enterprise 4500s that Ade Lovett had donated:
|
Without instructions and OS, it was a little difficult to work out what to do, and eventually we decided to get hold of a CD of the operating system first, and then continue.
Also had a discussion with Zack Urlocker, our new VP of Products, who is still finding his way into his new position. Sounds like he's taking the right approach. Time will tell.
Had meant to talk to Dennis Wolf, but currently people are so busy that he kept being pulled from one meeting to another. We'll have to do it another day.
Afterwards off to Frys to look for 802.11 VoIP phones, but the people didn't know what I was talking about. All they had was tied into some provider, the most promising of which was Skype. But my intention is to connect to a local Asterisk server (it's about the only way I can see handling multiple phones, multiple phone lines and multiple VoIP services), so that was a non-starter. I almost always leave Frys wondering why I bothered.
Had dinner at a nearby Indian place that I had been to before, now http://www.grandindianbuffet.com. The food was acceptable, but not as good as I recall, and not as good as the web site shows.
Of course the URL didn't last. Probably the restaurant didn't either.
Saturday, 6 May 2006 | Cupertino | |
Top of page | ||
previous day | ||
next day | ||
last day |
Had a breakfast appointment with Paddy Sreenivasan of Zmanda this morning. After examining the complimentary breakfast at the hotel, decided to go elsewhere. Looks like Zmanda has a similar plan to MySQL: a commercial organization dedicated to an Open Source product.
After that, did some investigation on camera shops. Yana's 21st birthday is coming up, and I had planned to buy a digital SLR camera for her. Yana had decided that the Canon EOS 350 D would be the best choice, and they're available on the web for round $1000 under the strange American name “Digital Rebel”. Finding one in a shop proved more difficult than I thought: most people buy on the web nowadays. Finally identified four shops, all in the same general area, and visited all of them:
Kamera Korner offered them for a price that seemed only slightly higher than the web, but they were out of stock. They didn't seem very interested in selling one to me when they did come in.
The Good Guys (also known as CompUSA) made it clear that they're looking for good sales people. No wonder. The ones they have don't seem to fit into that category. After seeing me looking at the cameras on display for a while, one came over and offered assistance. I asked about the price of the camera, but he didn't know it. He said he would get somebody else to find out, but when nobody came in 5 minutes, I left.
San Jose Camera proved to be a place I had been to before. They didn't make a good impression then, and they didn't today either. I was offered an EOS 30D, much bigger (one of Yana's criteria was small size) and nearly $2000. No other suggestions.
Los Gatos Camera was the only one where they seemed to take their time and know something; the sales representative was very helpful, and gave me a number of reasons why Yana might prefer something else to the Canon. Left with some notes to send to Yana. Unfortunately, she didn't reply before they closed, and they don't open on Sundays.
Then to lunch, still looking for a good Indian restaurant, and was lucky with the Udupi Palace on El Camino just East of Wolfe. Good, simple southern Indian vegetarian Thali, just what I was looking for.
In the afternoon to Barnes and Noble, which I had found very good 12 years ago, to look for books. Found nothing worthwhile. Maybe this is another area in which the web is taking over.
In the evening out looking for still more interesting food, preferably Korean. The place is full of Korean places, but I didn't find one. Ended up at the Afghani House, also on El Camino, a little closer to Lawrence Expressway. Nice place, nice atmosphere, but what I got, while good food, didn't seem particularly different from Indian or Pakistani food: even the name Kabob-e-murgh doesn't sound very different from murghi kebab.
Sunday, 7 May 2006 | Cupertino → San Francisco → Seattle | Images for 7 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
I hate American breakfasts! There's almost nothing in them that isn't pumped full of simple sugars. They did have a “full cooked breakfast” (dried scrambled eggs and some indefinable hash made out of what appeared to be putrid corned beef), but nothing worth eating.
Off to the airport early—if I had arrived on time, the hire car would have run over into its third day and cost me another $40—and to my normal petrol station on Airport Boulevard. Too late: they had run out of “regular”. Went looking elsewhere and discovered an obvious reason why that particular station had run out: it was round $0.30 cheaper per gallon. Ended up buying elsewhere at the same price for which I could have payed for premium at the first petrol station.
Checkin was a mixed experience; to my surprise, the electronic checkin worked without a hitch: I put my Singapore Airlines card into the United checkin box, and it Just Worked. But first I had to get there, being bossed around by people who think they own the place. And of course the checkin machine spat out the dreaded SSSS that meant a “random“ intensive security check:
|
Just the same thing I had a year ago. Somebody must be making a lot of money out of this situation: they now have cabins that blow compressed air at you instead of hand searches. And they still have these same non-functional checkout boxes that I complained about last year:
|
Found an interesting Indian cookbook in one of the airport bookshops—lots of stuff about Southern Indian cooking, and at $6.98 no more expensive than many magazines. I've been having trouble finding good Indian cookbooks in Australia, so this was particularly welcome, especially as it seemed to have a better approach to weights and measures. They were even in metric, so it evidently wasn't an American book. Checked and found that it had been published in Australia!
FreeBSD 6.1-RELEASE has been cut, though not yet distributed. I had pulled down the sources in the hotel, and while waiting for the plane built and installed it on eucla. Despite all the travelling I've done, that's a first. Good news: it works, and so, it seems, does ACPI. But I haven't worked out yet how to suspend, let alone how to resume from suspend.
In Seattle, had to wait fully 30 minutes after arrival before my bag arrived. Then out looking for a taxi. This place is definitely not as well signed as in San Francisco. In particular, the taxis are hidden behind a barrier, and there's no indication of how to get through:
|
Thence to Brian's house, which he has been slowly renovating for the past two years. I'm surprised he finds the time for it.
Monday, 8 May 2006 | Seattle | Images for 8 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Spent most of the day working on the backup design, along with some input from Brian. This is the kind of discussion that we should have had while he was visiting me in early February. Still, better late than never.
Tuesday, 9 May 2006 | Seattle | Images for 9 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
More work on the online backup today. Brian's input has been useful, and we now have a pretty good idea how the archives will look:
The client queries each storage engine as to the nature of the backup that it can perform. The storage engine replies “at start” or “at end”. This is a purely informational step and may be performed at any time without initiating a backup.
The client sends a message “prepare for backup” to all engines.
The storage engine may need to take steps to ensure that the data is consistent. It replies when it is ready to supply the backup data. This may be immediately in some cases; in other cases it might be necessary for it to perform some significant processing. For example, it may be necessary to perform a snapshot before continuing. For example, MyISAM currently has no way to track active requests, so it may wait 60 seconds for all active requests to terminate.
I may have misunderstood this information (from Monty). Statements can run for a long time; possibly I should be referring to some other subunit of a statement.
The client halts all DDL operations during backup.
This could be logically part of the previous step, but there are other reasons to freeze DDL operations, so it is worth making this a separate function at the protocol level.
The client builds list of the tables involved in the backup, one list per storage engine involved.
The client starts backup for “at end” storage engines. This proceeds as follows:
Take a mutex on the binlog to stop statements or transactions from ending.
Start backup for each storage engine, sending a list of tables to be backed up.
Unlock binlog mutex.
The storage engines return variable-length blocks with such information as the storage engine will need to identify where it belongs on restore (such as table name and file offset). The client adds information such as storage engine name.
Backups of different storage engines will finish at different times. The storage engines shall report when all data has been backed up, but they carry on backing up.
When all “at end” storage engines have reported that the backup is complete, the client again synchronizes the tables:
Take a mutex on the binlog to stop statements or transactions from ending.
Send a message to each participating storage engine to complete the backup (i.e. stop further backup activity).
Wait for all storage engines to return possible further data and an end-of-data indication.
Save the binlog position. This represents is the point in time at which the backup is valid. It is also the reference point to be used by incremental restores.
Start a logical backup for all engines not able to perform the backup themselves.
Start backup for each “at start” storage engine, sending a list of tables to be backed up.
Unlock binlog mutex.
Some storage engines may not supply the interface to this API. The server performs the backup without their direct participation in effectively the same manner as mysqlbackup.
The “at start” backups proceed in the same manner as the “at end” backups.
Finally, the client backs up the binlog for the period of the backup. Ideally the backup of the binlog should start at the beginning of the backup and continue in parallel with the other backups. This requires an additional thread. In the initial release, there will be only one backup thread, so the binlog is backed up at the end.
For lunch, went to a “microbrewery” in the street round the corner, called the HopVine. They had some nice beers on tap, including an ale with a particularly pronounced hop aroma (nomen est omen?). Then back to the park to the fern house, where I saw a flower surprisingly similar to the Keng Hua that we had in Kuala Lumpur decades ago:
|
|
The first photo is the one I saw today.
In the evening, Brian had a dinner alone with Zack, so back round the corner for something to eat, and ended up at a Lebanese place with quite good food and a penchant for garlic (fortunately not overdone). Then back to the HopVine and tried a couple of other beers:
|
Found it amusing that they also offer wines from Reynella (Nottage Hill). Australian wines are really quite popular here.
Wednesday, 10 May 2006 | Seattle → Chicago → Ottawa | Images for 10 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Up at the crack of dawn today to leave for the airport. On Brian's recommendation, left fully 100 minutes before takeoff. It only took 20 minutes to get to the airport, but what greeted me belied the idea that electronic checkin is faster:
|
Checkin involved entering lots of detail into the ticketing machine, which had a very badly aligned touch screen. After I finally got it all typed in, I ended up with a Homeland Security bloke who checked it all again anyway, including taking my boarding pass and asking if I was returning to the USA. I had learnt from this time last year, and was able to prove my itinerary, so I avoided Yet Another SSSS boarding pass.
Then through security after a 20 minute wait. By the time I got through, I had been at the airport for 40 minutes. No wonder you need to check in 45 minutes in advance. It's fairly clear that the terrorists have won; they've turned the USA into a police state, and the economic impact of heightened airport security must far outweigh the damage done in September 2001.
Things weren't done yet, though. Finding breakfast in a US airport is difficult. First, there are long queues:
|
If that weren't bad enough, there was nothing useful to eat: sweet, overly spiced pastries, hamburgers and bagels. I chose the last (another 10 minute wait), and I didn't even have time to finish my coffee before boarding the plane.
Had a 4 hour wait at O'Hare airport, which strangely went by pretty quickly. Once again tried an automatic departure check machine, and this time it worked. Sort of. The instructions say that I should first insert my visa:
|
Visa? What visa? Firstly, I don't have one, and if I had had one, it would have been in my passport. What they really mean, of course, is “insert passport”. I'm still left with the impression that, a year after their introduction, the whole thing is still completely disorganized. I got a receipt, but nobody checked me when I left the country—I could just as easily have left the airport—and after arriving in Canada, I still have the stub of the I-94W in my passport. This is a serious case of left hand/right hand syndrome. How do these people expect to be able to address terrorism?
Arrived in Ottawa about 20 minutes later than scheduled and ran into a series of unfriendly immigration officers. For some reason they decided I needed a more thorough examination, performed by an unfriendly woman identified only by the number 24691, who decided she didn't like me. She alleged that I was a “business visitor” because I was going to a conference—what nonsense, considering that this is a non-commercial conference. She also subjected me to a complete baggage search, even to the extent of starting up the Microsoft partition on one of my laptops and searching for images; again, what nonsense! It's clear that they were just trying to annoy me, and it worked. 24691 claims that she was “protecting her country”; I'd say that she is harming it by making Canada look worse than every other country I've been to, and by the end of the procedure I wouldn't have been unhappy if I had been refused admission. I suspect this is the last time I'll come to Canada.
Finally got out and was picked up by Yashy (Yasholomew Yashinski), who took me out for a couple of beers before going back to the hostel. Very late to bed.
Thursday, 11 May 2006 | Ottawa | Images for 11 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Up relatively late today, missing the first tutorial (Max Stucchi talking about VoIP). I had already heard him talk on the subject last year in Perugia, and I had to prepare for my own tutorial. First off with Hugo, my flatmate, to find a place called “Fatber & Sons” on the corner of King Edward Road, where they served a better breakfast than I got last time I was here. Looked in on the kernel summit and did my work there, then very soon back to the Royal Oak pub, only a couple of hours after breakfast.
My tutorial in the afternoon was pretty average; had about 25 attendees, and there were no particular problems. Then off again with Peter Hansteen, whose tutorial I had missed yesterday, to the Royal Oak, mainly because we couldn't get critical mass to go elsewhere. Pleasant evening, early to bed.
Friday, 12 May 2006 | Ottawa | |
Top of page | ||
previous day | ||
next day | ||
last day |
Up in the morning to discover that it was pouring with rain; despite promises, it stayed that way all day long. It's time that I added an umbrella to my travel checklist. Off to “Father & Sons” again for breakfast, bumping into Kip Farrow on the way and D'Arcy Cain in the restaurant. D'Arcy was to hold a BoF on “Agile Progamming” in the evening, and we spent some time talking about it. There are some interesting ideas, like having coding done by two different people at the same time. At first that sounds ridiculous, but it means immediate peer review, and the claim is that by the time they're finished the code will be pretty much bug-free. In addition, from my point of view, it seems that it's an excellent way to bring new people up to speed.
Off to the conference, not getting completely soaked by passing cars, and after the introduction session (“yes, we're hoping to get network access some time today”), listened to Jason Evans on his new malloc implementation. Interesting approach, and gave a fair amount of food for thought.
After that, Attilio Rao presented a paper titled “Subverting the FreeBSD ABI subsystem for phun and profit”, which proved to be a description of an exploit of the system call vectors in emulation mode.
Across the road to the ZAM pub for lunch. Last year we had had problems with slow service. This year they were better prepared—but just as slow.
In the afternoon Dru Lavigne talked about BSD certification, something in which I'm involved as a member of the advisory board; the real problems seem to be in bureaucracy.
Second talk in the afternoon was Kris Kennaway talking about file system performance. Finally we're getting good test results. I didn't realise how much better FreeBSD 6.0 is than FreeBSD 5.x.
Then I held a MySQL BoF, unfortunately not attended by any people who could address the issues I had, such as performance and the discrepancy between MySQL's binaries and those from the FreeBSD Ports Collection. It's nice to see that people are generally happy, though (though there was one issue which may be related to a bug I currently have on my queue).
In the evening off with Kip Farrow, Peter Hansteen and Michael Lucas through a brief pause in the rain as far as the closest Indian restaurant, where we had a passable buffet before swimming back to the Royal Oak for a couple of beers. This rain makes things miserable.
Saturday, 13 May 2006 | Ottawa | Images for 13 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Up earlier than convenient this morning because the NetBSD contingent had decided on having breakfast together, apparently at my recommendation at Father & Sons. Ended up going there with Peter Hansteen (ostentatiously wearing an OpenBSD T-shirt) and found only David Maxwell there, though others turned up later.
To the conference, listening to Kip Macy talk about hypervisor support, then my own talk about the foundations of civilization, which was well received. Clearly the details about brewing are also of great interest. After the first time I had intended to reduce the amount of time dedicated to that topic, but now I think I should expand it.
To lunch with the OpenBSD crowd, yet again at the Royal Oak. There was a buffet at the ZAM pub, but none of us liked the food, the cramped quarters and the slow service.
I've just discovered that the defective camera I bought on eBay was paid for using PayPal, who offer a dispute resolution service. Filled out a form and sent it to them. Received a reply suggesting that things won't happen fast.
In the afternoon Mark Linimon talked about the mechanisms of the ports system, not quite the talk I was expecting. We really need to get better descriptions in the programme.
The a talk about Yet Another Firewall, pfSense. I'm still trying to get my head around pf.
Then the final session; somehow this conference has flown by. Yashy took me out to a place to the west of Ottawa where they were doing a “Strangebrew” brew-in:
|
Interesting idea, good beers, and lots of people brewing out in the open. Interestingly, they nearly all do single infusions, though one bloke is working on a RIMS. Here's the crucial heating element:
|
One of the people there was Alan McKay of Bodensatz, with whom I have corresponded in the past. Unfortunately, I found it a bit cold out there (it proved to be only the wind; the temperature, which I had estimated at 5°, was really closer to 13°), and Yashi had to drive and thus wasn't able to drink as much beer as he would have liked, so we returned to Ottawa after a couple of hours and ended up yet again in the Royal Oak.
Sunday, 14 May 2006 | Ottawa | Images for 14 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Today was the day that Dan wanted to go to Cora's for breakfast this morning, but I don't like the place, so to Father & Sons again, where I met Rik Farrow. Established from Dan that they wanted to visit the Diefenbunker, not quite my thing, so decided with a number of people to go to a museum. We finally decided on the one that was the closest by foot, probably a pretty good choice: it was the Canadian Museum of Civilization in Gatineau, a few kilometres' walk, and of course it had to start raining on the way. They currently have an exhibition on Petra, a place that has fascinated me for a while. The exhibition was good, but there were far too many people there. Bumped into Ollivier Robert and Justin Gibbs while there. Then upstairs to try to get to into another exhibition, but ended up at the wrong end:
|
To get in, I had to go to the other end of the museum. But not on this floor (level 3). The only way to get there was to go down two levels, walk the length of the hall:
|
and then back up again.
Visiting museums is tiring; the others left a good hour before me, but after 3½ hours I was pretty exhausted. Spent the afternoon in the residence, trying in vain to get network access. In the process discovered that my firefox was crashing again. On further examination, discovered that the problem was a little accident I had had yesterday. I had accidentally installed a FreeBSD 7-CURRENT system on top of my 6.1-RELEASE partition. I fixed that by reinstalling 6-CURRENT, but it left behind a couple of libraries which have a different location in 6.1:
=== grog@eucla (/dev/ttyp1) ~ 19 -> ls -l /lib
(most stuff omitted)
-r--r--r-- 1 root wheel 145420 May 13 15:53 libpcap.so.4
-r--r--r-- 1 root wheel 140448 May 13 15:53 libpthread.so.2
The corresponding files for 6.1-RELEASE are in /usr/lib, but the library search sequence found these files. It's high time that we got rid of the /usr hierarchy; it was originally created because the root file system of the time was only 512 kB (!), but nowadays there's no good reason any more.
In the evening out eating with Mark Linimon, talking at length about the Ports Collection.
Monday, 15 May 2006 | Ottawa → Chicago → Los Angeles → | Images for 15 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Mark took me to the airport today, myself navigating. A good thing too: I don't think even Rome or Firenze compare to Ottawa when it comes to bad signs pointing to the airport. We saw a total of three, all of them just aeroplane symbols, two of them together and (apparently) pointing in conflicting directions.
Going through pre-flight screening is yet a level worse than in the USA. You can't blame the Canadians for this one, though, except possibly that they allow US officials on their soil. It did mean, though, that when I arrived in Chicago, there was no check of any kind. The I94-W stub that they had forgotten to remove when I left the USA proved useful: I had been asked to fill out another one, but when the immigration official saw the stub, he just threw away the form and let me in. I don't think he even checked to see if the stub related to me. Why do I continually get the feeling that these people don't know what they're doing?
In Chicago I just had to find my way to the American Airlines terminal, again hampered by almost complete lack of information (there were information panels, mainly only for the current terminal, but you have to find them first). I was flying “Qantas” (i.e. American Airlines code share), so was able to check in at the First Class counter based on my Gold frequent flyer status, and got a friendly checkin person who changed my seat on the flight to LAX so that I would be sitting in an emergency exit row. For that, I put up with not having a window seat.
From there on, it went downhill. I had to stand in line four times before I was in the American Airlines Admiral's Club: once for ticketing, once for the omnipresent security, once to be let into the club (first time I've seen that) and once again to try to get them to get me an emergency exit row on the transpacific flight. Qantas had an indication “contact carrier” in the booking system, but that was too difficult for the club staff.
The Admiral's club is a poor substitute for the Qantas club; you have to pay for everything (though Qantas flyers get a single drink voucher (used to be two)), and you have to buy network access, from T-Online. When are people going to supply it for free? Spent some time trying to connect; there seemed to be some problem with setting the default router address, but before I could establish the cause, it rectified itself. About the only definite thing was the confusion of the default router:
14:41:20.120289 arp who-has 10.240.8.110 tell 10.240.8.110
I wonder if that's a signature of a specific network stack. Certainly many operating systems, including Linux, send far too much ARP traffic.
Bought some food in the club—$11.50 for a sandwich which left me hungry. Downstairs into the food mall, where I got rid of a further $17 for a hamburger and a beer. The crowds here drive me crazy. On board the plane, discovered that the friendly checkin person had misplaced me in the row behind the emergency exit row, in some of the most uncomfortable seats I've been in recently. I don't think it was the checkin's fault: the bloke next to me had also been given his seat as an emergency exit seat, so presumably there's a bug in the reservation system. And there was, of course, no food—that on a 3½ hour flight.
Got to Los Angeles feeling completely miserable, and again to checkin to try for my emergency exit seat. Sold out. Up to the Qantas Club and tried again. I nearly made it: a seat did (apparently) become free, but the receptionist called me and asked me if I wanted it, and by that time it was gone.
A little later she came in and brought my boarding pass back: she wasn't going to try any more, because there was a note against my reservation that I would get an upgrade to business class at the gate. That proved to be the case, very much to my surprise, considering that I had been sold a seat that wasn't upgradable (thanks, Roz). A stark contrast to the treatment I got at the hands of American Airlines.
Tuesday, 16 May 2006 | → | |
Top of page | ||
previous day | ||
next day | ||
last day |
Never happened
Wednesday, 17 May 2006 | → Melbourne → Adelaide → Echunga | Images for 17 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
The few people in the cabin were noisier than I liked, but I still managed to get about 8 hours sleep (the flight was a total of 14½ hours, one of the longest I've been on; but then, it is a third of the way round the world). Arrived in Melbourne, where the baggage was so slow in arriving that I was afraid that I would miss my connecting flight. That worked OK, though. Finally home again after over 35,000 km:
From | To | km | ||
ADL | SYD | 1160 | ||
SYD | SFO | 11900 | ||
SFO | SEA | 1090 | ||
SEA | ORD | 2750 | ||
ORD | YOW | 1050 | ||
YOW | ORD | 1050 | ||
ORD | LAX | 2800 | ||
LAX | MEL | 12700 | ||
MEL | ADL | 641 | ||
Total: | 35141 |
I never want to fly again.
In the preceding year (more exactly 375 days) I had travelled 205,881 km, more than half way to the moon. My wish may come true. A quarter of a lifetime later I still hadn't flown again.
On the way home, stopped off at Grumpys to talk to Thomas face to face for the first time in months. Spent some time talking about HERMS, and it looks as if we might be able to get a cooperative effort going: Thomas builds the hardware, I write the software.
Back home and in post-conference mode (i.e. 3000 mail messages to handle). I managed to stay awake until mid-evening, but I was not very alert, and didn't get much work done.
Thursday, 18 May 2006 | Echunga | Images for 18 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Plenty of things have piled up while I was away, but one problem didn't go away: I still can't start firefox on wantadilla. Did some investigation and found that it wasn't the same problem that I had on eucla on Sunday, and it also wasn't anything in the saved configuration. I'm guessing that it's still a library issue, but I didn't have time to investigate, so decided to upgrade wantadilla to FreeBSD 6.1-RELEASE. That didn't go as well as I had hoped, nor as one might expect considering that I've been working on a method for smooth transitions for 2 years now.
The main thing I do is run two root partitions, which include everything related to a specific release. This includes the /usr file system, which is now one of the worst-named file systems on a UNIX machine. As a result, if anything goes wrong, I can just go back to the other partition and continue. At the moment, 8 GB seems to be enough for the root file system.
The main issue is still just building the packages; it took me a couple of hours to build X, and when I did, it didn't want to run with my hardware. There's been some problem with one of the display cards for some time—I can't restart X without rebooting—and maybe X counts a configuration run as starting and stopping X. Didn't have much time to think about that, though; I had real work to do, so rebooted the old version. At least that worked.
Friday, 19 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Up early this morning; jet lag hasn't completely passed me by. As a result, managed to get a phone call in with Lars, who was up working in the early hours of the morning.
Somehow rotated all day long, and didn't have much to show for it. OK, documents out for review, a bug pushed, and just possibly a resolution for BUG#12251, which has been irritating (biting?) me for some time. But looking back, it's difficult to see where the time went.
Nic Bourke in in the evening to pick up his hops. A good thing too. Even after he left with his 2 kg of hops, the outside fridge is full of them:
|
The aroma of the hops penetrates plastic foil, and just about everything in the fridge that hasn't been sealed in glass or metal foil now tastes of hops. Initially it's not an unpleasant taste, but it gets boring pretty quickly.
Saturday, 20 May 2006 | Echunga | Images for 20 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Another day dominated by beer. Bottled my last batch in the morning, during which Ian McDonald (father of Kirk) came along and picked up 6 kg of hops for him.
In the afternoon Wally Hughes and Lyndon Wilson turned up to pick up their hops, bringing some beer with them. Lyndon has been experimenting with non-standard hopping techniques such as first wort hopping and mash hopping. Tried one beer, an “excelsior” which had been made with only pale ale malt and a complicated hop schedule that included mash hopping, and it tasted very good. Now that hops are cheap, I must do more experimentation with this.
Sunday, 21 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Brew day again today, which took up most of the day. I really need to get this HERMS thing sorted out; the current setup is a real pain. Mark Rice came in the middle of it and picked up his hops; now there's only one person to go.
Monday, 22 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Short working day today, but managed to get rid of a couple of bugs more, one by default (no feedback), the other the end of some work I was doing last week.
PayPal has responded to my complaint about the defective camera I bought on eBay, requiring me to do considerable work:
In order to continue with the investigation of your complaint, we must request documentation to support your claim that the item is damaged or significantly not as described. Please obtain a document (such as an estimate or invoice) from an unbiased third-party, such as a dealer, repair shop, appraiser, or another individual or organization that is qualified in the area of the item in question (other than yourself). This document should detail the extent of the damage or clearly explain how the item received significantly differs from the item advertised. Please do not proceed with any repairs or alterations to the item, as doing so will limit PayPal^Zs ability to successfully resolve your claim, and may result in the cancellation of your dispute. If possible, the document should include a serial number and description of the item, and the dollar amount required to complete the repairs necessary to correct the damage. This document must be on letterhead that includes the name, address, and phone number of the individual, business, or organization so that PayPal may contact them if necessary.
The documents should be faxed to PayPal at (402) 537-5760 (please note this is a United States phone number, if you are faxing from outside the United States, you will generally need to dial 00 1 before the number). Please include a cover sheet with your fax that includes the email address registered on your PayPal account and the ID number of your claim so we may attach the document to your claim as quickly as possible.
We must receive your fax within ten days from the date of this message in order to proceed with the investigation of your claim. If we do not receive your fax within ten days, your claim will be cancelled. We are unable to grant extensions to this time period. PayPal is unable to reimburse you for any costs or fees that may be incurred in obtaining the requested documents. Any documents you provide may also be supplied to the seller in your dispute.
Thank you for your cooperation and patience. We regret any inconvenience this request may cause.
What a pain! In addition, note that ^Z in “Paypal^Zs”. That causes file(1), and thus apparently a2ps, to consider it a binary file and refuse to print it.
In the afternoon into town to a meeting of the ICT Council for South Australia, hopefully the last one on a Monday; those present agreed unanimously to a change to Thursday, which would suit me much better.
Tuesday, 23 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Called the South Australian Office of Consumer and Business Affairs this morning with reference to my eBay camera purchase. They were able to get on to Simon and spoke to him and me alternately. He made all sorts of claims:
He had been in hospital for a while.
He had replied to me already.
The camera was in perfect working order.
The camera had been damaged in transit.
I had received my money back.
As far as I can tell, it seems that PayPal had indeed taken back the money pending the enquiry. Called Simon back and spoke with him directly. I asked him how he could have tested the camera without batteries; he responded that he had taken the batteries out to put in his “new” Nikon 801, and that he had previously run a number of films through the camera. I wonder if the Nikon takes the same kind of batteries. He was completely uncooperative, so it looks as if the PayPal complaint will have to run its course.
More bugs to handle; it looks as if we have at least one case where we've been chasing a bug in FreeBSD.
Wednesday, 24 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Working on the build machines in Uppsala is a pain. Some things you can't do anything about, like the speed of light: I have to put up with a 300 ms round-trip time for my data.
Other things are less obvious. In this particular case, involving FreeBSD PR 95127, PR 95418 and MySQL BUG#19496, I had a library that I want to test. It would be easy enough if I had root access to the machine, but I don't. Here's how I worked around the problem:
First, build a complete source tarball and copy it to the system. I don't have my own login on the system, so this in itself is a little complicated:
Check out on freefall.FreeBSD.org. Clearly not everybody can do this; I did it because I can, and because it's faster than doing it locally.
tar and gzip the source tree.
scp the tree to shell.mysql.com.
From production.mysql.com, logged in as mysqldev, copy the file to bsd60-64.mysql.com.
On bsd60-64, unpack the tree in my own subdirectory of mysqldev's home directory, in this case ~/grog/FreeBSD/6.0/src.
cd to ~/grog/FreeBSD/6.0/src/lib and do a make. This builds in the local directories.
Set the environment variables to my own user:
=== mysqldev@bsd60-64 (/dev/ttyp2) ~/grog/FreeBSD/6.0/src/lib 127 -> export LIBOWN=mysqldev
=== mysqldev@bsd60-64 (/dev/ttyp2) ~/grog/FreeBSD/6.0/src/lib 128 -> export LIBGRP=mysqldev
=== mysqldev@bsd60-64 (/dev/ttyp2) ~/grog/FreeBSD/6.0/src/lib 129 -> DESTDIR=~/grog make install
Unfortunately, this isn't enough: some of the Makefiles understand LIBOWN and LIBGRP, but not all of them:
install -s -o mysqldev -g mysqldev -m 444 libcom_err.so.3 /home/mysqldev/grog/usr/lib ln -fs libcom_err.so.3 /home/mysqldev/grog/usr/lib/libcom_err.so install -C -o root -g wheel -m 444 /usr/home/mysqldev/grog/FreeBSD/6.0/src/lib/libcom_err/../../contrib/com_err/com_err.h /usr/home/mysqldev/grog/FreeBSD/6.0/src/lib/libcom_err/../../contrib/com_err/com_right.h /home/mysqldev/grog/usr/include install: wrong number or types of arguments usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode] [-o owner] file1 file2
Strange error message, by the way: the real problem is that its trying to install as root, for which I don't have permission.
Since this seemed to be a directory-by-directory problem, I tried running a make -k. That finished of course, and installed quite a few libraries, but not the critical libpthread. Looking there, I found:
=== mysqldev@bsd60-64 (/dev/ttyp2) ~/grog/FreeBSD/6.0/src/lib/libpthread 155 -> make install
install -C -o mysqldev -g mysqldev -m 444 libpthread.a /home/mysqldev/grog/usr/lib
install -C -o mysqldev -g mysqldev -m 444 libpthread_p.a /home/mysqldev/grog/usr/lib
install -s -o mysqldev -g mysqldev -m 444 -fschg -S libpthread.so.2 /home/mysqldev/grog/usr/lib
install: /home/mysqldev/grog/usr/lib/libpthread.so.2: chflags: Operation not permitted
*** Error code 71
Stop in /usr/home/mysqldev/grog/FreeBSD/6.0/src/lib/libpthread.
The problem there was the -fschg option. Without it, things worked:
=== mysqldev@bsd60-64 (/dev/ttyp2) ~/grog/FreeBSD/6.0/src/lib/libpthread 157 -> install -s -o mysqldev -g mysqldev -m 444 -S libpthread.so.2 /home/mysqldev/grog/usr/lib
=== mysqldev@bsd60-64 (/dev/ttyp2) ~/grog 159 -> LD_LIBRARY_PATH=/home/mysqldev/grog/usr/lib which mysqld
/home/mysqldev/vt/mysql-pro-4.1.18-unknown-freebsd6.0-x86_64/bin/mysqld: libcrypt.so.3 => /lib/libcrypt.so.3 (0x8009d4000) libm.so.4 => /lib/libm.so.4 (0x800aed000) libpthread.so.2 => /home/mysqldev/grog/usr/lib/libpthread.so.2 (0x800c09000) libc.so.6 => /lib/libc.so.6 (0x800d3f000)
Clearly there's work to be done here on the FreeBSD build process. Particularly building libraries is a thing that can be done in a testing environment; considering the potential damage you can do by installing them in their canonical places, it's really good not to be root when doing this kind of work. But at least the Makefiles should not try to set noschg under these circumstances, and obviously they should all respect LIBOWN and LIBGRP.
Finally confirmed that the bug was indeed the one described in PR 95127, and that compiling without optimization somehow drove it into hiding, so I can probably close PR 95418 as well. A lot of non-debugging work, but at least it looks like we're one showstopper less (and from a MySQL point of view, wasn't our fault).
Review feedback for the streaming backup API is gradually trickling in. Hopefully we can start work on coding in the next week or two.
Yana went into town today and got the confirmation of the condition of the camera that PayPal wanted. Spoke to the repairer on the phone, who confirmed that the Nikon F-801 takes different batteries from the Pentax MZ-50. So it's fairly clear that west1255 was lying. Oh well. Let's see what happens.
Thursday, 25 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
All day working on bugs. Finished tidying up for yesterday's bugs, then looking at mysqldump, notably BUG#17201. The fix is straightforward enough (remove two lines), but there's enough stuff around it to take a lot of thought and testing.
Testing failed the first time round; one of the problems with the test harness is that it runs tests back to back, so if one test leaves tables behind, the next one may trip over them:
Errors are (from /home/MySQL/5.0-Bug-17201/mysql-test/var/log/mysqltest-time) : mysqltest: Result length mismatch (the last lines may be the most important ones) Below are the diffs between actual and expected results: ------------------------------------------------------- *** r/mysqldump-max.result Thu May 25 06:14:45 2006 --- r/mysqldump-max.reject Thu May 25 13:15:07 2006 *************** *** 1,6 **** drop table if exists t1; - Warnings: - Note 1051 Unknown table 't1' drop table if exists t2; Warnings: Note 1051 Unknown table 't2'
In this case, the previous test had left behind the table t1, so the output of the mysqldump-max test was different (the test itself succeeded). It makes it rather pointless to have the drop table if exists in the first place.
Friday, 26 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
More bug work in the morning. Got rid of BUG#17201 and started looking at another mysqldump bug, which I thought would be a quick fix. Maybe it's even quicker than I thought: it looks like it's not a bug, just a feature. But first we need customer feedback, so nothing happened there.
In to town for an ADUUG lunch, at the Everest Cafe in Rundle St., probably not a place I would go to again. It's relatively expensive—even the set lunch cost $9.90—and there isn't much choice of food. The seven of us chose only three dishes, all noodles, and with one exception Penne. Spent most of the lunch discussing, yet again, the future of public access networking, and the security issues involved.
Yana came along as well and brought the quotation for the camera for PayPal:
|
Dropped into Grumpys on the way home and spent some time talking with Thomas about brewing equipment. The concepts are gradually fitting into place. I learn a new word: “Lauter Grant”, the first word pronounced “lorter” so that I wouldn't understand it. And Thomas is German!
Back home, couldn't bear the thought of more bug work. Looks like I have a couple of hours to catch up with tomorrow.
Saturday, 27 May 2006 | Echunga | Images for 27 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Didn't get all my work done yesterday, so spent some time today catching up on another “bug”, in fact this time an enhancement. Patrick did a patch for this about a year ago, but somehow it lost momentum and allegedly developed a memory leak to make up for it. Spent the morning applying the old patch and discovering:
Code ages fast. About half the hunks were rejected.
There should be a way to apply patches when they differ in white space. I've found a surprising number of white space problems in our code, notably in mysqldump; that's in violation of our published coding guidelines.
Understanding how Bitkeeper handles this situation requires either careful reading of the documentation or doing it manually. I chose the latter.
Changes to code can mean that optimizations in the patch are no longer appropriate.
The memory leak no longer manifests itself.
Apart from that, somehow managed to spend the day doing nothing. Still, a bit of relaxation is a good idea.
Sunday, 28 May 2006 | Echunga | Images for 28 May 2006 |
Top of page | ||
previous day | ||
next day | ||
last day |
Had intended to go riding again today—I've been so busy this year that I haven't been riding at all, apart from the ill-fated cat hunt on 2 January. It wasn't to be: was just getting up when mains power failed. After a bit of cursing, realised that we had been informed that this was a planned outage, and I had complained. They had promised me a call back to sort out the situation, but that never happened.
I wish I understood why the UPS doesn't like the power from the generator. It seemed to be related to the voltage regulation—in particular, it seemed not to like slight increases beyond the nominal 240 V. Spent some time searching a surprisingly unintelligible and complex regulation linkage:
|
Finally found a screw hidden under the air filter:
|
Adjusted that and discovered that yes, indeed, it adjusts the voltage. For a while the UPS seemed happy, but then it started switching to battery again. Finally gave up and switched the rotary control switch from “Normal” via “Service” (which apparently is in the sense “service the UPS”) to “Bypass” and—the machines carried on running! At least for a while, until wantadilla's power supply, obviously the most sensitive, took a dislike to the power and reset.
Took the opportunity to put another small UPS in the circuit and to boot the new system I was trying last week to see if I could start X. That worked differently from last time, anyway: X started, the system carried on running, but I didn't get a display. Further investigation showed that one card wasn't initializing correctly:
May 28 09:51:23 wantadilla kernel: error: [drm:pid815:r128_cce_reset] *ERROR* r128_cce_reset called without lock held May 28 09:51:23 wantadilla kernel: error: [drm:pid815:r128_cce_start] *ERROR* r128_cce_start called without lock held
More work to do. I think I'll take the path of least resistance and put in a different card.
During breakfast, got voice mail from the lost property office at Washington DC International Airport: they had found a German mobile phone, and it included my phone number. They asked me if I recognized it (It? What number? We don't get calling line ID from international calls), and if I did, to call them back (What number? They apparently made the call from the phone in question, so there was really no information there). Still, an amusing corollary to earlier this month, where Brian and I found a lost phone in Seattle and called somebody in the phone book before handing it in to a nearby museum.
Power came back round 13:30, by which time I had switched from UPS to generator power and back a total of four times (I had to go back to UPS while refilling the tank). No other machines went down. Possibly this is a special switch designed for a seamless switch-over.
Spent most of the afternoon trying some of the recipes in the book I bought in San Francisco earlier this month, in the process making some of the worst dosas I have ever seen. The rest tasted pretty good, though: Alu Masala (spicy potatoes), Lamb Madras and Masala Vada (lentil patties).
Monday, 29 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
I must have more reason to hate Mondays than most people: over the weekend, people do things that I need to catch up on. In addition, there are reports to prepare, particularly at the end of the month. As a result, didn't really get much work done. I spent about 3 hours on one mail message alone, describing the rationale for our backup approach, how it fits in with company policy, and its weaknesses. I suppose it's necessary, but it seems to be a big expenditure of time.
Tuesday, 30 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Off to Mount Barker this morning to have my eyes looked at. My father, now 83 years old, is suffering from severe macular degeneration. There are some reasons to believe it's hereditary, so though I have no indications, thought it worthwhile to have a checkup. Doubly good news: firstly, no indication whatsoever, and secondly, macular degeneration is strongly related to tobacco smoking. My father was a heavy smoker until just recently, while I don't smoke.
Only one problem: the ophthalmologist put a dilatant into my eyes before examining them, and that took much longer to wear off than I had expected. During that time I couldn't work (the 73 Hz screen refresh on the computer screen was painfully evident), so spent the day watching television (on a projector, which doesn't have the same problem; this might be related to problems Dan Shearer used to have, where he couldn't look at a monitor without getting severe headaches, but was able to use a projector with no problems).
Wednesday, 31 May 2006 | Echunga | |
Top of page | ||
previous day | ||
next day | ||
last day |
Where does the time go? Somehow spent all day today replying to mail messages again, and didn't get any time to look at bugs. Did finally get round to implementing an idea of the MySQL community people: put the specs for online backup up on MySQL forge. That was fun in itself:
The original is kept in groff markup, and I have Makefile targets for PostScript and text, but not for Wiki markup (which is really groff trying to rediscover itself). Spent some time with Emacs converting it to something that Wiki could display, with quite good results. In the process I learnt more than the help texts told me. This is crying out for automation, and it shouldn't be too difficult.
Uploading the PDF and ASCII originals proved to be non-trivial. In retrospect it's complicated enough that there needs to be a simpler method, but the first issue is with anything to do with browsers. As I've ranted in the past, I use firefox only because there isn't anything significantly better. Anything to do with files shows it from its worst side: in this case, I needed to upload a file called /wantadilla/home/grog/MySQL/Docco/backup/worklog/pdf/streaming.pdf. All browsers seem to have this brain-dead idea of breaking the path name into two parts, to be entered at opposite ends of the screen. And of course there's no file name completion in an “easy-to-use” browser, so I had to type in the entire name. The message I got was:
The file you uploaded seems to be empty. This might be due to a typo in the file name. Please check whether you really want to upload this file.
What nonsense! Firstly, the error message should have been:
Can't find /wantadilla/home/grog/MySQL/Docco/backup/worklog/pdf/streaming.pdf
The path name was correct; it turned out I had forgotten to build it. Secondly what's this stupidity about “Please check whether you really want to upload this file”?
So I built the file and tried to upload it again. Any help from firefox? Nope. It had completely forgotten this 9-part pathname, so I had to type it in from scratch again. And this is supposed to be “user-friendly”?
Then I tried to upload the ASCII version of the file, /wantadilla/home/grog/MySQL/Docco/backup/worklog/txt/streaming.ascii. After the same pain entering the file name, I got a message:
Upload warning ".ascii" is not a recommended image file format.
This isn't a warning: it's a fatal error. But what's this mention of “format”? This is a name!
The same thing happened with the ending .txt, and it didn't like a name without a period in it either:
"." is not a recommended image file format.
I couldn't find any way to download the file at all. Spoke to Colin about this; in his defence, this is a standard installation of MediaWiki, and those are the (strange) decisions that people have made. He quickly fixed it so that I could add files with names ending in .ascii (but not .txt or .G—the latter is the convention I use for the groff source files). Even then, though, I get the message:
Warning: This file may contain malicious code, by executing it your system may be compromised.
This is so stupid! Firstly, if there's any reason to believe it contains malicious code, it should give some kind of reasoning, and secondly, there isn't any reason: it's plain text. The message is generated solely because the system tries to parse the name, and it doesn't fit its preconceived notions. Colin tells me that it's possible to run file(1) against the file, which makes a whole lot more sense.
I'm left feeling very frustrated. MediaWiki is obviously trying to do the right thing by protecting the user against malicious file downloads; but it's doing it in a way comparable to soldiers who will shoot anybody in a uniform they don't recognize, even if they could recognize the people. I believe that Microsoft has become enlightened enough to recognize executable files based on a magic number (“MZ“ in the first two characters. UNIX file(1) recognizes it with help of the following entry in /usr/share/misc/magic:
# .EXE formats (Greg Roelofs, newt@uchicago.edu) # 0 string MZ MS-DOS executable (EXE) >24 string @ \b, OS/2 or MS Windows
As a result, it's easy to recognize an executable (here Microsoft's “Internet Explorer”) no matter what it's called:
=== grog@echunga (/dev/ttyp9) ~ 1 -> file explorer.exe
explorer.exe: MS-DOS executable (EXE), OS/2 or MS Windows=== grog@echunga (/dev/ttyp9) ~ 2 -> mv explorer.exe goodporn.jpg
=== grog@echunga (/dev/ttyp9) ~ 3 -> file goodporn.jpg
goodporn.jpg: MS-DOS executable (EXE), OS/2 or MS Windows=== grog@echunga (/dev/ttyp9) ~ 4 -> mv goodporn.jpg readthis.pdf
=== grog@echunga (/dev/ttyp9) ~ 5 -> file readthis.pdf
readthis.pdf: MS-DOS executable (EXE), OS/2 or MS Windows
So why do these programs hide behind the fake security of file names?
So much of leaves me with the sense of déjà entendu about Henry Spencer's quotation “Those who do not understand Unix are condemned to reinvent it, poorly”
Today's Yana's 21st birthday, and on Monday last week I bought a camera for her on eBay—again! And again I'm having delivery problems. The vendor promised express delivery from Melbourne, but it still hasn't shown up; by contrast, a package of CDs from Amsterdam, sent at the same time, has arrived. Why are people so slow? Sent a message to the vendor, but by evening there was no reply.
Long talk on the phone with Lars in the evening. He's still having problems with VoIP. Somehow this should be easier, but in his case I think it's related to the fact that he's using VoIP for other functions than company telephony: normally our VoIP data is routed via sip.mysql.com or sip.us.mysql.com, presumably to solve the issues of NAT. In Lars' case, though, the SIP setup got me to send data directly to his system—where it arrived just fine, and he could hear me—but nothing came back. He's not blocking outgoing traffic, so my best guess is that the data is going to sip.mysql.com, which then discards it. Unfortunately he has a “hardware” NAT box, so he can't easily run tcpdump or ethereal to see what's going on.
Do you have a comment about something I have written? This is a diary, not a “blog”, and there is deliberately no provision for directly adding comments. It's also not a vehicle for third-party content. But I welcome feedback and try to reply to all messages I receive. See the diary overview for more details. If you do send me a message relating to something I have written, please indicate whether you'd prefer me not to mention your name. Otherwise I'll assume that it's OK to do so.
Top of page | Previous month | Greg's home page | Today's diary entry | Next month | Greg's photos | Copyright information |