Three years ago, my friend Rob let me know he was shutting down his personal server, where Two Ideas lived, and that I needed to find somewhere else to host it. (Thanks, Rob, for letting me use your server for so many years!)
I moved to hosting on AWS, for a couple of reasons. First, I knew how to administer Linux systems, and running Linux on AWS was easy. Second, the first year on the “free tier” was absurdly cheap. Third, I didn’t know a whole lot about AWS, and it seemed like a good opportunity to learn.
What did I learn?
Not as much about AWS as I’d intended; it was too easy and reasonable to run my box like any other Linux server. I learned far more about AWS and automation in my one year at Context Relevant than in three years of running this blog in the cloud.
But I did learn some other things.
First, scale matters. At the smallest scale, AWS might not offer meaningful benefits. Other than Route 53 for DNS, I didn’t take advantage of the architectural advantages that AWS offered. Because this is a tiny little blog. I didn’t need those architectural advantages, or even benefit from them. It might have been fun to use Amazon’s database backend for WordPress, instead of just running MySQL. But it wouldn’t have made a difference in end-user performance; I’m just not at that scale.
Just the same, I might have wanted to learn all about the current state-of-the-art in e-mail delivery, but it didn’t really matter. I was moving single-digit numbers of messages every week, so improving my e-mail delivery wouldn’t have delivered any benefits. (That is, not outside of very interesting but essentially abstract learning.)
I did learn that, after the free tier expired, Amazon offered reliable traditional hosting at a fair price, but that it also wasn’t an incredible bargain. And I reinforced my understanding that, it’s hard to overcome inertia when something just works. And for three years, AWS just worked.
Why did I leave? And why WordPress?
Truthfully, I never ended up doing more with my AWS instance than run WordPress. And I had to concede that, as much as I liked having and using a general-purpose server, I just wasn’t taking advantage of those capabilities. All I really needed was WordPress hosting, and the WordPress.com premium package was less than half the cost of my very modest AWS setup, on an annual basis.
Further, with AWS, security was entirely in my hands. Now, so long as I keep good backups, it’s not something I need to worry about. Constant vigilance isn’t necessary for perfect computer security; it’s a requirement for baseline security. Every time I’d go to write a blog post, I’d discover a passel of WordPress updates, then I’d go and check the Ubuntu updates–suddenly, twenty minutes had passed and one of my kids needed something. Now I can just come here and type. (We’ll see if this means I actually write more, or if other tasks suck up my available time.)
Third, annual billing is nice, and keeping it under $100 a year makes it easier to say yes. A monthly charge that varied, and could spike dramatically for reasons I couldn’t always manage to identify without extensive investigation, just didn’t suit me as well.
I’m pleased to have hosted this blog on AWS for a couple of years. It was, in its way, a rewarding experience. But now I’m going to let the hosting get out of the way and, perhaps, spend more time blogging.
To Whom It May Concern:
Back in the mid nineteen-nineties, a handful of us Internet activists worked mightily to get sensible service plans available to home users. (At the time, the telephone companies wanted people to connect to the Internet over pay-by-the-minute or pay-the-byte ISDN connections.)
Once relatively reasonable options became available to home users, home broadband use exploded, and the Internet became such a part of everyone’s lives that it’s nearly impossible to imagine the present day without it.
Allowing telecommunications companies to define “fast lanes” for some classes of traffic, or some preferred partnerships, turns the future of the Internet over to the same people who nearly stopped it from happening the first time.
The Internet as we know it would not survive this arrangement. It would turn the thriving metropolis we love into the most sterile, and most quickly abandoned, of shopping malls.
Please reaffirm Net Neutrality in its entirety, and do not permit the kinds of preferred-peering agreements that today’s home Internet providers desire — for their continued success, as well as ours.
I encourage all of my readers (both of you) to go to the FCC and submit your own comments supporting Net Neutrality.
As soon as I got my Kobo, I installed the Kobo desktop app on my Mac.
What a mistake.
As far as I’ve been able to figure out, the app offers little more than the same bookstore you can access on the Kobo itself over Wifi. You can’t manage books you didn’t purchase from the Kobo store, nor can you control the e-reader. I’m not entirely sure what the point of this app is.
However, there is an app that integrates with a number of the DRM-enabled bookstores for
.epub books. Further, if your library uses Overdrive to provide e-books (Seattle does), it’ll transfer those books to your Kobo too. It’s Adobe Digital Editions, and every Kobo owner should download a copy.
In fact, if you don’t have Amazon books to manage, and if all of your e-books are
I’ll be honest: I haven’t exactly figured this part out to my satisfaction yet. I’ve installed the Kobo Touch Extended Driver into Calibre (remembering to disable the Kobo Touch basic driver), and the Kobo Utilities too. And I’m mostly—but not entirely—happy with the results.
A big part of the challenge is that the Kindle uses a different e-book format, or family of formats (
.az3, and possibly others) than pretty much everybody else, who mostly use Adobe’s
.epub format. (Everybody supports reading
I started with a bulk convert of my
.az3 format books to
.epub, which appears to be the preferred format of the Kobo. (I thought I could use
.mobi files, but I seemed to have some trouble with tables of contents.) I configured Calibre to prefer
.epub to the
.mobi format, which both Kindles and other devices read, and transferred the files.
Some looked great. Some didn’t. They suffered from random page breaks. Turns out this is a known issue, and the solution is to change a conversion setting and regenerate.
But now I don’t know which
.epub files are correct-from-the-publisher files, and which are Calibre generated! And I don’t know which books have problems and which don’t. So I’ll have to regenerate files as I discover problems. Ugly.
Files transfer easily onto the Kobo, once you figure out how to make the interface go. There’s no sync button, bidirectionally copying everything. You can sort by the check-mark that indicates a file is on the device, select everything without the checkmark, and then copy the files—then repeat for the reverse direction. That’s ugly too.
Also ugly: If I use the basic Kobo driver, the page footer shows how my page number relative to the whole book (e.g., “Page 103 of 411”), but if I use the enhanced driver, the page footer shows my page number relative to the chapter I’m in (e.g., “Chapter 5 – page 2 of 6”). There doesn’t seem to be a way to see both of these numbers, the way I can tap between them on my Kindle.
Still, I have books on my Kobo, including my Amazon-purchased books, and I can read them. That’s great. The fiddling I’ll need to continue to do, to address formatting and file transfer issues, that’s less great.
Now that I’ve bought a Kobo and determined to abandon my Kindle, what now?
The first step is to get my bought and paid for e-Books off my Kindle. This means, first, finding alternative software to manage e-Books; and second, removing the DRM tying my books to the Kindle.
Calibre is unmatched in its ability to manage e-Books. It provides an interface to manage a single book across multiple formats as a single entity, to convert books between formats, and even to read those books.
Honestly, the interface is terrible. It’s software only a nerd can love, and makes me want to dive weeping into Amazon’s outstretched arms. But beneath that ugly face lies software of immense power. It’s software for geeks, with all the good and bad that implies.
Plug in the Kindle, and Calibre sees the books. It can store them and manage them—but wait. You can’t convert or transfer the files to other devices. You need to add a plugin that removes DRM. Download the file from Apprentice Alf, take the .zip file, and add it to Calibre according to the instructions. It’s not difficult, but it’s ugly and annoying. (It’s also arguably illegal in the US, thanks to the DMCA, but so long as you’re not trying to steal from authors, don’t let that stop you.)
Now copy the books from your Kindle to your Calibre library. That wasn’t so hard, was it? Well, okay, it wasn’t easy. It was ugly, had too many steps, and generally made me much crankier than anything I had to do to keep using the Kindle. But most of the difficulty is the first time around. Next time it’ll be easier.
Around three years ago, my Dad got me a Kindle Touch. I’d been resisting e-readers, in part because of ongoing file format and DRM shenanigans and in part out of a false sense of economy.
Once I slapped a leather cover on, to make it more book-like, I discovered that I did like reading on an e-ink reader. (I’m still less convinced I like reading on LCDs, though text looks gorgeous on my iPad Retina Mini.)
Some months ago, I read George Packer’s New Yorker piece with mixed feelings. I bought some books from non-Amazon sources—particularly from Angry Robot and O’Reilly—but mostly I felt content to work within the Amazon ecosystem. It was smooth, frictionless. They made it just so easy to buy books.
Charlie Stross summarized the impact most ably:
Amazon’s strategy against Hachette is that of a bullying combine the size of WalMart leaning on a much smaller supplier. And the smaller supplier in turn relies on really small suppliers like me. It’s anti-author, and in the long term it will deprive you of the books you want to read.
I find Amazon’s behavior, finally, unconscionable and untenable, and they’ve driven me to seek my e-book fix elsewhere. I’m giving up that beautiful frictionless ecosystem, plunging into the thickets of the DRM and file-format wilderness. I’ve bought myself a new e-reader, a Kobo Aura HD.
Expect a series of blog posts on negotiating this unkindled world.
Way back in the day, I used RCS to do version control for configuration files (a trick that Hugh Daniel taught me), as well as for single-file scripts. I always used CVS and later Subversion for larger, multi-file projects, but for a single file, RCS was all I ever needed.
Recently I’ve had to migrate code to a git repository at work, and for historical purposes I’ve wanted to include the RCS checkin history for these scripts.
The best tool I’ve found for this is rcs-fast-export. The command sequence looks something like:
mkdir -p project-directory/RCS
mv RCS/script,v project-directory/RCS/script,v
mv script project-directory
~/src/rcs-fast-export/rcs-fast-export.rb script | git fast-import && git reset
This of course presumes you’ve cloned rcs-fast-export into a subdirectory of your ~/src directory, which you’d do with the following commands:
git clone https://github.com/Oblomov/rcs-fast-export.git
Once you’ve imported your history, git log and all other sensible git commands will work as expected.
Way back when, my mission was to post actual new ideas to this blog.
One of those ideas, back in November of 2007, was a slow cooker with a PID controller for temperature.
I haven’t made the leap yet, but I’m thinking very seriously about it.