Suggestions for web-based feed readers?

Since Google Reader lost half the functionality that made it worthwhile, I’d switched to Goodbits, which had the functionality that Google Reader still had, and didn’t belong to Google, and which was planning to implement the other functionality.

Unfortunately, Goodbits is shutting down in a week’s time. Can anyone recommend a good web-based feed reader? It has to be web-based because I use multiple machines and don’t want to spend half my life coping with duplication. Ideally, it would have sharing facilities, too. Can anyone recommend anything?

(Basically, what I want is Google Reader as it existed in September 2011. I am aware that nothing like that currently does exist, but the closer I can get the better.)

Were it not for the fact that any code I write is owned by my employer, I’d be very tempted indeed to knock a Google Reader clone together. The demand is definitely still there…

Why I Won’t Be Blogging The Hugo Shortlist This Year

This year, an actual majority of the entries in the Hugo Awards have made their Hugo Packet submissions PDF-only. See Charles Stross’ blog post about this from two years ago for why this is a bad thing.

Last year, for those books which were PDF-only, I was able to reflow them in the ereader I had then (an iRiver Story). However, that broke a few days ago (just after the warranty expired, of course), and I discovered that the wonders of market forces now meant that there are only two ereaders (by which I mean e-ink devices which are designed for reading, rather than generic tablets marketed to readers) available in the whole of Manchester — the Kindle and the Kobo. (Actually, there is a third, a Sony ereader which Argos sell, for sixty quid more than the most expensive price I saw for either of the other two).

I bought the Kobo because I’d rather a duopoly than a monopoly, but unlike the iRiver I used to have the Kobo doesn’t have PDF reflow capability.

(This is one reason why Free Software needs to become more prevalent, incidentally — people *want* PDF reflow on the Kobo but can’t get it, and can’t write it themselves. Unfortunately, I know of no eink device that runs a free OS.)

This means that I have the following choices if I want to read the books (those where I even have the option — the books by Mira Grant get as far as the ‘by the same author’ page and then stop):
a) Read them on a computer. I don’t want to do this as I spend enough time staring at a computer anyway, and because I do a lot of my leisure reading on the train and bus into work and on my lunch break,
b) Squint at a tiny little picture of what a book page would look like — one of the main reasons I like having an ereader is that it allows me to reduce eyestrain, because of the aforementioned staring at a computer. I can do this for short scientific papers, but not for a 900-page novel like A Dance With Dragons
c) Use the magnify function and keep scrolling round a screen, shuttling from one side to another as I read each individual line — no chance.
d) Use Calibre to convert the books from PDF to ePub. This is what I’m going to do, so I’ll eventually get to read them, but I won’t have time to do this before the voting period ends.

So no Hugo votes from me this year, and I suspect none from any user of the Kobo, which is I believe second most-popular ereader in the UK and third most popular worldwide. (I *may* for example vote for Among Others by Jo Walton because it’s the ONLY novel that’s provided in multiple formats).

I truly appreciate the Hugo Packet, and I think it’s a wonderful thing in many, many ways. But if publishers aren’t going to provide actual ebook versions of books, why are they bothering?

Why the pirate bay ‘block’ won’t work

The High Court has apparently ordered most British ISPs to block access to the Pirate Bay, a website which allegedly hosts copyright-infringing material, as of later this month. They’ve been ordered to do this by blacklisting it on their DNS servers, so the name won’t resolve to its IP address.

The problem is, this is trivially easy to circumvent. In order of increasing technical difficulty, these are the ways round this that I’ve thought of in less than five minutes:

Visit an online DNS lookup service, type the pirate bay’s URL in, copy-and-paste the IP address into your web browser’s toolbar.

Use an online anonymising proxy to visit the site.

Install one of the at least two Firefox plugins I know of that would get around this.

Set up your own DNS nameserver, and have it get its information from OpenDNS (I actually already do this on my own machine, not for nefarious lawbreaking purposes, but because TalkTalk’s nameservers are so awful.

Install TOR (not the publisher, a piece of anonymising network software) and route all your traffic through that.

Note that I am not suggesting anyone actually do any of these things — if nothing else, there are much easier ways of accessing copyrighted material illegally than that — but I’m pointing out that for anyone with enough technical knowledge to use BitTorrent at all (it sounds daft, but a majority of people online now simply don’t have even that level of knowledge), DNS blocking is about as much of a barrier as a sheet of thin tissue paper.

I think when enforcing a law becomes this impossible — and this shows how impossible to enforce the current law is — we need seriously to consider alternatives to that law, rather than having ever-stricter (and ever-more-unenforceable) versions of the law. I don’t know what the solution is to the problem of compensating people for their ‘intellectual property’ in a world of near-instantaneous perfect copying (and it’s a problem I’m keenly aware of — in my day job I’m a software engineer, and I at least attempt professionalism in my writing and my music) but we won’t find it if governments keep looking in the same place…

Windows : Not Ready For The Desktop

(Almost all of the following is true)

I had to install Windows on a computer on Thursday, after ten years of using GNU/Linux almost exclusively (I’ve occasionally used Solaris or AIX for work stuff). The results convinced me that no matter how much people online talk about this Windows thing, it’s definitely not ready for the desktop.

Firstly, you actually have to *pay* for this thing. Not pay for support, like with Red Hat, but you actually have to pay for the actual software. And you don’t even get the source code with it, just a binary ISO.

There are so many choices, as well — Windows 8, Windows 7, Windows Vista, Windows XP Pro SP 2 — how is the average user meant to know which is the right one? This Windows thing will never get off the ground until there’s one clear option.

So I download Windows XP Pro SP 3, because that seems to be the most popular one, burn the CD, and stick it in the computer.

The installer is rubbish, especially the partitioner — it doesn’t even have fairly standard options like shrinking and enlarging existing partitions, you can just keep them or wipe them. But that’s OK — this is going to be the only OS on this machine. So it takes about an hour to do a simple format of a fairly small drive, before it starts installing.

The installer only creates a single account by default, which has full root access! That’s a good way of ensuring your user is going to wreck their computer…

So it completes its install, and I log in, and there’s no network, even though the ethernet cable is plugged in. No problem, I get a terminal open. Whatever shell they’re using is useless — it doesn’t even have tab-completion (it has C:\ at the prompt, so I’m guessing it’s csh), and ifconfig just returns some sort of error.

No worry, I try to open the config files in vim, so I can fix them manually. Turns out this antiquated piece of junk doesn’t even have vim on it! The only text editor that comes pre-installed is some GUI crap called Notepad, that’s like a really bad clone of gedit — it doesn’t even have syntax highlighting! What use is that?!

But it turns out anyway that you can’t fix your config files manually in Windows, because they’re in some kind of non-human-readable form. How ridiculously user-unfriendly can you get? Does this mean I actually have to learn how to manually edit binary blobs just to get stuff working?!

Fortunately, I get assistance. Apparently, Windows does have some diagnostic tools, but (get this!) you can’t just type the names in and have them work — you have to go through four or five nested menus to get to them. And you have to know which ones you want before you can get to them. If I hadn’t had an expert on hand, I’d have been stuck. You shouldn’t have to get expert help just to get your computer running!

Anyway, after a load of arcane GUI manipulation that I could make no sense of at all, we finally found out that (you won’t believe this, but I swear it’s true) Windows doesn’t come with drivers for the network card! I had to download them from the website — not of the operating system, like you might think, but of Dell, who made the computer! Thank God we had another computer there.

(Oh, and I only found this out after googling for the error message I’d been getting, and getting a ‘help’ page that wouldn’t tell me how to fix it because I wasn’t using the OS I was asking about!)

So I download these files and stick them on a USB stick. Apparently Windows doesn’t recognise a perfectly straightforward ext3-formatted thumb drive! So I reformat it on the GNU/Linux box I downloaded the files onto, into FAT32, and try again — it still thinks it’s not there. I end up having to format the stick on the Windows box, move it back to the GNU/Linux one, copy the files across, and then move it back again.

Then the ‘diagnostic tool’, which is meant to help you but is just some uninformative GUI, greys out the thumb drive when you try to search for the drivers, even though it asks you to select where it should look. Luckily, my Windows-expert friend knows you can also run these drivers separately and they’ll install themselves.

So we ‘double-click’ (what a ridiculous thing to have to do!) the files, and up pops about twelve pages of some ridiculous roll-your-own license that they expect us to read through! Why they can’t just use the GPL or a BSD license or something, I don’t know, rather than this ridiculous thing I can’t even be bothered to read. Nobody can possibly understand this stuff — how do they expect non-techy types to cope with it? Licenses should be simple.

Anyway, after clicking this thing, it installs! It doesn’t ask for the root password or anything! Click a GUI thingy and the next thing you know you’ve made an irreversible change to your machine’s configuration! That’s incredibly dangerous.

So now we’ve got the network drivers installed. I’m not even going to *try* to get the right video drivers installed, I’ll just leave everything on the screen embiggened, but I need to install a particular piece of software.

It turns out Windows doesn’t even have apt or yum installed! There are no software repos at all! If you want, say, VLC, you can’t just type apt-get install vlc and have it install itself, you have to actually visit a potentially-insecure website — a different one for every piece of software — and download something called an ‘exe’. Who understands all this techy jargon?! Why can’t they just have a nice, simple repo with all the stuff everyone needs, like vim and gcc and LyX and so on, like GNU/Linux distros do?

And finally, the machine keeps warning me that it’s unsafe, because I don’t have something called ‘virus protection software’ installed. A quick Google tells me something I should have known from the start — this whole Windows thing is simply a protection racket. You install it, and then it scares you into installing some other software you have to pay loads of money for, and if you don’t then some kid from Russia can get control of your machine and use it to send spam out! “Nice computer you’ve got here. Wouldn’t want anything to… happen to it…” Quite why people continue to pay money to these ‘virus’ people I don’t know. Personally, I won’t submit to blackmail in that way.

So there we go. Windows is conclusively not suitable for the desktop, and it never will be so long as it continues with these horribly user-unfriendly things. In this day and age you simply can’t go about having no driver support, or support for common file formats, and as for the whole software installation process and the virus thing, don’t get me started.

No, I’ll stick with my nice, simple, user-friendly Debian install, and leave this Windows thing where it obviously belongs, as a hobbyist’s OS for techies who like frustration.

Using Spotify to sync music to iPod from GNU/Linux

Just a very quick tip for Linux users with iPods – you can use Spotify to sync music between your desktop and the iPod.

The reason I mention this is that my wife’s well-meaning parents got her an iPod for Xmas, and we quickly discovered that it’s not possible to plug a new iPod into a GNU/Linux computer and have it ‘just work’ (libimobiledevice, which sorts out syncing of older iPods, doesn’t yet have music syncing for iOS5, and nor does it have it planned for the next release). And while Apple have their iCloud thing which allows you to store stuff on their servers and then access it from an iOS device or web browser, to *upload* music to their cloud you need to use their proprietary software which doesn’t work on GNU/Linux.

We could, of course, run iTunes in WINE – except that downloading iTunes requires some Windows-only hackery that means you can’t do it from a browser running on GNU/Linux as far as I can tell.

This sort of thing is why I normally avoid both closed devices and non-free software, and why I have a loathing for Apple and all its workings that sends me into a blood-boiling rage whenever the name of Steve Jobs is mentioned. But happily, I have a single piece of non-free software installed on my machine, and that software provides a solution.

If you have a Spotify premium account (and it is *well* worth it if you don’t and you love music – unfortunately new accounts require a Facebook account (older ones didn’t), but there’s nothing to stop you creating a FB account with a disposable email address and never using it again if you don’t want an account there) and wireless internet you can do the following.

First, allow Spotify to see the local files you want to sync. You do this by going to edit->preferences and then clicking “Add source” under “Local Files”.

Next, create a playlist of those files.

Now connect your iOS device to the same wireless router your GNU/Linux box is connected to, and from the App store, download Spotify. Log onto Spotify with the same ID you use on the GNU/Linux machine. Within a few seconds, your iOS device should show up under ‘devices’. Click on it.

It will show a list of all your Spotify playlists, with a checkbox in the top left hand corner of each. Check the playlist you have created of your MP3s, and they will be copied across to your iOS device, where you can play them in Spotify (you can’t play them in iTunes this way, but you can play them).

While Spotify won’t let the same user play streaming music on multiple devices simultaneously, it *will* let the same user play *local* files on as many devices as you want, so this can be used for multiple iOS devices.

Unfortunately, for those of you who want to watch video, I know of no way to sync video between iOS devices and GNU/Linux computers, but this way works very well for MP3s.

(For those of you running OpenSolaris, one of the BSDs or some other odd OS, Spotify works extremely well in WINE on Debian, and I imagine it will work equally well on any OS on which WINE is supported)

How We Know What We Know – Diagonal Proof

(This post continues a series that I started writing last year. Click on the “How we know what we know” tag to read those earlier posts. In particular, if you’re not familiar with the concept of proof by contradiction, you might want to read the third post before reading this.)

The idea of infinity is one that has caused a lot of people a lot of trouble, over the years, from theologians asking whether an omnipotent God is capable of creating a stone he can’t lift, to physicist David Deutsch, whose 2011 book The Beginning Of Infinity tries, among other things, to use trans-finite mathematics to prove that Britain’s thoroughly broken electoral system is actually the best possible system.

A lot of these problems come from the fact that we use ‘infinity’ as a number, when in fact it’s no such thing – it’s the place where numbers break down. It’s a placeholder for something that doesn’t exist. Thinking of ‘infinity’ as a number is like thinking of the word ‘person’ as a person – it’s a category error.

Infinity doesn’t behave like a number. If you multiply it by anything, you get infinity. If you add anything to it, you get infinity. If you divide it by anything, you get infinity. If you take anything away from it, you get infinity.

So it should hardly be surprising that the whole idea of talking about ‘infinity’ is wrong. We should, in fact, be talking about infinities.

Because there are infinities of different sizes. This was proved by Georg Cantor in his famous ‘diagonal proof’.

In mathematics, two sets are the same size if there is what is called a one-to-one correspondence between them. So, for example, the set containing all the natural numbers [FOOTNOTE These are the ‘counting numbers’ – one, two, three and so on] is exactly the same size as the set containing all the even numbers, because for every natural number you can assign an even number to it:

1 – 2
2 – 4
3 – 6
4 – 8

And so forth. No matter how far you go, you will always be able to find an even number that is double any natural number, so the set of even numbers is the same size as the set of natural numbers.

The same goes for the odd numbers:

1 – 1
2 – 3
3 – 5
4 – 7

This makes a kind of sense, even though it seems a bit odd. There are only half as many even numbers as there are natural numbers, but half of infinity is still infinity.

But now let’s look at the real numbers. These are all the decimal numbers – 0.5, 1.2548356, and so on. To make it simple, we’ll look just at those decimal numbers that are greater than 0 and less than 1.

We can try to match these up with the naturals, too. It doesn’t really matter what order we match them up in, so long as we can match each one up with a single natural number:

1 – 0.123456… [FOOTNOTE – Here an ellipsis means the number carries on indefinitely]
2 – 0.135468…
3 – 0.954651…
4 – 0.154684…
5 – 0.364548…
6 – 0.584678…

And so on. So far, so good, right? Natural numbers, matched up with decimal numbers.

What Cantor then did was take the first digit of the first number, the second digit of the second number, and so on:

1 – 0.123456…
2 – 0.135468…
3 – 0.954651…
4 – 0.154684…
5 – 0.364548…
6 – 0.584678

This gives, in our example, the number 0.134648…

The clever thing Cantor then did was to add one to each digit (ticking over so that nine becomes zero), getting, in our example, the number 0.245759…

That number is now very interesting, because it does not appear anywhere on the list, no matter how far you go down. Its first digit is different from the first digit of the first number, so it can’t be the first number. Its second digit is different from the second digit of the second number, so it can’t be the second number. The seven-billion-and-sixty-ninth digit, if we continued looking that far, would be different from the seven-billion-and-sixty-ninth digit of the seven-billion-and-sixty-ninth number.

So this number doesn’t appear anywhere on the list. It can’t.

This can only mean one thing – that there are more real numbers between zero and one than there are natural numbers. So some infinities are bigger than others.

For a long time, people thought that Cantor’s proof must be mistaken in some way, that it must be the equivalent of those ‘proofs’ you sometimes see that one equals two, most of which have a division by zero hidden in them somewhere. Surely infinity just meant infinity. The idea of a smaller and a larger infinity (which Cantor labelled “aleph-null” and “aleph-one”) made no sense to anyone. Those who did think about it thought it was mostly a curiosity, rather than a particularly important result.

But then in the twentieth century, Cantor’s argument became the basis of a mathematical proof which completely changed how mathematicians think about what they do, and which in turn led to the invention of the computer. We’ll pick up on that next time…

Note To Publishers: DRM Costs You Money

I recently bought a cheap e-reader from Waterstone’s, and am very happy with it so far. I’ve been using it to read books from Project Gutenberg, papers from the Arxiv, ebooks from Baen, books by Charles Stross and so on.

One thing I will be doing very little of, unfortunately, is buying new books to read on it.

This is not because I don’t want to. I currently buy several new books a month, and one big advantage of using an ereader is that I don’t have to buy as many paper copies of books as before. My flat is fast filling up with large amounts of paper, and being able to fit several thousand books into something smaller than my hand is very convenient.

But the software my ereader uses, Adobe Digital Editions, doesn’t have a GNU/Linux version. This is slightly irritating, as all major ebook devices at the moment are based on GNU/Linux, so it would make sense for the software they use to run on GNU/Linux as well as Windows and Macs, but it’s not the end of the world – I probably wouldn’t want to run that software anyway, as I prefer Free Software (free as in speech, the Adobe software doesn’t cost anything financially). The PDF and ePub readers on my desktop PC aren’t the same software the ereader uses either, and that’s not a problem.

The problem is that the books you can buy from shops that sell in Adobe’s format (such as waterstones.com, whsmith.co.uk and barnes and noble, to take some of the bigger examples) are almost all DRM’d, and require Adobe’s software to be installed on the computer on which you buy it.

This means that if I want to buy a book from Waterstone’s or somewhere, I have three options:
1) Buy the bulky, expensive, paper copy which will take “2-3 weeks” to get to me assuming it’s not lost in the post
2) Install WINE on my desktop, install Adobe Digital Editions in WINE (not supported by Adobe), buy the ebook, then – because you can’t synch a copy of Adobe Digital Editions in WINE with one on an e-reader) run a load of dodgy Python scripts you can find on the internet to (illegally) break the DRM and convert it into a normal ePub file, so I can read it on my e-reader. This involves breaking the law at least once, possibly twice, just to read a book I’ve paid for.
3) Just buy a different book, from the few retailers who do want my money.

It’s not like it’s impossible to release books for e-reading without DRM. The ePub and PDF files I sell through Lulu (and, I’m pretty sure, the Kindle copies of my books too) are all DRM-free. The music industry have already learned this lesson – I can buy any album I want, pretty much, as DRM-free MP3s which will work fine with any computer or device. The result of this is I’ve bought hundreds – possibly thousands – of legal MP3 albums in the last few years (since I’ve had the money, a fast internet connection, and a decent-sized hard drive). Even closer to the publishers’ wallets, I’ve spent the best part of a thousand pounds in the last four years buying audio dramas – fiction – from Big Finish, who again sell their books DRM-free. In fact, between the public domain and enlightened publishers who understand that turning away customers is a bad idea, there are enough books available to keep me reading for years without ever having to decrypt a DRM’d file.

As far as I can see all DRM on ebooks is doing is making life difficult for some customers and turning others away, while any book one could possibly want is freely available on torrent sites. The publishing industry should learn from the music industry, rather than repeating its mistakes.