Category - Software

Running rubocop on a local git branches’ diff

You can run rubocop on just a local branches’ changes like this: git fetch && git diff-tree -r –no-commit-id –name-only master@\{u\} head | xargs ls -1 2>/dev/null | xargs rubocop –force-exclusion Then you can create 2 corresponding aliases in your terminal .rc file to make this easy to remember: # Alias to run rubocop on the current branch’s diff from […]

Read

A Criticism of Scrum

So Scrum. The most popular agile software development methodology, with seemingly around 70% of agile teams using it. What is it all about? Is it good or is it whack? Has Scrum made our lives better? Let’s dive in. Scrum assumes you can reliably estimate task duration Scrum has good intentions. Measuring your productivity. Accountability to not do more or […]

Read

Ways to Protect Flow

Things individuals can do to protect Flow: Keep your phone on silent all day long. Disable all notifications on your computer. Distractions from a phone / computer can disrupt Flow dozens of times every day. Respond to text messages, phone calls, and e-mails when you get stuck. Distractions actually help you when you get stuck. Find music that helps you […]

Read

Technical Founders and Startup Ideas

Us developer sorts have an unusually hard time coming up with ideas. Often, non-technical folks have lots of ideas, but no ability to make them, and technical folks have the ability to build things, but no idea what to build. Both are rather humbling in their own way. Why is this? I think its partially due to the nature of our work, and […]

Read

How to Recruit Software Developers (If You Must)

Recruiters and business leaders looking to hire software developers have a problem. No, it isn’t that coders are arrogant babies with superpowers and totally unrealistic job expectations. The problem is how recruiters communicate to the developers they hope to hire. Instead of enticing them and trying to buy their love with flamboyant company cultures that have more to do with […]

Read

Line Limits

There are those who feel arbitrary line limits are a bothersome, vestigial construct of the bygone age of punch card programming. Why must we continue to constrain ourselves to archaic requirements imposed upon us by the technological limits of days gone by? I shall tell you why, for I am not one of those people. Here are the reasons why […]

Read

Questions to ask at a startup interview

Considering a role as an employee or co-founder at a young company? Here are some questions to help you size it up. Some may be more appropriate for the leadership, others may be better for employees. Comments or additions welcome. Business What problem does it solve, and what is the value that it seeks to add? What would that be […]

Read

Changing keyboard shortcuts for OS X apps

Have you ever been using an app with keyboard shortcuts that didn’t make sense? And the app didn’t allow you to change the keyboard shortcut to something more reasonable? Well, it turns out that Mac OS X allows you to override app keyboard shortcuts and create your own. Here’s an example. The hotkey for cycling conversations in Skype troubles me. […]

Read

TomDoc for JavaScript?

I love code documentation. Here are some reasons: 1. It reduces cognitive load when maintaining legacy code (helps you figure out which button to press faster). Docs communicate how the code should be working at a specific point in time, and this can reduce debugging time when tracking down a bug. 2. It communicates intent. This helps future developers to respect […]

Read

A brief history of web browsers

Money is a powerful motivator. To acquire it, Americans worked around 257,000,000,000 hours last year. In the short history of web browsers, a number of unethical things have happened, largely motivated by money. These include: businesses pursuing profit by means of monopolistic bullying, the use of closed source software to obstruct technological progress, profit at the expense of those you claim […]

Read