Software architectures are full of opinions. They are usually the
result of one person's bias towards a specific technology, or a
specific approach to developing software. Sometimes software
architectures are the result of reading something in a book or seeing
something in a video and believing that it's the answer to the world's
problems. In this post, I'll share my opinion, and my desired
architecture for my own softare.
In this post, I relate my first entrepreneurial experience pitching my
idea to potential investors. I share the good, the bad, and the final
My first post in this series had me write a cool little demo showing
how to make a static web page more dynamic using a Go web server and
CORS. My second post demonstrated my desire to be a craftsman by going
back, refactoring my code, and making it better. In this third post,
I will revisit my Go web server and will make it more professional by
doing what I should have done in the first place: write unit tests.
In my previous post, I wrote a Go web server
that responded to requests from my static website. Being a
perfectionist, I was a little bothered by the poor quality of the code
in my web server. In this post, I'm going to take a look at the
previous code and clean it up using best practices to make the code
All too often, web developers start a web application or website with
a framework like Express, Rails, or ASP.NET MVC. For a time, they were
necessary, but their time and usefulness is quickly expiring. In this
post, I will make the argument for why you should not use these
frameworks for the next great web application and instead use simpler
websites based on a mix of static and dynamic HTML and web APIs.
Yes, it's been a long time since I've blogged. It's not that I haven't
had anything to say; I just ran out of motivation to say it. In this
post, I'll bring you up to speed on what I've been doing, and I'll lay
my plans for moving forward with this blog.
The .NET 4.0 Framework introduced the new Task Parallel Framework which has made background and parallel processing extremely easy for .NET developers. With .NET 4.5, Microsoft released a new enhancement for the TPL library out of band. Called the TPL Dataflow framework, this new framework makes it extremely easy to create batch-processing pipelines in your applications. In this post, I will introduce you to the background concepts of the TPL Dataflow framework and set up further posts where I will show you how to use and build on the TPL Dataflow framework.
In my last post, I introduced you to the TPL Dataflow library that was added out-of-band to .NET 4.5. In this post, I will show my first example of a custom dataflow block when I create a block to support building Neuron ESB-based dataflow pipelines that send or receive messages to a Neuron ESB topic.
In the previous three posts in this series, I have been creating a work queue service that can be controlled through messages sent to the service using named pipes. In this article, I will complete the series by implementing a working CIM provider and showing how PowerShell can be used to administer work queues.
I have been using Process Monitor a lot recently to help solve customer support issues. Process Monitor is a great tool for looking at what files, registry keys, and network resources that my products are using. Earlier today, I discovered a new technique to make my Process Monitor logs better.