depth first search

“We can only see a short distance ahead, but we can see plenty there that needs to be done."

Category: computing

Topics and Services in ROS

As an exercise, I wrote some code to translate between ROS topics and services. Both directions turned out to be somewhat tricky. For example, I had to use a condition variable to coordinate updating data from the topic (which is taken care of behind the scenes in ROS using a provided callback) with calls to [...]

SOPA/PIPA Video of the Day

This site is not going dark in protest because, well, this site isn’t exactly turning heads. Anyway, if you want to learn more take a look at the video below or read a good breakdown of the current bills here. Now for some pointless musing about what’s really going on. The point of SOPA/PIPA is [...]

In a Pickle

I like IPython, but I’m not sure I understand it, and my lack of understanding has caused me some pain recently when a pickle file (Python object serialization for the uninitiated) would not open. I’m not even sure I’ve figured out how to reproduce the problem, but I did find a very simple example of [...]

Git Internals

This blog post has been making the rounds and for good reason. It is the clearest explanation I’ve come across yet of git internals. A highlight on hashing: It turns out you’ll never generate two of the same SHA1 hashes. The chances are miniscule. There’s room for all kinds of flowery comparisons like: You’d have [...]

Stash-Style Branching

I’m starting to really grok the power of git. I’ve gotten into the habit of creating local branches for every planned code feature. For single developer projects these branches often just result in trivial “fast-forward” merges on the master branch, but they provide some easy encapsulation of the current working directory and make switching back [...]

Your Email is Not Broken

I’ve mentioned a few of my modest life goals before, but I’d like to add another possibly-not-so-modest one to the list: 3. Be important enough to have an email problem. One strange trend is for people (usually from an engineering background) to complain on blogs and things about having an email problem. The phrase “email [...]

Reversing a Dictionary

For some reason the code I’m writing requires a lot of mappings between different kinds of values, and I find myself trying to manipulate dictionaries in many ways. I wrote a simple function that reverses a dictionary: Then I remembered the setdefault method and was able to create a more concise function: Of course if [...]

Google Code(s for Failure)

Google Code seems to have a lot of AI related projects, but I was never really happy with control it offered a single developer like myself. For one, the service enforced a number of norms implicitly and explicitly in the way the service was built. The first project I tried to host was a set [...]

Linux PDF Manipulation

PDF manipulation on Linux can be a black art, but the available command line tools provide quite a great deal of flexibility for the power user. Today I made use of pdftk to combine a bunch of separate PDF documents: pdftk A.pdf B.pdf C.pdf cat output merged.pdf My PDF included an image file that was [...]

Video of the Day

I criticized the reaction to this talk before it was put online. There are some interesting ideas in the video, but there are a couple of obvious problems: Hard to see how the mechanized adaptive exercises would transfer to non-STEM areas of basic knowledge. Based on what little I know, problems in education are too [...]