Part 1 of a series investigating the development of a Ruby-based e-Publishing system.
Before progressing too far in building a toolchain for publishing e-books, I want to have a look at the current state of the art - just to see what’s out there and check that I’m not re-inventing the wheel.
A surprising number of successful authors already use Ruby to drive their e-publishing toolchains. This post looks at a two of these systems: Kitabu and Bookshop.
Recently I rediscovered my copy of BASIC Computer Games - Microcomputer Edition, sitting on my oldest son’s bookshelf. Finding this battered old tome evoked many happy memories; typing reams of ALL-CAPS code into the brand-spanking new Micromation, an MP/M machine my school purchased through a long-running fundraising campaign. This was before I got my hands on a VIC-20, a machine that booted directly into a Commodore BASIC shell, and lost whole Summer holidays to simple, joyful coding.
BASIC was a big part of growing up with computers for my crowd. Looking back now, it was a terrible first language to learn, and I wonder how much further I would be now if I’d had something like Ruby available to me when I was a kid. With a hint of nostalgia, I decided to sit down with my son and see what a Ruby version of a BASIC Computer Game might look like - if we ported one of these old games to a new language.
Note to parents: your kids are being trolled (and trolling) in Minecraft.
The act of trolling is as old as the internet - probably older. Its intent is to provoke an emotional response by engaging in behaviour likely to upset its target. In the early days of the internet, “trolling” was generally associated with posting inflammatory comments in news groups. More recently, the word is used to describe a wide range of online harassment.
Arguably there is good trolling and bad trolling, as extolled in The Age’s article Why People Troll. Good trolling creates debate, questions our assumptions and makes us think. Bad trolling, as generally evident in Minecraft games, serves no other purpose than to offend and upset its victims - and is nothing short of a cyber-bullying.
Trolling in Minecraft - or “griefing” as it’s known - can take various forms: from beating up players, stealing or damaging their virtual property; or by exploiting bugs in Minecraft and its extensions to interfere with the play of others.
None of this will be new to regular players of Minecraft. But many parents may be blissfully unaware of what their kids are being subject to (and subjecting other kids to) during the many hours they spend in this virtual world.
The Tachypomp project is an attempt to build an ebook, using Ruby to convert a Markdown-based text into a variety of e-publishing formats. The first cut of the project served as a “proof of concept” for producing content in both ePub and HTML formats.
The next stage looks at producing an eBook within the Baker Framework, a e-publishing system for producing ebooks for the iPad. The Tachypomp project aims to produce content in HTML, ePub and the Baker Framework’s HPub formats, using the nanoc gem to generate content in all formats from the same source text.
This project is still very much a work in progress. The long-term goal is to develop a general-purpose framework for
publishing content in a wide range of formats.