Tag Archives: Ubuntu

www.ubuntu.com

Visiting the Googleplex: Worth it for the produce alone

The Ubuntu Developer Summit was hosted at Google, which was special.

The buildings are fairly ordinary, but there’s a bright lively atmosphere and a sense of abundance. I didn’t see many people over 30, and they all seem to enjoy life on the Google campus, protected from the grey world of highways outside. These people seem happy in their work.

We were in building 44, across the street from the main Google building, in a conference or presentation room, with side-rooms for meetings. Google allowed us (mostly me) to gorge on a steady supply of coffee, bagels, cakes, scones, fruit, crisps, and tubs of ice filled with soft drink cans.

Lunch time was a high point of the day. The rumours about Google’s canteens are true. The cooks really know what they are doing and have the means to do it. Eating there makes people smile. And there’s several (!) vegetarian choices, with skilful use of tofu. This would be the top restaurant (for me) in Munich, and it’s free at Google. The two canteens I saw were both called “No Name Cafe” – I think each building has one. Pictures at the Google Food Blog. After suffering months of Siemens food during on-site projects, this feels like a recruiting tool.

Outside the cafe there’s a chill-out area, with several retro video arcade machines, such as Defender and Pac-Man.

Things I noticed at the reception area of the main entrance (random pictures found on flickr, not mine):

  • Replica (apparently) of Space Ship One hanging from the ceiling. It’s smaller than I expected.
  • Screen with rotating earth, with columns of light indicated search activity at that location, color-coded for language.
  • Searches text scrolling up a white-text-on-black screen. Apparently it’s not real-time.
  • Large horizontal whiteboard for the made-up Google Master Plan. Each visitor can add to their own decision boxes and associations. The last entry at the right when we arrived was “Ubuntu Linux on all production desktops for teh win”. I shit you not.
  • An old copy of a classic Artificial Intelligence book (Patrick Henry Winston‘s one, I think), and old AI conference proceedings, as light reading while you’re waiting.
  • Free candy.

Other stuff on campus:

  • A resistance pool, for swimming in place.
  • A Hairdresser.
  • A Gym
  • Massages
  • Electric scooters

What I’m doing now

OK, so I can’t tell you much about what I’m doing, but I can tell you that I’m busy.

Tomorrow I fly to San Francisco to attend the Ubuntu Developer Summit, at the Googleplex for the week. This is unrelated to everything else that I’m doing, but should be fun.

Since the start of September I’ve been working on a small experimental project for an Openismus GmbH client. It’s secret but not currently part of any actual product or strategy for the client. It’s using the C-based GObject API, so I’m playing lots with GObjects properties, interfaces, vfuncs, inits and constructors, etc. This is full time for me until approximately early January 2007.

I’m also steering some work that Daniel and Johannes are doing for a client, which is mostly about creating documentation at the moment. That’s secret for now, though not for any particularly good reason, and will definitely be public and generally useful eventually, at a secret time in the future. They can’t say, so don’t ask.

I’m also doing bits and pieces and general support here and there for another Openismus GmbH client, and working on the repository analyzer for them.

I’ll likely have some work to do soon for yet another locally-based (more or less) client who have some long-term plans to use gktmm on embedded devices for a specialized market. They’ve already started and are doing well, but would like some advice and manpower.

In general, I’m busier than I’d like to be. I’d like to always have some excess capacity so that it’s easier to accept work for new customers, with the added avantage of being less stressed and thefore more productive. An extra full time employee would make that happen, but I’m not quite ready to do that yet, given the lack of guarantees of enough work in the longer term. Possibly I’m being too cautious.

/tmp does not belong in file save dialogs.

Here’s something that shouldn’t happen.

  • User reads her email with a web-based email service, using Firefox.
  • User opens an MS Word document (something.doc) that someone sent her via email. OpenOffice opens it.
  • User changes document and saves it with a new filename (something_changed.doc). OpenOffice offers to save it next to the existing document, which Firefox put in /tmp, because Firefox thinks it’s just saving a temporary copy so it can tell OpenOffice to view it. User says OK, because what does the User know about “tmp”?
  • User shuts the computer down.
  • User starts the computer.
  • User tries to find the document. After much difficulty, she finds /tmp, but the document has been deleted (because it’s deleted at startup, though the user doesn’t know this).

This happens in Ubuntu Dapper and Edgy at least. I think that Firefox in Ubuntu Breezy used to save the temporary documents to the Desktop, instead of /tmp, which was also annoying.

I’m not sure what the best general solution is, but I can imagine that some of these might help:

  • Temporary documents could be read-only.
  • GtkFileChooser could warn about saving documents in /tmp, and/or not allow /tmp to be shown when saving documents.

Glom 1.2

Glom logo Glom 1.2 is now out (see the announcement). It has a few new features and less bugs than the 1.0 branch. It should be available in Ubuntu Edgy soon. Glom 1.0 is apparently now available in Fedora 5 and 6, and I expect that to be updated to 1.2 soon.

For Glom 1.4, I hope to finally port to the latest libgda API, and add a dependency on gtksourceviewmm, to do source-code highlighting of Python code in calculated fields and buttons scripts. And hopefully Rasmus Toftdahl Olesen‘s Relationships Overview feature will also be added.

Updates of non-essential stuff in Ubuntu

Ubuntu 6.06 (Dapper) will be the recommended stable and supported Ubuntu release for a while yet. It only has Glom 1.0.3, though a 1.0.8 version exists with lots of bugfixes. I can understand that a stable version of a distro doesn’t want to add features by jumping to Glom 1.2, but I don’t understand why bugfix updates aren’t allowed. Generally it seems that updates are only allowed for security bugfixes.

Sure, you have to be careful. If Ubuntu updated OpenOffice in Ubuntu Dapper to fix a crasher then they’d have to be very careful that they weren’t introducing new bugs. But nobody is using Glom for anything critical yet, and it’s not in the officially supported repository. Just because an X update broken things once, it doesn’t seem necessary to freeze the Glom version. Of course, I want people to get my bugfixes so I can get more feedback, so I can make Glom good enough to be relied upon.

Ubuntu Mountain View Summit

Canonical has generously offered to pay my way to the Ubuntu MountainView developers summit in November, to bring some extra points of view from the GNOME project.

I’ll arrive on Thursday evening, so I can spend Friday taking a look at San Francisco. I need to find a relatively cheap place to stay for 2 nights. This will be my second free junket of the year, though the last time I spent most of my tourist day in the hotel with a nasty cold. The California sun should make that unlikely this time. If anybody would like to meet to eat vegetarian on Friday night (3rd November), just comment or email me.

I have a strange adolescent star-truck enthusiasm about visiting the west coast for the first time – and only my second time in the states. Back in my early pre-internet twenties, I wanted nothing more than to go work in Silcon Valley, because it seemed like the center of the software world. I probably would have done it if the visa restrictions hadn’t required a university degree. Now I feel that southern California’s urban sprawl is probably as characterless and disfunctional as the U.K.’s Thames Valley where I lived at the time, and I’m content to enjoy the quality of life in Europe, working with the world’s best software people via the internet. But I suspect that visiting the Googleplex will still feel special.

Evolution and IMAP

Evolution is great

I love Evolution. I’ve used it for years for POP3 access and it has easily handled huge amounts of email and allowed me to quickly find information. I can not use a command-line email client to read my email. I am not like that. Years ago when I first started using Linux, I had a Windows partition (actually a removable disk) just so I could boot into that to check my email with Outlook. That was tedious. Then Evolution let me use Linux all day every day. It was familiar but far more stable and faster and less confusing than Outlook.

Evolution is still great for POP3 and getting better all the time, and possibly for some other protocols that I haven’t used.

Evolution with IMAP is not so great

But about a month ago I switched Evolution from POP3 to IMAP, because I got tired of not having access to old emails when away from my main PC, for instance when I use my laptop or when I use the webmail interface. This has mostly given me what I wanted, though dreamhost’s squirrelmail times out when searching my old messages, which are archived to a separate folder after a few days for performance reasons. But it means that I don’t stumble over not having the information in an email that someone sent me yesterday, and then realise the next day that I forgot to check it while at home.

However, it’s very slow, so slow that it rarely finishes whatever it’s doing before I shut my computer down. The status bar is always showing a couple of “Working oxb1208ad8” or similar messages. I think it’s doing more things with hexidecimal names, but it only shows two at a time. Every time I click on a folder it seems to give itself lots more work, and is determined to finish whatever it started doing for the last folder, even though I’ve lost patience with that already and just hope it can forget and maybe be quicker with another folder instead.

I’m not 100% convinced that this is caused by Evolution or instead by IMAP in general, or maybe by a problem with my IMAP server, or with IMAP servers in general.

Maybe (I have no idea) IMAP is a fundamentally slow or high-latency protocol, but it seems theoretically possible for Evolution to not be slow about showing me what’s already on my local disk. If it wants to check for new stuff on the server then that should happen in the background. I’m not saying it’s easy to implement, but it should be possible.

This whole downloading local copies thing is confusing in Evolution:

  • The account setup (Edit/Preferences/Mail Accounts/Edit/Receiving Options) has an “Automatically synchronize remote mail locally” checkbox.
  • Right-clicking on a folder in the Sidebar anch choosing Properties, allows me to check “Copy folder content locally for offline operation”. Isn’t this the same thing? And is it recursive? Am I really gaining anything by tediously setting this for the 40 folders in my folder for mailing lists?
  • You can force a download of local copies by choosing File/Work Offline, but a) Didn’t I just specify in the first two ways that it should always do that, and b) I can’t check new emai while it’s doing this.

I just built Evolution 2.8 from source (I usually use 2.6 on Ubuntu Dapper) to see whether it’s faster, but I don’t notice any significant difference.

I suspect that some of the slowdown is caused by me having 40 filter rules to sort my emails into different folders for each mailing list. Unlike with POP3, it has to tell the server to move these instead of just moving them on the local disk. I guess server-based rules would be more efficient but I have no way to specify such rules with my hosted email server, and Evolution certainly doesn’t offer any way to do this. Turning off email filters or junk filtering (in the account setup) doesn’t make it noticeably faster when switching folders, but I didn’t try this for a few hours, and Evolution does seem to get slower with use.

By the way, why can’t Evolution just arrange all my mailing list emails automatically without me having to create folders and filters for each one?

It also seems slightly faster when not using encrypted IMAP (with TLS or SSL), but not fast enough, and a) I like encryption, and b) It was fast enough when using encrypted POP3.

I have tried Thunderbird. It seems slightly faster, but I haven’t tried recreating my 40 filter rules to test whether it’s faster when doing that. It does at least show a pulsing progress bar when it has to download an email, instead of showing me a blank email for a minute or so. It has the same UI problems when saying what should be downloaded locally – there’s no way to say “download everything and keep downloading everything, so you can be fast”. One great thing about IMAP is that you can easily try other email clients.

I’m not complaining about the hard-working developers. Evolution does a lot of great stuff and I’m not ready to move away from it, particularly because Evolution integrates more with my desktop than Thunderbird is ever likely to. I’m sure they’ll fix whatever they can in time – I recognise that getting an email application right is not easy. I just wanted to get my thoughts written down. I am not jumping on the bandwagon.

Update: I should give Evolution 2.8 more of a chance over the next few days. I guess it does feel a bit snappier.

Secure silent mail server

An Openismus client demanded that all email communication with them should be over TLS tunnelling, with the mail server being on-site, so my regular hosted mail accounts won’t do, and even a hosted server wouldn’t be enough. Frankly, I’d rather not have the trouble and expense of maintaining my own servers, but it’s a nice client so to please them I set up a mail server like so:

  • Buy a quiet (no fan) low-power PC. I chose an ichbinleise PC LL10. It’s not very pretty or powerful or small, but it’s enough for a mail server. Ichbinleise (MR Computertechnik), seem to use cases and parts from Silverstone.
    • The new AMD Geode-based PCs are cheaper and require much less power, but pre-built systems don’t seem to be properly on the market yet.
    • This list of mini PCs is interesting.
    • It’s not low-power and fanless, I think, but the A-Open Mini PC is pleasantly Mac Mini-like, though I suppose the new intel Mac Minis will support Linux distros some time soon.
  • Get a new DSL broadband login from Via, so I can have a static IP Address. The contrast between their web site (simple, what you need) and service (simple, quick) and that of T-Online/Deutsche-Telekom (insanely complex, obscure, beaurocratic, inflexible, expensive) is vast.
  • Get an extra domain name just for this email account. I’m not going to risk putting my regular email through this experimental system.
  • The domain registrar doesn’t let me enter IP addresses for the DNS name server, so I can’t set up my own DNS server that specifies which of the PCs on my network is the mail server, and of course I can’t create a ns.something.com without having a DNS server. This is probably normal – I wonder how this chicken and egg problem is normally solved. So, I used EasyDNS to get a DNS server, and told the domain registrar to use that name server. Then my DNS entries at EasyDNS specify my static IP address.
  • I set up port-forwarding rules on my router (a cheap wireless/DSL thing that I got from Deutsche Telekom), telling it to direct traffic on the POP and IMAP ports to the mail server PC.
  • Instead of using port forwarding, I suspect I could have a local DNS server (which would know about the IP addresses on my local subnet) in addition to the EasyDNS server (which can’t use my local IP addresses because they aren’t really assigned, being behind a NAT), but I’m not sure how that would work.
  • Now to install the mail server software:

  • I tried Ubuntu Breezy (I have one thousand CDs, so it’s easy to find one, and was too lazy to download Dapper), but installation failed half-way saying there was a problem with the CD drive.
  • Ubuntu Dapper installed perfectly.
  • Thanks to a reply to my previous blog about mail servers, I found a great page about installing an email server on Ubuntu. It explained what the point of the different parts is, and told me exactly what to do to install postfix and dovecot with support for IMAP and SMTP using TLS. There’s a scary series of commands that it tells me to type in, but if I have to do that then I’d rather not have to figure it out by myself.
  • I found it odd that the email account is defined by the linux shell account, with the same password, so I’d have to add a new shell account just to add a new email account. Those wiki documents mention something about virtual mail hosts, but they seem to be about serving mail for multiple domains. Maybe that’s also how you separate email accounts from shell accounts.

Installing an email server on Ubuntu

I need to set up a TLS-capable email server (which I will access via IMAP), so that the messages are encrypted between my email server and the recipient/sender’s email server.

Initial investigations show that my pessimism was appropriate – I can’t find much clear information about how to do this. Ubuntu do a server release now, so I’d like to just use the stuff they recommend. how they recommend it, but there’s not much documentation about what they package, and I still have to deal with various things, and decide between them, including sendmail, postfix, dovecot, exim, etc, which translate for me to “yadda, yadda, yadda”. As far as I can tell, dovecot does IMAP, and postfix does SMTP, and they have to be set up separately and somehow told to use the same mailboxes and the same security settings.

I don’t do this stuff generally. Installing Apache is obscure enough for me, thanks. If there’s an nice explanation for the uninitated somewhere, and a detailed how-to, that would be nice.

Am I wrong to think that most email servers should have very similar setups, so some kind of wizard/installer could just give me what I probably want?

Munich is Ubuntu Town

My little Ubuntu CD problem is solved. The CDs remaining after the 1500 handed out at the Systems show have been cleared out by Joerg Kress taking 250 for Bayreuth University, Moritz Angermann taking 1250 for the Munich Technical University's computer, maths and sciences campus, and Christian Neumair taking 250 for the University's electrical engineering department. And Thomas Uhl just took the last approx. 1500 for LinuxWorld Expo in Frankfurt. Now I have a less frightening 250 left in my cellar.