2006-10-10 – Contentless ping annoying
People tend to just ping me on IRC, which is annoying and useless. If
people say something like tfheen: I have this problem with blah. Do you know a workaround?
I can just respond later when I’m
awake or around. Instead, people are going: tfheen: ping?
and I
pong five hours later and they’re not around. Annoying for all parts.
To counter this, I have now written a small irssi script which responds to contentless pings with “You sent me a contentless ping. This is a contentless pong. Please provide a bit of information about what you want and I’ll respond when I am around.”
The script is available.
2006-09-23 – The Top Ten Unix Shell Commands
A bit surprising, really.
: tfheen@thosu ~ > history 1|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c | sort -nr |head -n 10
21477 ls
18170 cd
10640 ssh
9257 sudo
5559 less
3015 grep
2407 bzr
2101 ps
1980 man
1980 debuild
For those of you wondering why there is no editor on the list; I use
emacs and it’s in the 11th place (with 1903 runs). I tend to let it run
for a while and open more than one file, so it doesn’t get that high on
the list. I also cd
and ls
a lot.
2006-09-20 – Švyturys 1784 Ekstra
A Lithiuanian light lager, 0.33 bottle. Colour is light straw while the foam is pure white. As most lagers, this is filtered and not bottle-conditioned. The foam leaves some signs behind, but not much. Smell is not very particular in any direction; a bit fresh and maybe a hint of summer, but not very strong.
The beer tastes a bit like an ale with the rounder, more friendly taste than the fizzy and almost angry lagers. Decent amounts of carbonation, but absolutely not too much. Medium bitterness with a tiny, tiny hint of citrus.
All in all, an interesting enough light beer, but those aren’t among my favourites, so it falls through because of that.
2006-09-19 – Formulating iCalendar in SQL
I am currently working on something which hopefully end up being a good calendar server. The goal is to make it easy to add new frontends such as a CalDAV frontend, a Web frontend, etc.
So far, I am just working on getting the data model right. The iCalendar RFC has a data model which I am trying to formulate into SQL, something which is ending up being quite hard. Shannon Clark blogs about why calendars are hard, and all of those issues are issues I am running up against when trying to make the data model.
The main problem seems to be related to time zones, more closely: “How do you store timezone information in your database”. The easy (but wrong) solution is to just normalise everything to UTC. This will not handle the case of events crossing timezone changes, such as to or from daylight savings.
What I am currently considering is making sure all data in the database is stored in UTC, but also store the original time zone information. While a bit more complex, this allows applications to get back the same timezone they put in (I am not convinced Evolution will be happy if the timezones are renamed, for instance) and it allows my application to generate recurring events properly. My main issue with this is having the application responsible for making sure the data in the database makes sense, but without putting half my app in PL/perl, I can not see a way around that.
Oh, and if anybody has great ideas on how to represent timezones in a relational database (postgres), please do mail me or grab me on IRC or something similar.
2006-09-13 – Common mistakes foreigners make when writing English
If you are using “loose” when you mean the opposite of win, please stop. Use “lose”. Loose is the opposite of tight.
Similarly, “noone” is (almost always) wrong. You mean “no one”. Noone is an obsolete form of “noon” (mid-day).
2006-08-24 – X broken in Dapper
(and what we want to do to avoid similar problems in the future)
A few days ago, a broken xserver-xorg-core was
uploaded to dapper-updates
. This caused, unsurprisingly, a large
amount of bug reports. A fixed package was uploaded about 12 hours
after the first bug report came in. We also pointed all the
$countrycode.archive.ubuntu.com
(se.archive.ubuntu.com
,
au.archive.ubuntu.com
, etc) to archive.ubuntu.com to speed up the
propagation of the fix. Even so, it hit far, far too many users.
Incidentially, the distro team is currently in a sprint in Wiesbaden, Germany and we had a large discussion this morning about both how to handle such situations when they happen (and recover from them, mostly in the technical sense) and how to prevent them from happening in the first place. The latter is obviously more important as we won’t have to recover if there is not a problem in the first place. Note that those ideas listed below were ideas and not finished procedures and we are going to write up a proper policy document.
Ideas for prevention ranged form using $distro-proposed
and explicit
call for testers of that to getting more code review for updates.
The current review process for updates to $distro-updates
is a review
by the release manager who accepts it into $distro-updates
. This
update passed that review even though the update was faulty, so even if
we had another reviewer, it might have passed that review too.
Using $distro-proposed
does not prevent the problem from affecting
anybody, it just changes the group affected with the goal that the group
choosing to enable $distro-proposed
will hopefully be able to recover
more easily.
Recovery ideas ranged from being able to put an update onto a user’s machine whether he wanted it or not to snapshot/rollback support and having some kind of a “safe mode” where it would give you a kdrive-based VESA X server and tools to fix your system. I’m not sure what we would do if we managed to break one of those tools (or the “safe-mode” X server), though.
We all agreed that being open about the problem, the cause of the problem and how we are working to solve it is important. Downplaying the severity or making jokes or sarcastic comments about the fix (“Ooops, we did it again”) is bad and something we shouldn’t do. (And I don’t think we did it this time either.) No response is equally bad and something we should work hard to avoid.
Hopefully, we will have a procedure in place in a little while which
tells us how to handle such an emergency when it happens and we will be
deploying safeguards to prevent it from happening again while not ending
up paralysing us and making us unable to deploy updates to
$distro-updates
as this is something we need to be able to.
While this post is fairly critical of the current set of policies and procedures, I have tried hard to avoid pointing fingers at anybody in particular. I would much rather have us have a positive and constructive discussion about how to avoid similar problems in the future than a discussion on who is to blame. The points and views in this post is also those of my own and not any kind of official communication from Canonical or Ubuntu.
2006-06-16 – Ubuntu dapper for SPARC released
A bit later than the others, with a bit of manual hacking of
debian-cd
scripts as well as the publish-release
script (so we
didn’t lose the other arches) and with a great effort from Fabio, Adam
and Celso, Dapper for SPARC (with Niagara support) is now out. It got
delayed due to the tg3
NIC on the T1000 and the kernel not playing
to nicely together.
2006-06-04 – Hackergotchi for Robot101
Since I’m impatient and Robot101 didn’t respond within ten minutes of me pinging him on IRC, I’m just posting the result of his request for a hackergotchi.
Above is JPEG, but there’s an XCF available too, with full transparency goodness, etc.
Next time, it’d be useful to have a starting image where the head is bit more than 180x230 pixels since doing cropping and resizes and such tend to end with the image not being great.
Also, my space bar is failing and I’ll have to call IBM when I get home. I’m actually quite disappointed that I seem to have worn out the space bar in about a year and a half.
2006-04-22 – Am I spoiled?
(By way of magnio)
Go through the list. Tick everything you have or have done. If you can tick 40 or more, you’re spoiled.
- ☑ your own cell phone
- ☐ a television in your bedroom
- ☐ an iPod
- ☐ a photo printer
- ☐ your own phone line
- ☐ TiVo or a generic digital video recorder
- ☑ high-speed internet access (i.e., not dialup)
- ☐ a surround sound system in bedroom
- ☐ DVD player in bedroom
- ☐ at least a hundred DVDs
- ☑ a childfree bathroom (well, no children yet)
- ☑ your own in-house office (I share it with Karianne, but it’s still my own)
- ☐ a pool
- ☐ a guest house
- ☐ a game room
- ☑ a queen-size bed
- ☑ a stocked bar
- ☑ a working dishwasher
- ☐ an icemaker
- ☐ a working washer and dryer
- ☐ more than 20 pairs of shoes
- ☐ at least ten things from a designer store
- ☐ expensive sunglasses (what’s expensive? I think mine cost about 400 NOK, which is about 50€)
- ☐ framed original art (not lithographs or prints)
- ☐ Egyptian cotton sheets or towels
- ☑ a multi-speed bike
- ☑ a gym membership
- ☑ large exercise equipment at home (well, an exercise bike, large enough)
- ☐ your own set of golf clubs
- ☐ a pool table
- ☐ a tennis court
- ☐ local access to a lake, large pond, or the sea
- ☑ your own pair of skis
- ☑ enough camping gear for a weekend trip in an isolated area
- ☐ a boat
- ☐ a jet ski
- ☐ a neighborhood committee membership
- ☐ a beach house or a vacation house/cabin
- ☐ wealthy family members (what’s wealthy?, affluent maybe, but certainly not wealthy)
- ☐ two or more family cars
- ☐ a walk-in closet or pantry
- ☐ a yard
- ☑ a hammock
- ☐ a personal trainer
- ☑ good credit
- ☐ expensive jewelry
- ☐ a designer bag that required being on a waiting list to get
- ☑ at least $100 cash in your possession right now
- ☐ more than two credit cards bearing your name (not counting gas cards or debit cards)
- ☑ a stock portfolio
- ☑ a passport
- ☐ a horse
- ☐ a trust fund (either for you or created by you)
- ☐ private medical insurance
- ☑ a college degree, and no outstanding student loans
Do you:
- ☐ shop for non-needed items for yourself (like clothes, jewelry, electronics) at least once a week
- ☐ do your regular grocery shopping at high-end or specialty stores
- ☐ pay someone else to clean your house, do dishes, or launder your clothes (not counting dry-cleaning)
- ☐ go on weekend mini-vacations
- ☐ send dinners back with every flaw
- ☐ wear perfume or cologne (not body spray)
- ☐ regularly get your hair styled or nails done in a salon
- ☐ have a job but don’t need the money OR
- ☐ stay at home with little financial sacrifice
- ☐ pay someone else to cook your meals
- ☐ pay someone else to watch your children or walk your dogs
- ☐ regularly pay someone else to drive you
- ☐ expect a gift after you fight with your partner
Are you:
- ☐ an only child
- ☐ married/partnered to a wealthy person
- ☐ baffled/surprised when you don’t get your way
Have you:
- ☐ been on a cruise
- ☑ traveled out of the country
- ☑ met a celebrity
- ☐ been to the Caribbean
- ☑ been to Europe (Well, I live there)
- ☑ BEEN TO HONG KONG
- ☐ been to Hawaii
- ☐ been to New York
- ☐ eaten at the space needle in Seattle
- ☐ been to the Mall of America
- ☐ been on the Eiffel tower in Paris
- ☐ been on the Statue of Liberty in New York
- ☐ moved more than three times because you wanted to
- ☑ dined with local political figures (actually more of a national
- political figure)
- ☑ been to both the Atlantic coast and the Pacific coast (Atlantic,
- multiple times around Europe. Pacific, in Australia and Hong Kong)
Did you:
- ☐ go to another country for your honeymoon (No, but we’re going to)
- ☐ hire a professional photographer for your wedding or party
- ☐ take riding or swimming lessons as a child
- ☐ attend private school
- ☐ have a Sweet 16 birthday party thrown for you
24, so a bit more spoiled than Magni. Not that much, though.
2006-04-20 – HaandBryggeriet Porter
In Drammen, a bit outside Oslo, there’s a small brewery called “HaandBryggeriet” (meaning “The Hand Brewery”). Among their beers is a porter which I picked up some weeks ago. Today, I decided to taste it.
The bottle is not the same as the somewhat-standard Nøgne Ø bottles which have become common lately, but one which has a bit less of a neck and a bit rounder. The beer itself is bottle-conditioned, unpasturised and unfiltered, so the usual precaution of leaving the last cm or so in the bottle applies.
Dark beer, as a porter should be. It doesn’t have much fizz, nor does it have much foam. A bit too little, in fact, but I don’t mind too much about that. The taste is slightly bitter, with lots of chocolate and coffee. Somewhat sweet and very nice. Only a shame it’s just a half-litre bottle.