Pre-Released Ideas

An experiment in open-source, live and feedback-based technical writing.

Revisiting the Car Computer

§ Comments

In a previous post, I started ruminating on the prospect of outfitting my (then) new car with a GPS and On-Board-Diagnostic II (herein ODB2) logger machine.

At the time, I didn’t know much about GPS, ODB2, or even cars, for that matter. It’s now ten months later, and I still know very little about them, except I did learn enough to change the way I first approached the design of the logger machine.

Revision Control Is Not Just a Backup Tool

§ Comments

I made the mistake, when I started using revision control—like many others might have done—to think of it, conceptually, as a backup mechanism. This, it turns out, I believe, is naive, and a very poor characterization of the power of revision control. Let me explain.

My Karabiner private.xml

§ Comments

Over the years, through school and other areas, I became addicted to both Emacs and my Mac. Unfortunately, as both evolved, they became less and less friendly with each other.

Streaming From iPhone to iPhone

§ Comments

Part of this project includes code, not just writing. Obviously, the code to the site is available, but what follows is code that is independent of the site, in so far as it doesn’t help run it. The code itself is hosted on another GitHub account, for my own reasons, but the writeups will all be here.

Ethical Computing

§ Comments

This essay is about performing and consuming computational cycles ethically. Ethical computing is a means of computing with a focus on reducing harmful externalities. We shall explore what an ethical computation could look like from a variety of angles. We then argue for a variety of means by which we might enable further development in those areas.

Hello, World!

§ Comments

This is the token “Hello, World!” post. I’m desperate for content, apparently. There’s clearly nothing pre-released about this.

Anyway, the hope and purpose of the site is to publish in-process work so I can get feedback from anyone kind enough to provide some.

Designing From What You Don’t Want.

§ Comments

I don’t know about you, but I very rarely know what I want. Sometimes this is because there are too many choices and I can’t make up my mind. Other times, it’s because I am genuinely too ignorant to know a good thing when I see it.

This all happend sometime after my teenage years. At least then, in spite of knowing less than I do now, I knew exactly what I wanted. Actually, I should qualify that: I strongly (arrogantly?) believed I knew what I wanted, because I knew everything. I miss the confidence of youth.

Anyway, this is not a post about the constant uncertainty of adult life. There are plenty of those around to last us well in to the introduction of the next species.

This post is about designing from what you don’t want.

Mac OS Gets Cilk++ Support via Clang and LLVM

§ Comments

Part of my yet un-finished graduate work involved using a combination of threading and cache-oblivious algorithms to improve the performance of various linear algebra computations on sparse data sets. During the course of my work, I used a few concurrency models, including Intel’s Cilk Plus data and task parallelism techniques.

Recently, the Cilk Plus language extensions were introduced to the Clang frontend for LLVM. Which mean it was available on Darwin. Though the Cilk Plus extensions and runtime have been available in GCC for some time, building the GCC code on Darwin proved to be non-trivial. (For me, at least— the Linux build was far easier.) The introduction of Cilk Plus in Clang allows for easy compilation and use on the Darwin platform.

Towards a Working Raspberry Pi In-car Computer

§ Comments

Ever since I purchased my latest vehicle, I’ve been working on a little side project to interface directly with the vehicle’s on-board computer.

The task itself is pretty straight forward: buy device capable of plugging in to the vehicle’s ODB2 port, and run some free or inexpensive Android app to gather the information.

Unfortunately, the above process requires a great deal of user intervention. First, you must always plug and unplug the ODB2 device. Second, you must either have an Android device on your person or in the vehicle capable of running the required software or a computer with a variety of command-line tools installed. The latter is impractical, and the former is error prone (I’ll forget to start the app, take the readings, etc.) and tedious (The data must later be extracted from the app manually, or a web-service must be made available to push the data to– which also requires a data plan, if the car is not always in the proximity of a wifi access point).

Raspberry Pi to the rescue.