Felix Crux

Technology & Miscellanea 

Tags: , ,

I’ve started putting together a list of the “core” books I recommend for people interested in exploring different facets of our field. I certainly don’t think you need to read all of them to be a capable software professional; rather it is the list I would put together if asked about how to learn more about specific areas.

This list came about because after compiling similar lists two or three times over the years in various places and formats, I’m following good development practice and factoring it out for reuse and sharing.


Tags: , , ,

The Ledger accounting system is a powerful (but not very easy to adopt) software tool for double-entry bookkeeping. It can be used for far more than just basic finances: tracking billable hours, calculating taxes and tithes, reporting on the asset class balance of your investment portfolio… almost anything you can think of — if you can figure out how to do it.

Most of the information I could find just presented a basic overview of the simplest possible use of the tool. The official documentation, on the other hand, is very comprehensive, but it's like being given a pile of logs and some nails when you're trying to find out how to build a house.

I therefore will be writing up a series of posts on “Ledger Practices”, describing how I actually use the system for intermediate-complexity personal accounting. These should be “recipes” for solving real problems or answering real questions using ledger.


Tags: ,

I recently remembered that I hadn't yet cleaned up and done an “official” public release of my pdfmunge utility. It's a little Python script that I wrote about a month ago to help me deal with PDFs more effectively on my eBook reader. If you're lucky enough to own a big-screened Kindle DX, you can stop reading now. The rest of us have to deal with reflowing the text of PDFs in order to bring them up to a legible size on tiny screens. Of course, most PDFs don't take kindly to being reflowed, and if they contain any kind of technical diagrams, source code, or images, you're pretty much out of luck. That's where pdfmunge comes in.


Tags: , , ,

Doug Crockford gave a talk at the University of Waterloo last night as part of the Yahoo! Hack-U (University Hack Day), on the same topic as his new book, JavaScript: The Good Parts. I was lucky enough to get a seat, and have tried to condense my nine pages of notes into an overview of the highlights of his talk. Though I've rewritten parts, all of the content and wisdom is Doug's — I'm just the humble scribe. Of course, any errors of transcription are mine.


Tags: , ,

Makefiles are the granddaddy of build systems. Though falling out of favour relative to more modern systems like SCons and ant, make is still the lingua franca of software builds, particularly in the C and C++ parts of the open source world. Because of this, it is imperative to have at least a basic understanding of makefiles and their use.

There are plenty of tutorials introducing the fundamentals of makefile syntax, and a handful that show off some advanced features. There are very few, however, that actually show how to write a useful makefile, or that introduce makefile conventions and patterns. For me, this meant that writing makefiles became an arduous process of stringing together snippets from various places, and hoping they interoperated harmoniously. Frustratingly, I'd often learn of a new feature months later and rip out half of the file and replace it with a single line. Worst of all, I had no idea if what I was doing was “conventional” or even passable as a serious makefile.