Skip to content

Manage Your Psychology

I make the most progress on programming, design, and other creative work in the morning. I process email best after accomplishing one big item. For me, A 30 minute meeting destroys at least an hour of productive work time; context switching has a high cost. I know these things about myself and try to mitigate any activities that trigger these “black holes” of productivity loss or momentum killers. Don’t let your workflow be defined by your surroundings. Know how you work and defend the process that works best for you.

Continue Reading

Your Brain Isn’t for Remembering

I’m reading through the productivity classic Getting Things Done. This book has helped me create systems to manage the deluge of information thrown at us every day. The never ending stream of information is overwhelming if not managed with discipline and systematically processed using systems. That’s what this book is about: creating systems to manage constant streams of information. One of the main points that David makes is that our brains aren’t made to remember information when we need it. Our intellect is great for creative thinking, but remembering that you ran out of paper clips when your at Walmart isn’t where we excel – especially when we’ve processing information all day long…

Continue Reading

Multi-Engine Rails 3.2 Testing Tips & Tricks, Part 3

This is a continuation of my second post on setting up a CI server for a multi-engine rails 3.2 application. Use `Pry.rescue {}` For Dynamic `binding.pry` Getting access to an interactive REPL is essential when debugging a web application. Better Errors does a great job when when interacting with the app directly (in rails4 this functionality comes built in). binding.pry is a great tool when interacting with your code directly in your development or testing environment. However, there are some cases where adding binding pry to just the right place is either painful or would require you to modify a external gem. An easy way to get around this is to use pry-rescue which will open a pry REPL wherever an exception occurs…

Continue Reading

Setting up CI for a Multi-Engine Rails 3.2 Application

I recently setup continuous integration (via CircleCI, which I’m really impressed with). It ended up being a bit more tricky for a couple of reasons: I needed to pull semi-static seed data into the application. For this app, this was product data that isn’t changed often and is pulled from an external system. I wanted to use seed data from the production database because the integrity of the data in the external DB couldn’t be trusted and I wanted to ensure that if the tests passed it was a real representation of if the app would function in the live environment. There were a number of custom rails engines that app was compromised of. Each of these engines had separate unit tests, but not separate integration (feature) tests…

Continue Reading

Busyness is Laziness

I hate saying I’m busy; I cringe when I hear myself say “I’m good, it’s just been busy!”. It’s so easy to do, and it feels so good; “I’m busy: I’m accomplished and valuable. People want me involved in projects.” Tim Ferris is right when he says “being busy is a form of lazyness”. It’s hard to swallow; but it’s the hard truth. If you are always busy, you aren’t being disciplined in managing your tasks, effective enough at delegating your work to others, or creative enough at eliminating work through automation. Busyness is not effectiveness. The number of hours worked does not equal results.

Continue Reading

Rails & Yosemite: Resolving libv8 and therubyracer Installation Problems

As a developer, upgrading to a new OS is always a task, especially when it comes to rails dependencies (surprisingly, Cocoa projects didn’t have as much of an issue with Yosemite). I always wipe my machine and start fresh. This introduces a new class of problems, some of which I was able to mitigate this time around with mackup (a preference backup and restoration tool) and some upgrades to my dotfiles. I customize bundler to work in parallel, store all gems for a given project in the vendor/ directory for that project, and to not use shared gems at all…

Continue Reading

Pow, Apache, Rails, WordPress, and Yosemite

I work on both PHP (WordPress) and Rails sites. It’s important that it is easy to switch contexts and manage all of the different environments. I’m constantly tweaking my dotfiles to make things easier. I recently updated to Yosemite and ran into some issues getting Apache and Pow to play nicely along with each other. Here were my goals: Run rails apps through Pow. I want to be able to visit http://myapp.dev/ and spin up my rails app Visit WordPress sites on *.dev domains…

Continue Reading

But It’s Already Been Said Before

I talked with a cousin this past thanksgiving that I hadn’t seen in a while. She stands out from the crowd: she’s traveled to remote Indian villages, traveled around the country in a RV with her husband for the entire summer, wants to move to Italy and work on a farm for a summer. Adventurous, smart, unique, rustic, etc. I love listening to her stories, so do most people she encounters. She’s wanted to start a blog for a while. “Everything has already been said before. Who wants to read me?” is what’s preventing her from committing. I’ll admit, this is something I’ve struggled with too. There is so much noise out there that it seems like another blog or article is just adding to the mess of the blogosphere…

Continue Reading