Arduino and Bio-inspired Design

A week ago Monday I did a guest lecture on Arduino for Marc Swackhamer and Neil Olszewski’s graduate architecture course on bio-inspired design. It was an awesome experience–lots of bright and enthusiastic minds. We followed the lecture up with a studio on Wednesday, and later today I will be assisting with reviews. Many thanks to Marc for letting me participate in this inspiring process.

Gradually going Git?

I’ve been using Mercurial along with Bitbucket for project hosting for quite a while now. I’ve also grown quite fond of EasyMercurial to help manage my repositories. However, I have started to wonder if I should consider using Git as my defacto standard VCS.

I was originally attracted to Mercurial over Git because I got the sense that Git was an almost hackish amalgam of various scripts written in a variety of languages—and because it encapsulated a lot more “power” (read: “complexity”) than I saw myself needing. And while Linux was (and is) my main OS, Windows support for Git was sorta grimmish. Bitbucket’s hosting policies at the time seemed better than the closest Git-equivalent: GitHub (still do—BB’s unlimited private repos in particular), and Redmine offered an easy self-hosted project management solution including repository, wiki, issue reporting, etc. as well. Gitourious was available at the time but was (and is) feature incomplete compared to Redmine. I can’t remember if Trac supported either at this point.

So why consider changing? I’ve recently noticed what appears to be a mad rush to use Git in general and GitHub in particular–so much so that I’m wondering if Git is going to become the defacto industry standard soon. Changing to Git may not be as huge a deal as it might seem at first because Bitbucket, RhodeCode and Trac now let you use Git repositories in addition to Mercurial, and it seems Git’s support for Windows has improved. There are also a number of GUI Git clients available for all major platforms—though none of them seem as sweetly usable as EasyMercurial.

I may just try managing my next project with Git as a test-case. Worst case: convert the Git repo to Mercurial.


FPAleksandr is a theme for FlatPress that I am porting from Mat Wiseman’s insanely awesome Aleksandr, originally made for Textpattern.

It’s available in my Bitbucket, and there’s also a FlatPress forum discussion.

I tried to remain as faithful as possible to the original, but some things were just not going to translate directly—the footers, for instance. The best solution I was able to arrive at for the footers takes away some of the elegance of the original, but given the limits of the platform I don’t think it’s all that bad.

There are still some bugs to squash and lipstick to be applied, but it’s basically usable as-is.

Are there any good blogging engines?

I’ve spent the last few days evaluating various self-hosted blogging engines from three different points of view: as an author, a designer, and a developer/maintainer. And I haven’t been able to find anything that doesn’t have a significant issue in at least one of those areas.

Of course, you might be wondering why I’m bothering at all. Why not just host your blog(s) at Blogger or or Tumblr or Posterous? The main reason is that I think it’s a good idea to own your data, and self-hosted anything is one way to do that.

The next question is why I just don’t stick with WordPress and call it a day? It turns out that the popularity of this platform makes it a target for hackers and other miscreants. It’s the Windows malware problem all over again. Vulnerability through lack of obscurity.

One option is to install WP and then lock it down as much as possible. And that may very well be what I end up doing, because I’m at a loss for anything that sucks less.

First commercial PCB layout using libre tools

I recently delivered my first printed circuit board layout project using libre software. It’s an actively regulated, high current power supply for an audio equipment manufacturer, and it should be on the shelves in a month or so. The software used was KiCad (GPL2), though I did use FreeRouting (gratisware) to help route the board. I am quite happy with the results and the process. The work was done completely in Linux (Debian Wheezy, if you’re curious), proving that libre EDA–including the OS–is entirely possible.

Except for autorouting, the overall experience was comparable to working with my previous go-to package: the now-defunct WinQCad. While FreeRouting’s autorouter seems comparable to the best that other high-value EDA tools can presently offer, WinQCad’s was in a class of its own. FreeRouting still gets the job done, but it needs more hand-holding and prodding.

In addition to using it for PC layout, I am also using KiCad as a front-end schematic capture tool for SPICE simulations. Now that I’m over the worst of the learning curve, I’m really looking forward to doing more work in KiCad.