Archive for September 4, 2014

Thursday, September 4, 2014

Faux Pas 1.0.1

Faux Pas:

What the Clang Static Analyzer is to your code, Faux Pas is to your whole Xcode project.

Faux Pas inspects your iOS or Mac app’s Xcode project and warns about possible bugs, as well as about maintainability and style issues.

I downloaded this a while ago but hadn’t gotten a chance to try it out until I was reminded of it by Brent Simmons. I love the idea, but when I ran it on all my projects it didn’t help much. It recommended that I use GCC_PREPROCESSOR_DEFINITIONS rather than OTHER_CFLAGS and -D, which seems like a good suggestion. The other times it flagged were either debatable style issues or just plain wrong (e.g. telling me that my .app and .xctest bundles should be added to version control).

I guess the bottom line is that my projects were in OK shape to begin with. I can see this tool being more useful for people working on teams or with code that they inherited.

Update (2014-09-16): The problem with telling me that I should add my build products to version control is fixed in Faux Pas 1.1.

PlotDevice 0.9.4

PlotDevice:

PlotDevice is a Macintosh application that lets you write Python scripts to generate 2D graphics using simple drawing commands. Under the hood, your code drives the system’s Quartz imaging engine, giving your scripts the same graphical power as a full-fledged Cocoa app.

Your code can combine basic geometric shapes, typography, freeform Bézier curves, and a panoply of image formats. This omnivorousness makes PlotDevice ideal for both workaday tasks like image-processing as well as more exotic uses ranging from procedural texture generation to data visualization.

Like NodeBox, which it’s based on, it’s open-source. It sounds similar to Schwartz, another app for driving Quartz 2D from Python. But whereas Schwartz is like a Python IDE for the Quartz API, PlotDevice has its own Pythonic drawing API.