Skip to content

The Truly Ergonomic Keyboard (TEK): Review

TEK keyboard

When you've bought your third expensive keyboard it's time to admit you have a fetish. Or that you spend most of your day glued to the business end of a computer. Or both! But face it: if you spend a lot of time writing, a decent keyboard is worth more than its weight in gold, for reasons of efficiency, health, and comfort alone.

I was in the mood for a keyboard built around a linear (not-staggered) layout, and a few reviews of the TEK ("Totally Ergonomic Keyboard") made it seem appealing. So I bought one and have used it for the past couple of weeks. Here are my conclusions, and a few notes of comparison with the Kinesis Ergo keyboard, which I also like and use daily. Continue reading "The Truly Ergonomic Keyboard (TEK): Review"

Backing Up FreeNAS to an external hard drive

I love this little device: it's an iXsystems MiniNAS running FreeNAS 9.2, with tons of disk space, RAM, fast network connections, all on a low-profile device that uses precious little energy (30W). Nice! And having all my important stuff on one box not only gives me the freedom to screw around with my desktops but simplifies and centralizes the work that goes into backing up my information.

It's tempting to be lulled into security by a hefty NAS running the ZFS file system on RAID-Z. Yes you've got some redundancy and a resistant file system. But RAID is not backup. And here I ran into some trouble. FreeNAS gives you tons of options for transferring zpool datasets around, and since it's networked you can rsync your heart's content to other systems, but what if you just want to back the stuff up to a hard drive locally? Like an external, USB hard drive? Turns out, there's a way, but it requires a bit of Unix-foo.

Fortunately, this is FreeBSD, so lots of things are possible. Continue reading "Backing Up FreeNAS to an external hard drive"

Backing up a MySQL database to individual text files

The situation is as follows: you have a MySQL database that backstops your blog, and you'd like to output each database entry as an individual text file. Not as strange an idea as it seems - maybe you'd like to output whatever edits you made to already-published articles, maybe you'd like a bunch of text files you can use as a backup in case your relational database kicks the bucket. Whatever the reason, anyone who's ever written a blog will agree that significant time and effort goes into writing, and the risk of losing all that text is formidable and vaguely hair-raising.

Here is a script I put together that goes through every entry in a blog's database, and outputs the text to a file whose title is created from the data and the name, with dashes, like this:

Continue reading "Backing up a MySQL database to individual text files"

The borked backup: a tale of database disaster

angry bear

This is a story with a happy ending, eventually. It’s the tale of how Google and some script-fu saved my bacon. There’s a moral, too: don’t be stupid, and you’re stupider than you think you are. That was my case, anyway, when a bear mauled my database.

I was running 4 websites on FreeBSD 9.0, and after two years of upgrading, it was time to upgrade the system to FreeBSD 10.0. That was an upgrade with some risks, and in my case, it went poorly. The system had been getting quirky anyway, so I figured it was time to just wipe it clean and install FreeBSD 10 fresh. I had downloaded to my local machine a full set of backups, so I was ready to go. As the new machine came up, disaster struck. Continue reading "The borked backup: a tale of database disaster"

Making Communities, Breaking Communities

Pipedot logo

The online world of the World Wide Web is, in some ways, shattering into individual walled gardens hosted and jealously guarded by corporations who shepherd users into the controlling comfort of apps and single sign ons, and recoup their investments via advertising and datamining. The editorial by Doc Searls in the June 2014 edition of Linux Journal crystalized it for me: the Web as we know it is evolving in a way that benefits those corporations, and those corporations benefit again by trading free entertainment for users' data. There are other problems too, like the filter effect of people being enabled to more stringently than ever select what information they want to be exposed to, and technologies like the Google search engine, that strengthen that effect to the detriment of contrary view points. So much for the Internet being a new era of universal enlightenment and sharing.

But this melancholy point of view takes shape while reflecting on what I do on-line, and with whom, and that brings me to the subject of on-line community. Continue reading "Making Communities, Breaking Communities"

2013: The Year of Usenet

Usenet license plate

2013 was the year of Usenet. For me, at least. And here's what I learned.

You might not even remember Usenet. What for my generation was a glimpse of the amazing power of the Internet isn't even known to the new generation of Web 2.0 youngsters: if this article is too long for you, this is the tl;dr conclusion: the Internet is generational, and the new generation isn't better, it's just different. Continue reading "2013: The Year of Usenet"

From Joomla to Serendipity


Like so many other things in life, I thought my website was just the way I wanted it, right up to the moment when suddenly I did not. This is the story of my transition from Joomla to Serendipity (S9Y).

I'd rebuilt it in 2005, using Joomla 1, and though it took some time and effort to customize the theme, build out categories, tweak menus, and so on, I was happy with it for years. Even as Joomla was modified, I left it alone, as I had no reason to change. I especially liked that Joomla was a content management system, not a blog, that I could create and publish material based on subject, not on date (I still dislike the ubiquitous "Archives" menu on most Wordpress sites). And I also liked my site's layout, in which one article was highlighted at the top, spanning two columns, and then other articles followed below in two columns, kind of like a newspaper and certainly not like a plain old conveyor belt of blog articles.

Then, suddenly, I rejected it and worked feverishly to rebuild it on a different platform. What happened? Continue reading "From Joomla to Serendipity"

Making an EPUB from LaTeX


You have an existing LaTeX document, and would like to create an EPUB document from it. LaTeX creates gorgeous printed works, but predates e-books by several decades. On the other hand, LaTeX is a markup language, and EPUB is basically XHTML, which is also a markup language, so there is a path. This article describes that path.

This is part two of the Dictator's Handbook Colophon.

(Previous): Part I: Writing a Book Using Linux Tools Part II: Making an Epub document from LaTeX Continue reading "Making an EPUB from LaTeX"

My Calendar is All Over the Map

fruux icon

My calendar and my contact lists are important to me and I take them pretty seriously. When I was a Peace Corps volunteer in Nicaragua, I went to great lengths to safeguard the little hardback notebooks I used to keep my calendar and addresses straight: In a way, they were my lifeline to the rest of the world from a somewhat isolated place. Years later, the medium has changed, but the importance hasn't.

Until a week or so ago, my setup suited me perfectly, and it involved a Palm Tungsten E2 PDA. If that sounds old school to you, I say, it worked perfectly, was no bigger than an iphone, fit in my pocket, and allowed me to keep my appointments and addresses with me. I synced it to my Mac running 10.6 (Snow Leopard) using the infallible Missing Sync, which even populated my Palm Pilot with the photos I'd added to entries in my address book. Yes, the Palm is a bit slow by the standards of modern hardware, but it kept a battery charge for about a week. Try that, smartphone users! But it was time to move on, and my purchase of a Google Nexus 7 tablet convinced me it was time to transition to a newer device before my aging Tungsten gave up the ghost. Continue reading "My Calendar is All Over the Map"

Writing a Book Using Linux Tools

emacs screenshot

When I began writing The Dictator's Handbook, it seemed clear the project would take place on my Linux computer. And it did. We've got a Mac in the house too, but I'm in front of the Linux box more often than not, and in fact my Linux desktop gave me some tricks and tools that made the process of writing and researching a snap. Here they are.

This is part I of the Dictator's Handbook Colophon. (Part II: Making an Epub document from LaTeX). Continue reading "Writing a Book Using Linux Tools"

Working with Styles in Mellel

Mellel character dialogue

Mellel is a powerful word processor for those of us who need to write long works that include cross references, bibliographies, internal citations, tables of content, and whose contents require carefully structured parts, sections, and subsections. And it’s unsurpassed for working with multiple languages in a single document – particularly if one or more of those languages are Middle Eastern. Mellel provides comprehensive tools for creating, organizing, and applying text styles, but it takes some thought to get it right. Here are some guidelines. Continue reading "Working with Styles in Mellel"

Vim for Writers


If you use Vim for coding, you might find it equally useful for writing text and longer works. If you don't use Vim and appreciate fast, efficient writing and editing, you might want to give it a try.

In either case, I highly recommend the Vim text editor for authors, writers, and anybody working on long text and prose works. And I've put together the 13 page Woodnotes Guide to Vim for Writers to set you on your way.

This is in the tradition of my Woodnotes Guide to Emacs for Writers, Woodnotes Guide to using Jedit to Code Manuscripts for Avalon Travel Publishing, and article Editing Avalon Docs in Vim.

Find the Woodnotes Guide to Vim for Writers here: (PDF(128KB)|HTML|EPUB).

This document is available under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 licence..