Lies About Documentation...

.. that developers tell. All the documentation you'd need is in the test cases. My comments are really clear and detailed. 3. I'm really interested and committed to having really good documentation. This code is easy to read because its so procedural. This doesn't really need documentation. 6. I've developed a really powerful way to extract documentation from this code. The documentation is up to date. We've tested this and nothing's changed.…

Keep reading

NYC Subway Strategy

I have a question for game theory/urban planning/transit geeks, in part for practical reasons, and in part for a story I'm developing: Is there some sort of resource that explains "most efferent" rapid transit rider strategies, perhaps from a game theory perspective? I've been living in NYC for almost a year, with frequent visits for about 6 months before that and I've learned things like: The physical layouts of a number of station complexes and transfer points, to facilitate quick/easy transfers.…

Keep reading

The Million Words of Crap

There's this saying, I traced it down once but have forgotten the source again, that before you can write anything good, you have to write a million words of crap. Well I've done it. I'm guessing that most writers hit this number without much difficulty fairly early on in their lives/careers, but it's hard keep records and do proper accounting of this data. And let's be frank, it's kind of a stupid thing to track.…

Keep reading

Loops and Git Automation

This post provides a few quick overviews of cool bits of shell script that I've written or put together recently. Nothing earth shattering, but perhaps interesting nonetheless. Making a Bunch of Symbolic Links. I have two collection of Maildir folders to store my mail. One in a ~/work/mail folder for my work mail, and ~/mail for my personal projects. I want the work mailboxes to be symbolically linked to the personal ones (some work email, notably from GitHub comes to a personal address, and I want to be able to refile as necessary.…

Keep reading

Cron is the Wrong Solution

Cron is great, right? For the uninitiated, if there are any of you left, Cron is a task scheduler that makes it possible to run various scripts and programs at specified intervals. This means that you can write programs that "do a thing" in a stateless way, set them to run regularly, without having to consider any logic regarding when to run, or any kind of state tracking. Cron is simple and the right way to do a great deal of routine automation, but there are caveats.…

Keep reading

Git In Practice

Most people don't use git particularly well. It's a capable piece of software that supports a number of different workflows, but because it doesn't mandate any particular workflow it's possible to use git productively for years without ever really touching some features. And some of the features--in my experience mostly those related to more manual branching, merging, and history manipulation operations--are woefully underutilized. Part of this is because Github, which is responsible for facilitating much of git's use, promotes a specific workflow that makes it possible to do most of the (minimal required) branch operations on the server side, with the help of a much constrained interface.…

Keep reading

Assisted Editing

I learned about artbollocks-mode.el from Sacha Chua's post, and it's pretty freaking amazing. Basically, it does some processing of your writing--while you work--to highlight passive sentences and affected jargon. [1] And that's all. There are some functions for generating statistics about your writing, but I find I don't use that functionality often. You can enable it all of the time, or just turn it on when you're doing editing. After a few weeks, I've noticed a marked improvement in the quality of my output.…

Keep reading