Overlooked Firefox
keyboard shortcuts. Ctrl-PageUp and Ctrl-PageDown cycle between tabs
in a window. So do Ctrl-Tab and Ctrl-Shift-Tab.
Zürich has a complicated solution to garbage
management. You pay by the bag. Garbage can only be thrown out in
special Züri-Säcken,
which at
$2
/ kitchen size bag is expensive enough that you think twice before
throwing things away. (And apparently make garbage bags a shoplifting
target, because every store keeps them behind the cashier's counter).
You'd think the expense per bag would mean you would recycle more, but the recycling rules are complex enough we can never figure out what to take where. But they're serious about garbage here. As they say The white "Züri-Sack" symbolizes more than ever the image of clean Zürich "für e suubers Züri". Depositing of other garbage bags, or of Züri-Sacks at an inappropriate time, is an offence which will be reported to the police and fined.David McQuillen thinks this is a bit silly, too.
For a brief time my blog was serving all 767 posts in a single page
and in a single RSS feed. So some folks were treated to four year old
blog posts as if they were new. Sorry about that. Mark all as read and
carry on.
I turned off clicktracking on my blog too. The data was interesting, but I had stopped looking at it.
Thunderbird
with imap is good software.
For about 13 years I've been using the same email client:
vm in emacs. While
reasonably quick and infinintely adaptable, it's really not suited to
modern email with attachments, HTML formatting, and multiple servers.
I just switched to Thunderbird and Dovecot imap and it's like a whole new world, simpler and neater. I now have much less reason to fire up a vt100. All I do in emacs now is coding and blog posting. I'm still using procmail and spamassassin for mail processing, but wondering if I can dispense with some of that, too. Imap is really great, the server-side model is definitely good. But it doesn't go quite far enough: imap should provide mail delivery and address book management too. I don't want to have to configure ldap and smtp also. What I'm really missing is the ability to easily search my 300 megs of email archives going back twelve years. Despite having written two mail search systems, I still go back to grepmail on the raw files. Gmail is cool and all but I don't like browser hosted email.
I'm a little intimidated by buying train tickets in a foreign country.
Find the right place to go, wait in line, negotiate the right ticket without quite
understanding fare options or the local language, ... So I like
that the Swiss train company lets you buy
and print tickets online. Just pick your journey online, press the
"print" button, and voila, you get a PDF file.
Every conductor I've given one of these to looks at me funny; I guess
they aren't common yet. The ticket has an interesting security
feature, a grey box of random pixels (as seen above). I thought at
first it was some spread spectrum encoding of a bunch of data, but
I think it's really just a simple visual mask hiding a few letters.
Cool that it works through PDF and crappy home printers.
One of the most common data analysis things I do in Unix is something
like
cat wines | sort | uniq -c | sort -nr
Given an input file with a million bottles of wine in it, this shows
me how many bottles of each type I have. It works for other things
besides wine. In fact, it works for a lot of things, and I've been
doing this for 15 years.
But the first sort is really inefficient, just something you have to do to make uniq work. So for big inputs I use a little Python script, countuniq.py. It does the same thing but more efficiently. Remarkably useful tool.
Our
plan to sample the French side of Switzerland succeeded last
weekend, with a nice trip to Lausanne and a side trip to Montreux. As
usual, lots of
photos.
Lausanne is an amazing city, a three dimensional wonderland of bridges and buildings built up on steep hills with gorges inbetween. You emerge from the Metro from Ouchy and immediately have a choice: elevator or exit. One puts you in the exact same place as the other, only 50 feet above, and city extends from each direction. We went up to the top, to the cathedral. On the way was a fantastic Saturday market with six different charcuterie vendors and five different cheese vendors, full of delicious things. Then we walked down, enjoying the confusion of life at two levels. Really an interesting city, I wish I could have photographed the topography better. The other nice thing we did was take the boat to Montreux, to visit the Château de Chillon. Lac Leman along the way is beautiful, full of vineyards and châteaux and luxury houses. The château itself is a 12th century fort built on a convenient rock in the lake just off shore, with a command of the main route from the south over the Alps. Nicely restored and lots to see. We had dinner in the fancy places in Lausanne, at La Rotonde at the Beau-Rivage and the Table d'Edgard at Lausanne Palace. Very good, but the meal I enjoyed the most was the Paradise Chalet, a funky little Swiss place in Montreux next to the train station. We'd been walking for 20 minutes with no clue where to go, town quiet on a Sunday, starting to rain. Then we bumbled into the place with its old wood panelling, cowbells and funny gnome decor, and an amazing terrace view. The menu is good basic Swiss food, I had the Papet Vaudoise: smoked sausage, fatback, potatoes and leeks. Ken had rösti with a Tomme de Vaud. We didn't feel like having the horse steak tartar or fondue. Really yummy hearty stuff, and just the right thing at the right time. I continue to be amazed that you can go back and forth between French and German cultures so quickly. I wish my brain could; it took me an extra day to switch back to fumbling tourist German instead of fumbling tourist French. Bon jour, wie gehts?
The early registration deadline for EuroOSCon is
almost past. If you're thinking about going now's
the time to sign up. I'm in the neighbourhood anyway so I'm definitely
going: the list
of speakers looks pretty impressive.
The open source community is way more global than the
US-dominated software venture world. Time to meet the talent from
somewhere other than home.
apt
is good software. I just upgraded my server from stable (Sarge) to
testing (Etch). The trick is my server is 5000 miles away from me. And
I will never have physical access to it, so if something goes wrong, I'm
screwed.
But Debian did me proud. Run apt-get dist-upgrade, watch 150 packages go by, watch the new kernel install, reboot, say a little prayer, and I'm back. Some scariness from the kernel install script: I repeat: you have to reboot in order for the modules file to be created correctly. Until you reboot, it may be impossible to load some modules. Reboot as soon as this install is finished (Do not reboot right now, since you may not be able to boot back up until installation is over, but boot immediately after). I can not stress that too much. You need to reboot soon. I've done major system upgrades like this three times now with Debian, and everytime it's worked. That's pretty impressive.
One of the interesting things about Switzerland is how international
it is. The country has four official languages: German, French,
Italian, and Romansch.
And at least three cultural heritages:
Germanic, Italian, and French. (Of course, all of Switzerland is echte
Schwiezer, but forgive an ignorant American for simplifying). Tomorrow
we're going to sample a bit of the French side, spending the weekend
in Lausanne.
Most everyone here speaks English, which helps me when I'm lazy and trying to negotate with my neighbours about when to do the washing. All the food and product packaging is trilingual; German, French, and Italian. But no English, since that's not an official language. Seems somewhat perverse to me, but I guess it makes sense.
I love NTP, the
magic Internet protocol that keeps computer clocks synchronized. One
of the nice things Apple does is run an NTP service for all their
computers. That's how your Mac always knows the right time. Here are
some notes on what they do.
My American MacOS 10.3.9 box has the following /private/etc/ntp.conf:
server time.apple.com minpoll 12 maxpoll 17
That means my Mac asks time.apple.com for the time somewhere between
once an hour and once every day and a half. That's less often
than usual for NTP, presumably an accuracy / scalability tradeoff.
time.apple.com currently resolves to 4 IP addresses, 17.254.0.26, .27, .28, and .31. All of them seem to be in San Jose, California. .26 is the most accurate clock (stratum 2), the others are just behind at stratum 3. Using ntpdc you can find out where .27 gets its time from. They're well synchronized, talking to several stratum 1 clocks. They poll each of those every 128 seconds, aggressive but maybe appropriate for such a well-used clock. They sync around the world, and also run services in Europe and Asia for their clients.
I love my new Canon 350D. It's the first SLR I've owned, and the
pictures are
automatically
10x
better
than my little Canon Elph S400.
It's the only time in my life where spending money made me a better
artist.
But inexpensive digital SLRs don't shoot a full 35mm frame. Instead they have smaller sensors. The 350D has a "1.6x crop factor", which basically means your pictures look OK but your lenses are more telephoto than you'd think. A 35mm lens acts like a 56mm lens. If you want a wide angle 28mm shot you have to buy a 17mm lens. Really wide angle lenses for these small sensor cameras are very dear. Canon has tried to turn this liability into an advantage by selling "EF-S" lenses, special lenses that only work on small sensor cameras. They go deeper into the camera body, and in theory allow for cheaper / lighter lenses. All I know is they don't work on all cameras, just these small sensor ones. And while right now most digital SLRs are small sensor, there's reason to think that Canon may soon switch to all full size sensors. The newly announced full sensor Canon 5D is a bellweather here. At $3300 it's a lot more than the $800 for a 350D, but a lot cheaper than the $7600 that the current cheapest full sensor camera costs. Folks seem to be excited by the 5D full frame. Wide angles that work like wide angles, better viewfinder, what's not to like? All of this is a long-winded way of suggesting that EF-S lenses may not be such a good investment, that in four years you may not be able to buy a good camera that uses them. Which is sort of an awkward position for Canon. They've made some serious EF-S lenses, will they abandon their customers?
The Swiss
love their church bells. In Zürich they ring
constantly. Every quarter hour to mark the time, and for 10 minutes at
a stretch to call the faithful to church. Nothing quite as exotic as
change
ringing, but the random
rhythm is pretty interesting sounding.
Mark Twain, on his visit to Switzerland, didn't care for the bells so much. We did not oversleep at St. Nicholas. The church-bell began to ring at four-thirty in the morning, and from the length of time it continued to ring I judged that it takes the Swiss sinner a good while to get the invitation through his head. Most church-bells in the world are of poor quality, and have a harsh and rasping sound which upsets the temper and produces much sin, but the St. Nicholas bell is a good deal the worst one that has been contrived yet, and is peculiarly maddening in its operation.
I continue to be astonished at how many people in Switzerland smoke.
34%
of adults here smoke, one of the highest rates in a developed
nation. Compare to 18%
in the US.
The Swiss don't seem to have reached the point of intolerance of second hand smoke. By law restaurants have to have non-smoking rooms, but many don't. The restaurant I went to last night had the entire upstairs dedicated to non-smoking, but as soon as the downstairs filled up they seated smokers upstairs and brought the ashtrays. No one seemed to mind. Yuck.
I've been waiting a lot for my computers.
I have a bunch of video files on my Mac. When I select one in the Finder to open it, I first have to wait for ~3 seconds with a spinning cursor while Finder generates a thumbnail preview. I don't want a preview, I just want to watch the video. On my Windows box in Zürich I have an SMB mount to a fileshare in California. I expect it to be slow, it's a long way. But it's slow even when I don't use it. I'll sometimes accidentally drag a file across the remote folder icon on my desktop. At that moment Windows decides it has to query the server for a bunch of stuff, forcing me to wait. Applications should not force me to synchronously wait for some action I don't even want. Do the work in the background or substitute a low fidelity fast operation. Then again doing that wrong can be a hazard too, as Picasa and iPhoto show. When browsing photos full screen, both apps first show you a low-res version, then 1–2 seconds later swap it with a high-res version. I assume this is a choice to make the app seem more responsive (less waiting!), but it's really just obnoxious because of the visual distraction.
I whipped up a little
Javascript library to format relative
timestamps. Instead of labelling blog entries something nerdy and
confusing like "2005-09-07 08:32 Z", ago lets you say "3 hours ago". You can see
it here on my blog. The idea was
shamelessly stolen from NetNewsWire, Flickr, and a dozen other apps. I
implemented it here on my blog to
help me deal with time zones; I'm in Zürich, my server is in Texas but
running in UTC, and most of my friends are in California.
To use it, put some javascript in your document like document.write(ago(1126162027))
It will be replaced with a friendly English string in the client's browser.
The number is a Unix seconds since epoch timestamp.
The clever thing here is that by doing this in
Javascript, the relative timestamps look correct even if the page is
pulled from a cache. (It will be broken if the client's clock is wrong,
but that's their problem.)
The code is freely available, public domain. You'll also find JsUnit tests, a demo, and a Blosxom plugin to make it easy to add to my blog.
Ken and I took our first Swiss weekend excursion to
Zermatt,
a mountain resort town in the Alps on the Italian border.
I took lots of
photos.
Zürich so far has mostly been the grind of finding our way around and working, so it was with optimism we boarded the train for our first tourist trip. Impressive train ride, too, one of the few north-south routes across Switzerland to Brig and then a smaller train company with a cogwheel train up the valley. We picked Zermatt because it was up in the mountains; it's been awfully warm in Zürich and Ken likes trees and I like mountains. We were well rewarded, with tidy high Alpine meadows and dramatic mountains and an easy gondola ride to the top. The Matterhorn is very impressive, both entirely clear and with clouds coming out the top. Being famous for mountain climbing, Zermatt is also famous for dead mountain climbers. Lots of grave markers given prime placement in the middle of town, a constant reminder that it's dangerous up top. We had a great stay at the Hotel Zermatterhof, one of the fancier places in town. We got a good deal thanks to the fantastic Zermatt tourist website. Three great meals, too. We had a lovely dinner at Max Julen with a very friendly chef who made us special grilled venison. On our last night we had a crazy five course gourmet dinner at the Zermatterhof. But the most special was zum See in Furi, a little hamlet above Zermatt that's about a 45 minute walk on a beautiful Wanderweg. There we had a fantastic lunch of a venison and chantrelle salad followed up by homemade rhubarb cake. Only in Switzerland will you find a great restaurant up in the hills where the only way to get there is to hike. Happy tourists. Mind you, this was Zermatt in summer; it's more of a winter ski resort. Looked great for that too!
Boy, travelling on the train in Europe is nice. I just had a
little weekend trip to Zermatt. The main train was
comfortable and quiet, and the side line that went up the Alpine
valley was charming and somewhat improbable, what with the cogwheels
and narrow valleys and dramatic bridges. Reasonably inexpensive
(thanks to the
Halbtaxe) and a pleasant ride.
Compared to planes, trains offer a human scale of transport. You're close to the ground with big windows. You can get up and walk around, stretch out. No checking in two hours in advance, no humiliation from security, no half hour cab ride to get anywhere. It's a shame the US is so big, it'd be nice if train travel would work better there.
Everyone takes the trams in
Zürich. Fast, convenient, reasonably comfortable. Today's ride
showed me several grandmas on their shopping outing, a few
late-looking worker types, and a Swiss soldier in full fatigues
carrying his submachine gun and a large tourist suitcase. Going home
for the weekend, I guess.
It's hard to tell what's going on when I'm not in the US, but from what
I've read
and seen New Orleans sounds like a horrorshow. Not just
the flooding and the evacuation, but the looting and the deaths and
the thousands of people living in a closed sports arena with no
toilets or fresh air.
Police were asking residents to give up any
firearms before they evacuated neighborhoods because officers
desperately needed the firepower: Some officers who had been stranded
on the roof of a hotel said they were shot at.
Police said their first priority remained saving lives, and mostly just stood by and watched the looting. But Nagin later said the looting had gotten so bad that stopping the thieves became the top priority for the police department. "They are starting to get closer to heavily populated areas - hotels, hospitals, and we're going to stop it right now," Nagin said in a statement to The Associated Press. I don't normally think of this kind of disaster and consequent chaos happening in the US. Because you know, we're civilized and technological and all that. A whole city is going to be gone, for two months, and the people left behind are going nuts. It makes me shudder to think what would happen if a serious earthquake damaged the bridges out of San Francisco.
Foreigners who live and work in Zürich for more than a few days are
required to register with the city. Today I registered at my local Kreisbüro.
They asked where I live, what my religion
is, the details of my work permit. Then a fee of 20 CHF and I'm on my way.
The lady was reasonably friendly and helpful, I was able to do everything in English, and the whole process took only fifteen minutes. Even so it was a bit intimidating. Being a foreigner is difficult anywhere. But Switzerland is welcoming; it must be so much worse for visitors to the US where the immigration offices are hostile, inefficient, and make no effort to speak other languages. PS: my Zürich posts so far seem quite negative. I'm actually having a fine time, it's just the most interesting thing I can think to write about are the hard parts of finding my way around. I'm sure by the time Knabenschiessen rolls around I'll be happy visitor blog. |