Monthly Archives: July 2007

Robins

After the recent heavy rainfall and flooding, I really didn’t expect to be flying today; especially since the airfield was a little wet a few days ago. The weather forecast throughout the week was quite hopeful, fairly consistently indicating no worse than light showers, and this remained true this morning.

Of course, the sky outside didn’t quite match the weather. Woke up to a dreary grey sky out of the bedroom window, but strangely, a blue sky out of the bathroom window. It was going to be that kind of day. Phoned the school to find out that they were flying this morning, but that the report was changeable so there were no guarantees.

Since I had the day off, and needed to sort out proper membership anyway, I figured that I would drive down and if the weather wasn’t flyable I could at least have lunch in the cafe and pick up my log book, etc.

I set off with what I thought was plenty of time to get there and have a snack or relax before the flight. This didn’t go quite according to plan. It turns out that I need to add another “pre-flight check”; it’s all very well watching the weather and NOTAMs, but it helps to cast ones eye at the ground and read the traffic report! Everyone seemed to want to park on the M42 today, so I made it to the school five minutes late rather than half an hour early like I planned.

No matter, John was ready and waiting so we jumped straight into the briefing. Since my trial flight was in a PA28, and this and future flights were to be in the HR200 Robin, he decided that this would be the same trial flight again to allow me to get used to the different aircraft and controls.

This turned out to be a good idea, since the handling was somewhat different from the Warrior. Even the controls were different, the Robin being a “stick and rudder” plane, rather than the Warrior’s control wheel. I’d also felt not entirely in control of the Warrior, I didn’t like the feel of banking it too steeply and couldn’t get the hang of trimming it at all!

The wind was blowing straight across the main runway, so instead we took off from 23, backtracking up it first. One of the advantages of flying in the week being that there’s no market stalls in the way!

Once in the air, John handed control to me and I tried out some turns in the Robin. This felt much better than last time, I was able to quite comfortably get the plane into a good turn in both directions, and John showed me how to use the rudder to ease the feeling of my bum sliding out of the window.

I then tried a climb, and a descent; again the Robin felt much more like it wanted to go where I put it. Yet to figure out quite where the nose is supposed to be relative to the horizon, but I know that’ll be handled sub-conciously soon enough. Trimming was a doddle, unlike the Warrior where I had to search around the wheel for ages, this was easy to feel the difference with even the tiniest turns of the wheel.

While playing around, John talked about some of the features we might use for navigating. Being a Southern boy, and not knowing the area, there wasn’t much I could name myself so he pointed out various things we might use such as Long Marston airfield and the Fosse Way. “If you’re completely lost, just follow the Fosse Way and turn left at the roundabout. Trust me, it works!”

Did some descending turns, and all too quickly, it was time to finish the lesson and head back to the airfield. I must have seemed much more at ease with this plane since John commented that he thought I’d take to flying and learn very quickly!

Landed on 23 again, and taxied the plane back to its parking spot.

Afterwards, while I had my lunch in the cafe and listened to the radio traffic, I realised I hadn’t noticed it at all during the flight. I’d been concentrating too hard on everything else. Other student blogs have talked about the sheer amount of information you have to process, and how it seems overwhelming at first, but becomes natural after a while.

P/UT Hours Today 0:40, Total 1:10

Online Desktop

Havoc’s keynote at GUADEC was extremely interesting, especially for how it polarised the people present.

Several people seemed very upset with the notion that f-spot should be replaced by flickr, but I think that was a problem with the way that Havoc presented the message, and not the underlying idea.

Instead consider f-spot and flickr as sharing the same collection of data, and being two different ways to view and manage it; with changes from one appearing in the other. The mechanism isn’t important.

Consider the following:

  • While out and about, I take a picture with my camera phone.
  • On coming home, the phone is within bluetooth range of my laptop (with both enabled).
  • The laptop sees the new picture, so announces the availability of the new picture.
  • f-spot is subscribed to those announcements, and causes the picture to be copied into my local f-spot library, with the meta-data adjusted to indicate the local cache (as well as the origin).
  • flickr is also subscribed, so the picture is automatically uploaded to my flickr account.
  • At some point in the past, a friend on Facebook changed their mobile number; this was detected and the change announced.
  • e-d-s was subscribed, so automatically adjusted my contacts.
  • And my phone sync service is subscribed, so now my phone is in range, its contact list is updated too.

Now, isn’t that cool?

Virtual accounts with exim and dovecot

A few people commented on my last post asking for details about how I configured exim and dovecot to have the fake scott+canonical account and separate Maildir tree.

exim4 router configuration

The first key part of the configuration is to configure exim4 to split the local part into a user name and a suffix. This allows a local part such as “scott+canonical” to be split into the user name “scott” and the suffix “+canonical”.

This is configured by adding the following two options to the appropriate routers in your exim4.conf:

local_part_suffix = +*
local_part_suffix_optional

The first option defines the suffix; normal practice appears to be to use both “+” and “-”, but since I’d previously used “-” with qmail I opted to use “+” only so that I didn’t confuse myself during the transition.

The second option allows the suffix to be optional, so that mail to “scott” is still delivered normally.

Now mail to “scott+canonical” will be delivered to the “scott” user.

Forwarding configuration

The next task is to ensure that mail is actually forwarded to this address; for me this was a configuration performed by the Canonical sysadmins to ensure that my work e-mail is actually delivered to scott+canonical on my own mail server.

Filtering configuration

Since both personal and work e-mail are now both being delivered to the same user account on my home mail server, I need to filter the mail into separate folders.

This can be done by checking the $localpartsuffix variable in Exim filter .forward files, e.g.:

# Exim filter

if $local_part_suffix is "+canonical"
then
    save Maildir/Canonical/
endif

Now incoming work e-mail is filtered into a different mail folder, while personal mail is delivered into the primary one.

I’ve used similar filter instructions for mailing lists, mailman messages, Launchpad mails, etc. to filter into appropriate folders.

Where the mail is personal, it is filtered into (e.g.) Maildir/.Lists/upstart-devel/

Where the mail is for work, I add /Canonical/ to the path, (e.g.) Maildir/Canonical/.Lists/linux-hotplug-devel/

This means that the Maildir/ directory is my personal INBOX, with sub-folders immediately under that and beginning with a period; and the Maildir/Canonical/ directory is my work INBOX, with sub-folders immediately under that and beginning with a period.

This defines two trees in a manner compatible with dovecot. There’s no particular reason that Maildir/Canonical/ has to be under Maildir/, it could have been Maildir-Canonical/ and this would still work. I simply wanted them in one place to ease backups.

Dovecot configuration

Now we need to configure dovecot to permit login by a fake (“virtual”) user, with a different Maildir tree, so that I can configure them as two separate accounts.

The first set of changes is to dovecot.conf to add an additional authentication source. Modify the “auth default” block to add a new “passwd-file” passdb in addition to the “pam” passdb (or whatever your system is using).

passdb passwd-file {
  args = /etc/dovecot/passwd
}

This lets us authenticate virtual users, but we also want to set their attributes, so we can use the same file as a userdb in the same “auth” block.

userdb passwd-file {
  args = /etc/dovecot/passwd
}

Dovecot will now check both PAM and this file for user information.

We now simply need to add a line to this file to specify the virtual user and set up the alternate Maildir tree.

scott+canonical:PASSWORD:1000:1000::/home/scott::userdb_mail=maildir:/home/scott/Maildir/Canonical

The format is that of an ordinary passwd file; the first two parts give the passdb authentication credentials and the rest give the userdb information.

I’ve set this user to have the same uid, gid and home directory as my real “scott” user.

The final part changes the mail environment for this virtual user, instead rooting it at Maildir/Canonical/

Client configuration

The mail client will need two accounts adding; one for “scott” and the other for “scott+canonical”. It will see two separate folder trees for each account.

An unexpected bonus is that the reply account is now automatically set for me, since I’m replying from the specific account rather than from a single general one.

Trial Flight

I’d spent the entire month since making the booking preparing myself for the disappointment of it being cancelled due to weather, and having to rebook and wait another few weeks.

The weather report the day before wasn’t too bad, and the weather outside looked pretty nice. A fair amount of high fluffy cloud, but good visibility and nothing too low to worry about.

So I was even more nervous when I phoned up to find out whether the flight would be going ahead. “A bit of a cross-wind, but a couple of guys have been up already with no problem” was the report. It was still on!

Had I been lucky enough to pick, four weeks ago, one of the only good days for flying so far?

We set off for the airfield, and I couldn’t help but keep an eye on the weather all the way there. At one point, a pretty nasty cloud appeared ahead and my heart sank, but then we turned away from it and there was blue sky ahead with the wind coming towards us.

As we got nearer, we started to see aircraft flying around. It turns out that all that worrying was for nothing, the weather for miles around the airfield was beautiful with nothing more than a bit of wind.

We’d intended to stop off for a pub lunch on the way, but had left a little later than we intended. Therefore we arrived early, but without enough time to stop off for something to eat.

Popped into the club to let them know we were there, and paid for the flight. Since this was my first flight, my partner was paying for it as my birthday present; and it would be in a 4-seater Piper Warrior so he could come along too and ride in the back.

The instructor was out with another student, so we opted to have something to eat at the airfield’s busy “Touchdown Cafe”; and sat on the decking outside the club afterwards watching the planes and waiting for the instructor to return.

The plane I was to fly in was G-GYTO, a seven year old PA28 Piper Warrior. Someone had taken it out that morning, so it was briefly checked for fuel before the briefing.

I was very happy to discover that my instructor would be the same man who had shown us round the aircraft on my first visit to the airfield. His relaxed and patient style had left me with a really good impression of the club, and I was delighted that he would also be taking me up in the air for the first time.

The briefing covered the aircraft’s controls with a cute little meccano model, headsets were picked up and then it was time to walk out to “Tango Oscar”.

David got settled in the back while I climbed into the left seat, through the Piper’s single left door. Headsets were plugged in and the volume checked, engine was checked and started, and then we were taxying out to the hold for the runway.

Along the way I got a chance to swerve the plane left and right a bit with the pedals, until we reached the holding point where we turned into the wind and performed the final pre-flight checks.

We were held as a couple of other aircraft landed, and then it was our turn; “Tango Oscar, Wellesbourne Information, take off at your discretion” … “Take off, Tango Oscar”.

The power went up, and so did my nerves, as we accelerated down the runway. John (the instructor) talked through each of the movements he did along the way, and then we were up in the air and flying through the crosswind and turbulence.

Noticed very quickly that the smaller aircraft was much more at the mercy of the elements than the commercial jets, and needed more input; or maybe it’s just that I was now sitting in the front and could actually see everything.

Once we were up to 1,500ft; we levelled off and I had control.

The first task was understanding the effect of the controls. The pedals yawed the aircraft, and finished up with a bit of roll. The control column rolled and pitched the aircraft.

My next task was to keep the aircraft straight and level while we flew towards Long Marston airfield. All of my concentration was taken up just trying to keep the plane going in one direction.

The nose wanted to turn in all sorts of directions, and it needed continual input to try and keep it going where I wanted.

We then tried some turns, and I was amazed by how hesitant I was to seriously bank the aircraft. It felt uncomfortable to do anything too tight; and it wasn’t until I was on the ground that I remembered that rudder correction can solve that.

Throughout the flight, John was pointing out various landmarks along the way; and David was happily taking photos in the back, but I was entirely occupied for keeping us in something like a straight line.

He only took control once when David spotted a glider, to get out of its way, and returned control to me afterwards.

Somewhere along the way John introduced the trim wheel, since I was obviously pulling on the column to keep it level. I found this quite hard to sort out at first, turning the wheel didn’t seem to make much difference, but eventually I think I got it somewhat in trim.

After Long Marston, we turned towards Birmingham, and tracked towards that keeping it on the horizon. We then turned right towards Stratford-upon-avon, “and ok, we’ll descend a little as well” John cheerfully added as I failed to hold the nose up during the turn.

All too quickly I was heading over Stratford and had Wellesbourne in sight ahead; John called them on the Radio, and took control for the join, approach and landing. And then we were on the ground and taxying back to the school.

For the rest of the day, I was grinning like a child and making “neyowm” noises to myself.

After a light snack, we visited a little nursery we’d seen on the way in to look at some plants. Every time a plane flew overhead, I looked up; and for one of them, my heart leaped even more when I saw that it was Tango Oscar.

P/UT Hours Today 0:30, Total 0:30

Weather Permitting

EGBB 131607Z 140024 19014KT 9999 BKN025
TEMPO 0002 7000 -RA BKN010
BECMG 0811 26015KT
PROB30 TEMPO 0919 26015G25KT 7000 -SHRA

A thirty percent probability of light showers tomorrow, with cloud base at 2,500ft.

As my nan used to say, it’s got two chances…

Mail Strike

Like most geeks, I run my own mail server. The burden of administering it is much less than the increased flexibility in filtering incoming mail, let alone dealing with SPAM.

My mail server configuration has remained pretty static the entire time, and controversially, I’ve always used qmail.

The reason for this dates back to my first sysadmin job in the mid-to-late nineties, and the decision in those days did tend to be sendmail or qmail; with the security conscious choosing the latter.

qmail’s delivery system is a little odd, everything on the left hand side up to the first “-” is considered a user, and everything after can be used for filtering.

The default local delivery component takes this into account, so e-mail to scott-foo can be filtered by the /home/scott/.qmail-foo file.

This gives a pretty natural way to deal with mailing lists; you subscribe with a unique address for that list, and all the mail goes into the right folder automatically.

This has served me reasonably well over the years, with heavy patching across the daemon to add features such as LDAP integration, and SPAM filtering that I wanted.

Unfortunately it’s been getting to burdensome to maintain. Since it’s not true open source software, and is effectively abandoned upstream, it’s not as up to date as I’d like.

SPAM filtering tends to take place in the local delivery loop, rather than at SMTP time; and due to the strange delivery system, it’s unreasonably hard to perform any kind of sender verification or greylisting.

Since every special address is filtered differently, it’s quite hard to add common filtering unless it’s pre-planned and you use addresses with a common prefix.

The clincher has been dealing with super-sites like Launchpad which send huge amounts of different e-mails to a single address, and no facility to separate that from your published contact address.

I needed a better mail server.

So I’ve now moved to exim.

I was surprised by how quickly I was able to pick it up, I did the migration in two day outages. The first to simply migrate delivery and stash the mail in one big folder, and the second to customise the delivery and filtering to my liking.

I’ve also re-subscribed to mailing lists with single addresses again, so now I have a single filter rule which happily can filter Launchpad mails around as well.

Happily I’ve been able to make a change I’ve wanted to for a while, home and work e-mail is separated into different Maildir/ trees; and mailing list subscriptions made with the most appropriate address.

The magic of dovecot lets me create a fake scott+canonical user that uses the alternate Maildir tree, while still retaining my user permissions, etc.

Overall I’m pleased with the new setup, and how the migration went. SpamAssassin needs some tuning as a little SPAM is still getting through, but otherwise it seems to be working well.

Reading in the Rain

Look what happens; the whole world goes “carbon neutral” mad, planting trees and burning Jeremy Clarkson instead of Fossil Fuels and what do we get? A summer so wet that you can pick up the “dropped sausage” as it floats past the barbecue. I want the global warming back, at least then it was nice out!

A combination of the glorious English summer, and a busy social and work calendar has meant that I’ve had no chance to get airborne.

I’ve made a booking with Wellesbourne Aviation for Saturday July 14th, one of the few days in July that I have free, so hopefully the weather can be persuaded to behave by then.

Wimbledon will be over and the British Grand Prix a memory, so I’m hopeful that the rain gods will bugger off for a while and give us some clear skys for a couple of weeks (since we’ve got yet another re-booking of a balloon flight that I bought for my partner last September scheduled for the week after!).

I’ve put the time to good use however, and purchased the complete set of “Trevor Thom” books. The flying school slightly favours the Jeremy Pratt, but I found after reading through both that the style of the Thom books far better suits me.

The usual comments against them are that they’re overly technical or precise, which makes them to me read more like the computer manuals and science articles that I’m used to; and a far better fit. I found the casual tone of the Pratt series more difficult to learn from.

thom1.jpgthom2.jpgthom3.jpgthom4.jpgthom5.jpgthom6.jpgthom7.jpg

I don’t think there’s any particular disadvantage to starting the exam study this early, without the practical experience to back it up. Both reinforce the other; and I do think that the longer run-up you have on the written side, the more likely you are to learn it rather than just cram the answers into your head before sitting the exam.

For me, I think it’s even more useful. I’ve found that I’m sometimes not able to fully grasp a subject without the necessary technical background. I don’t know whether my physics teacher remembers my difficulty in understanding how a capacitor worked; I couldn’t understand why the simplistic description of them didn’t cause the same effects with an ordinary switch. It wasn’t until later on when I learned the underlying principles that I fully grasped how they could be used.

I can already think of an example where this is true in flying.

Some people may be content to know that the altimeter can be set to one of four settings; and happy to just learn by rote which of QFE, Aerodrome QNH, Regional QNH or 1013.2mb they need at which point in their journey. They can probably remember learning why for their exams, but not worrying about it anymore.

For me, knowing what the difference between them is, and how to calculate one from the other, has given me a far greater understanding. I could’ve probably learned them by rote, but it would have never been entirely clear to me. Instead, I now understand them, so the appropriate choice at each point in the journey is obvious to me; not to mention the effects of moving from one pressure region to another.

Another useful thing from starting the reading so early is that I’m able to read the aviation weather forecasts.

EGBB 021644Z 030024 21009KT 9999 SCT020 TEMPO 0009 8000 SHRA PROB30 0007 BKN008 TEMPO 0921 6000 SHRA BKN020CB PROB40 TEMPO 0920 3000 +SHRA TSGR BKN014 BECMG 1013 27014KT

Unfortunately, this is still depressing reading …