I found this GitHub gist on generating tree structures in Python. It’s a little cryptic, but it works. This method uses the collections module which isn’t available in Python before 2.5. If that affects you, then you can use the following to simulate collections.defaultdict().
Monthly Archives: February 2015
Using find and xargs
In regular linux or unix you can recursively find the files in a subdirectory and apply some utility with arguments on them using xargs as,
find <dir> -type f | xargs <utilitiy> <args>
If the filenames in <dir> have spaces, quotation marks, or other characters in their filenames that make xargs barf, then you can use the following.
find <dir> -type f print0 | xargs -0 <utility> <args>
That should totally work–unless you’re on SunOS, then you have to do,
find <dir> -type f -exec <utility> <args> {} +
It looks crazy, I know, but that’s the honest truth.
Using Optional Values in Swift
Optional Values
Swift has a nil keyword that is sort of like the None keyword in Python; however, regular variables and constants cannot be nil. In order for a variable to be nil, it must be initialized as an optional. (Constants cannot be nil or optional.) An optional is decalred by appending a question mark the variable type. For example, the two statements below are equivalent.
Installing Canvas for Node on OSX
I’d like to work with Processing.js, but I had trouble installing the canvas dependency. This should be as easy as,
$ npm install canvas
But there’s a thingy that doesn’t work in Homebrew. I found the answer in this thread on their GitHub. On OSX you have to call this command before you can install canvas:
$ export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig
Then we can install canvas and processing using npm like we’d expect.