Welcome to New Artisans, the company I use to manage all my consulting and free software work.
Several projects are currently underway here at New Artisans, which you can find under the Projects tab. Suggestions are always welcome, though the pace of things is somewhat irregular (since I also have regular employers seeking my time).
About me
I’m a mid-30s engineer who has been working professionally as a programmer since I was 16 years old. I’ve used a host of languages and platforms, and nearly 50 different flavors of various operating systems during my time. The most fun I’ve ever had by far has been with the Lisp language, and on the Mac OS X platform. They are both so… comfortable to work with. Perhaps this is why I’ve created so many Emacs projects on my MacBook Pro, such as Muse, Planner, Eshell, and Emacs Chess.
But I also appreciate the Java environment a great deal – especially the depth and maturity of its runtime; as well as the fluidity of the C# language, the sheer expanse and utility of .NET, and of course the raw power of one of my favorite languages, C++ and the Boost library (which I use to work on Ledger).
Last but not least, I’m a huge fan of the Python language, in which I do nearly all my scripting and application prototyping. Oh – and when I feel like looking through manuals all night, I like to spend time with Objective C and Apple’s Cocoa framework, writing applications like Runner.
If I had to relate the computer languages I use one to another, I’d rate them as follows in order of the excitement I feel at the idea of using one in a project:
Common Lisp > Groovy > Python > C# > Java > C++ > Objective-C > C
I also really like Scheme, especially the Chicken Scheme system which makes nice, quick binaries. And I’d enjoy Ruby a lot more if it were faster and the runtime were more mature.
What am I working on?
Most of my personal time right now is dedicated to Ledger, an accounting program I’ve been working on for the last four years. It was originally written in C++, but lately I’ve been porting it to Common Lisp, since I’ve realized how much simpler – and more powerful – many of its aspects will become.
I also occasionally contribute to other free projects. Lately the most active one for me has been the wonderful organizing mode, org-mode for Emacs.
As a day job, I work remotely for a company in southern Arizona called Corporate Enhancement Group. I was friends with most of the people I know there before they ever hired me, so it’s been a great experience so far. For CEG I write some Java code, Groovy scripts, a bit of Python, and do a little Oracle Linux (RHEL) system’s administration. That keeps me busy enough, but also leaves free time for the free software initiatives I participate in.
About this website
This website is constructed using the Mac application RapidWeaver, with the text rendered to HTML via a combination of the [MultiMarkdown][] publishing engine, and the Markup plugin which I use to link MultiMarkdown and RapidWeaver. The actual text for the articles is written with the Mac writing tool Scrivener. PDF articles are written with the Mac word processor Mellel and the beautiful font Garamond Premier Pro from Adobe. The site’s layout and text formatting is done courtesy of the Blueprint CSS framework.
The server itself is hosted on a Virtual Private Server (VPS) running at serveraxis.com, whom I can’t recommend highly enough. Their tech support is brilliant, and the service rock solid. The VPS is running CentOS 5, on which I run Apache 2.2 and many other services, including DNS, FTP, SSH, Subversion, Mercurial, and OpenVPN. I keep a nearly exact duplicate of the VPS running here at home, under VMware Fusion. The level of duplication is close enough that I can pretest any major changes before repeating them on the live server. (The only reason it can’t be an exact, bit-by-bit replication (since both are virtual machines) is that one runs on Xen, and the other on VMware; also, one has a real Internet IP address, while the local one sits behind NAT on my laptop).
Where can I find Ledger manual or any, even simple introduction manual?
You are doing a very good job with ledger! the program is incredible useful. What about the port to lisp? Are you having progress?
The port to Common Lisp was abandoned, unless someone wants to pick up the baton. Meanwhile I’ve been hard at work getting a 3.0 release of the C++ version ready.
John, I believe you are still serving the Thu Sep 11, 2008 version of ‘Git from the bottom up’, and I believe I have eliminated the variable of any kind of browser-side caching. I’m keen to see the latest: could you please double-check when you get the chance?
thanks! tim …
John, why did you abandon the Ledger port to Common Lisp?
I found Common Lisp unsuitable as a distribution platform.
John, how much does serveraxis.com charge you monthly for the use of the Virtual Private Server (VPS)?
You can check their pricing model by visiting their website.