About Me

I am a software developer and business owner based in Northern Virginia. I am currently focused on custom data integrations and APIs. I build APIs in Node.js, The PHP based Laravel Framework, and using Microsoft's C# Web API Framework. I build data integrations using native languages including C# services & console applications or node.js applications. I do this through my business, Digital Ambit, LLC.

I am "carsonevans" on twitter, github, and linkedIn. I can also be reached by email at carson@carsonevans.com.

I have a newsletter...

Many of my posts end up in Digital Ambit's monthly newsletter. It is the best way to keep up with what Dagny and I are doing in the business world. I appreciate your support and will only send you things we think are valuable.

Technical Articles and Musings

  • Structring a Technology Company using Nested Corporations

    I am spinning up a new side project that hopefully will generate some passive income if succesful and how I am setting it up appears to be somewhat unique. I am planning on using Nested Corporations and here I explore some of the pros and cons as I see them.

  • Debugging APIs - The Tools I Use

    I have a set of go-to tools I use when developing and debugging APIs. I want to share what I use and examples of when I use them.

  • Doing Housework Kanban Style

    I often find myself pondering ways to apply the continuous improvement methodologies I use in my software development practice into the rest of my life. Today I was doing some mental wrangling with how I was going to spend this lovely spring day and I thought I'd manage it the same way I manage any other day. This is a, mostly humorous, account of how it went.

  • Learn to Code in 2017

    I recently put together a syllabus for learning to code by learning JavaScript for a couple of friends and interns. I believe it is a good, relatively cheap, introduction to coding that also contains projects that simulate real-world experience. I thought I'd share it since this is the time of year for resolutions. If you have a goal to learn to code this would be my recommended approach as of the beginning of 2017.

  • Migrating Content to WordPress with a Custom Plug-in

    I recently was tasked with migrating content from a couple of very old Drupal sites to WordPress. I used the Digital Ambit Data Integration Framework to prepare the migration and then wrote a custom WordPress plug-in to do the migration. I have shared that plug-in up on Github and explain the logic behind it here.

  • Hanlon's Razor and Egocentric Bias

    I don't recall when or where I first heard the phrase "don't attribute to malice what is more easily attributed to stupidity," known as Hanlon's Razor, it's a rule I try to live by. I recently stumbled upon an article in Fast Company on "egocentric bias" and tied it together with Hanlon's Razor to develop a variant that will hopefully remind me to value the contributions of others a little more.

  • Working Remote Doesn't Suck. Lots of People Suck at Working Remotely.

    I am a big fan of John Sonmez, especially his book "Soft Skills - the software developer's life manual." He recently published a video titled "Remote Jobs Suck" and I wholeheartedly disagree. I agree with some points he makes but the title is misleading. I think my title is more accurate. There are some down sides to working remotely, but nothing that can't be overcome through simple processes. I'll share a few of the processes that make me a successful remote worker.

  • Contrasting Drupal GovCon 2016 with DrupalCon New Orleans

    Last week I attended Drupal GovCon at the NIH Campus here in the D.C. area. I also attending DrupalCon in New Orleans back in May. There are many similarities between the two events but the differences are worth noting.

  • Marketing Book Review: Get Clients Now by C.J. Hayden

    Dagny and I were directed towards a marketing book called Get Clients Now. It provided a great framework and helped us develop a 28 day marketing action plan. I highly recommend the book even though I didn't have an extremely successful first 28 days. My next 28 day marketing plan starts today!

  • DrupalCon New Orleans Recap

    One of my annual take-aways from DrupalCon is just how awesome the community is. The Drupal community embodies everything that is awesome about Open Source in their willingness to share and how much they care about the community. I also learned a lot about Drupal 8 and many great advancements being made. I will be spending the next month watching all the sessions I couldn't get to, and trying to continue the momentum especially around the "Small Drupal Shops" organization.

  • Time Wasting Activities

    One of the nice things about tracking my time 24/7 is my ability to analyze where the time goes. I am a sucker for iOs games, especially the SuperCell variety, but a look back at how much time (and money) I've been spending on them has me thinking twice about how I spend my entertainment time.

  • DrupalCon New Orleans Schedule and Preview

    I'll be heading to DrupalCon in New Orleans next week and as I am planning what sessions I am going to attend I figured I'd post here what sessions I'm going to and why. This will be 5th DrupalCon North America event. I always struggle between focusing on the business stuff, or the code stuff, and balancing between practical coding stuff or cool new technologies I just want to see.

  • Cloudfront Error Handling for a Single Page Application

    Error handling is the secret sauce that drives modern websites. Drupal and other MVC web frameworks are driven by 404 handlers. For the Single Page Application concept I'm working on I needed the same thing so I am using my CDN's error configuration to solve it.

  • Separating Content Creation and Content Delivery into Distinct Concerns

    The rise of virtual machines and microservices has highlighted the importance of the Separation of Concerns design principle. So then why do we still have bulky content management systems that lump the creation and delivery of content into one program? We have developed elaborate caching systems to combat performance concerns of these systems, so why not take it to its logical next step and make them two completely separate systems to begin with?

  • Third Sleep Tracking Update - Buying new measuring devices

    After another month without quality data I have given in and purchased the Beddit from Misfit to hopefully solve the data issue.

  • Second Sleep Tracking Update - 60ish Days of Data

    Data problems, specifically inconsistency in recording data, continue to plague the experiment. But, there are some positive developments. If nothing else, having a monthly blog gives me monthly reminders to get back on the bandwagon.

  • Considerations in Enterprise API Integrations

    I do a lot of work reading and writing to APIs and the projects have many similarities. One system has data that another system could benefit from and I develop the strategy and code to get the data from system A to system B. In this post I am sharing the common formula and variations and best practices I've learned.

  • Solving Three Common Problems with New Year's Resolutions and Other Goals

    There is an adage in business that if you can't measure something you can't manage it. How many of us setup measurable New Year's resolutions? The other problem with New Year's resolutions is that we wait until New Year's to set them. Any time is a good time to set new, measurable goals and strive to achieve them. How many times have we heard about the goal set on January 1st abandoned on the 4th and set again the following year? Why not just start over right then? Of course, the biggest problem with New Year's Resolutions is prioritizing and executing on them. That can be hard if you aren't even sure who you are.

  • First Sleep Tracking Update - 30 Days of Data

    After 30 days of partial data the only thing we've proven is what we already knew -- data quality is important and Carson's sleep schedule is very erratic.

  • Parenting, Data Driven Decision Making, and Getting Enough Sleep

    I am trying to convince both my daughters the importance of a good-night's sleep. My recent experience rationalizing with them has me considering the similarities with making my case to executive decision makers. "Because I said so!" isn't a respected reason in either case. Even if my "ethos" as a parent is larger than it is as a technologist and executives feel less skeptical than my kids do.

  • The Benefits of Being a Consultant

    You don't see many write-ups on the benefits of being a consultant so I wanted to put out my perspective. I love being a consultant mainly because of the virtuous cycle created by being an expert in a particular technology. As an expert you get to do many implementations and by doing many implementations you become more of an expert.

  • Installing Laravel 5.x on Windows with IIS

    I have had to piece together bits and pieces of this install from various other tutorials and Stackoverflow posts. So for my own documentation I am recording this here as well.

  • Learn Programming Patterns, Not Programming Languages

    If you are setting out to learn a programming langauge read this first. Go into it with a knowledge of the patterns that exist in all languages and focus on learning those patterns, not necessarily the specific syntax that accomplishes them.

  • Caching: How To Make any Web Platform Fast

    The way to make any web platform fast is aggressive caching. How much caching you can do depends on your site, but at least three layers of caching should be used for every consumer facing site.

  • My New Site on Jekyll and Github

    Welcome to the most recent iteration of my personal website. I have chosen to launch it on Github using Jekyll.