GitHub Clone with Redmine
I’m in love with GitHub and I don’t mind paying a few bucks a month to host private code repositories there. It’s not without its issues though, and I’ve often had trouble getting others to collaborate with me via GitHub for one reason or another. Desiring more control, I was thrilled when GitHub:FI was announced. Unfortunately, the licensing fees are staggering and put the service far out of my reach. Recently, my buddy Marcus Whitney had been messing around with Redmine and my interest was piqued by his results. I decided to jump in head first and try to build a reliable GitHub:FI alternative using an Ubuntu VPS, Git, Gitosis, Gmail (or Google Apps for Domains), and Bitnami‘s Redmine Stack.
May 4th 2010
4:17 pm
by: xdissent
49 Comments
Git, Gitosis, Redmine, tools, Ubuntu
Bank of America Breakdown
I have a check written out to me from a local Nashville company, drawn on their Bank of America account. I no longer have a personal BOA account (thankfully) but I’ve never had a problem cashing a BOA check at a BOA branch, since that’s a pretty standard transaction. Regions is notorious in my mind for charging $5 per-check if you don’t have a Regions account, which they upped to $7 about a month ago. This whole concept of charging a fee to cash checks drawn on their customers’ accounts is fairly new, and many bank customers don’t understand that their own checks are potentially costing their payee money. I for one would be enraged if I found out my bank was stealing money intended for the person to whom I wrote a check, but that’s just me.
April 27th 2010
5:18 pm
by: xdissent
0 Comments
Mimicking Python Descriptors in PHP
So you’ve been working in Python for a year and then along comes a PHP gig that you just can’t pass up. All of a sudden you’re realizing just how much you miss some of the familiar Pythonisms you’ve come to rely on. One such feature that is lacking in PHP is the concept of descriptors. Fortunately, it’s possible to pretty closely simulate their behaviour in PHP with just a few special interfaces and classes.
January 15th 2010
6:55 pm
by: xdissent
0 Comments
descriptors, OOP
Leverage Twitter's Distraction Value to Stay Focused
Twitter by nature is a stream of distractions. I personally never keep Twitter open and visible while I’m working because I know I’ll be too easily derailed from whatever I’m doing. If Life Hacker reported that a single email arriving in your inbox can cost you over a minute of mental recovery time, Twitter’s rapid-fire updates could prove to be literally stupefying.
uTidyLib Fix
uTidyLib is a Python wrapper for the HTML Tidy Library. It’s a pretty handy library and is dead simple to use, but unfortunately it does not compile on Leopard out of the box. I wrote a quick patch to fix it, and will maintain a vendor branch on GitHub since development seems to have been abandoned years ago.
TextMate reStructuredText Bundle
TextMate is great for general editing of most text formats. By default, reStructuredText is not one of them. This document describes how to fix TextMate so that it is a better fit for the tools I work with. We want reStructuredText rendered previews and HTML export functions in TextMate.
February 28th 2009
11:43 pm
by: xdissent
3 Comments
reStructuredText, TextMate
Safari 4 Beta and Coda Tabs Joy
So the Safari beta 4 has landed and opinions are all over the place about the new features. The most consistent target for criticism has been the changes to the tab interface. Although the differences were a little disconcerting at first, I’ve come to love the new tabs and I even took a cue from Safari and decided to improve one of my most precious tools: Panic‘s Coda.
February 28th 2009
12:32 pm
by: xdissent
5 Comments
Coda, OSX, Safari
Fixing Paver
I’ve been a fan of Paver since the first time I read about it. It gives me all of the control I want with just enough of an implied structure to keep things sane and easy. The problem was, I couldn’t get the latest version, which had many shiny new features. You know how I feel about shiny, so I obviously needed to find a way to run Paver’s trunk, lest I invalidate my work by targeting the almost-irrelevant current version.