Perfect Ubuntu Jaunty on the Asus eeePC 1005HA (and 1008HA)

Standard

The 1005HA is one of the brand new Asus eeePC netbooks, and it is a great little machine — aside from the fact that it comes with Windows XP or a dumbed-down customised Xandros (allegedly — as time goes on, Asus seem to be selling out to Microsoft).

As the 1005HA is pretty new, it has a few odd hardware quirks that won’t be fully supported out of the box until the next release of Ubuntu.

Here I run through what I did to end up with a 100% working install — including all Fn hotkeys. The good news is that it is very easy!

My perfect Ubuntu setup on the 1005HA

My perfect Ubuntu setup on the 1005HA

Continue reading

Ubuntu: Getting rid of icons for mounted network shares

Standard

I have several network NFS shares that I mount in Ubuntu using /etc/fstab. While this works fine, recent versions (I think it has been annoying me since Edgy) of Ubuntu have an annoying habit of creating a desktop icon for each share.

Annoying!

Annoying!

A desktop icon is fine for an SD card, or a USB stick, but it’s not ideal when you have a ton of network shares.

It is easy to turn off all desktop icons for mounts using gconf-editor. But I still want some of them (such as the aforementioned USB sticks) to show — just not the NFS mounts.

As it turns out, the solution is actually obvious: semi-permanent items should be mounted in the right place, under /mnt. If you mount elsewhere, e.g. under /home, you get the annoying icon. Under /mnt? No icon.

Although this turned out to be quite obvious, it is new to me — for well over a year now I’ve just had all desktop mount icons turned off waiting for the solution.

Simple dynamic ASP includes

Standard

I always end up never quite believing it when, once again, it dawns on me that I can’t complete a project the way I visualise due to ASP Classic’s lack of support for dynamic includes.

This time, I was creating a CMS-like site, which included mixed HTML/ASP files automatically. I tried pretty much every other solution — including server.execute (no go — doesn’t preserve variables/functions),  and other examples of using ASP’s execute() command to parse files (didn’t work for mixed HTML/ASP).

So, the only thing left was to write my own. It’s fairly simple, and due to ASP/VBScript’s horribly limited feature set, very low-level. It steps through a file one character at a time, and decides if it is in “HTML mode” or “ASP mode” at an given time, and then uses this staus to convert the file into a set of executable lines.

It should handle most things correctly, with the exception of defines, and <!--# -style directives. It handles short ASP write tags (<%= %>) just fine. Variable scope is preserved inside the include file, and variables/functions set inside the include file continue to exist outside it after it is included — in other words, just as they should.

To use it, simply include the file, and use it just as you would in a sane language:

include("relative_path_to_local_file.asp")

The function returns false if the file doesn’t exist, or true otherwise.

If you fix any bugs in this, please let me have them.

Download it here: ASP Dynamic Includes