Kindle and the Calibre App

library of books

As a Constant Reader I've acquired a large collection of e-books; and though most are from Amazon I've also acquired a great many from other sources. Baen Books, for example, has the most amazing habit of putting their back list out on the 'web for free download with no DRM. And like most people (so far as I can tell) I manage my non-Amazon e-books using an app called Calibre, which is a sort of an iTunes for e-books. Or, rather, it's like iTunes was in the old days, when all it did was … [Read more...]

Book Reader Notes: Kindle vs. iBooks vs. Google Play

Crows with book and glasses

I read mostly e-books these days, and mostly using the Kindle App on my iPad. I like; it works for me, and quickly becomes transparent for me: it's just me and the book.However, I do have a collection of e-books I've acquired for free. As an example, we bought a copy of a David Weber book a while back that had a CD of most of his books in ePub format. I copied them all into Calibre on my desktop, and in the past I'd read them using Apple's iBooks app. It worked well enough, even though … [Read more...]

The Family that Mines Together, Dines Together

The Village of Maryland

So my youngest (who is ten) came to me on Sunday afternoon and said, "Daddy? Will you play a Minecraft LAN game with me?" She loves playing Minecraft, and building outrageous pink and gold structures, but sometimes she wants company.Now, Minecraft is designed to be multiplayer, but in our house it's generally played single-player because we've never managed to get it to play reliably on our LAN. Sometimes it works, and sometimes it doesn't. This particular day it didn't, and after about … [Read more...]

Trimming the Quill: Some Development Notes

I've been continuing to put a lot of time into Quill, a build system for Tcl software projects (and so not into my Clojure project).I've gotten two significant pieces of feedback about Quill so far. One fellow mentioned that he'd like to try it, but Quill requires that you be using TCL v8.6, and he's still using TCL v8.5 (which is not at all unreasonable). Consequently, my focus for Quill 0.2.0 is making Quill work with whatever version of TCL you happen to have installed.Second, I do … [Read more...]

Adventures in Clojure: The Fact Base


When you're writing a game based around a game world of some kind, be it a text adventure like Zork, an action adventure like The Legend of Zelda, or any number of other games, there's stuff your game needs to remember. A lot of it has to do with the player: where is he, how much health does he have, does he have the Iron Mitts of Cooking that let him invade and conquer the Iron Chef Temple of Cuisine?But on top that, there are a lot of just plain facts to remember. Where has he been? … [Read more...]

Quill: A Build System for TCL/TK

I'm taking a break from posting about Clojure this week, because a few weeks ago my study of Clojure inspired me to work on a non-Clojure project. That sounds odd, I suppose, but it's often the way: in studying some programming language I'm not familiar with, I get ideas for work in areas I am familiar with.In this case the inspiration came from the Leiningen build tool, which I gushed about a couple of months ago. To recap, a budding Clojure programmer need only download Leiningen; and it … [Read more...]

Adventures in Clojure: Nearly Constant Data


As I noted last week, the Clojure way is to keep immutable (unchanging) data separate from the mutable data. Thus, you keep the network of rooms distinct from the data structure that indicates where the player and other things are at the present time. The latter changes while the game runs, and the former doesn't.At least, that's the theory. As I showed a couple of weeks ago, you can define the world map as a single, immutable data structure, and never change it thereafter. But there are … [Read more...]

Adventures in Clojure: Saving the Day


See the previous installment here.It's a big part of the philosophy of Clojure programming that you keep mutable state (data that can change) separate from immutable state (data that cannot change). There are a number of good reasons for doing this; the one that the Clojure books usually trot out is that it makes supporting concurrency easier because you don't need to synchronize reads and writes to data that never changes.Concurrency isn't all that important to a single-user text … [Read more...]

Embrace the Cloud—But Not Too Tightly

Sunset clouds over beach

It's summer time, and I'm busy with family things. Thomas Aquinas will return in a week or two.We hear a lot about the "Cloud" these days, and I suspect many readers have only a cloudy idea of what the Cloud is.What the Cloud is, is computer hardware that you don't own that you access over the 'net to do things and store your stuff.The Cloud is incredibly useful; it's a treat to be able to move from my computer to my phone to a friend's computer, and still access my stuff.  But … [Read more...]