Archive for May, 2005

That new distro smell

Tuesday, May 17th, 2005

Update

The content of this post now has a new home in my backpack.


Just completed a fresh install of Ubuntu Hoary so that I had a clean slate to base my MonoFromSource instructions on. Now that’s out of the way I need to configure things back the way I like them, so I thought I’d make myself some notes here.

As you can imagine, this is a work in progress so I’ll add things as I go along.

Step 1 – repositories

Based on the instructions on the Unofficial Ubuntu 5.04 Starter Guide, here is my /etc/apt/sources.list:

 deb http://gb.archive.ubuntu.com/ubuntu/ hoary main restricted universe multiverse
 deb-src http://gb.archive.ubuntu.com/ubuntu hoary main restricted universe multiverse

 deb http://gb.archive.ubuntu.com/ubuntu/ hoary-updates main restricted universe multiverse
 deb-src http://gb.archive.ubuntu.com/ubuntu hoary-updates main restricted universe multiverse

 deb http://security.ubuntu.com/ubuntu/ hoary-security main restricted universe multiverse
 deb-src http://security.ubuntu.com/ubuntu hoary-security main restricted universe multiverse

 deb ftp://ftp.nerim.net/debian-marillat stable main
 deb ftp://ftp.nerim.net/debian-marillat unstable main
 deb ftp://ftp.nerim.net/debian-marillat testing main

Step 2 – install software

Here’s a rough list of what I consider essential software:

 $ sudo apt-get install flashplayer-mozilla evince gftp \
 gstreamer0.8-plugins w32codecs libdvdcss2 beep-media-player \
 gnomebaker ubuntu-calendar nvidia-glx nvidia-settings firestarter \
 xfonts-intl-arabic xfonts-intl-asian xfonts-intl-chinese \
 xfonts-intl-chinese-big xfonts-intl-european xfonts-intl-japanese \
 xfonts-intl-japanese-big xfonts-intl-phonetic gsfonts-x11 \
 msttcorefonts rar

Then I’ll enable the NVIDIA driver with:

 $ sudo nvidia-glx-config enable

I also follow the UUSG for installing JRE.

Step 4 – compile software

Step 5 – configuration

I leave Ubuntu pretty much as-is, except for disabling the Semi-Spatial Nautilus

Step 6 – Firefox extensions

Mono from Source

Tuesday, May 17th, 2005

I’ve been planning to do this for a while, but I’ve just gotten around to publishing my instructions for compiling Mono from source code.

OK, so there are other instructions, but one of the main stumbling blocks is satisfying the various dependencies which my guide covers in detail for Ubuntu Hoary1.

Anyway, go read…

MonoFromSource


1 Which is why I have published it on the Ubuntu Wiki.

Disappointed with myself

Friday, May 13th, 2005

Whilst I’m still experimenting with some non-Debian based Linux distros (especially on the server side of things), I’ve just embarked on a couple of personal projects that require me to use Microsoft Windows as my desktop.

It frustrates me as an Open Source & Linux advocate how easy it is to get up and running under Windows XP compared to most distros. Although pretty much all of them are workable out of the box, most require addtional steps to get things “just right”. Ubuntu is one of the best for this, by simply enabling the universe and (optionally) multiverse repositories, as well as the additional one for “codecs of a dubious nature”. Fedora Core in contrast has a mish-mash of additional repositories, with a quite a few of them duplicating and even contradicting each other.

Of course there’s nothing like these repositories for Windows, but then again it’s so much easier to find things. NVIDIA drivers? Yep. Latest version of Adobe Acrobat Reader? Right here. Media Codecs? Got ‘em. Now the purists out there might complain about me linking to proprietary products but these are just some examples of tools people use everyday. For 2 out of the 4 I linked to, they are legally available for use on Linux – it’s just getting them that can be the hard part.

Look out!

I’ve been a fan of Thunderbird since it was Mozilla Mail & News, but I make use of e-mail, calendar and to-do lists, so having them all in one place makes more sense for me. I also have a requirement to synchronise these (and my contacts) with my Palm Vx. I’ve used Evolution 2 under Linux, and it does an admirable job of satisfying most of what I require but it has it’s own quirks.

Part of these projects entails the use of Microsoft Office 2003, so I decided to give Outlook a whirl since it has been a long time since I last tried it anger (Outlook 97 I think). It – like Evolution – has issues, but overall I’m pretty happy with it. Combined with KeySuite from Chapura though and it beats Evolution hands down – this is how syncing is supposed to work! I know all about the security issues with Outlook, but I run spam and virus filtering well before my mail client sees my mail (one of the advantages of running your own server) so I’m not too worried.

Too much navel gazing?

I love Linux, and I love the idea (and ideals) of Free & Open Source but I always feel more productive under Windows and that’s why I feel disappointed with myself…no matter how much I want to dislike and reject Microsoft (and in particular Windows) I just can’t.

Good Journalism

Wednesday, May 11th, 2005

I’ve just reading Deconstructing Maui X-Stream which should at least win an award for it’s length.

It should also win an award for a) the quality of writing and b) the quality of journalism he put into researching it.

For those unaware of the whole CherryOS/PearPC debacle, this will provide more than enough information. For those that know something about it, it’s still a fantastic read.

You’ve (not) got mail!

Wednesday, May 11th, 2005

Jono has given up on trying to configure IMAP on his server.

Yesterday I spent most of the day fighting off and on with Exim and Courier-IMAP on my Debian server. I was trying to configure Exim for virtual domains (mapped to real users) and I followed tutorial after tutorial after tutorial, and all of the ended up with same result – no inbound mail.

Eventually I gave up and switched to Postfix and Dovecot – the combination I used to use under FC1. In less than 10 minutes I was up & receiving mail correctly.

I initially went with Exim and Courier mainly because they (at the least Exim) is default on Debian, and hence (supposedly) easier.

Although I like Ubuntu and Debian, I’m now evaluating alternatives that should fit my needs (i.e. Mono) better. Watch this space.

SUSE Q

Tuesday, May 10th, 2005

I was given a copy of SUSE 9.3 Professional by a friend who’d received it as an unwanted gift. Spurred on via the guy who prefers SUSE over OS X Tiger, I mainly wanted to try it because of the easy availability of Mono packages for it.

Now my machine is no speed demon – it’s a classic Athlon 800 Mhz with 512MB RAM and a NVIDIA Ti4600 graphics card but it runs Ubuntu with no issues. On this machine, an Ubuntu install (with patches) takes between 30mins to an hour. SUSE (with patches) was pushing 2½ to 3 hours! This was about a 50/50 split install to patches (Ubuntu is probably more like 70/30), but the real shock was the patching process. apt-get dist-upgrade on Ubuntu is a split of roughly 50/50 for downloading and installing the patches. On SUSE this was more like 30/70 or even 20/80. I kept thinking it was hung!

Once I’d got SUSE installed, patched and running, I quickly came to realise how slow it is. I don’t know what it was doing but booting took at least twice as long as Ubuntu, and it was far from responsive whilst running. YaST was by far the worst culprit of this.

Getting back to my main reason for trying SUSE – Mono – I was disappointed to find that it is not easy – you need a separate update tool. To top it all off, you can’t even download the tool (As linked from the Mono download page) at the moment.

SUSE has now been wiped from my machine, and the media returned to its original owner to find a new home for it, and I’m happy, back in Ubuntu.

I am semi-tempted (being as addicted to that new distro smell as I am) to give “Fedora Core 3”: another whirl, seeing as there are now ‘official’ Mono packages for it (which was one of my main reasons for dissing it last time).

Typo & Ruby on Rails

Monday, May 9th, 2005

It was my intention to upgrade my weblog software at the same time as my server upgrade. I’ve been experimenting with Ruby on Rails and I’m pretty impressed, but not enough to give up on ASP.NET. My plan was to replace Textpattern with Typo (which is based on RoR(Ruby on Rails)) as it provided a relatively easy upgrade path from TP, but after spending some time customising it, I decided I was changing my site to suit the app. So it’s back to the drawing board.

RoR is nice, but I don’t really see a lot of extra benefit for me. I’ve also been alarmed by the reports of Google’s Web Accelerator breaking RoR apps. OK, so it’s not just a RoR problem but it doesn’t inspire confidence that the people who designed RoR got caught out by it…

Same blog, new distro

Monday, May 9th, 2005

I’m back! (for those that have missed me…)

I decided to upgrade my linode from a rapidly aging install of Fedora Core 1 to Debian Sarge. My original intention was to have a ‘server’ installation of Ubuntu Hoary, but the upgrade from the Linode offering of Ubuntu Warty was not smooth, so I settled on Debian instead.

Server config is still underway, but pretty much everything except mail and Mono is working again now.

Mono eye for the Java guy

Thursday, May 5th, 2005

Balazs Fejes has posted an article on his experiments in Mono, which has got a Java slant (seeing as that’s his day job).

In it, he makes a few glaring mistakes, but also raises a very good point.

Dealing with mistakes first – he’s trying to combine Mono on Win32 with Visual C# Express which is a) still in beta and b) based on .NET 2.0 (which Mono does not yet fully implement). This is a recipe for headaches. Whilst you can do Mono development with Visual Studio, I would recommend using SharpDevelop which is a) free, b) supports Mono and c) was the basis for MonoDevelop.

I know, I know – Mono and .NET are supposed to be interchangeable and they are, but Visual Studio and Mono have a very different way of doing things in terms of builds etc. If you want to target .NET and support Mono, by all means use VS, but if you want to target Mono and support .NET you need to be a bit more clever about it.

Building Bridges

This segues nicely into a pet rant of mine – cross platform (or even just distro) compilation.

Mono is supposed to cross platform (and cross framework), yet building applications targetted for Linux on Win32 is pretty much no go. Ignoring the dependencies for a moment, most Mono-based Linux apps use GNU Make and autotools for creating builds. This is fine on Linux, but on Win32 you either need find ports or rely on something like Cygwin to provide them. Even then, you’ve got the rest of the dependencies to worry about.

Instead of falling into the old ./configure; make; make install trap, why didn’t Mono embrace NAnt or somthing like it. Then as long as you had Mono and NAnt, you could build everything else. You see this in other languages/frameworks – Perl has CPAN (and PPM if you’re using ActiveState), Ruby has RubyGems, PHP has Perl etc. With those, once you’ve got the language and the tool (which typically comes with it) you can get (pretty much) whatever you need. With Mono you have to get this and build it, then that and build it, and then the other and build it ad infinitum.

Availability

From the article:

Perhaps the one thing that baffled me most is that the Mono framework is not fully embraced by the Linux ecosystem. When I tried my application with the latest Ubuntu LiveCD, I realised that not only Mono was not in the default configuration, I could not even install a consistent set of components for Mono and GtkSharp.

How very true. It doesn’t matter how good Mono is if people can’t use it. Sure use developers can (and will) compile it ourselves, but how can we (and the developers of Mono) expect people to use our applications if a) they can’t easily get Mono or worse b) only get an old version of Mono.

Fscking upgrades

Tuesday, May 3rd, 2005

For those of you who actually visit the site, and don’t read through your favorite aggregrator, things may look a little strange for a while. The reason is that I’ve just upgraded to the latest release candidate of Textpattern and it introduces some strange template bugs that weren’t there in RC1. I would figure out a) what’s wrong and b) how to fix them but I really can’t be bothered. They’re not that bad, and Textpattern as my blog engine is on a short lease of life now anyway.

Keep your eyes peeled to see my choice of replacement…

Update

I’ve rolled back to RC1RC3 had too many issues, in particular the feeds weren’t working properly.

Textpattern is still going to be replaced though.