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…

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…

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…

Capability Feature Flags for Backward Compatibility

Earlier this year, Ryan Abel wrote about Managing Multiple Releases in a Production Application. One of the strategies he discussed was using “feature flags” to manage when sets of features are released in production. I’ve found that feature flags work well when there’s a need to maintain backward compatibility with multiple versions of an external integration. In my case, it’s with a Bluetooth Low Energy (BLE) device, but the same would hold true for a remote web service API, etc.

Read more on Capability Feature Flags for Backward Compatibility…

Four Tips To Keep Refactoring Efficient

We all write elegant code the first time that never needs to be changed, right? Me neither.

Refactoring is just another tool in the developer’s belt. It wasn’t until recently that I realized how important a tool it is. I started a small refactor that turned into a big refactor that turned into an enormous refactor. In the end, I felt great about the new architecture, but it ended up being a lot more work than I anticipated. Coming out of that experience, I have four tips for keeping your refactors efficient and manageable.
Read more on Four Tips To Keep Refactoring Efficient…

Test-Driven Development for the Uninitiated

Like many software developers fresh out of college, I felt I had a firm grasp of computer science but a less-than-strong knowledge of industry practices. One of my biggest weaknesses was test-driven development (TDD).

I’d heard of it. I knew it was important. I’d attended Computer Science club meetings on it. I’d even written a few tests for personal projects. But it wasn’t really part of how I thought about the development process. Read more on Test-Driven Development for the Uninitiated…

Learning from Pokémon GO: The Importance of Testing

Automated testing is one of the most powerful tools available to a software developer, but some people are reluctant to embrace it. With the release of Pokémon GO and its bugs seen in the first several weeks, this is a good time to discuss the importance of releasing quality code into production.
Read more on Learning from Pokémon GO: The Importance of Testing…

[Video] Command Injection: How the Shell Makes You Vulnerable

Most web developers are familiar with SQL injection, an all-too-common web vulnerability. The problem typically arises from assembling SQL queries by concatenating strings, without considering they’re allowing whoever supplies the parameters (typically, a consumer of a web API) to write their own SQL code. But SQL isn’t the only place you can get code injected. SQL injection has a close cousin that’s not nearly as well-known, but it’s just as—if not more—deadly: command injection.
Read more on [Video] Command Injection: How the Shell Makes You Vulnerable…