Switching between Ubuntu Desktop and Ubuntu Server

It’s easy enough to start out with an Ubuntu Server machine and install the desktop packages, leaving you with an Ubuntu Desktop machine. Just run:

sudo aptitude install ubuntu-desktop

…and you’re done. Unfortunately, going the other way isn’t so easy. Just removing the ubuntu-desktop package doesn’t remove all the other packages for me, I had to list a whole bunch of packages (enough to trigger all the dependencies, and get all the other desktop packages autoremoved). Long story short, I just fired this (very long) command and it did what I was after:

sudo aptitude remove ubuntu-desktop gdm nautilus \
xserver-xorg libgtk2.0-common metacity x-session-manager \
gnome-session xorg capplets-data gedit-common \
gnome-panel gnome-orca gnome-control-center libgnome2-0 \
mousetweaks network-manager synaptic evolution \
gcalctool gconf2 software-center nautilus-data \
rhythmbox vino vlc update-manager firefox compiz-core \
network-manager-pptp openoffice.org-help-en-us \
gnome-media-common gnome-panel-data gnome-screensaver \
gnome-terminal-data gstreamer0.10-plugins-base \
indicator-me indicator-messages indicator-session \
update-notifier indicator-applet \
indicator-applet-session libappindicator1 \
libcanberra-gtk0 empathy-common evolution-common \
evolution-plugins gwibber-service ibus jockey-gtk \
libbrasero-media1 libpam-gnome-keyring \
nautilus-sendto-empathy rhythmbox-plugins \
xul-ext-ubufox empathy gnome-applets gnome-keyring

Warnings/disclaimers/tips:

  • Make sure you’re not in a GNOME session while you’re doing this, or it could have unexpected results.
  • It’ll remove a lot more packages than those listed above. Read the list of packages that are going to be removed CAREFULLY and be sure before you confirm the removal.
  • You may not hold me responsible if you hose your system by blindly removing packages. You should know what you’re doing before attempting this, if you’re not sure what will happen, you should do some more research first.
  • If you don’t have aptitude installed, just replace “aptitude” with “apt-get” in the commands above. I prefer aptitude, so that’s why it’s in the commands above.
  • My scenario: I started off with an Ubuntu Server 10.10 (not a fresh install, I’d been using it a while, so forget this being a clean experiment!), then installed the Desktop, installed Chromium and Flash, then switched back to Ubuntu Server.
  • This will almost certainly need some tweaks to work on earlier or later versions of Ubuntu than 10.10. If you do tweak the above command for another version and you feel like helping out, please comment with the relevant remove command that worked for you so it can be shared.

If this works for you, drop me a comment below!

PS: Nope, I don’t understand that photo either. :)

Safari skews web stats

Here’s an interesting thing to consider next time you’re looking through your web stats: the popularity of Safari 4 and later (the desktop version, not the iOS one) probably looks way higher than it actually is.

Safari’s “Top Sites” feature checks sites to see if any content has changed since you were last there (and also to draw the preview images), and it does this reasonably often. The way it checks is to load your website behind the scenes, which means your server gets hit, and your stats show Safari’s more popular with each refresh.

Perhaps Apple should make the background thread use a different user agent string so that we can differentiate real requests from the Top Sites updates?

My Koobface / Facebook Roadblock experience

I figured I’d write up my experience with the Facebook Roadblock, as it might come in useful for other people who get locked out.

Last night I noticed Adium started spinning away on my dock, unable to connect to one of its configured networks, which turned out to be Facebook. A few minutes later I closed whatever browser tab I had open, and noticed that Facebook tab I had open behind it was showing the “Please login to continue” dialog over my previous session. Clicking the login button took me to something I’d not seen before, the Facebook Roadblock:

The Facebook Roadblock

The Facebook Roadblock

A few minutes of checking the SSL certs, retyping bookmarks, checking for DNS spoofing, and even trying from my iPhone over the 3G data network (which still didn’t work, it instantly logged me out once it loaded and didn’t let me back in), I received an email claiming to be from Facebook. And the headers seemed valid too:

Return-Path: <notification+z4o6=66@facebookmail.com>
X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on
  server01.filesanctuary.net
X-Spam-Level:
X-Spam-Status: No, score=-99.0 required=5.0 tests=AWL,BAYES_50,
  DNS_FROM_OPENWHOIS,RCVD_IN_DNSWL_LOW,SPF_PASS,USER_IN_WHITELIST autolearn=no
  version=3.2.4
X-Original-To: aaron@unadopted.co.uk
Delivered-To: aaron.unadopted@server01.filesanctuary.net
Received: from mx-out.facebook.com (outmail013.snc4.facebook.com [66.220.144.145])
  by server01.filesanctuary.net (Postfix) with ESMTP id CF77B315237
  for <aaron@unadopted.co.uk>; Thu, 28 Oct 2010 19:04:33 +0100 (BST)
DKIM-Signature: v=1; a=rsa-sha1; d=facebookmail.com; s=201006181024; c=relaxed/relaxed;
  q=dns/txt; i=@facebookmail.com; t=1288289073;
  h=From:Subject:Date:To:MIME-Version:Content-Type;
  bh=qEIXppA9YVJnzP16lPu8knjBLI4=;
  b=R8irJgwrt6XVn16hAvSUFeIlM++vWMcDyAYhNXrhKnQ6ItFMnyMlWp5Mpop9/8qW
  RBXeIrBlbl9R+MhQ7tTzmYKGcHpDpA4sMc27xKmYwDphIdANX0rgfCfxLzsRwYvJ
  wu+CZxtaBphfkFdMo0RZabSpGN4v5Q0WCW12jqDxKBM=;
Received: from [10.30.185.191] ([10.30.185.191:35133])
  by mta018.snc4.facebook.com (envelope-from <notification+z4o6=66@facebookmail.com>)
  (ecelerity 2.2.2.45 r(34222M)) with ECSTREAM
  id F6/5B-27367-13BB9CC4; Thu, 28 Oct 2010 11:04:33 -0700
X-Facebook: from zuckmail ([MTI3LjAuMC4x])
  by localhost.localdomain with local (ZuckMail);
Date: Thu, 28 Oct 2010 11:04:33 -0700
To: "Aaron B. Russell" <aaron@unadopted.co.uk>
From: Facebook <notification+z4o6=66@facebookmail.com>
Reply-to: Facebook <notification+z4o6=66@facebookmail.com>
Subject: Security Warning From Facebook
Message-ID: <9202ff1cbcd06add33c763f96edc88cd@localhost.localdomain>
X-Priority: 3
X-Mailer: ZuckMail [version 1.00]
X-Facebook-Notify: roadblock; mailid=333b85fG1e289220G6f8ad57G7b
Errors-To: notification+z4o6=66@facebookmail.com
X-FACEBOOK-PRIORITY: 0
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"

Dear Aaron B. Russell,

We have detected that your Facebook account is infected with a form of
malware, or virus, called Koobface. You downloaded the virus after
receiving a message from a friend, which invited you to view a video.

To restore your account, please log in to Facebook and follow the
instructions you see there. You can also learn more in our Help Centre at:

http://www.facebook.com/help/?topic=koobface

Thanks,
Facebook Security Team

Hmm. So I really was locked out. But was I really infected? As I use a Mac, I wondered if I’d been hit by the (supposedly harmless) OSX/Koobface.A virus (Intego Security Memo). But if that was the case, why didn’t VirusBarrier X6 tell me about it? And why didn’t I get the Java applet warning? My mind wandered back a couple of days and I remembered I’d logged in on my Windows 7-based HTPC recently too, so there was a slim chance that I got infected that way.

So off I went to set some scans running. Kaspersky Internet Security finished on the HTPC first due to it’s relatively small HD, but that was clean, which only left my MacBook Pro as a potential candidate for infection. After discovering just how long it takes to scan a 500gb hard disk (more than 8 hours)… VirusBarrier told me that it didn’t find anything on my laptop either.

VirusBarrier says "no virus detected"

VirusBarrier says "no virus detected"

Both Kaspersky Internet Security and VirusBarrier X6 claim to be able to deal with various versions Koobface worm/trojan hybrid, but neither of them picked anything up despite having the latest virus definition updates, so my systems seem to be clean. Having checked my systems meant that I was now “allowed” through the Roadblock (Facebook requires you to certify that you’ve checked your system — that said, it’s only a checkbox to tick and you could easily lie, but if you receive genuine reports that your computer appears to be compromised, it’s better not to chance it), and I went through this sequence of steps…

Facebook give you a few options to prove your identity

Facebook give you a few options to prove your identity

I opted for SMS message verification

I opted for SMS message verification

Facebook then try to educate you about what happened...

Facebook then try to educate you about what happened...

... which is a really good idea (despite showing me Windows screenshots when I'm on a Mac)

... which is a really good idea (though they should detect I'm on a Mac)

... and then they forced me to reset my password (also good!)

... and then they forced me to reset my password (also good!)

And then after a confirmation screen, my account was restored.

So… what the hell happened? Well, from what I can tell my machines are not infected, so either my account was compromised, or it was a false alarm (possibly due to Adium’s frequent reconnects to Facebook Chat, because it drops the connection often). Either way, I think Facebook handled this very well from a security point of view. They also offered me a (Windows-only) 6 month free subscription to McAfee VirusScan Plus on the final confirmation screen, but I skipped that as I’m on a Mac and already use Intego VirusBarrier X6, but it’s good to be offering protection to people who might not be protected.

I’m interested to hear if anyone else has gone through this (especially Mac users), so if you have a similar story to share, please drop me a comment.

Google gives up on Wave

This is a pretty huge disappointment: Google’s admitted defeat on Wave, citing poor uptake, and plans to cut it loose later this year.

“despite these wins, and numerous loyal fans, Wave has not seen the user adoption we would have liked. We don’t plan to continue developing Wave as a standalone product, but we will maintain the site at least through the end of the year and extend the technology for use in other Google projects.”
– Urs Hölzle on the Official Google Blog [link to post]

I’ve found Google Wave to be very useful as a meeting and collaboration space for working with people hundreds or thousands of miles away from me, but I guess not enough people saw just how useful it actually is. It does have a pretty steep learning curve initially, so I can see why a lot of people probably didn’t bother, or didn’t get what it was for. I guess it’s back to IRC, IMs and Campfire for now.

FaceTime missing on your iPhone 4? Here’s how to fix it.

I discovered today that FaceTime didn’t work on my iPhone 4: people couldn’t start FaceTime calls with me and I didn’t have any of the FaceTime buttons present. Turns out that this problem is caused when restoring from an iPhone 3G running iOS 4 — it seems the FaceTime on/off setting is imported from the iPhone 3G (which has it turned off as it doesn’t support FaceTime). Going into Settings > Phone and then flipping FaceTime on solved it for me.

Other people seem to have had to jump through a couple of extra hoops to get this to work, if flipping the switch didn’t get you going, take a look at this post over at the Rusty Brick blog.

Update 2010-08-22: Still having trouble? Did you jailbreak your iPhone 4? There’s something else that might stop this working too.

Update 2011-08-20: Did you find this post helpful? It would be awesome if you’d take a moment or two to check out File Sanctuary, my hosting company. We’d love to help you with web hosting, email hosting, radio station hosting, domain registration, SSL certificates, and even giving you a safe place on the Internet to back your computers up to. We really care about the service we provide, and our prices are really good. Have a look around our website to find out some more, then get in touch and tell us what you need, and we’ll do everything we can to accomodate you. Thank you for reading my shameless plug! :)

Make a perfect Ubuntu AFP file server with Time Machine support

Just found an awesome guide from Mattias Kretschmann on how to create a perfect AFP file server for Mac clients that supports Time Machine backups over the network out of the box. It worked for me with a Mac OS X 10.6.3 client and an Ubuntu 10.04 server, with just one small change to the /etc/netatalk/afpd.conf file. The final line simply needed to read:

- -transall -advertise_ssh

Beautiful, thanks Mattias. :)

Unadopted Podcast Session 028 Out Now!

This one’s so lively it should probably come in its own cage! Fantastic tunes this time from the likes of Passion Pit, Justice, and a couple of truly brilliant remixes from Last Japan.

If you love the Unadopted Podcast, please add Unadopted on Facebook and tell your friends about the podcast!

Want to send music in to the Unadopted Podcast? Now you can! Visit the Unadopted Soundcloud and send your music in (it’s dead easy). If I like it, I’ll try and get it into one of the sessions!

  1. Passion Pit – Little Secrets (Jack Beats Remix)
  2. Touché – Vampires
  3. Booka Shade – Mandarine Girl
  4. Kidda – Feel Too Good (Jack Beats Remix)
  5. Soft Toy Emergency – Critical (Last Japan Remix)
  6. Boris Dlugosch – Bangkok
  7. Kissy Sell Out – This Kiss (Jack Beats Remix)
  8. Yeah Yeah Yeahs – Heads Will Roll (Passion Pit Remix)
  9. The Bingo Players – Devotion
  10. Crystal Fighters – Xtatic Truth (Last Japan Remix)
  11. Justice – D.A.N.C.E. (Beau Damion Mashup)

Listen now over at http://unadopted.co.uk/podcast/. If you haven’t already set it up, click the “Subscribe” link on the right-hand-side when you get there to get the podcast automatically delivered right into your iTunes or RSS reader whenever I release a new session!

YouTube vs Viacom: things get ridiculous

It seems that things have progressed into the ridiculous in the YouTube vs Viacom spat:

For years, Viacom continuously and secretly uploaded its content to YouTube, even while publicly complaining about its presence there. It hired no fewer than 18 different marketing agencies to upload its content to the site. It deliberately “roughed up” the videos to make them look stolen or leaked. It opened YouTube accounts using phony email addresses. It even sent employees to Kinko’s to upload clips from computers that couldn’t be traced to Viacom. And in an effort to promote its own shows, as a matter of company policy Viacom routinely left up clips from shows that had been uploaded to YouTube by ordinary users. Executives as high up as the president of Comedy Central and the head of MTV Networks felt “very strongly” that clips from shows like The Daily Show and The Colbert Report should remain on YouTube.

Viacom’s efforts to disguise its promotional use of YouTube worked so well that even its own employees could not keep track of everything it was posting or leaving up on the site. As a result, on countless occasions Viacom demanded the removal of clips that it had uploaded to YouTube, only to return later to sheepishly ask for their reinstatement. In fact, some of the very clips that Viacom is suing us over were actually uploaded by Viacom itself.

– Zahavah Levine, YouTube Chief Counsel, YouTube Blog

This sort of mess surely can’t look good for Viacom?

Been using Formspring? You’re in for a nasty surprise…

From an Associated Press article:

Twelve administrators of the website Formspring.me, including CEO Mark Baxter were arrested on Monday for data phishing and misleading the public, when the site was revealed to be a “social experiment,” which will culminate in the automatic revealing of users’ private data on April 1, 2010.

Update: seems like this is a hoax

So I made something for that TV show…

So. It’s been on TV now so I’m allowed to talk about it.

The BBC just showed an episode of Horizon called To Infinity and Beyond, and I got a credit at the end of it. Shiny. :)

Why? Because I made something shiny that helps answer the age old question: If a monkey sat at a typewriter for an infinite amount of time, how long would it take to write the entire works of Shakespeare. You can even download a copy of the shiny thing yourself from Google Code, and do pretty much whatever you want with it as it’s been released under the BSD License.

Enjoy!