42 Visual Studio Shortcuts & Commands

I’ve been using Visual Studio as my primary code editor since 2008, and I put together a list of the top commands I use in VS 2015. I use most of these daily, but the less common ones are nice to fall back on in specific situations. I included the default keyboard bindings from the General profile where appropriate.
Read more on 42 Visual Studio Shortcuts & Commands…

Simulating Poor Network Connectivity on Mac OSX

I’ve often used Chrome dev tools’ device mode network throttling feature to test how a web app behaves with a poor network connection.

If you need this capability outside your browser, you can use Apple’s Network Link Conditioner to degrade your whole computer’s connectivity, individually controlling bandwidth, latency, and packet loss. This is particularly useful for other browsers, device simulators, and headless processes.

I recently wished to simulate degraded connectivity to a single host. A modern web app loads resources from a variety of sources. It’s good to know how your app will behave if your font server is on the fritz, or if your image CDN slows to a crawl. Read more on Simulating Poor Network Connectivity on Mac OSX…

IDE vs. Text Editor: Choosing the Right Tool at the Right Time

In the programming community, there are an overwhelming number of opinions about text editors, IDEs, and other related tools. There are so many options out there and so many strong opinions that it’s really difficult to find the best tool for the job.

However, finding the right editor is extremely important! After all, text is the basic element of programming, so choosing a tool to manipulate text is one of the most fundamental decisions a programmer can make. Read more on IDE vs. Text Editor: Choosing the Right Tool at the Right Time…

A Simple JIRA Webhook for Sending Email Updates

Mike English and I have recently started using Atlassian JIRA to better track the work that the “Professional Problem Solver” (PPS) team handles.

While JIRA is great for managing our tasks and giving us insight into our workload, any external stakeholders without an account do not have the same level of visibility into the work that we are performing. To help with this, I wrote a simple JIRA web hook to update stakeholders via email when a task enters certain states. Read more on A Simple JIRA Webhook for Sending Email Updates…

A Shell Script for Working Step by Manual Step

While I prefer a project’s deployment process to be automated, some systems just aren’t made for automation. For instance, many content management systems are designed to be updated by a live user— someone manually selecting check boxes, filling in text fields, and clicking submit buttons. Often, all that configuration is stored in a complex format in the database, making it risky to update with a script. In the end, a manual process is not only the cheapest, but also the safest way to go.

But even though the process may be manual, remembering it doesn’t have to be. Read more on A Shell Script for Working Step by Manual Step…

Developing on OS X Inside Vagrant

I maintain an OS X tool for sandboxing the popular Homebrew package manager called brewdo. Because I need my MacBook to keep working day-to-day, I need a way to develop features and fixes in brewdo without risking my system’s integrity.

If brewdo targeted Linux, I could very easily use Vagrant to spin up a Linux system and develop it there. brewdo targets OS X, though. And although Apple gives permission to virtualize it, they don’t give permission to share copies of it.

But all is not lost. OS X on Vagrant is achievable, and without skirting Apple’s copyright. Read more on Developing on OS X Inside Vagrant…

Writing Better Commit Messages with Tmux

I’ve been trying to write more detailed commit messages—breaking down what’s happening in big change sets, explaining problems I encountered and how I solved them, pointing out potential weaknesses in the code or future improvements—but it’s not easy to remember all the particulars while staring at the commit message editor.

Fortunately, Tmux can help.
Read more on Writing Better Commit Messages with Tmux…