Quenching the Fire of Clients From Hell

Have you ever seen the website Clients from Hell? It’s a collection of crowd-sourced horror stories about client interactions from across the tech industry. I don’t frequent it anymore, but I have found the stories humorous in the past. To be honest, the website could just as easily be called “Self-Entitled Designers from Hell” or “A Master’s Degree in How to Be Inept At Managing Client Expectations.”

While a blog full of tropes in which two parties verbally assault one another isn’t the most helpful thing ever created, I do think it serves to highlight a reality in software product design and development: Sometimes, projects go to hell.
Read more on Quenching the Fire of Clients From Hell…

How to Debug Stored Procedures in Visual Studio in 3 Steps

My first project at Atomic was a C#-based web application using Visual Studio. As time passed, I became familiar with many of the shortcuts and tools that Visual Studio provides to help with common development tasks. Whenever there was a section of code that I didn’t quite understand, I would use the debugging tools to my advantage.

The application relied quite heavily on stored procedures, which I was used to writing within SQL Server Management Studio (SSMS). Unfortunately, SSMS doesn’t provide many tools to help with writing complex stored procedures. Not having much SQL experience beyond basic SELECT, INSERT, and UPDATE statements, I decided to use Visual Studio’s tools to help me out.
Read more on How to Debug Stored Procedures in Visual Studio in 3 Steps…

Conference Room A/V Build-Out

We recently moved to our new building at 1034 Wealthy. We took the opportunity to update the A/V equipment for our conference rooms. Previously, we largely relied on projectors for presentation capabilities, an external USB microphone/speaker for audio, built-in webcams on laptops for video, and a table where we staged everything. This worked, but it was certainly not ideal. With the new building, I had the opportunity to standardize a new conference room A/V build-out that would be better suited to our needs.
Read more on Conference Room A/V Build-Out…

The Tradeoff of Multiple Repositories

More often than I expect, I come across software projects that consist of multiple source control repositories. The reasons vary. Perhaps it’s thought that the web frontend and backend aren’t tightly coupled and don’t need to be in the same repository. Perhaps there’s code that’s meant to be used throughout an entire organization. Regardless, there are real costs involved in the decision to have a development team work in distinct, yet related, repositories. I believe these costs are always overlooked.
Read more on The Tradeoff of Multiple Repositories…

Getting Android ListView Right the First Time

ListView is an Android UI element commonly used when you want to display a scrollable list of items. Unless you have a simple, static list of items, you’ll probably end up subclassing BaseAdapater in order to provide content for Android ListView. The basic process of doing this is fairly straightforward, but there are a few mistakes that are easy to make if you’re not careful.
Read more on Getting Android ListView Right the First Time…

Respecting the Value of Face Time

The way we interact and work with others has changed drastically over the past few decades. Email, chat, and teleconferencing have bridged huge gaps of geography and facilitated us to work across boundaries.

This flexibility has allowed individuals to work from home so they can tend a sick child or deal with other real-life complications. Work/life balance is tough, but these advances in technology have helped bridge the gap. While all of today’s communication options come in handy, there’s still real value in face-to-face communication. In this post, I’ll suggest when in-person meetings are helpful and offer some tips about how to conduct them.
Read more on Respecting the Value of Face Time…

Testing Data Migrations in Rails

When working on a Rails project, you will inevitably need to move data around in your database. Some join table value will need to be moved into its own table or what have you. When approaching these kinds of migrations, there are two major complications: future-proofing and testing. In this post, let’s walk through an example migration.
Read more on Testing Data Migrations in Rails…

IoT Made Easy by Particle

I love the Internet of Things (IoT) uprising that is happening right now. I mostly spend my days writing software, but my degree is in electrical/computer engineering, so IoT technologies combine a lot of things that I am interested in.

When the Raspberry Pi first came out, I got very excited and immediately began building my first IoT device. It was a lot of fun, but I quickly discovered that making an IoT product is really hard and requires a lot more work that I had initially thought.

A few years later, I was delighted to find that a company called Particle is trying to make the lives of people like me much easier. Particle is revolutionizing the world of IoT by building infrastructure that supports taking a product from prototype to mass production with minimal time and effort.
Read more on IoT Made Easy by Particle…