Google Chrome OS – The Next Big Thing?

With the announcement from Google that they will start developing an operating system, which initially focuses on Netbooks but eventually spreads out from that, the whole internet started talking about it and what it could mean for the future of computing.

There are lots of details yet to be released, but the OS will leverage online content and applications, and bring them to the desktop.  No longer do you open an Office package, or a chat application on your local PC – you’d be using Google Docs online to create that letter or Google Talk to talk to your friends – and I guess if you don’t want to use Google Apps, someone, somewhere, will need to create web-based alternatives – Microsoft Office 2012 Web Edition anyone?
As soon as more details become available, I’ll let you know!

What does this mean to Windows?  What does it mean to Linux distributions, especially as this will be opensource?  How about Mac OS X?  Do developers and users need to change the way they look at things? Is everything we do in 10 years going to be online?  Interesting times to come!  Let me know your thoughts.

You can also see the blog post from Google announcing Google Chrome OS:

Mashable has an article including some questions we need to know the answer to:

If this takes off, and lets face it, it probably will, it looks like I’ll be creating a new post tag soon  on with Google Chrome OS tips pretty soon!

Anti-Spam Functionality on the Hub Transport (Exchange)

With the ever increasing volume of spam e-mails (98% of all e-mail at the last count I’m sure I read somewhere), there are plenty of spam filtering methods around now (including hosted services and applications to be installed on your servers), but if you’re using Exchange 2007, you may be able to use the in-built functionality instead.

Anti-Spam functionality is usually reserved for Edge Transport servers within an Exchange 2007 infrastructure, but many organisations do not have this role in place, due to the cost of installing a seperate server.  It is, however, possible to enable the Anti-Spam filtering on the server hosting the Hub Transport role – as this is not a fully supported or recommended option, it’s not an obvious option to enable, though, and certainly isn’t enabled by default..

Enabling it is easy, as I’ll show below.

Firstly if you open Microsoft Powershell (Or “Exchange Management Shell“) on the Hub Transport server and:

cd %system drive%/Program Files\Microsoft\Exchange Server\Scripts

Obviously if you have installed Exchange to a different path, then you need to cd there instead – you basically need to be inside the “Scripts” directory which is in the main Exchange Server installation path.

Once in this directory, you can do:


This will install the required files, and then to finish off, you will need to restart the Transport service:

Restart-Service MSExchangeTransport

And that’s it!  You’ll now have full anti-spam functionality on the Hub Transport server.  You can either configure it using Powershell or, if you open the Exchange Management Console, you’ll notice an extra tab within “Organization Configuration” on the “Hub Transport” section called “Anti-Spam” – here, you can set a whole range of options.

I’ve used many anti-spam services for Exchange, and this is about one of the best – I have it configured to put e-mail marked as spam straight into the users Junk E-Mail folder within their own mailbox – no need for quarantines by doing it this way.

You can read more about this functionality on TechNet here:

What do you think?  Have you tried it?  Do you have better options for spam filtering within Exchange 2007?  Let me know.

Mount an ISO Image Under Linux

You may have many ISO images lying around of various CDs or DVDs.  ISO images are an exact copy of an optical disk, and are increasingly popular – with high speed internet being available to many, people are taking advantage of this and instead of spending money on discs and shipping costs, simply making them available online for download.

The advantage of ISO images are that you can either choose to burn your own disc from the image, or, if you prefer, simply mount the image and use it as normal – again, saving a disc!

Mounting an ISO image is simple in Linux, providing you have loopback mount support (which usually is enabled by default in most kernels – if not, it’s time to recompile the kernel with it in!)

The commands below all need root access, so either use sudo <command> or su – to root first!

Firstly we need a mount point.  This can be anywhere on the filesystem (in your home directory, in the /mnt directory etc), but lets create one for the purposes of this tip:

mkdir /mnt/iso

Once we have a mount point ready, we can now mount the image.  So, say we have an ISO image called debian.iso in a home directory for a user called daz, the command to mount the image debian.iso would be:

mount -o loop /home/daz/debian.iso /mnt/iso

If this completes successfully, and you get no errors, the image will be mounted at /mnt/iso and can be viewed as if it’s on a disc!

Reverse cat (concatenate) a Text File

There’s a command for that!

So everyone in the Linux/BSD world has used the command “cat” to print out the contents of a file to screen. Infact, I find it hard to believe you can use Linux or BSD properly without using that command on log files and any other text-based file.

But say you have a 1MB text file – an apache logfile for example – that you want to print the contents of to the screen, but you’d rather see the newest contents first – how do you do that?  You certainly don’t want to cat the file and wait until the end…

Well, it’s simple.. what’s the opposite of cat?  tac of course!

From the tac manpage:  tac – concatenate and print files in reverse

So, the next time you want to see the contents of a text file, but want to see the newest content first, tac is the command you need:

tac filename.log

Or, as you’ll probably need (to stop the output just flooding to the screen), you can pipe it to more, just as you can a normal cat.

tac filename.log | more

Basic Host Bandwidth Monitoring (Linux, BSD)

Whilst quite cool, it can also be quite important to keep a log of the bandwidth being used by a server – whether it’s because you have bandwidth limitations from a data center or ISP, whether you just want to see how much the server uses, or even to detect when something “strange” is going on, basic stats are good – you may not need a fully fledged MRTG setup with graphs though, and this is where vnstat comes in – it’s a basic text-based application, which monitors traffic in and out of a network card.

I install vnstat as a matter of course on all servers I installed – it’s light, and it’s good just to keep a log on things.

For this example, I’ve installed vnstat on an Ubuntu Server, so I’ll be using apt-get to install the package from the standard repositories:

apt-get install vnstat

Once installed, we need to initialise the database.. and in my case, it is for eth0 (you can change eth0 to whichever interface you want to monitor):

vnstat -u -i eth0

Now vnstat will start collecting stats, and you have a whole range of command line options to show different types of stats:

 -d,  --days           show days
 -m,  --months         show months
 -w,  --weeks          show weeks
 -t,  --top10          show top10

So, for example, if we do -m to show monthly stats:

 eth0  /  monthly
   month         rx      |      tx      |   total
  May '09       3.81 MB  |     1.02 MB  |     4.83 MB
  Jun '09     195.68 MB  |   198.24 MB  |   393.92 MB   %%%%%%%%%%%:::::::::::
  Jul '09     217.62 MB  |   103.79 MB  |   321.41 MB   %%%%%%%%%%%%:::::
 estimated       972 MB  |      461 MB  |     1.40 GB

You’ll notice a nice feature at the bottom of estimated use for the next month – again, this takes current/past stats, and works out roughly what it thinks will be used – so in this case, it’s predicting a big increase for July.. which looks about right, especially as it’s used 321MB already.

So, give vnstat a try – I think you’ll like it.

You can read more about vnstat on the official web site:

Change the Default Spell Checking Language in Mac OS X

One thing I’ve noticed on Mac OS X 10.5 Leopard is that even though you select “United Kingdom” for the keypad, locales etc,  the spell checking still stays in American English.  This is quite annoying, and not an obvious thing to change.. but it can be done, so that British English is the default.

In any text box in any application, if you click in the box then go to…

"Edit Menu: Spelling and Grammar: Show Spelling and Grammar"

… you will get a box which allows you to change the language in the bottom left.  If you change this to your preferred language (in my case British English), and close it.. the setting will apply system wide (you may have to close and reopen any applications currently open to see the change).

Clearing/Flushing Your Local DNS Cache (Windows, OSX)

We’ve all be there – you do a DNS lookup, and it’s still showing the wrong IP address, even though you know it’s since changed.  Well, DNS works on caching entries – what this means is, your local machine caches a lookup (for the duration of the TTL set by the DNS server) and your upstream DNS server caches the entry, and this happens until you get to the authoritive servers for that domain.  (You may be interested in reading the Wikipedia article on DNS:

There may be nothing you can do about your upstream DNS servers cache, but there is a way to flush your local machines cache, so at least that will refetch the DNS record from your DNS server(s).

The process is simple, in Windows you would use the command prompt (by running cmd.exe) or on OSX you can use Terminal:

OSX (Tiger, and below):

lookupd -flushcache

OSX (Leopard):

dscacheutil -flushcache
Windows (XP, Vista, 2003):
ipconfig /flushdns

Once you’ve done the above, when you lookup a name again on the machine, it’ll refetch the result from your DNS server(s).

Monitoring the Status of Multiple Linux/BSD/OSX/Unix Hosts

daz@scampi:~$ ruptime

You may run multiple Linux servers, or BSD servers, or even AIX servers, and need to monitor uptime, load averages, and users logged in from one central point.  @davetaylor on Twitter asked for the output of the ruptime command, which got me looking into the command in more detail – hence this post!

For this example, I’ll be using three Ubuntu Servers, hence the apt-get commands – for other systems, use it’s own inbuilt package management system.

Installing the “monitoring” node is simple:

apt-get install rwho

Once this is complete, it’ll install the rwhod daemon and also the ruptime command.

If you run ruptime now, you’ll get the output from only localhost:

daz@scampi:~$ ruptime
scampi        up   56+03:39,     1 user,  load 0.00, 0.00, 0.00

So, that’s one host done.  Now to install it on the remote machines.  Please note though, as rwhod works on network broadcast traffic, this will only work for hosts on your local network in the same broadcast domain.  To install a remote machine, we just need the rwhod daemon:

apt-get install rwhod

This will install just the daemon.  Now, when you run ruptime on the central host, it’ll use broadcast traffic to pull the stats from every machine, running rwhod, to the local machine.  In this example, I have three hosts:

daz@scampi:~$ ruptime
morph         up    2+13:21,     0 users,  load 0.00, 0.00, 0.00
noddy         up   38+00:02,     1 user,   load 0.01, 0.03, 0.00
scampi        up   56+03:42,     1 user,   load 0.00, 0.00, 0.00

You can do some sorting of results, but that’s pretty much it.  I guess if you wanted to see just one host, you’d be using grep or similar to just show the one line.

This is the manpage for ruptime on Ubuntu to show the options:

If you notice you have 10 people logged into a host you know nothing about, then the rwho command will show you all users logged in, to any of the hosts:

daz@scampi:~$ rwho
daz      noddy:pts/2  Jul  7 13:31
daz      scampi:pts/2 Jul  7 13:12

It might be a small tool, but you may find it useful to monitor hosts quickly – especially if you just want to see vital information such as load averages and users logged in.

Twitter Censors #Moonfruit

For the past 6 days, Moonfruit have been running a promotion giving away Macbook Pro’s:  Entering the competition was really easy – on a tweet, just put “#moonfruit” somewhere, and that’s a single entry made!

For the first few days, it was great – and, probably exceeded what Moonfruit would expect in terms of coverage – it was the top trending topic for 3 days (I think) and lots of technology blogs and news sites picked up on it – the cost of ten Macbook Pro’s certainly looked cheap compared to the coverage Moonfruit was getting because of it!

However, it looks like Twitter have made the decision to stop #moonfruit from being a trending topic.  It was top for quite a few days before it just disappeared, with no explaination – and, words which weren’t being tweeted as much were trending.

Moonfruit themselves have created a blog post about it, and decided to end the competition early by giving away 4 Macbook Pro’s tomorrow, instead of over the next 10 days.

I’m quite disappointed actually – sure, the whole #moonfruit thing was a marketing exercise for Moonfruit, but still, it was an interesting tag and people were being really creative.  I normally don’t take part in these sort of things, but this one I did (and my followers will vouch for the sheer amount of tweets I put out there!) .. and lots of other people did too.  Infact, in the end, Moonfruit decided to give away extra prizes to the most creative of tweets, as some people put a lot of effort into getting #moonfruit out there.

I’m not sure why Twitter decided to stop it from trending – I guess the whole “spam” argument got too much – and, in fairness, where will it end?  If it does carry on, and we have 100 other companies trying to do the #moonfruit thing, then Twitter may become a bit useless and just a spammers paradise.  It’s the sort of thing which works great only once.

So, have Twitter done the right thing? Should they have allowed things like this? What should they block? Should they block more? Let me know your thoughts.

Read the Moonfruit blog post here: