Angular – Refreshing a Route with Parameters

Angular routing is pretty nifty.  Going into how it works is beyond the scope of this post Mike Berryman(and there’s plenty of resources out there doing just that), but suffice it to say if you’re working on an Angular application, you’re using Angular’s routing.

One of the things Angular’s routing does to increase performance is reusing a Component for a route that has already been instantiated.  Say you have a Component, “MyComponent”, tied to a route, “/MyPath”.  “MyComponent” isn’t created until the user actually navigates to the “/MyPath” route.  That makes perfect sense – why instantiate a component that doesn’t need to be used yet?  What’s interesting about this design, though, is how parameters factor into it.  Let’s say you add a parameter to your “/MyPath” route, making the route “/MyPath/:id”.  The first time the user navigates to some version of this route, let’s say “/MyPath/1”, “MyComponent” will be instantiated (with the id parameter set to 1).  Then if, without leaving that route, the user changes only the parameter – for example, there’s a link in the component to go to “/MyPath/2”, “MyComponent” will not be recreated.  In fact, if not handled correctly, to the user nothing will have changed.  It will still look like they’re seeing the “/MyPath/1” version of “MyComponent”. Continue reading “Angular – Refreshing a Route with Parameters”

Optional Chaining in JavaScript

Optional chaining is in stage 1 and can be found in this repo. Optional Chaining provides a succinct way to check for the existence of an object before accessing its properties.  2_bgVery similar to the C# null conditional operator. And it is already available in the React ecosystem.

Why do we need this?

How often are we checking for existence of an object after an API call? Yes, almost always requiring us to write code like this to prevent errors due to JavaScript’s nature of allowing unstructured anonymous objects. Continue reading “Optional Chaining in JavaScript”


Rick HerrmannIn the 4.3 release of Angular, there was a new HttpClient API introduced.  HttpClient is an alternative to the existing Http module and exists in its own package (@angular/common/http).  For any projects that are using Angular 4.x, both Http and HttpClient are supported so you don’t have to migrate to the HttpClient all at once.  However, in Angular 5x, the original HttpModule is deprecated so only HttpClient is supported.  Hopefully with this overview you will see that HttpClient is actually easier to use and switching from Http will simplify your http service calls. Continue reading “HTTPClient”

Codemash 2018: Drone Racing

AJThis year at Codemash I thought it’d be fun to do a “precompiler” session (aka an in-depth session before the conference gets started), despite the fact it may not specifically help in my software development area. But I hadn’t done any sort of embedded systems work since college and I thought this would be a great opportunity to get back into it.

As you may know, drone racing has been picking up a lot of steam lately. In fact, they’re even broadcasting it on ESPN these days. It’s actually very exciting to watch: Drones fly at impressive speeds through complex courses that require an amazing amount of maneuverability that takes nothing less than a wiz to handle.

Continue reading “Codemash 2018: Drone Racing”

Microsoft Flow

What is Flow?


Microsoft Flow is tool that allows one to create and automate workflows across multiple applications. To create a flow, the user specifies what action should take place when a specific event occurs. The most common use of flow is to trigger notifications. For example, flow can be used to send someone a notification when an item is added to a list.

Flows can also be used to collect data. For instance, if the user wants to see what people are saying about a particular brand, they can create a trigger that will capture new tweets that mention the brand and put a copy of each tweet into a database for further analysis. Once a flow is built, it can be managed on the desktop or through an app on a mobile device. Additionally, Flow can be integrated with other various Microsoft services. The Microsoft Flow Admin Center allows an administrator to manage users, permissions and roles and ensure that employee-created flows comply with data loss prevention policies. Continue reading “Microsoft Flow”

Creating SSIS Packages

Recently I created SSIS packages to handle information from a spread sheet for a client. I finished making the packages, only to later realize there was a problem. One SSIS package added two tables to my database in order to handle changing the incorrectly typed value to the correct value in a specific column on any spread sheet. Lets use the following spread sheets to better describe exactly what I mean.screen-shot-2017-10-11-at-5-17-51-pm Continue reading “Creating SSIS Packages”

Check Out Our Agile Process in Action

Karen AdkinsWe recently worked with Benefit Express (BE), a health benefits administration firm, to enhance their in-house software. We’ve worked with them in the past, so they knew our agile, feature-driven development processes could meet their needs.

Our total transparency model allowed us to be in constant communication with BE even though we worked remotely, ensuring the product would give their customers what they needed.

Utilizing Angular.js, C#, and Web API, we provided the tools and resources that allowed BE to finish their project on time.

Check out this video to learn more: