Frictionless Project Organization for iOS

Originally posted on the OrgSync Dev Blog (, but that site no longer exists, so I’ve reposted it here. There comes a time in every MVC(-ish) app’s life when it starts to get a bit heavy. Sure, a few out-of-place lines of code here or there don’t hurt too much when the codebase is young and agile, but in a middle-aged app they start to be a concern. Slovenly habits beget more slovenly habits; refactorings don’t come as easily as they used to.

Big Ruby Presentation Round Up

Originally posted on the OrgSync Dev Blog (, but that site no longer exists, so I’ve reposted it here. Last week the OrgSync development team was out en masse at Big Ruby Conf in our own backyard of Dallas, TX. We had a great time and listened to so many fantastic talks that it’s hard to keep track of them all. To help with this problem I decided to put together a complete list of talks replete with links to slide decks.

The Beauty of Mathematics

Those who cannot appreciate the “cold and austere”1 beauty of mathematics are looking at the package and not the contents. One finds in the packaging a world of strict, formal symbols and fixed (non-creative) rules for manipulation. Non-creative arenas by definition resist the ultimate human act of creation (read: art). But it’s not in the results that we find the principal beauty of mathematics–it’s in the creation, the problem-solving, which requires the greatest human creativity the world has ever seen.

The Importance of Tiny Things

This weekend, as I was waiting at my doctor’s office for the results of my rapid strep test, I downloaded and started reading Kurzweil’s new book, How to Create a Mind. The first chapter relates the story of geologist Charles Lyell (1797–1875), his influential Principles of Geology, and the impact it had on Darwin’s work on natural selection. Particularly interesting to me is the idea that (apparently) one of the greatest contributions of Lyell—and one of the hardest to swallow—is the understanding that geologic change, such as the creation of canyons, results from the aggregation of tiny changes over long periods of time.

The Lean Write-Up?

Well, I’m planning to start using this blog again…I hate to make yet another “I’m doing this again” metapost only to follow it with silence, so here’s the rundown on what’s different this time: I actually do write quite a bit, it’s just a question of where, but deciding where to write something often stalls me on writing it at all, so a default, catch-all bucket will likely boost output (I switched to one “omninotebook” a couple years back rather than topical notebooks and that has definitely helped—I see this as the shared edition).

ZSH: Quick Quoting

Some spelunking in the ZSH manual last week revealed some real treasures I’ve gotten good use out of already: ESC-" and ESC-'. ESC-" runs the command escape-region, which you can use to have zsh escape any arbitrary piece of text for you. No more pasting in URLs, file paths, or regular expressions and trying to manually sort out what characters you need to escape–just let the shell do it for you.

Emacs: Tab Width Woes

Emacs uses the value of the tab-width variable to decide how wide tab characters should be displayed. Setting tab-width is usually one of the first customizations Emacs newbies make: (setq-default tab-width 2) Displaying tab characters at whatever width you prefer works well for most applications but eventually fails when files mix tab and space characters and (invariably) make assumptions about what the width of those characters will be. One particularly conspicuous offender is the Emacs (Lisp) source code.

Tea Timing

Starbucks and I are out of sync—I finish my lunch break just ahead of my tea. Which probably only says that I’m timing by the wrong mechanism.


Plasticine smiles and rubescent haircuts Entheogenic traps of reluctant wake-ups Candyland costumes and boys wearing make-ups Buoyed by bouts of relaxed recitation “Oscillate?” “No, I think ‘vacillation’.” Gloamingtime breakfasts, forgotten vocations Approaches of proximal family relations I suppose what I’d say, if I had to be curt is—Fucking magnets, how do they work?

Emacs: Save, Not Search!

I’m a compulsive saver. No, not with money–files. It probably comes from using Photoshop in the 90s, but regardless, I probably save hundreds of times a day. Sometimes in Emacs I fat-finger C-x C-s (save-buffer) and end up landing in search mode instead (C-s–isearch-forward). Then I have to C-g or ESC ESC ESC my way out before actually saving. I recently learned (again, from having clumsy fingers) that isearch-mode actually understands C-x C-s, so you can just hit it to save the file and exit search mode in one go.