The Book that Changed the Game
Don’t Just Eat the Dogfood. BE THE DOG
So Long and Thanks for the All the Manifestos
Rocket to Mars: A Sprint Planning Game
Visual Studio Online – Free TFS Server
Microsoft’s Ballmer: On Longhorn and other regrets
Troubleshoot Slow-Running Queries In SQL Server
ASP.NET December 2013 Security Updates
Grunt for People Who Think Things Like Grunt are Weird and Hard
Angular JS – Part 3, Inheritance
Go Advent Day 11 – Build a Christmas List With Martini
Getting the Dimensions of an Image Using Go
Go Advent Day 9 – Building A Weather App In Go
Go Advent Day 10 – Beyond Static Binaries
Syntax-highlighted Markdown Code Blocks in Web Essential
Fetch performance of various .NET ORM / Data-access frameworks
WebAPI Is Not A Replacement For ASP.NET MVC
Probable C# 6.0 features illustrated
Immutable & Isolated Types Likely in Future C#
Common NuGet Misconceptions: Package Restore
Re-examining ASP.NET and Helios Performance Tests
Release Candidates for ASP.NET MVC 5.1, Web API 2.1 and Web Page 3.1.
Visual Studio 2013.1 RC is Available
ASP.NET Web API 2.1 RC is out – what’s new?
Launch IE as multiple users for testing
Windows 7 Sales Ended October 30th
Protecting a Self-Hosted API with Microsoft.Owin.Security.ActiveDirectory
Windows 2012 to 2012R2 In-Place Upgrade (Not recommended) Wipes out Network Teams, vSwitches
#991 – Using the Round-Trip Format Specifier
Don’t Fear Directives In Angular.js
A Beginner’s List of JavaScript Gotchas
AngularJS–Part 2, the controller
Exposing CQRS Through a RESTful API
Extreme Programming, a Reflection
Announcing Suro: Backbone of Netflix’s Data Pipeline
Semantic Versioning with Continuous Deployment
Keeping Parts of Your Codebase Private on GitHub
How can I keep API keys out of source control?
Spies Infiltrate a Fantasy Realm of Online Games
Dungeons & Drawings – A Reimagining of D&D Creatures
Obsidian Gives Name to Project Eternity & Releases Gameplay Trailer
]]>Bau – Write your build scripts in C#
NDC Diary – Day 3 Including Future C# Features
Windows Azure Tables: Introducing JSON
The Essentials of Writing High Quality JavaScript
7 JavaScript Basics Many Developers Aren’t Using (Properly)
Minty: Refactor 1: Moving to a Document DB
Introducing node.js Tools fo Visual Studio
21 JavaScript Parts I Struggle To Remember
An Introduction To Full-Stack JavaScript
What Exactly Is….. The 300ms Click Delay
Windows Azure Storage Performance Best Practices
RIA Services is Getting Open-Sourced
Discovering .NET Open Source: up-for-grabs.net
Visual Studio Live Orlando 2013 – Day 3
Visual Studio Live Orlando 2013 – Day 4
Visual Studio Live Orlando 2013 – Day 5
Microsoft Enterprise Library – Open Development Model
Azure CLI Day 46 – sql server list
HTTP Content Negotiation on higher levels of media type
WindowsAzure.com Welcomes Xamarin
How VPNs can help you use your MSDN Azure benefits with TFS Lab Management
C#: Non-nullable Reference Types
How much data can you put on VSOnline?
On Strongly Typed Application Settings with Castle Dictionary Adapter
Debugging OWIN app or Framework
On Go’s Web Application Ecosystem
How I Learned to Stop Worrying and Love Golang and some followup
TweetQureet: a full Golang technology stack
Concurrent Reads with Serialized Writes
Hypermedia In The Wild: Amazon AppStream API
Failure Friday: How We Ensure PagerDuty is Always Reliable
Implementing Micro Service Architectures
After 15 Years of Llama-whipping, AOL Shuts Down Winamp for Good
Healthcare.gov and the Gulf Between Planning and Reality
Are All Open Source Developers Assholes?
]]>Isomorphic JavaScript: The Future of Web Apps
Browser Link APIs in Visual Studio 2013 RTM
Are the Days of the Microsoft IT Pro Numbered?
Microsoft Warns of Storage Spaces Flaw in Windows Server 2012 R2
Visual Studio LIVE! Orlando 2013 Day 2
Don’t trust the .NET web forms email regex validator (or most others)
Netflix ditches Webkit to roll out slick new UI for smart TVs, Roku boxes and game consoles
Process Earth Science Data on AWS With NASA / NEX Public Data Sets
]]>Using IDisposable to scope dangerous behaviour
Disabling ARR’s Instance Affinity in Windows Azure Web Sites
Announcing Release of ASP.NET and Web Tools 2013.1 for Visual Studio 2012
Running Stack Overflow SQL 2014 CTP 2
ASP.NET MVC 5 Authentication Breakdown : Part Deux
Visual Studio Live! Orlando Day 1
Hugo – A Static Site Generator Written in Go
Intro to (images in) Go – websockets
GoConvey is Awesome Go Testing
A List of Go Testing Frameworks Sorted by Activity
Allocaction, Allocation, Allocation
Predictions for Umbraco – Beyond 2014
Are Git and Mercurial Anti-Agile?
Layers are Cheap, but Doing it Right is Priceless
Higher Order List Operations Across Languages
A Culture of Beer and Overtime
Four Years of Go – some followup
Newspaper.io/Golang – a weekly Go community newsletter
Docker and Go: Why Did We Decide to Write Docker in Go?
CloudFlare – What We’ve Been Doing with Go
Get Going with Web Servers in Go
gocookbook – A collection of Go Recipies
5 Reasons Go will Kick Ass in Your Next Project
Martini – Classy Web Development in Go
gobrew – An RVM-like Go Version Manager
Go Essential – A List of Beginner Go Resources
More Simple Test Coverage in Go
How many people are missing out on JavaScript enhancement?
Install Ruby on Rails · Mac OS X Mavericks
Rapid Schema Development with PostreSQL
Why JSON in PostgreSQL is Awesome
Why You Should Never Use MongoDB – some followup
Video – WACEL = Windows Azure Cache Extension Library
Client Certificate Authentication Middleware for Katana
ASMX Service Template Retired for .NET 4.5.1 Projects
Simple Logging Middleware (Katana Part 4)
Shimming and Wrapping OWIN Middleware (Katana Part 5)
Code First Migrations in Team Environments
Visual Studio 2013 Launch: Announcing Visual Studio Online
Visual Studio Online for Windows Azure Web Sites
Videos of “Monaco” editor in action
Announcing Visual Studio Online / Dropping of TF Service Name
Tracing with the Windows Azure Management Libraries
Content-based action selection in ASP.NET Web API
Portable Class Libraries just got REALLY useful with new licensing changes
Introduction to WebSockets on Windows Azure Web Sites
Zero to Peanut Butter Docker Time in 78 Seconds
Jenkins Developers Accidently do “git push —force” to Over 150 Repos on Github
Is Hypermedia Worth the Effort
Web of APIs: Hypermedia and Collection.Document As the Engines of Innovation for Web Publishing
Lessons Learnt Scailaing a Big Mainstream RESTful API
The Human Aspects of API Design: An Interview with Apiary’s Jakub Nesetril
Google does everything off trunk despite 10k devs across 40 offices.
Apprenticeship: Software Craftsmanship’s Missing Link
8th Light Blog: Healthcare.gov
You are Not a Software Engineer
Crazy plane landing on a mountain
Ernest Borgnine is a Hollywood Tough Guy and … Stamp Collector?
]]>Intro to (images in) Go – part 1
goconvery – Awesome Testing in Go
Becoming a Gopher: a Pythonista learning Go
https://gist.github.com/slawosz/6992517
golor – a package for colored terminal printing
Introducing agora: a dynamic, embeddable programming language built with Go
Ghost – a JS Based Blogging Platform
oboe – a Progressive JSON parser for ajax calls
Securing Express.js HTTP Endpoints
Minimum Viable Reports: A NodeJS Script And console.log
Fix in Scope: a New Code Cleanup Experience in ReSharper 8
Portable Class Library (PCL) now available on all platforms
NuDoq – API docs for NuGet packages
Choosing a BDD framework for .Net
Easy ASP.NET Web API DTOs with F# CLIMutable records
10 Things you Maybe Didn’t Know About C#
NuGet is a .NET framework release vehicle
The somewhat super secret MSDN docs on EF6
Announcing the Release of Visual Studio 2013 and Great Improvements to ASP.NET and Entity Framework
OWIN Middleware in the IIS integrated pipeline
ASP.NET Web API 2 is out! Overview of features
Top things web developers should know about the Visual Studio 2013 release
Attribute Routing in ASP.NET MVC 5
EF6 Connection Resilience for SQL Azure – When Does it Actually do Its Thing?
Microsoft Windows 8.1 – Corporate Policies and Common Sense
The good, the bad and the ugly of ASP.NET Identity
Good and Bad Technical Debt (and how TDD helps)
From the Start, Signs of Trouble at Health Portal
API first architecture or the fat vs thin server debate
Unlearning Software Engineering
How do you measure quality of a service?
URLs Are an ImplementationDetail
Why no one wants to use your API
WebStorm and Windows Azure Mobile Services
iOS Platform Fundamentals for C# Developers
Web API, Async and Performance in an ASP.NET MVC Application
A Lighter, Brighter, Github for Windows
A new adventure at Splunk after an amazing 8 years at Microsoft
I’m Learning Russt so I Can Move Away from C#
How to Use Conditional Compilation With the Go Build Tool
Confessions of a Ruby Developer Whose Heart was Stolen by Scala
Why I think Go Package Management is Important
SkyDNS (Or The Long Road to Skynet)
Functions and Naked Returns In Go
Git Source Control Integration with Windows Azure Mobile Services
Put Your Controllers on a Diet: Redux
Comparing QueryOver, LINQ to NHibernate, and Criteria Queries
So You Want to Hire a Freelance Designer
Announcing Ginkgo and Gomega: BDD-Stye Testing for Golang
Tracing Entity Framework Code First Calls
10 ways to make your .NET projects play nice with others
Iterating quickly at a Hackathon with Azure Mobile Services and Dynamic Schema
What does a well maintained Team Foundation Server look like?
ASP.NET App Suspend – responsive shared .NET web hosting
Enable and monitor ASP.NET App Suspend on Windows Server 2012 R2
EmberJS :: Beyond the tutorials
Node.js and the new web front-end
Writing Code? Know Your Boundaries.
What to Know Before Debating Type Systems
Evolutionary architecture boundaries
Reducing Incidental Complexity in Our Code and in Our Teaching
The Pain and Suffering of Large Source Code Repositories
The 10 Rules of a Zen Programmer
I wrote FAT on an airplane, for heaven’s sake
David Bowie – Sound and Vision 2013 Remix – Official Lyric Video
]]>Extend Glimpse on the Fly – Scriptcs Code Execution Tab in Glimpse
Async in C# and F#: Asynchronous gotchas in C#
Announcing Dedicated Federal Cloud and Improved Pricing, Networking, and Identity Options
Beware of undisposed or unconsumed HttpResponseMessage
Why Not Open Sourcing Microsoft.NET Is Hurting It
ASP.NET Web API OWIN Self Host on Windows Azure
Time to hand over the reigns before Capistrano costs me my youth?
A Rubyist Learning Go – Testing HTTP
Simple Test Coverage with Go 1.2
Golang Http Handlers as Middleware
Learn Y in X Minutes – Where X=JavaScript
Yes Bad JavaScript Will Shut Your Site Down
Etudes for Elixir – a companion to Introducing Elixir
TDD – The Wombo Combo of Software Development
Your best practices are (probably) nothing of the sort
Best Learning Resources for Meteor.js
You Can’t JavaScript Under Pressure
Writing an Awesome Build Script with Grunt
Arrays, slices (and strings): The mechanics of ‘append’
Welcome to the Nice World of Golang
Behavior-driven testing in Go with GoConvey (BDD in “golang”)
An Introduction to Go programming – A Free Online Course
Go Package Management Call To Action
Applying the Clean Architecture to Go Programs
On Distributing Command Line Applications: Why I Switched From Ruby to Go
Dynamic per-controller HttpConfiguration in ASP.NET Web API
Migrating Diary of a Ninja to Azure Websites and SQL Azure
Team Foundation Service updates – Sep 30
Get ready for EF6… by learning EF5!
MimeKit: Coming to a NuGet near you.
Tomasz Janczuk Leaves Microsoft
Azure CLI Day 15 – site scale mode
Service Bus Explorer 2.1 adds support for Notification Hubs and Service Bus 1.1
Web API 2 Routing Attributes, Part 2
{F}lexSearch – Flexible and fast open source .net based Search Engine
Getting Started with the Katana Project
Coding for Domain-Driven Design: Tips for Data-Focused Devs, Part 3
Lessons Learned: Taking the best out of Widnows Azure Virtual Machines
Blogging with Markdown & Deploying via Git – Introducing Sandra.Snow
OWIN Middleware in the IIS integrated pipeline
Update on Desinging Hypermerdia APIs Book – The Beginning of the End
RESTful Web Services has been put online for free
The Myth of the Rockstar Programmer
Rethinking Agile in an Office-less World
What’s the Best Way for a Programmer to Learn a New Language?
Erlang is the Most Object Oriented Language
Presentation Skills Considered Harmful
Scaling lessons learned–from 0 to 15 million users
Steam Box: Valve Abuses its GamerGoodwill to Bet Big on a Bad Idea
]]>PSA: There is an interesting discussion going on regarding the state
of OSS in the .NET community.
Perception is Reality – .Net OSS is DOA by Amir Rajan
Perception is Reality – .NET OSS Is Getting Better by Moi
Perception is Reality–The state of OSS in .NET by Jimmy Bogard
Reality is an Illusion – .NET OSS is hard by Mark Rendle
Visual Studio Automation With Leap Motion
Web Publish – How to Automate Multi-project Publish with File System
Glenn Block is leaving Microsoft
Microsoft Virtual Academy – Developing ASP.NET MVC 4 Web Applications Jump Start
Test styles and avoiding setup/teardown
Instant Nancy Web Development – Book Review
Getting Started with Microsft Big Data
Immutable collections ready for prime time
Microsoft’s Mobile Platforms Suffer From Flagging Developer Interest
A quick refresher on x++ and ++x (C# version)
Introducing Microsoft Monitoring Agent
Unit Testing Improvements in ASP.NET Web API
Attribute Routing changes for ASP.NET Web Stack shipped in VS2013 RC
ADO.NET Entity Framework : Executing TSQL and DbContext under same Transaction
How Complex are TodoMVC Implementations
Webstorm 7 Has Been Released
Remember: Webstorm has moved to a subscription model so this is a free
upgrade for anyone who has paid in the past year.
Consuming REST APIs with Restangular
Ruby on Rails 2.0 – 4.0 vulnerable to account hijacks
Are Ruby conferences taking us in the wrong direction?
Building a Platform API on Rails
Lessions Learned in a Year of Freelancing
Agile is NOT a set of practices
References for “The Future of Programming”
The Secret to RESTful Services is RESTful Clients
API Providers: Build a Twilio-like Request Inspector in One Day with Runscope Embeds
Docker: Using Linux Containers to Support Portable Application Deployment
Cloud PCI Compliance: The Checklist
SQL Server VM Disaster Recovery Between Azure and Amazon
How to Migrate an On-Premises SQL Server 2012 Database to Windows Azure SQL Database
BeebSID – C64 SID chip for the BBC Micro in ‘The Internet’ case
]]>note: I intentionally heaven’t read many of the linked blog’s comments so that I could get my own thoughts down. Therefore, I may be repeating some things that have already been said.
In my experience, OSS usage has risen slightly among internal corporate teams over the past few years. However, OSS usage has really taken off among other types of teams. Additionally, there are things that Microsoft could do to increase OSS adoption across the board.
Although there is a long way to go when it comes to getting enterprise .NET shops to embrace OSS, I’ve definitely seen an increase in acceptance over the past three years. This is largely due to a number of factors such as: NuGet being an integral part of the current Visual Studio experience, the fact that MS is now including OSS libraries as a part of default templates, and the fact that MS has open sourced many of the frameworks that are central to running .NET on a server.
There is a caveat here: in my experience, the items above have not automatically made enterprises OSS friendly. Microsoft’s consulting division isn’t walking into enterprises saying “embrace open source.” (in fact I’ve heard a couple say the opposite recently) However, the above items give OSS advocates more evidence when trying to persuade stakeholders to use OSS packages. I’ve personally seen an organization go from “we won’t use OSS” to “let’s use some well known packages.” And yes… I’m even talking about packages that aren’t MS backed.
In the past, open source would have just been rejected as being “open source” in the environments I’m talking about. Now the hesitation I’m seeing revolves largely around knowing how to vet and choose OSS packages. People are worried about relying on projects that may die off suddenly – especially on larger / expensive projects. Obviously even the cautious know that just because something is from Microsoft doesn’t mean it won’t be abandoned either. However, I’m still seeing this as a significant psychological hurdle when it comes to using OSS in these environments.
If you aren’t familiar with these sectors, I’ll do a probably offensive job of explaining them below.
Design Agencies are entities that will pitch, design (and possibly UX and develop) a software solution for companies that don’t have a public-end-user savvy development group.
Example of an agency project: A big box retailer needs a highly interactive mini-site for their holiday sale.
The interesting thing about agency projects is that they can often be for clients that would otherwise fall into the mainstream corporate / enterprise category. However, agencies rarely have to follow the same technology rules that internal teams do. In fact, they are often hired to bypass the involvement of an internal team. What’s also interesting is that I’m seeing an increase in requests to implement things that would have traditionally fallen under their internal dev group (APIs, data migrations, etc…).
Direct to Business are typically clients that do not have a dev shop, or they have a dev shop that can’t meet current demands by themselves.
Example: A medical research company needs a custom application to manage research protocols.
In my experience, stakeholders rarely balk at using OSS in these situations. The team decides what is the best way to deliver software on time and under budget.
Microsoft is trying to change the mainstream (corporate) .Net culture. They are genuinely trying to promote open source software, without bias. And I can’t thank people at Microsoft (like Glenn Block, Scott Hanselman, and Jon Galloway) enough for busting their asses trying to push open source initiatives.
I completely sympathize with this quote. I believe that important people in DevDiv are making a huge difference in OSS adoption, but there is still a lot of work to do.
It doesn’t have to be this way.
I think the following enhancements could be made at Microsoft to facilitate the adoption of OSS in the .NET world:
OSS evangelism needs to be extended outside of the audience that is reading blogs like this or following Hanselman, Block, and Galloway on Twitter. One important slice of this audience are decision makers on corporate / enterprise teams such as architects, infrastructure folks, and PMs. Although I think MS has been doing a good job of reaching these folks at events like VSLive! and TechEd, I think there is a more direct line to these people: a) The MS Consulting arm, and b) Patterns and Practices. Although these people may not participate in our larger community, they undoubtedly cross paths with MS consultants and the PnP group.
As a related aside: you’d really be surprised how effective events like VSLive! are for promoting open source. I’ve seen someone arrive at the conference with a decidedly anti-Git attitude but leave the conference open to it because almost all of the presenters (including Microsoft people) were using it in their talks.
At the very least, the express version of Visual Studio should support plug-ins. Additionally, any new framework libraries should be free of platform restrictions.
Along these lines – anything new on the server side that could work on Mono should be made so that it works on Mono.
Something like the NHibernate vs EntityFramework situation should never happen again (no offense to the bright EF developers). This was a really horrible event in .NET OSS history. NH is basically dead now, and we are left with something that is still playing catch-up.
This may be a contriversial opinion, but I think Microsoft needs to continue to “back” projects. I don’t think anyone will argue that throwing resources behind node.js has been anything but good for us.
As far as keeping the little guys in the picture goes, this could be a bit trickier and I don’t have a slam-dunk idea at the moment. Maybe MS needs to open up the MVP program to be more OSS centric (instead of boots on the ground at your local user group centric), or maybe they need to do an emerging technologies review every once in awhile like ThoughtWorks’ Technology Radar.
You might ask yourself why Microsoft would want to make Azure less .NET and Windows focused, but I think it is clear that the world won’t be Windows dominated again anytime soon. Additionally, making Azure friendly to PHP, Node.js, Python, Ruby on Rails, etc… can bring those developers at least a little bit closer to our community. This in turn should help our community rejuvinate with new ideas.
I think there are some significant challenges ahead for those inside of Microsoft who wish to promote OSS. I personally think getting the consulting arm onboard is going to be a large hurdle that could make or break things. Also – I haven’t really done enough thinking about the recent reorg to foresee how it might affect things.
Perception is Reality–The state of OSS in .NET by Jimmy Bogard
Reality is an Illusion – .NET OSS is hard by Mark Rendle
API Monetization In The Internet of Things @ Nordic APIs
Why You Probably Don’t Need an API Strategy
What APIs Are And Why They’re Important
New Online Course: TDD and BDD in Ruby
After Two Decades of Programming, I Use Rails
Why Ruby is an Acceptable LISP
Twitter Drops Ruby – The Bullshit
Reddit – What are Some of the Best Ruby Programs You’ve Ever Seen?
Comparing Ruby Background Processing Libraries: Delayed Job
Using AuthorizationServer with Web API v2/Katana–first look
Developing ASP.NET Apps with Windows Azure Active Directory
Perception is Reality – .Net OSS is DOA
Nancy Style Modules in ASP.NET WebAPI with Superscribe
Why you shouldn’t use a web framework to build your next API
Sorry Windows, It’s You, Not Me.
Windows Phone Development Quality Checklist
Announcing the availability of Team Foundation Server 2013 Power Tools
Casting vs “as” – Embracing Exceptions
Returning multiple fake objects with FakeItEasy
Dependency Injection Feature Tests
Deploying a Minecraft Server on Windows Azure
The complete guide to loading a free SSL certificate into an Azure website
Why I’m Not Supporting Old IE Versions
Unicode isn’t harmful for health – Unicode Myths debunked and encodings demystified
Software Development Estimates, Where Do I Start?
Video – Porting Canabalt and Super Crate Box to the Commodore 64
]]>Windows Azure SQL Database and Throttling
Why is The New Windows Azure Cache Service Important?
Think First Code Later – Azure CLI Article Index
A database wrapper and language integrated query for Elixir
Updated NuGet Support in Visual Studio 2012.4
Duplicate Finder, Part of ReSharper Command Line Tools
Owin.Dependencies: An IoC Container Adapter Into OWIN Pipeline
Self Hosted WebAPI Wrapper Class
What not to do in ASP.NET, and what to do instead
Comparing object instances with FakeItEasy
Adding High Performance Windows Azure Cache Service to Your ASP.NET Web API
Creating New Windows Azure Web Site from Visual Studio 2013 RC
Good Old F5 Experience With OwinHost.exe on Visual Studio 2013
Parameter Binding in ASP.NET Web API
Entity Framework to REST – EfRest
What is new in Browser Link with Visual Studio 2013 RC?
What’s new in Visual Studio 2013 RC with Team Foundation Server
Cryptic Ruby Global Variables and Their Meanings
Learn AngularJS With These 5 Practical Examples
Scaling Play! to Thousands of Cuncurrent Requests
Own a System Beyond Its Childhood, or Stay a Bad Programmer
What is Agle Software Architecture?
The Bus Factor – Why your ‘best’ developer is your biggest problem
Two Techniques to Avoid the Bus Factor In your Teams: Push and Pull
When to Leave Your Programming Job
Homegrown DevOps Tools at Stack Exchange
What is BDD and why should I care?
How to Get Your Manager to Pay for Training
Baseline for Federal Government Open Data and API Portals
Threading – Understanding the Volatile Modifier in C#
Use Visual Studio 2012 to debug JavaScript code outside the running project
Visual Studio 2013 Release Candidate inches closer
Planning and Controlling Complex Projects
Tekpub – We’re Suspending Subscriptions
Use GIFs in your Pull Request for Good, not Evil
OS X Screencast to animated GIF
Writing Clean Code is Like Painting a Picture
7 Awesome Markdwon Editors for Web Developers
Awesome Libraries For C# Developers #1 – Interactive Extensions
TF Service Feature Release Archive
TFS Internal Usage Statistics – 1st Half CY 2013
Pretty print objects to the console. Similar to LINQPad’s Dump() extension method.
How to create a pure F# ASP.NET Web API project
Improved NuGet Package Restore
Entity Framework, Private Constructors and Private Setters
Async Route Handling with Nancy
ASP.NET Web API 2 and HttpRequestContext
NuGet 2.7 Package Restore Tips
Coding for Domain-Driven Design: Tips for Data-Focused Devs
10 Tools of the Trade for Your Windows Azure Environment
Push Notifications made easy: Using Windows Azure Notification Hubs with Windows Phone
Compare Durandal to Angular, Not Knockout to Angular
Javascript Frameworks Are Amazing and Nobody Is Happy
TypeScript: To Be or Not To Be
Node.js Deployments with Docker, Dokku, & Digital Ocean
Mike Amundsen Workshop on API Design
HTTP Status Codes From the Commandline
Mike Amundsen on API Design, Governance, and Lifecycle Management
The Web API Checklist — 43 Things To Think About When Designing, Testing, and Releasing your API
Dependency Injection Considered Harmful? Not So Fast.
Top 10 Uses for a Message Queue