All Posts

Article Roundup - May 10, 2019

Microsoft has some great resources around software architectures and modern application architecture. I found these when looking for a good architecture reference and had to share them. Not quite what I needed, but still a valuable resource. .NET Application Architecture Guides Azure Application Architecture Guide | Microsoft Docs .NET Microservices. Architecture for Containerized .NET Applications Microsoft Application Architecture Guide, 2nd Edition Comparing JVM alternatives to JavaScript People frequently comment on the number of build tools used with modern JavaScript, and they have a point.

Article Roundup - May 3, 2019

Tinder’s move to Kubernetes If you are interested in Kubernetes or running applications using containers this article is worth a read. Tinder has moved to use Kubernetes instead of plain EC2 instances but ran into some significant hurdles along the way. How healthy is the internet? Mozilla has put out an “Internet Health Report” that has a collection of articles and research around various topics related to the internet and technology today.

Connascence - The Language You Have Been Needing in Code Review

Today I was attending Indy.Code() and I attended a single talk that I think will make the entire time at the conference worthwhile. The talk was A Physics of Software Design given by David Greg of the Kenzie Academy. The talk was about connascence, and I wish I had seen a talk like this years ago. Wikipedia says: Connascence is a software quality metric invented by Meilir Page-Jones to allow reasoning about the complexity caused by dependency relationships in object-oriented design much like coupling did for structured design.

Article Roundup - April 19, 2019

Why software projects take longer than you think – a statistical model Estimating software projects is hard and the bigger they get the harder it gets. Ever notice that the sum of your estimates is usually wrong? In this article, the author talks about some ideas they have had about project estimation and walks through some statistics around it. Avoiding Double Payments in a Distributed Payments System It’s important to not double charge your customers.

Article Roundup - April 12, 2019

Naming Conventions Do’s and Don’ts Your class, function, and variable names matter. If you have read Clean Code, Pragmatic Programmer, or a host of other books you should already know that. This article focuses on JavaScript, but the concepts are universal. Some of the rules may or may not apply to the standards for other languages, but the concepts will mostly hold true. Organizations that Work on Fewer Projects at a Time Get More Done

Article Roundup - April 5, 2019

Enriching Event-Driven Architectures with AWS Event Fork Pipelines Event-Driven architectures are a popular way to deal with applications with a high throughput that require high-availability. Serverless computing works well with event-driven architectures, this article goes through building our the architecture with AWS Event Fork Pipelines. Easily identify problems in Node.js applications with Diagnostic Report In Node.js v11 there is an experimental API called the Diagnostic Report. It is meant to help diagnose errors in production.

Article Roundup - March 29, 2019

5 steps for Disagreeing Effectively Ever strongly disagreed with something, tried to push back, and gotten shut down? I have. You can’t win them all, but to win as many as possible you should take an effective reasoned approach. That is what this article is all about, disagreeing effectively. A system interface to run WebAssembly outside the web WebAssembly has a lot of promise for the web, but people are starting to look beyond the browser as well.

Let's Encrypt - Cloudflare

Let’s Encrypt and certbot are wonderful and make it easy, and cheap, to get SSL certificates setup. But sometimes your application or site isn’t really set up in one of the common patterns. One set up that I use a lot is to have the application running on my server, but have the Cloudflare CDN setup in front of the application. The default [NGINX method][nginx-certbot] won’t work in that case.

Article Roundup - March 22, 2019

Cloud Programming Simplified: A Berkeley View on Serverless Computing I haven’t read the paper referenced here, but it is something I very much intend to read. In 2009 authors from UC Berkley weighed in on cloud computing. This time they weighed in on serverless computing. I look forward to seeing what they have to say. Google has quietly added DuckDuckGo as a search engine option for Chrome users in ~60 markets

Article Roundup - March 15, 2019

Principles of Modern Application Development This is a large article, but it is tackling a large topic: modern application development. They break things down into three main principals: keep it small, design for the developer, and make it networked. The principals lend themselves well to a microservices architecture, but they aren’t necessarily advocating for that. You can just as easily accomplish much of what they are looking for by building components or libraries.