Dreaming of an internet without Google

I want to buy a Chromebook Pixel 2015. It’s made by Google, and therefore comes with Chrome OS and all the other software Google produces, but that’s not part of my decision to purchase, since I just want the hardware so I can install Linux on it. I’ve had a Macbook Pro since 2012, which naturally comes with software produced by Apple, and have had Linux installed on that too. Like the Macbook, I’m attracted by reliable, well-designed hardware on which I can run the software stack that meets my needs. Unfortunately, I should never have believed the hype about the Macbook – the screen hadn’t been QC’d properly and had dead pixels, the cooling system was dreadful (it simply ran too hot) and Linux drivers that are stable on most machines had bugs. This last issue was due to minor alterations to standards that on closer inspection, don’t appear to have any consequence besides damaging the user experience when running an operation system other than Apple’s own (Windows I suspect, but as ever Linux users get caught in the petty sales crossfire). Naturally I’m concerned I could be making a similar mistake with Google’s offering, but it turns out Google isn’t going to let our relationship get that far anyway.

I don’t really use any Google services since moving my personal email away from Google Apps (as part of the Snowden exodus), and have stayed well away ever since. I don’t have an Android phone (Firefox OS is far sounder), and I register a different Google account for every Google service I’m forced to use for work (if I’m going to have “one account for everything”, then I’ll manage and host that account on my own terms). I use a browser addon that clears out cookies associated with a domain that isn’t in an active tab, which includes everything set by Google. I use DuckDuckGo. So as you can probably guess from my habits, I’m aware that Google doesn’t really make money through selling someone like me a phone or a laptop. They make money from me running their software on the devices I buy, using their online services for work and play, buying things through their payment services, sending and receiving messages through their servers. They collect data on my personality so that other organisations can know me without ever having to meet me. As of now, they make an awful lot of money just selling intelligent advertising, but their services are increasingly broad enough for them to operate as your very own virtual hamster ball; an intermediary between you and the outside world no matter which way you turn.

At the time of writing, the new Chromebook Pixel is only available from the Google Store. Almost immediately they want me to sign into my Google account, so as ever, I register a new one. I add the laptop to my basket, enter my details and promptly discover I’m now using Google Wallet too, as a result of making a payment (I must admit it isn’t easy maintaining the one-account-per-service rule). After snooping around in the settings a bit, I discover a “verify” option for my account, which requests my legal name and address, as well as a phone number. Normally I’d avoid completing something like this, but I’m aware that Google could well be required to include this verification by card processors, and I do actually want to successfully send them some money with a debit card. After submitting this information in their form, Google thinks for a second, then spookily confirms that this is what it expected (part of me hoped this part would fail, thereby confirming that my efforts to smuggle a modicum of privacy across the internet haven’t been in vain).

Half an hour later, my order has been cancelled. After initial irritation at the lack of even an email notification, I realise I’ve entered my debit card’s billing address incorrectly, so I rectify and re-purchase. After a similar amount of time, I’m notified that my brand-spanking new Google Store/Wallet account has been suspended due to suspected fraudulent activity. What exactly made it suspicious isn’t information I’m privy to (understandably, I suppose), though after checking over my details several times, I’m unable to see anything wrong with the same data I’ve provided to literally thousands of ecommerce sites in the last decade. However, I am given the option of “account verification”. Again. This form looks different though – they want documents; a passport scan, driver’s licence, bank statements. I’ve honestly never been asked for anything like this when buying something online, so I’m fairly sure it’s not necessary. Is this an easy excuse to rope in hard personal data on someone who’s only just signed up for Google? Whatever the reason, for what feels like the 100th time, I sighed and closed the tab.

Can I delete my Skype account?

No, or at least not easily. They’d rather you just obfuscated your account details. If you actually want your handle removed, you must contact customer services. From Skype’s FAQ:

Remove any personal details you provided. You can replace your details in the fields with random characters such as “qwerty” or “xxx” because empty fields cannot be saved.

You sure, guys? Rather than simply deleting a few database records, you’d rather that we fill them with garbage? I feel sorry for whoever’s tasked with the next annoyingly global cross-service user account merge.

I suppose this could be Microsoft nobly sacrificing its database’s integrity to thwart its transformation into another privacy-invasion-for-cash scheme, but since changing my account’s name to Marmington Fortespube and signing in after a cookie-wipe, Skype welcomed me by my real name. Perhaps they’re simultaneously running what-you-think-we-have and what-we-actually-have databases after all.

Installing a Netgear WNCE2001

The WNCE2001 is a wireless bridging device. If you don’t have equipment that supports WPS, you will need to manually configure it. The device’s function is very handy – it can be used to link ethernet-only devices to your wireless network, such as a certain games console that’s official wireless adapter is sold at an extortionate price. For a similar price to a single wireless adapter that functions for one client, you can attach the WNCE2001 to a switch and share the bridge with several clients. In my case, it was simply to attach an ethernet-only printer to the wireless network.

The default IP for the device is 192.168.1.251. This can be changed later. Be warned that the device initially broadcasts a DHCP signal, so you may wish to at first plug the device into a NIC on a disconnected machine, instead of the network. You can safely ignore the DHCP signal if you wish, and manually configure an address for your NIC and access the device’s IP. It will then automatically redirect you to the host ‘www.mywifiext.com’ via Javascript.

If you opted to have the DHCP server on the device configure your machine, it will have attempted to configure its current IP as the single DNS nameserver for your machine. This is presumably so it can bind the host mentioned earlier with the correct IP address (its own). However, the host is still bound to that IP without configuring the device as a nameserver. I’m guessing this is due to DNS requests being hijacked by the device’s routing layer.

If you plug the device into an existing network anyway, it does have DHCP client enabled, which should configure itself pending instruction from your DHCP server. I’m guessing that since the default IP under these circumstances could change, the DNS was introduced to make this process easier for the end-user.

Despite this array of ‘features’, if you have plugged the device into your network, and are trying to access its IP, you’ll find that the host it redirects to is not bound (the device’s DNS request hijacking won’t work if your DNS requests aren’t actually going through it), and you therefore cannot actually use the web interface. A workaround is to either manually (and temporarily) configure the device’s IP as your nameserver, or bind the IP and host using your hosts file (/etc/hosts on UNIX machines, for anything else Google it).

After all that, you should have gotten yourself to the web interface for configuring – at which stage you should manage with Netgear’s guidance. After changing the IP of the device, I found that accessing it directly didn’t result in a redirect to that .com host. It’s worth noting also that the device has a DHCP client too, so you can get it to pull info straight from your router.

Ultimately the device works a treat, and I recommend it. Though despite attempting to cover a multitude of installation scenarios, none of the routines seem to actually be flawless. After trying to rationalise what was actually going on, this thing took me 20 minutes to get set up. I’m all for advancing installation procedures by adapting them for different scenarios, but the routines need to be tested and bug-free before implementation – or they achieve the exact opposite of their original goal.

Ubuntu Update Manager: “Could not download release notes”

If you’re one of the many looking to download a new version of Ubuntu the moment it’s released (Natty Narwhal at the time of writing), you’ll receive the “Could not download release notes” error from the Ubuntu Update Manager if you’re using the main Ubuntu servers (or even your country’s main server).

This can easily be fixed by selecting an alternative server source (permanently or temporarily – it’s up to you if you want to change the source back again later). Click ‘Settings’ at the bottom left of the Update Manager, then the ‘Ubuntu Software’ tab. The ‘Download from:’ option area will list the main server and the main server for your country, but if you click ‘Other…’ you should be presented with a greater list of options. Try one of them (even one in a nearby country if you’re short on alternatives), and you should find you can start your upgrade to the latest Ubuntu version successfully.

Hopefully in future versions update-manager will have a slightly more informative error message, or maybe even suggest automatically switching to a different server if failures or slow speeds are experienced. I’m surprised this isn’t already encouraged considering the benefits of load balancing.

Revert google.com/ncr (No Country Redirect)

If you’ve clicked the “Go to Google.com” link at the bottom of your local Google Search page, you may have found that all subsequent visits to google.com won’t redirect you to your local equivalent anymore. If you find this irritating (eg. you like to access your local Google by typing google in the address bar and hitting Ctrl+Enter), the popular consensus around the internet is to delete your cookies. This works, but in case you don’t want to delete all your Google-related cookies, the specific cookie you need to remove is named ‘PREF’ and is specific to the ‘google.com’ domain (without the www subdomain).

Windows exe icons under GNOME

This post explains how to configure GNOME and a file browser that supports thumbnailers (such as Nautilus) to generate icons embedded inside Windows executables.

Dependencies: icoutils (can be found in most repositories).

This guide will allow your file browser (Nautilus is used in this guide, but with some amendments other browsers supporting external thumbnailers should work) to automatically extract and generate GNOME-compatible icons for Windows executables.

We’ll use a combination of wrestool and icotool, provided by icoutils. First we will create a bash script to utilise these two binaries, since GNOME will only execute simple commands as thumbnailers, but not bash script or similar.

As root, create an empty file in /usr/bin named ‘msiconailer’ (or whatever you want to call your thumbnailer) then copy and paste this code into the contents of the file using a text editor:

#!/bin/bash
export size=$3
lines=$(wrestool -x -t 14 "$1" | icotool -l - | sed 's/--width=//g' - | sed 's/--height=//g' - | sed 's/--bit-depth=//g' - | sort -nrk 3 -k 5 | sed 's/--icon --index=[0-9]* //' | sed 's/ .*//')
for line in $lines; do
if [ $line -le $size ]; then
size=$line
break
fi
done
wrestool -x -t 14 "$1" | icotool -x --width=$size -o "$2" -

This code first extracts a list of icon sizes from the exe specified by the first argument  passed to the script ($1), and matches the icon closest in size to that which is requested by the thumbnailer (the third argument $3). These binaries can include multiple cursors/icons in different sizes, so we need to use wrestool to make sure we get the one we want. We then use wrestool to actually extract the icon. The data for this icon will be passed to stdout by wrestool, which we then pipe into icotool, which converts this data into a PNG format image and writes it to disk in the location specified as the second argument ($2). Here’s an example use of our script:

msiconailer /path/to/windows.exe /path/to/exportedicon.png 64

Once you’ve saved the script (and don’t forget to make it executable), we can configure our thumbnailer in GNOME.

The thumbnailers are configured inside gconf-editor (you can access this via the Applications menu or just enter gconf-editor into a terminal). The specific path to the thumbnailers is /desktop/gnome/thumbnailers – but to add new keys here we must use the terminal. Execute these two commands in the terminal:

gconftool-2 --type=bool --set "/desktop/gnome/thumbnailers/application@x-ms-dos-executable/enable" true
gconftool-2 --type=string --set "/desktop/gnome/thumbnailers/application@x-ms-dos-executable/command" "/usr/bin/msiconailer %i %o %s"

Your thumbnailer has been added – browse to a Windows executable using Nautilus to see icons generated.

If your exe icons don’t appear, don’t forget to empty the .thumbnails/fail folder in your home directory, and make sure things are configured correctly in Nautilus preferences (such as abandoning thumbnail-generation for files over a certain size or residing in a remote location).