Explore posts by topic:
.NET (44)
.NET Core (3)
.NET Fringe (1)
AI (3)
ASP.NET (11)
Active Directory (1)
Akka.NET (6)
Azure (15)
BlogEngine.NET (3)
C# (2)
C++ (1)
Cassandra (3)
Conferences (1)
Consulting (1)
Cryptocurrency (2)
Del.icio.us (1)
DevOps (2)
Docker (1)
ETW (1)
Equality (1)
FsCheck (2)
General (21)
Guides (1)
Hadoop (2)
Helios (3)
Hiring (4)
Hive (1)
JavaScript (1)
Life (11)
MarkedUp (8)
Mars (1)
Microsoft (6)
Model-based Testing (2)
MongoDB (4)
NBench (1)
NHibernate (2)
Node.js (12)
NuGet (1)
OSS (28)
OpenTelemetry (1)
Performance (1)
Petabridge (3)
Podcasts (1)
Product (4)
Python (2)
QDFeedParser (4)
RavenDB (2)
SQL Server (2)
Scalability (1)
Sdkbin (3)
Silverlight (5)
SlideShare (2)
Sockets (2)
Software (1)
Software Development (21)
Startups (37)
Tailscale (1)
Visual Studio (2)
Voat (1)
WCF (1)
Win32 (1)
Windows (3)
Windows Phone (12)
YouTube (1)
.NET (44 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
Microsoft
NuGet
OSS
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
Active Directory
Azure
DevOps
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
.NET OSS Projects: Better to Re-license or Die?
January 18, 2025
OSS
This week FluentAssertions, a popular open source library designed to make it easier to write assertions during unit testing, changed its license f...
Frameworkism: Senior Software Developers' Pit of Doom
December 04, 2024
Software Development
Startups
If you follow me on Twitter / X, you have likely seen several increasingly exasperated tweets from me about a legacy software project from hell. Th...
Has Ruby-on-Rails-Style 'Gem Glue-Gunning' Come to .NET?
October 25, 2024
Software Development
Startups
In this post we’re going to travel back in time to 2010 - a happier, simpler time for early-stage startup software developers. When Heroku was free...
.NET Developers Begging for Ecosystem Destruction
March 18, 2024
OSS
An ASP.NET GitHub thread entitled “Epic: Eventing Framework in .NET 9” ignited an inferno of criticism for the usual reasons: Microsoft big-footing...
We're Rewriting Sdkbin
August 10, 2023
OSS
Sdkbin
In light of the recent drama with the Moq project’s decision to try to solicit donations through the use of SponsorLink, I’ve decided to share some...
An Overview of Distributed Tracing with OpenTelemetry in .NET 6
December 21, 2021
OpenTelemetry
I’ve given multiple talks and written posts about distributed tracing, a still relatively novel concept in the field of application performance mon...
The Future of the .NET Foundation and .NET OSS
October 12, 2021
OSS
.NET Open Source: What Happens When the Free Lunch Ends?
June 03, 2021
OSS
It’s a Thursday, which means: .NET open source drama.
Sdkbin February 2021 Update: Revenue, Results, and Roadmap
February 10, 2021
OSS
Sdkbin
We launched Sdkbin, our NuGet meets App Store marketplace for .NET developers on September 30th 2020, but with an important limitation: that Petabr...
Introducing Sdkbin - The Marketplace for Software Developers
June 15, 2020
OSS
Sdkbin
The New Rules for Playing in Microsoft's Open Source Sandbox
June 03, 2020
OSS
Software Development
Here we go again. “The Day AppGet Died” - the short version: OSS developer fills a hole in the Windows ecosystem, Microsoft offers him a job to wor...
How to Build Sustainable Open Source Software Projects
January 30, 2020
OSS
Software Development
In my last post about “The Next Decade of .NET Open Source” I alluded to a future blog post about open source sustainability. This is it.
How to Configure Visual Studio to Use SourceLink to Step into NuGet Package Source
January 24, 2020
Visual Studio
I love SourceLink - it’s fast becoming a standard practice to include SourceLink support in all open source NuGet packages in order to make them ea...
The Next Decade of .NET Open Source
January 23, 2020
OSS
Software Development
Over the past week there’s been a ton of chatter about the state of the .NET ecosystem and, more specifically, as to whether or not its OSS ecosyst...
Problems and Solutions with the .NET Foundation Maturity Ladder
September 28, 2019
Software Development
This is largely the text of an issue I posted related to the .NET Foundation’s new proposed Maturity Ladder for .NET OSS projects. I am fully suppo...
The Coming .NET Renaissance
June 01, 2017
.NET Core
There’s been ample grumbling about various changes in the .NET ecosystem of late, but I’m more excited about .NET than ever.
.NET Core is Probably Fine
May 13, 2017
.NET Core
So, BUILD 2017 has come and gone and lots of new exciting updates have been announced or made available for preview in .NET-land, most notably the ...
Writing Better Tests Than Humans Can Part 2: Model-based Tests with FsCheck in C#
August 30, 2016
FsCheck
Model-based Testing
This is the second post in a 3-part series on property-and-model based testing in FsCheck in C#.
Writing Better Tests Than Humans Can Part 1: FsCheck Property Tests in C#
August 22, 2016
FsCheck
Model-based Testing
This is the first post in a 3-part series on property-and-model based testing in FsCheck in C#.
.NET Core is Boiling the Ocean
May 26, 2016
.NET Core
I get asked regularly in the Akka.NET Gitter Chat and elsewhere about “when will Akka.NET support .NET Core?”
Introducing the New .NET Stack
April 07, 2016
Software Development
I’ve been a .NET developer for roughly 10 years now - since the summer after my freshman year in college in 2005 I’ve been developing in Visual Stu...
How to Start Contributing to Open Source Software
April 24, 2015
.NET Fringe
OSS
The Petabridge team (all two of us) just wrapped up a big two weeks. We launched Akka.NET V1.0 and then traveled to Portland to talk about .NET ope...
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 24, 2014
Akka.NET
MarkedUp
I published a lengthy post on MarkedUp’s blog yesterday about the new product we recently released, MarkedUp In-app Marketing Automation for Window...
Tradeoffs in High Performance Software
July 15, 2014
OSS
I’ve spent down the past week tracking down an absolutely brutal bug inside Akka.NET. Sometimes the CPU utilization of the system will random...
The Profound Weakness of the .NET OSS Ecosystem
July 03, 2014
OSS
I’m in the process of writing up a lengthy set of blog posts for MarkedUp about the work that went into developing MarkedUp In-app Marketing,...
What Do You Need to Become an Elite Developer?
June 02, 2013
Software Development
MarkedUp Analytics’s customers are developers and so are most of the people who work at the company, so I spend a lot of time thinking about ...
How to Use Dependency Injection (Ninject) with WCF Services
August 16, 2011
WCF
I spent a lot of time late last week trying to figure out exactly how to set up dependency injection for a WCF service I was developing on Windows ...
How to Securely Verify and Validate Image Uploads in ASP.NET and ASP.NET MVC
June 24, 2011
ASP.NET
One of the more interesting things I had to do as part of building XAPFest was handle bulk image uploads for screenshots for applications and user ...
How I Built CaptainObvio.us
June 21, 2011
ASP.NET
MongoDB
I made a tiny splash on Hacker News a month ago when I asked for feedback on my newest side project, CaptainObvio.us – a simple portal for sh...
How to Create a Twitter @Anywhere ActionFilter in ASP.NET MVC
March 27, 2011
ASP.NET
My newest project, Captain Obvious, got a fair amount of attention this week when it landed on the front page of Hacker News – one of the key featu...
How to Make Any Operation Asynchronous in .NET
January 03, 2011
QDFeedParser
I’m in the middle of writing some updates to Quick and Dirty Feed Parser for use in a new personal project of mine; namely, I need to make QD...
How-To: Remote Validation in ASP.NET MVC3
December 07, 2010
ASP.NET
ASP.NET MVC3 has been a major boon to my productivity as a web developer since I started using it at the beginning of November – the new Razo...
Consuming REST in .NET
November 05, 2010
Windows Phone
I gave a talk at Code Camp Los Angeles a couple of weekends ago on how to consume REST APIs in .NET – the emphasis was really on understanding REST...
.NET Culture Shock: Why .NET Adoption Lags Among Startups
July 03, 2010
Startups
One of the other things I took away from Code Camp was a bit of .NET culture shock. As you can tell by glimpsing around on this blog, I am somewhat...
Announcing the Release of Quick and Dirty Feed Parser
July 01, 2010
QDFeedParser
Alternate headline: "never see XML again."
Ok, that may be a bit of a stretch. Regardless, I'm quite pleased to announce the launch of Quick and D...
How to Query a User's del.icio.us Feed with RestSharp
June 14, 2010
Del.icio.us
I've been meaning to give RestSharp a go since I first started using Hammock in my startup project's codebase, just because I had heard some g...
Discussion: How to Use RestSharp / Hammock to Automatically Parse the YouTube Response Format into POCO Objects
June 09, 2010
YouTube
If you've been following me on Twitter over the past couple of weeks, you might have noticed that I've been a little frustrated with the YouTube GD...
Two Ways to Randomize IList Objects</a></h3>
June 07, 2010
I recently developed a self-sorted IList implementation for a project and I needed some automated way to unit test it - so naturally, the best way ...
</article>
Frustration Central: Parsing the DateTime Values from the SlideShare REST API
June 02, 2010
SlideShare
I feel a little bad about posting this given that Jon Boutelle, the CTO of SlideShare, already admitted that this portion of the SlideShare 2.0 RES...
How to Use the Microsoft Enterprise Library Validation Application Block, Part 1
May 24, 2010
All user input is evil, and you know it. Since the inception of .NET, ASP.NET developers have had access to the ASP.NET Validators Control Library,...
How to Test Regular Expressions in .NET without Giving Yourself Migraines
May 17, 2010
I write a lot of parse-heavy applications, so naturally I spend a fair amount of my development time writing and testing regular expressions. Regul...
Popular .NET Libraries
May 14, 2010
I added a page a list of the .NET client libraries I use in my production and development code. Some of these, like NUnit and NLog, are pretty well...
</div>
</div>
.NET Core (3 posts)
The Coming .NET Renaissance
June 01, 2017
.NET
There’s been ample grumbling about various changes in the .NET ecosystem of late, but I’m more excited about .NET than ever.
.NET Core is Probably Fine
May 13, 2017
.NET
So, BUILD 2017 has come and gone and lots of new exciting updates have been announced or made available for preview in .NET-land, most notably the ...
.NET Core is Boiling the Ocean
May 26, 2016
.NET
I get asked regularly in the Akka.NET Gitter Chat and elsewhere about “when will Akka.NET support .NET Core?”
.NET Fringe (1 posts)
How to Start Contributing to Open Source Software
April 24, 2015
.NET
OSS
The Petabridge team (all two of us) just wrapped up a big two weeks. We launched Akka.NET V1.0 and then traveled to Portland to talk about .NET ope...
AI (3 posts)
There Has Never Been a Better Time to be a Junior Developer - And It Won't Last Forever
August 22, 2025
Startups
Everyone in tech is convinced that AI will eliminate junior developers first. “Why hire a junior when AI can write code?” they ask. The prevailing ...
The Future of AI Belongs to Experienced Operators with Good Taste
March 27, 2025
Startups
I have a lot of respect for Geoffrey Huntley. So when I read his blog posts about AI over the past couple of months: “Dear Student: Yes, AI is here...
Introducing Access to {AI} Conference, November 12-13 2015
September 11, 2015
Conferences
ASP.NET (11 posts)
ASP.NET MVC4 Gotcha: Embedded Views and Razor Pre-Compilation
September 05, 2012
In the course of some of our work on MarkedUp, we discovered an interesting gotcha with MVC4, embedded views, and ASP.NET pre-compilation. A littl...
New Open Source Project: MVC.Utilities
August 14, 2011
OSS
I announced this on Twitter late last week, but I open-sourced a number of common helpers and service interfaces that I use throughout all of my pr...
MongoDB vs. SQL Server 2008: A .NET Developer’s Perspective
June 30, 2011
MongoDB
SQL Server
One of the first projects I put together this year was Captain Obvious, a nifty little application that runs off of AppHarbor and ASP.NET MVC3. Wha...
How to Securely Verify and Validate Image Uploads in ASP.NET and ASP.NET MVC
June 24, 2011
.NET
One of the more interesting things I had to do as part of building XAPFest was handle bulk image uploads for screenshots for applications and user ...
How I Built CaptainObvio.us
June 21, 2011
.NET
MongoDB
I made a tiny splash on Hacker News a month ago when I asked for feedback on my newest side project, CaptainObvio.us – a simple portal for sh...
How to Create a Twitter @Anywhere ActionFilter in ASP.NET MVC
March 27, 2011
.NET
My newest project, Captain Obvious, got a fair amount of attention this week when it landed on the front page of Hacker News – one of the key featu...
ASP.NET MVC3 / Razor: How to Get Just the Uri for an Action Method
March 16, 2011
I normally wouldn’t post something this small to my blog, but this issue bothered me so much when I was working on some Twitter @Anywhere + j...
Getting Started with AppHarbor – Heroku for .NET
January 14, 2011
Startups
I’ve a lot of friends who are proficient Rails developers, many of whom who have left .NET for Rails.
The one piece of consistent feedback th...
How to Use Asynchronous Controllers in ASP.NET MVC2 & MVC3
January 06, 2011
The primary reason I added asynchronous methods to Quick and Dirty Feed Parser 0.3 was because I wanted to use QD Feed Parser in conjunction with a...
How-To: Remote Validation in ASP.NET MVC3
December 07, 2010
.NET
ASP.NET MVC3 has been a major boon to my productivity as a web developer since I started using it at the beginning of November – the new Razo...
LA .NET User Group ASP.NET MVC3 Lecture Notes
December 06, 2010
Putting this online for the benefit of the .NET LA User Group – this content is meant to accompany my talk on ASP.NET MVC3:
ASP.NET MVC3 lin...
Active Directory (1 posts)
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
.NET
Azure
DevOps
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
Akka.NET (6 posts)
Akka.NET Request for Contributors: Akka.Cluster
July 28, 2015
OSS
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 10, 2015
MarkedUp
Talking about Akka.NET and the Actor Model on Hanselminutes and .NET Rocks
May 07, 2015
Podcasts
I’ve done a bit of a “press tour” for Akka.NET since we released Akka.NET v1.0 at the beginning of April and I wanted to share a couple of the inte...
Akka.NET - One Year Later
January 20, 2015
OSS
Petabridge
Startups
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
OSS
Petabridge
Startups
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 24, 2014
.NET
MarkedUp
I published a lengthy post on MarkedUp’s blog yesterday about the new product we recently released, MarkedUp In-app Marketing Automation for Window...
Azure (15 posts)
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
.NET
Active Directory
DevOps
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
Managing Your Windows Azure Services from OS X, Linux, or Windows Using the Command Line Interface (CLI)
June 08, 2012
Node.js
A lot of exciting things were announced at today’s Meet Windows Azure event, and one of the things I wanted to share with you is how you can ...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 2: Setting Up Express and Session-Handling
April 17, 2012
Node.js
So if you read part 1 of this series, then you’ve had a chance to grok the requirements for our little chat service and see all of the NPM packages...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 1: Setting Up
April 16, 2012
Node.js
This past weekend I ran a Node Bootcamp on behalf of Microsoft and in partnership with the fine folks at Cloud9 IDE – the goal of these camps...
Building a Node + MongoDB Powered Blog on Windows Azure
February 12, 2012
MongoDB
Node.js
This is a simple blog engine that I wrote in about three days time. I wanted to show off the power of Node.JS on Windows Azure, and also take advan...
How to Use the Azure npm Package Locally without the Azure Compute Emulator
February 06, 2012
Node.js
One thing that is a little dicey about the Windows Azure SDK for Node [footnote:“azure” is the name of the associated npm package] is t...
Code Camp Talks: Intro to Node.JS and Building Web Apps with Express
February 03, 2012
Node.js
This past weekend at SoCal Code Camp I gave two presentations back-to-back on Node.JS: “Intro to Node.JS” and “Building Web Apps with Express.” I ...
How to Automatically Utilize Multicore Servers with Node on Windows Azure
January 17, 2012
Node.js
One major advantage of developing Node applications for Windows Azure is the ability to have your Node apps managed directly by IIS via iisnode. Y...
Troubleshooting “500 Internal Server Errors” in the Windows Azure Emulator when Working with Node.JS
January 14, 2012
Node.js
On my primary development machine, where I have tweaked and prodded IIS multiple times for many projects over the past couple of years, I get the f...
Node.JS on Windows Azure Part 1: Setting Up Your Environment
January 10, 2012
Node.js
Following Microsoft’s announcements regarding first-class Node.JS support on Windows Azure, I thought it would be helpful to walk newbie Node...
Node.JS on Windows Azure Part 2: Building a Basic Web Application with Node.JS on Azure
January 10, 2012
Node.js
In the last post in this series on working with Node.JS in Windows Azure I showed you how to set up your development environment for working with N...
Intro to Node.JS for .NET Developers
December 14, 2011
Node.js
Microsoft announced out-of-the-box support for Node.JS on Windows Azure on Tuesday; we pushed both an official Node.JS SDK for Windows Azure servic...
How to Modify Machine.config on Windows Azure Web Roles
December 02, 2011
Earlier this week I spent some time helping a company troubleshoot some performance issues with Windows Azure – their ASP.NET request queue was gro...
How to Migrate Data between On-Premise SQL Server 2008 R2 and SQL Azure Without Getting a Migraine
November 29, 2011
SQL Server
I love my job at Microsoft, but there are some times when we simply make it really damn hard for people to do business with us. Migrating data from...
Los Angeles Azure 101 Event - 12/16/2010
December 13, 2010
Microsoft
Just a quick post for any readers in the Southern California area who are interested in learning more about Windows Azure. My team is putting on an...
BlogEngine.NET (3 posts)
Upgraded to BlogEngine.NET 2.0, Updated Extensions
December 28, 2010
BlogEngine.NET 2.0 was released just before Thanksgiving this year, and it includes a bunch of major changes, the most noticeable of which is the d...
BlogEngine.NET Extension: Footnotes
July 07, 2010
I finished this extension up last night but I was reluctant to deploy it to my own blog given that there was a major flamewar in pro...
BlogEngine.NET Extension - Remind Your Readers to Subscribe to Your RSS Feed with SubscribeRemind
May 16, 2010
One of my favorite WordPress plugins dating all the way back to when I first started blogging is Subscribe-Remind (WordPress) - it simply appe...
C# (2 posts)
Creating a Custom ETW EventSource for Debugging High-Performance Code in C#
March 17, 2015
ETW
Helios
One of the things I’ve been working on for both Helios and Akka.NET is a custom ThreadPool implementation that allows us to isolate mission-critica...
The Right Way to do Equality in C#
February 04, 2015
Equality
One of the pitfalls of doing development in C#, Java, C++, or really any predominantly Object Oriented language (OOP) is how “equality” is defined.
C++ (1 posts)
Win32 Errors: How to Format GetLastError() Output into Readable Strings
November 13, 2013
Win32
I’ve been doing a moderate amount of native Win32 C++ programming over the past few weeks, and occasionally I’ve needed to set up some debug points...
Cassandra (3 posts)
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Hadoop
Hive
MarkedUp
Cassandra Summit Talk: Real Time Analytics with Cassandra, Hive, and Solr
July 18, 2013
Hadoop
I spoke at the Cassandra Summit this year about how we use Cassandra, Hive, and Solr in production at MarkedUp Analytics. Planet Cassandra recentl...
Migrating from RavenDB to Cassandra
February 20, 2013
RavenDB
Today on the MarkedUp Analytics Blog I authored a post entitled “Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack.” In it I explain ...
Conferences (1 posts)
Introducing Access to {AI} Conference, November 12-13 2015
September 11, 2015
AI
Consulting (1 posts)
Want me to work on your distributed .NET applications?
March 13, 2015
Petabridge
Cryptocurrency (2 posts)
Business to Business Services Are What Will Make Dogecoin Succeed
March 16, 2014
Following on from my previous post about the second / third generation cryptocurrencies advancing the start of the art, I’ve spent a lot of t...
Bitcoin Paved the Way, but it’s Not the Future of Cryptocurrency
March 01, 2014
Until recently, I was extremely skeptical of cryptocurrency in general. In the midst of the investment speculation and mania in late 2013, when the...
Del.icio.us (1 posts)
How to Query a User's del.icio.us Feed with RestSharp
June 14, 2010
.NET
I've been meaning to give RestSharp a go since I first started using Hammock in my startup project's codebase, just because I had heard some g...
DevOps (2 posts)
Continuous Deployment of Docker Compose Applications Using GitHub Actions
April 23, 2025
Docker
Tailscale
Intro
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
.NET
Active Directory
Azure
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
Docker (1 posts)
Continuous Deployment of Docker Compose Applications Using GitHub Actions
April 23, 2025
DevOps
Tailscale
Intro
ETW (1 posts)
Creating a Custom ETW EventSource for Debugging High-Performance Code in C#
March 17, 2015
C#
Helios
One of the things I’ve been working on for both Helios and Akka.NET is a custom ThreadPool implementation that allows us to isolate mission-critica...
Equality (1 posts)
The Right Way to do Equality in C#
February 04, 2015
C#
One of the pitfalls of doing development in C#, Java, C++, or really any predominantly Object Oriented language (OOP) is how “equality” is defined.
FsCheck (2 posts)
Writing Better Tests Than Humans Can Part 2: Model-based Tests with FsCheck in C#
August 30, 2016
.NET
Model-based Testing
This is the second post in a 3-part series on property-and-model based testing in FsCheck in C#.
Writing Better Tests Than Humans Can Part 1: FsCheck Property Tests in C#
August 22, 2016
.NET
Model-based Testing
This is the first post in a 3-part series on property-and-model based testing in FsCheck in C#.
General (21 posts)
On Generational Thinking
August 16, 2021
Life
Three weeks to the day my wife and I welcomed our daughter to the world and ascended to parenthood.
A Eulogy: the Tenacious Pursuit of Happiness
January 18, 2021
Life
On Tuesday, January 5th 2021 my grandfather, James Chester Roush, passed away in his retirement community in San Diego, California, peacefully in h...
It's Just Not a Big Deal
October 16, 2018
Life
In my professional life, I’ve actively conditioned myself to tolerate and accept risks when necessary. Risk tolerance is something that can be lear...
The High Price of Comfort
October 04, 2018
Life
Chief among the values prized by fellow millennials is comfort. It’s reflected in our more casual dress and our increasing preference for impersona...
What We Leave Behind
May 05, 2018
Life
It was roughly a year ago this week that I fled California in pursuit of greener economic pastures. I came to Texas an economic refugee; despite ru...
The Necessity of Systematic Thinking
October 20, 2017
Software Development
I spend a lot of my professional time training other software developers on how to build next-generation applications. Distributed and concurrent s...
In Response to a Letter from a Beginning Programmer
January 12, 2015
OSS
I received a heartfelt response from a new software developer in response to my “What Do You Need to Become an Elite Developer?” blog p...
You Succeed Once You Stop Giving a Shit
September 21, 2013
This post is about how to find success in any situation and draws entirely from my own experiences. Your mileage may vary. July was a rough month...
Being Right is Always the Wrong Choice
August 27, 2013
It was about four or five years ago that I had an intrinsic need to be “right” all the time.
I couldn’t let it go when someone m...
Brush the Dust Away
July 15, 2013
This post is about stress.
It's been nearly a year since I started MarkedUp Analytics, and we've come a long way - I've raised money, won the busi...
Seven Unproductive Habits of Startup Founders
August 24, 2012
Startups
Now that I’m running my own company and no longer speak on behalf of Microsoft or anyone else, I feel like I can speak a little bit more free...
Taking Risks Requires Practice
July 16, 2012
Startups
And patience. This is intended for people who recognize that a need to change themselves, their environment, or whatever and are having trouble get...
College: Four Years Later
July 11, 2012
This is intended for recent graduates who are finding themselves lost in the shuffle as they adjust to the real world, but has advice that is appli...
How to Do Business with Extremely Busy People
February 10, 2012
Big Picture
The bottom line when working with busy people is to preempt as much of the mental overhead of working with you as possible; all it rea...
Rise of the Popped Collar Programmer
November 19, 2011
I am frankly disturbed by a trend that I’ve seen both in-person and all over Hacker News / Reddit through the past year, and I am going to fi...
Powered by Microsoft
September 02, 2010
Microsoft
Startups
I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel...
My Talk at BarCamp San Diego: How to Create Applications People Love
July 11, 2010
I showed up at BarCamp7 this morning and saw that absolutely no presentations were up on the board whatsoever, so me being me I spent most of the d...
Lessons from Code Camp 2010
July 03, 2010
This time last weekend I was in the middle of the second session of Southern California Code Camp. Ever since I came to the realization that no man...
Programmer's Dilemma: Baby-Proofing vs. Giving Guns to Monkeys
June 22, 2010
One of my best friends from college once described a previous job in the financial industry as something akin to "giving guns to monkeys....
The State of Open Web APIs
May 28, 2010
I wanted to repost a presentation that I saw on Twitter yesterday which highlights some interesting trends in the state of open web APIs across the...
A New Year, a New Attitude
May 14, 2010
Hi,
After a couple of happy years blogging my forays into social media, Facebook application development, online marketing, and so forth on A...
Guides (1 posts)
The Beginner's Reference Guide to Startups
October 01, 2015
Startups
I was asked by a close friend earlier this week about whether or not I have any references, books, or recommended reading for anyone wanting to get...
Hadoop (2 posts)
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Cassandra
Hive
MarkedUp
Cassandra Summit Talk: Real Time Analytics with Cassandra, Hive, and Solr
July 18, 2013
Cassandra
I spoke at the Cassandra Summit this year about how we use Cassandra, Hive, and Solr in production at MarkedUp Analytics. Planet Cassandra recentl...
Helios (3 posts)
Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern
July 08, 2015
OSS
Sockets
Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keepi...
Helios 2.0 Development Diary 1 - Clean Slate
July 07, 2015
OSS
Sockets
To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and...
Creating a Custom ETW EventSource for Debugging High-Performance Code in C#
March 17, 2015
C#
ETW
One of the things I’ve been working on for both Helios and Akka.NET is a custom ThreadPool implementation that allows us to isolate mission-critica...
Hiring (4 posts)
Developers Who Can Build Things from Scratch
August 15, 2015
Software Development
There’s lots of different types of developers you’re going to need to work with over the span of your career in the software business, but the one ...
Live by “Fuck you, pay me;” Die by “Fuck you, pay me”
March 26, 2013
Software Development
Startups
I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up...
Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company
October 16, 2012
Software Development
Startups
I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should ...
Thoughts on Recruiting Developers at Early Stage Startups: Understanding the Job Market
September 23, 2012
Startups
Shortly after leaving Microsoft to work on MarkedUp full time, my founding team and I joined an early stage accelerator here in Santa Monica. We&rs...
Hive (1 posts)
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Cassandra
Hadoop
MarkedUp
JavaScript (1 posts)
Why Front-End Web Development Makes Me Sad, Issue #1092145
July 18, 2012
I have an internal reporting interface for one of my Windows Phone 7 applications that shows me more or less how much of the app is getting used ev...
Life (11 posts)
Leaning into Weakness
December 27, 2024
My management style has evolved a lot over the years, but one constant I’ve kept from the beginning is to coach the best possible performance out o...
Hate Your Own Work and Ship It Anyway
August 08, 2024
Product
Startups
When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the follow...
How to Distribute Roslyn Analyzers via NuGet
January 11, 2024
Product
Startups
Towards the end of 2023 I had some rare downtime and decided to use it to develop a new skill I’ve wanted to learn: leveraging .NET’s impressive Ro...
Internal vs. External Accountabilities
September 18, 2023
Product
Startups
One of the concepts that’s commonplace on software development Twitter / Reddit et al is the notion that management is ultimately responsible for e...
Why Self-Fulfilling Prophecies Come True
December 23, 2022
In the aftermath of the 2022 midterm elections in the United States many conservative leaders, disappointed with the election results, blamed their...
On Generational Thinking
August 16, 2021
General
Three weeks to the day my wife and I welcomed our daughter to the world and ascended to parenthood.
A Eulogy: the Tenacious Pursuit of Happiness
January 18, 2021
General
On Tuesday, January 5th 2021 my grandfather, James Chester Roush, passed away in his retirement community in San Diego, California, peacefully in h...
You Have to Have Skin in the Game
September 01, 2020
Product
Startups
Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particula...
It's Just Not a Big Deal
October 16, 2018
General
In my professional life, I’ve actively conditioned myself to tolerate and accept risks when necessary. Risk tolerance is something that can be lear...
The High Price of Comfort
October 04, 2018
General
Chief among the values prized by fellow millennials is comfort. It’s reflected in our more casual dress and our increasing preference for impersona...
What We Leave Behind
May 05, 2018
General
It was roughly a year ago this week that I fled California in pursuit of greener economic pastures. I came to Texas an economic refugee; despite ru...
MarkedUp (8 posts)
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 10, 2015
Akka.NET
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Cassandra
Hadoop
Hive
The Next Fork in the Road
December 27, 2014
Startups
I had several friends and advisors review this post prior to publishing it; most encouraged me to go forward with publishing it but others cautione...
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 24, 2014
.NET
Akka.NET
I published a lengthy post on MarkedUp’s blog yesterday about the new product we recently released, MarkedUp In-app Marketing Automation for Window...
New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers
October 18, 2012
Windows
Windows Phone
I haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) s...
What It Takes to Actually Ship a Piece of Commercial Software
October 05, 2012
Software Development
Last week our startup, MarkedUp, hit the first important milestone for an early stage technology: we shipped the first version of our analytics pro...
New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed
August 14, 2012
Microsoft
Windows
I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would re...
Today I am Leaving Microsoft and Starting my Own Company
August 10, 2012
Microsoft
Startups
I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.
Microsoft recruited me off of Hacker News two ...
Mars (1 posts)
On a Mission to Mars
March 24, 2015
This weekend I went through the Landmark Forum and had to confront a big secret that I’ve been keeping hidden for virtually my entire life: the tru...
Microsoft (6 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
.NET
NuGet
OSS
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed
August 14, 2012
MarkedUp
Windows
I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would re...
Today I am Leaving Microsoft and Starting my Own Company
August 10, 2012
MarkedUp
Startups
I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.
Microsoft recruited me off of Hacker News two ...
Los Angeles Azure 101 Event - 12/16/2010
December 13, 2010
Azure
Just a quick post for any readers in the Southern California area who are interested in learning more about Windows Azure. My team is putting on an...
Quick Interview about BizSpark at DEMO 2010
September 14, 2010
Startups
I'm attending DEMO 2010 this week up in (somewhat) sunny Santa Clara, and during the early parts of last night's social media lounge event some mem...
Powered by Microsoft
September 02, 2010
General
Startups
I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel...
Model-based Testing (2 posts)
Writing Better Tests Than Humans Can Part 2: Model-based Tests with FsCheck in C#
August 30, 2016
.NET
FsCheck
This is the second post in a 3-part series on property-and-model based testing in FsCheck in C#.
Writing Better Tests Than Humans Can Part 1: FsCheck Property Tests in C#
August 22, 2016
.NET
FsCheck
This is the first post in a 3-part series on property-and-model based testing in FsCheck in C#.
MongoDB (4 posts)
Code Camp Talk: RavenDB vs MongoDB
June 27, 2012
RavenDB
This past weekend at SoCal Code Camp I presented a session along with my friend Nuri Halperin entitled “Battle of the NoSQL Databases: RavenD...
Building a Node + MongoDB Powered Blog on Windows Azure
February 12, 2012
Azure
Node.js
This is a simple blog engine that I wrote in about three days time. I wanted to show off the power of Node.JS on Windows Azure, and also take advan...
MongoDB vs. SQL Server 2008: A .NET Developer’s Perspective
June 30, 2011
ASP.NET
SQL Server
One of the first projects I put together this year was Captain Obvious, a nifty little application that runs off of AppHarbor and ASP.NET MVC3. Wha...
How I Built CaptainObvio.us
June 21, 2011
.NET
ASP.NET
I made a tiny splash on Hacker News a month ago when I asked for feedback on my newest side project, CaptainObvio.us – a simple portal for sh...
NBench (1 posts)
Introducing NBench - an Automated Performance Testing Framework for .NET Applications
December 28, 2015
Performance
I originally posted this to the Petabridge blog earlier today. See the original here.
NHibernate (2 posts)
Fluent NHibernate: How to Create Bidirectional Many-to-Many Relationships with Additional Attributes on Relationship Table
December 24, 2010
Suppose you have a relationship that looks like this in your database:
This is a common use-case. In this instance, I wanted to be able to create ...
How to Make it Easy for New Developers to Adopt Your Open Source Project
December 04, 2010
OSS
James Gregory is one of my heroes in the .NET community – he’s the creator of Fluent NHibernate, my favorite new ORM (Object-Relational...
Node.js (12 posts)
Instant File Server: turn any directory into a webserver with a simple command
August 14, 2013
OSS
Our engineering team has been neck-deep in configuration hell lately. Editing 2000-line Solr configuration files, trying to get Apache Oozie integr...
Managing Your Windows Azure Services from OS X, Linux, or Windows Using the Command Line Interface (CLI)
June 08, 2012
Azure
A lot of exciting things were announced at today’s Meet Windows Azure event, and one of the things I wanted to share with you is how you can ...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 2: Setting Up Express and Session-Handling
April 17, 2012
Azure
So if you read part 1 of this series, then you’ve had a chance to grok the requirements for our little chat service and see all of the NPM packages...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 1: Setting Up
April 16, 2012
Azure
This past weekend I ran a Node Bootcamp on behalf of Microsoft and in partnership with the fine folks at Cloud9 IDE – the goal of these camps...
Building a Node + MongoDB Powered Blog on Windows Azure
February 12, 2012
Azure
MongoDB
This is a simple blog engine that I wrote in about three days time. I wanted to show off the power of Node.JS on Windows Azure, and also take advan...
How to Use the Azure npm Package Locally without the Azure Compute Emulator
February 06, 2012
Azure
One thing that is a little dicey about the Windows Azure SDK for Node [footnote:“azure” is the name of the associated npm package] is t...
Code Camp Talks: Intro to Node.JS and Building Web Apps with Express
February 03, 2012
Azure
This past weekend at SoCal Code Camp I gave two presentations back-to-back on Node.JS: “Intro to Node.JS” and “Building Web Apps with Express.” I ...
How to Automatically Utilize Multicore Servers with Node on Windows Azure
January 17, 2012
Azure
One major advantage of developing Node applications for Windows Azure is the ability to have your Node apps managed directly by IIS via iisnode. Y...
Troubleshooting “500 Internal Server Errors” in the Windows Azure Emulator when Working with Node.JS
January 14, 2012
Azure
On my primary development machine, where I have tweaked and prodded IIS multiple times for many projects over the past couple of years, I get the f...
Node.JS on Windows Azure Part 1: Setting Up Your Environment
January 10, 2012
Azure
Following Microsoft’s announcements regarding first-class Node.JS support on Windows Azure, I thought it would be helpful to walk newbie Node...
Node.JS on Windows Azure Part 2: Building a Basic Web Application with Node.JS on Azure
January 10, 2012
Azure
In the last post in this series on working with Node.JS in Windows Azure I showed you how to set up your development environment for working with N...
Intro to Node.JS for .NET Developers
December 14, 2011
Azure
Microsoft announced out-of-the-box support for Node.JS on Windows Azure on Tuesday; we pushed both an official Node.JS SDK for Windows Azure servic...
NuGet (1 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
.NET
Microsoft
OSS
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
OSS (28 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
.NET
Microsoft
NuGet
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
.NET OSS Projects: Better to Re-license or Die?
January 18, 2025
.NET
This week FluentAssertions, a popular open source library designed to make it easier to write assertions during unit testing, changed its license f...
.NET Developers Begging for Ecosystem Destruction
March 18, 2024
.NET
An ASP.NET GitHub thread entitled “Epic: Eventing Framework in .NET 9” ignited an inferno of criticism for the usual reasons: Microsoft big-footing...
We're Rewriting Sdkbin
August 10, 2023
.NET
Sdkbin
In light of the recent drama with the Moq project’s decision to try to solicit donations through the use of SponsorLink, I’ve decided to share some...
Professional Open Source: Extend-Only Design
December 27, 2021
This post marks the third one I’ve written this year about versioning problems in open source software development, although they apply to anyone w...
The Future of the .NET Foundation and .NET OSS
October 12, 2021
.NET
.NET Open Source: What Happens When the Free Lunch Ends?
June 03, 2021
.NET
It’s a Thursday, which means: .NET open source drama.
Practical vs. Strict Semantic Versioning
May 31, 2021
In my last post I went into detail on maintaining API, binary, and wire compatibility for open source projects and why that’s a nececssary ingredie...
Professional Open Source: Maintaining API, Binary, and Wire Compatibility
May 04, 2021
We’re in the process of defining some community standards for Akka.NET, part of which is expanding and modernizing our contributor guidelines to he...
Sdkbin February 2021 Update: Revenue, Results, and Roadmap
February 10, 2021
.NET
Sdkbin
We launched Sdkbin, our NuGet meets App Store marketplace for .NET developers on September 30th 2020, but with an important limitation: that Petabr...
How to Play Software as a Team Sport
December 29, 2020
Software Development
I’ve written before about how to start contributing to OSS and I wrote for the Petabridge blog about “How to Use Github Professionally” - both of t...
Introducing Sdkbin - The Marketplace for Software Developers
June 15, 2020
.NET
Sdkbin
The New Rules for Playing in Microsoft's Open Source Sandbox
June 03, 2020
.NET
Software Development
Here we go again. “The Day AppGet Died” - the short version: OSS developer fills a hole in the Windows ecosystem, Microsoft offers him a job to wor...
How to Build Sustainable Open Source Software Projects
January 30, 2020
.NET
Software Development
In my last post about “The Next Decade of .NET Open Source” I alluded to a future blog post about open source sustainability. This is it.
The Next Decade of .NET Open Source
January 23, 2020
.NET
Software Development
Over the past week there’s been a ton of chatter about the state of the .NET ecosystem and, more specifically, as to whether or not its OSS ecosyst...
Broken Windows: How Bad Software Releases Happen to Good Teams
December 30, 2015
Software Development
One of my primary responsibilities with the Akka.NET project is release manager - I put together the release notes, press the big green button when...
Akka.NET Request for Contributors: Akka.Cluster
July 28, 2015
Akka.NET
Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern
July 08, 2015
Helios
Sockets
Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keepi...
Helios 2.0 Development Diary 1 - Clean Slate
July 07, 2015
Helios
Sockets
To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and...
How to Start Contributing to Open Source Software
April 24, 2015
.NET
.NET Fringe
The Petabridge team (all two of us) just wrapped up a big two weeks. We launched Akka.NET V1.0 and then traveled to Portland to talk about .NET ope...
Akka.NET - One Year Later
January 20, 2015
Akka.NET
Petabridge
Startups
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
Akka.NET
Petabridge
Startups
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
In Response to a Letter from a Beginning Programmer
January 12, 2015
General
I received a heartfelt response from a new software developer in response to my “What Do You Need to Become an Elite Developer?” blog p...
Tradeoffs in High Performance Software
July 15, 2014
.NET
I’ve spent down the past week tracking down an absolutely brutal bug inside Akka.NET. Sometimes the CPU utilization of the system will random...
The Profound Weakness of the .NET OSS Ecosystem
July 03, 2014
.NET
I’m in the process of writing up a lengthy set of blog posts for MarkedUp about the work that went into developing MarkedUp In-app Marketing,...
Instant File Server: turn any directory into a webserver with a simple command
August 14, 2013
Node.js
Our engineering team has been neck-deep in configuration hell lately. Editing 2000-line Solr configuration files, trying to get Apache Oozie integr...
New Open Source Project: MVC.Utilities
August 14, 2011
ASP.NET
I announced this on Twitter late last week, but I open-sourced a number of common helpers and service interfaces that I use throughout all of my pr...
How to Make it Easy for New Developers to Adopt Your Open Source Project
December 04, 2010
NHibernate
James Gregory is one of my heroes in the .NET community – he’s the creator of Fluent NHibernate, my favorite new ORM (Object-Relational...
OpenTelemetry (1 posts)
An Overview of Distributed Tracing with OpenTelemetry in .NET 6
December 21, 2021
.NET
I’ve given multiple talks and written posts about distributed tracing, a still relatively novel concept in the field of application performance mon...
Performance (1 posts)
Introducing NBench - an Automated Performance Testing Framework for .NET Applications
December 28, 2015
NBench
I originally posted this to the Petabridge blog earlier today. See the original here.
Petabridge (3 posts)
Want me to work on your distributed .NET applications?
March 13, 2015
Consulting
Akka.NET - One Year Later
January 20, 2015
Akka.NET
OSS
Startups
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
Akka.NET
OSS
Startups
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
Podcasts (1 posts)
Talking about Akka.NET and the Actor Model on Hanselminutes and .NET Rocks
May 07, 2015
Akka.NET
I’ve done a bit of a “press tour” for Akka.NET since we released Akka.NET v1.0 at the beginning of April and I wanted to share a couple of the inte...
Product (4 posts)
Hate Your Own Work and Ship It Anyway
August 08, 2024
Life
Startups
When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the follow...
How to Distribute Roslyn Analyzers via NuGet
January 11, 2024
Life
Startups
Towards the end of 2023 I had some rare downtime and decided to use it to develop a new skill I’ve wanted to learn: leveraging .NET’s impressive Ro...
Internal vs. External Accountabilities
September 18, 2023
Life
Startups
One of the concepts that’s commonplace on software development Twitter / Reddit et al is the notion that management is ultimately responsible for e...
You Have to Have Skin in the Game
September 01, 2020
Life
Startups
Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particula...
Python (2 posts)
How to Setup a Proper Python Environment on Windows
August 17, 2012
One of the things we have to do at MarkedUp on a routine basis is test the live HTTP endpoints for our data collection APIs, and some of the data s...
Project Scaffolding for Python
December 18, 2011
Over the summer I went through Zed Shaw’s Learn Python the Hard Way in an effort to broaden my horizons and start learning languages beyond C...
QDFeedParser (4 posts)
Quick and Dirty Feed Parser 1.0 Released!
January 20, 2011
Without further adieu, it’s my pleasure to announce that the full 1.0 release of Quick and Dirty Feed Parser is now available to download on ...
How to Make Any Operation Asynchronous in .NET
January 03, 2011
.NET
I’m in the middle of writing some updates to Quick and Dirty Feed Parser for use in a new personal project of mine; namely, I need to make QD...
Quick and Dirty Feed Parser 0.3 Now Available
December 25, 2010
My Christmas gift to the developer community: Quick and Dirty Feed Parser 0.3 is now available on CodePlex!
The big feature added in this release ...
Announcing the Release of Quick and Dirty Feed Parser
July 01, 2010
.NET
Alternate headline: "never see XML again."
Ok, that may be a bit of a stretch. Regardless, I'm quite pleased to announce the launch of Quick and D...
RavenDB (2 posts)
Migrating from RavenDB to Cassandra
February 20, 2013
Cassandra
Today on the MarkedUp Analytics Blog I authored a post entitled “Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack.” In it I explain ...
Code Camp Talk: RavenDB vs MongoDB
June 27, 2012
MongoDB
This past weekend at SoCal Code Camp I presented a session along with my friend Nuri Halperin entitled “Battle of the NoSQL Databases: RavenD...
SQL Server (2 posts)
How to Migrate Data between On-Premise SQL Server 2008 R2 and SQL Azure Without Getting a Migraine
November 29, 2011
Azure
I love my job at Microsoft, but there are some times when we simply make it really damn hard for people to do business with us. Migrating data from...
MongoDB vs. SQL Server 2008: A .NET Developer’s Perspective
June 30, 2011
ASP.NET
MongoDB
One of the first projects I put together this year was Captain Obvious, a nifty little application that runs off of AppHarbor and ASP.NET MVC3. Wha...
Scalability (1 posts)
Scalability Lessons we can Learn from Voat
June 11, 2015
Voat
Sdkbin (3 posts)
We're Rewriting Sdkbin
August 10, 2023
.NET
OSS
In light of the recent drama with the Moq project’s decision to try to solicit donations through the use of SponsorLink, I’ve decided to share some...
Sdkbin February 2021 Update: Revenue, Results, and Roadmap
February 10, 2021
.NET
OSS
We launched Sdkbin, our NuGet meets App Store marketplace for .NET developers on September 30th 2020, but with an important limitation: that Petabr...
Introducing Sdkbin - The Marketplace for Software Developers
June 15, 2020
.NET
OSS
Silverlight (5 posts)
6 Really Useful Windows Phone 7 Articles
January 12, 2011
Windows Phone
I’m in the midst of working on a line of related Windows Phone 7 MVVM Light applications which are all built on the upcoming release of Quick...
MVVM Light Toolkit Pitfalls on Windows Phone 7 and How to Avoid Them
September 26, 2010
Windows Phone
I’ve been leaning heavily on Laurent Bugnion’s MVVM Light Toolkit framework in the course of learning Windows Phone 7[footnote:If you'...
MVVM Light Toolkit Example on Windows Phone 7: Twitter Search
September 21, 2010
Windows Phone
I wrote this example in conjunction with the lightning talk I gave at SHDH #40 on MVVM for Noobs, and I thought that developers who are new to deve...
SuperHappyDevHouse Lightning Talk: MVVM for Noobs
September 18, 2010
Windows Phone
I'm at Microsoft's Silicon Valley Campus this weekend where we're hosting SuperHappyDevHouse #40 - I'm going to be giving a lightning talk on MVVM ...
10 Harder-to-find-than-they-should-be Answers for Silverlight Beginners
August 05, 2010
I’ve been teaching myself WPF / Silverlight as part of my next big project at StannardLabs: a line of trivia games for WinMo7 / Android / iOS...
SlideShare (2 posts)
Frustration Central: Parsing the DateTime Values from the SlideShare REST API
June 02, 2010
.NET
I feel a little bad about posting this given that Jon Boutelle, the CTO of SlideShare, already admitted that this portion of the SlideShare 2.0 RES...
Making Basic Requests Against the SlideShare API Using HammockREST
May 27, 2010
The project I'm currently working on involves numerous REST APIs from a multitude of very different services. In my initial prototype, which I've s...
Sockets (2 posts)
Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern
July 08, 2015
Helios
OSS
Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keepi...
Helios 2.0 Development Diary 1 - Clean Slate
July 07, 2015
Helios
OSS
To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and...
Software (1 posts)
DRY Gone Bad: Bespoke Company Frameworks
March 08, 2023
Startups
There are some software development best practices out there that are universally and unambiguously true outside of any specific business context -...
Software Development (21 posts)
Software Falsehoods: you can build it cheap, fast, and good - pick two
March 08, 2025
Startups
“You can build it cheap, fast, and good - pick two” is how the saying goes, referring to the inherent trade-offs in software development priorities...
Frameworkism: Senior Software Developers' Pit of Doom
December 04, 2024
.NET
Startups
If you follow me on Twitter / X, you have likely seen several increasingly exasperated tweets from me about a legacy software project from hell. Th...
Has Ruby-on-Rails-Style 'Gem Glue-Gunning' Come to .NET?
October 25, 2024
.NET
Startups
In this post we’re going to travel back in time to 2010 - a happier, simpler time for early-stage startup software developers. When Heroku was free...
Noticing Skill Issues is Not Gatekeeping
May 30, 2024
I recently waded into the waters of an intentionally obtuse piece of engagement bait on .NET Twitter, mostly because I thought it was funny:
How to Play Software as a Team Sport
December 29, 2020
OSS
I’ve written before about how to start contributing to OSS and I wrote for the Petabridge blog about “How to Use Github Professionally” - both of t...
The New Rules for Playing in Microsoft's Open Source Sandbox
June 03, 2020
.NET
OSS
Here we go again. “The Day AppGet Died” - the short version: OSS developer fills a hole in the Windows ecosystem, Microsoft offers him a job to wor...
How to Build Sustainable Open Source Software Projects
January 30, 2020
.NET
OSS
In my last post about “The Next Decade of .NET Open Source” I alluded to a future blog post about open source sustainability. This is it.
The Next Decade of .NET Open Source
January 23, 2020
.NET
OSS
Over the past week there’s been a ton of chatter about the state of the .NET ecosystem and, more specifically, as to whether or not its OSS ecosyst...
Problems and Solutions with the .NET Foundation Maturity Ladder
September 28, 2019
.NET
This is largely the text of an issue I posted related to the .NET Foundation’s new proposed Maturity Ladder for .NET OSS projects. I am fully suppo...
The Necessity of Systematic Thinking
October 20, 2017
General
I spend a lot of my professional time training other software developers on how to build next-generation applications. Distributed and concurrent s...
Introducing the New .NET Stack
April 07, 2016
.NET
I’ve been a .NET developer for roughly 10 years now - since the summer after my freshman year in college in 2005 I’ve been developing in Visual Stu...
Broken Windows: How Bad Software Releases Happen to Good Teams
December 30, 2015
OSS
One of my primary responsibilities with the Akka.NET project is release manager - I put together the release notes, press the big green button when...
Developers Who Can Build Things from Scratch
August 15, 2015
Hiring
There’s lots of different types of developers you’re going to need to work with over the span of your career in the software business, but the one ...
The Taxonomy of Terrible Programmers
December 19, 2013
The MarkedUp Analytics team had some fun over the past couple of weeks sharing horror stories about software atrocities and the real-life inspirati...
What Do You Need to Become an Elite Developer?
June 02, 2013
.NET
MarkedUp Analytics’s customers are developers and so are most of the people who work at the company, so I spend a lot of time thinking about ...
How to Learn a New Programming Skill
May 08, 2013
Startups
I was really surprised with the positive reception 10 Reasons Why You’re Failing to Realize Your Potential as a Developer received after...
Live by “Fuck you, pay me;” Die by “Fuck you, pay me”
March 26, 2013
Hiring
Startups
I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up...
10 Reasons Why You’re Failing to Realize Your Potential as a Developer
February 06, 2013
Since going full-time on my own startup 6 months ago, I’ve spent a lot of my time recruiting, evaluating, and working with a lot of different...
Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company
October 16, 2012
Hiring
Startups
I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should ...
What It Takes to Actually Ship a Piece of Commercial Software
October 05, 2012
MarkedUp
Last week our startup, MarkedUp, hit the first important milestone for an early stage technology: we shipped the first version of our analytics pro...
Software Engineering Priorities for Early Stage Companies: Put the Team First
September 06, 2012
Team first. Earlier this week I made a pilgrimage up to the Bay Area to visit some mentors – I came seeking advice from entrepreneurs who’ve don...
Startups (37 posts)
There Has Never Been a Better Time to be a Junior Developer - And It Won't Last Forever
August 22, 2025
AI
Everyone in tech is convinced that AI will eliminate junior developers first. “Why hire a junior when AI can write code?” they ask. The prevailing ...
The Future of AI Belongs to Experienced Operators with Good Taste
March 27, 2025
AI
I have a lot of respect for Geoffrey Huntley. So when I read his blog posts about AI over the past couple of months: “Dear Student: Yes, AI is here...
Software Falsehoods: you can build it cheap, fast, and good - pick two
March 08, 2025
Software Development
“You can build it cheap, fast, and good - pick two” is how the saying goes, referring to the inherent trade-offs in software development priorities...
Lessons Learned Over 10 Years of Bootstrapping Petabridge
January 08, 2025
As of Monday this week, my company Petabridge turns 10 years old. I’ve been my own boss for longer, but my tenure at Petabridge is nearly 5x my ten...
Frameworkism: Senior Software Developers' Pit of Doom
December 04, 2024
.NET
Software Development
If you follow me on Twitter / X, you have likely seen several increasingly exasperated tweets from me about a legacy software project from hell. Th...
Has Ruby-on-Rails-Style 'Gem Glue-Gunning' Come to .NET?
October 25, 2024
.NET
Software Development
In this post we’re going to travel back in time to 2010 - a happier, simpler time for early-stage startup software developers. When Heroku was free...
Hate Your Own Work and Ship It Anyway
August 08, 2024
Life
Product
When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the follow...
How to Distribute Roslyn Analyzers via NuGet
January 11, 2024
Life
Product
Towards the end of 2023 I had some rare downtime and decided to use it to develop a new skill I’ve wanted to learn: leveraging .NET’s impressive Ro...
Internal vs. External Accountabilities
September 18, 2023
Life
Product
One of the concepts that’s commonplace on software development Twitter / Reddit et al is the notion that management is ultimately responsible for e...
DRY Gone Bad: Bespoke Company Frameworks
March 08, 2023
Software
There are some software development best practices out there that are universally and unambiguously true outside of any specific business context -...
Beware the Long 'YAGNI'
December 06, 2022
One of my favorite regularly occurring Twitter arguments is over what should be a simple and uncontroversial question: have you ever had to migrate...
Reflections on a Decade of Self-Employment
August 17, 2022
Ten years ago on August 10th, 2012 I wrote “Today I am Leaving Microsoft and Starting my Own Company” and cap-stoned my final day of working for so...
You Have to Have Skin in the Game
September 01, 2020
Life
Product
Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particula...
The Beginner's Reference Guide to Startups
October 01, 2015
Guides
I was asked by a close friend earlier this week about whether or not I have any references, books, or recommended reading for anyone wanting to get...
Akka.NET - One Year Later
January 20, 2015
Akka.NET
OSS
Petabridge
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
Akka.NET
OSS
Petabridge
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
The Next Fork in the Road
December 27, 2014
MarkedUp
I had several friends and advisors review this post prior to publishing it; most encouraged me to go forward with publishing it but others cautione...
How to Learn a New Programming Skill
May 08, 2013
Software Development
I was really surprised with the positive reception 10 Reasons Why You’re Failing to Realize Your Potential as a Developer received after...
Live by “Fuck you, pay me;” Die by “Fuck you, pay me”
March 26, 2013
Hiring
Software Development
I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up...
Be Your Own Measuring Stick
December 03, 2012
Today was one of those days when it was nearly 1pm before I was free to sit down and make my daily to-do list. There was water damage in my apartme...
Get a Grip
November 21, 2012
My regular source of entrepreneurial catharsis is watching Deadliest Catch.
If you've never seen it, it's a Discovery Channel show that follows fou...
Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company
October 16, 2012
Hiring
Software Development
I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should ...
Thoughts on Recruiting Developers at Early Stage Startups: Understanding the Job Market
September 23, 2012
Hiring
Shortly after leaving Microsoft to work on MarkedUp full time, my founding team and I joined an early stage accelerator here in Santa Monica. We&rs...
Seven Unproductive Habits of Startup Founders
August 24, 2012
General
Now that I’m running my own company and no longer speak on behalf of Microsoft or anyone else, I feel like I can speak a little bit more free...
Today I am Leaving Microsoft and Starting my Own Company
August 10, 2012
MarkedUp
Microsoft
I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.
Microsoft recruited me off of Hacker News two ...
Taking Risks Requires Practice
July 16, 2012
General
And patience. This is intended for people who recognize that a need to change themselves, their environment, or whatever and are having trouble get...
How to Recruit a Technical Co-Founder for Your Startup
August 03, 2011
The LA startup scene is fascinating, having lived and worked in it for a year now - it's a scene teeming with brillaint people with big ideas, and ...
Announcing XAPFest – A Massive Windows Phone 7 Hackathon in Santa Monica, CA on June 4th 2011
May 24, 2011
Windows Phone
I am pleased to announce something very exciting that Microsoft is doing in my neighborhood of Santa Monica, California: we’re putting togeth...
8 Lessons Learned from Startup Weekend
March 19, 2011
I wanted to post this the morning after Startup Weekend Los Angeles concluded in late February, but due to the fact that I along with half my team ...
What Drives a Startup Founder?
January 18, 2011
I’ve been working on numerous projects since the year began, and on Sunday night I finally got around to watching The Social Network. My...
Getting Started with AppHarbor – Heroku for .NET
January 14, 2011
ASP.NET
I’ve a lot of friends who are proficient Rails developers, many of whom who have left .NET for Rails.
The one piece of consistent feedback th...
Quick Interview about BizSpark at DEMO 2010
September 14, 2010
Microsoft
I'm attending DEMO 2010 this week up in (somewhat) sunny Santa Clara, and during the early parts of last night's social media lounge event some mem...
Powered by Microsoft
September 02, 2010
General
Microsoft
I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel...
How to Attract Ambitious Employees to Your Company
August 16, 2010
Today was my last official day at SmartDraw – I’ve worked for this great company for two years and saying all of my goodbyes was bitter...
.NET Culture Shock: Why .NET Adoption Lags Among Startups
July 03, 2010
.NET
One of the other things I took away from Code Camp was a bit of .NET culture shock. As you can tell by glimpsing around on this blog, I am somewhat...
Learning When It's Time to Walk Away from a Project
June 25, 2010
I wanted to take the time to follow up on some of the additional lessons I learned from my May startup project, some of which I already shared in T...
The Myth of the Single-Person Startup
June 13, 2010
During the month of May, 2010 I took an unpaid leave of absence from work for the entire month and set off to launch my own web-based startup comp...
Tailscale (1 posts)
Continuous Deployment of Docker Compose Applications Using GitHub Actions
April 23, 2025
DevOps
Docker
Intro
Visual Studio (2 posts)
How to Configure Visual Studio to Use SourceLink to Step into NuGet Package Source
January 24, 2020
.NET
I love SourceLink - it’s fast becoming a standard practice to include SourceLink support in all open source NuGet packages in order to make them ea...
Visual Studio ProTip: Copying Binaries on Pre and Post-Build Macros
July 20, 2015
Last year I had to spend a fair amount of time working on C and C++ projects in Visual Studio 2013, and one of the tasks that I had to learn how to...
Voat (1 posts)
Scalability Lessons we can Learn from Voat
June 11, 2015
Scalability
WCF (1 posts)
How to Use Dependency Injection (Ninject) with WCF Services
August 16, 2011
.NET
I spent a lot of time late last week trying to figure out exactly how to set up dependency injection for a WCF service I was developing on Windows ...
Win32 (1 posts)
Win32 Errors: How to Format GetLastError() Output into Readable Strings
November 13, 2013
C++
I’ve been doing a moderate amount of native Win32 C++ programming over the past few weeks, and occasionally I’ve needed to set up some debug points...
Windows (3 posts)
5 Key Themes from Microsoft on the Future of Windows and WinRT from the //BUILD Keynote
October 30, 2012
Windows Phone
I posted this originally on The MarkedUp Analytics Blog, going to put an excerpt here and then link you to the original post. 1. “Microsoft can on...
New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers
October 18, 2012
MarkedUp
Windows Phone
I haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) s...
New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed
August 14, 2012
MarkedUp
Microsoft
I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would re...
Windows Phone (12 posts)
5 Key Themes from Microsoft on the Future of Windows and WinRT from the //BUILD Keynote
October 30, 2012
Windows
I posted this originally on The MarkedUp Analytics Blog, going to put an excerpt here and then link you to the original post. 1. “Microsoft can on...
New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers
October 18, 2012
MarkedUp
Windows
I haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) s...
New Windows Phone 7 App: Lolcats Professional Pro Plus
December 22, 2011
In addition to my regular work for Microsoft and the open source projects I create and contribute to on Github, I also like to ship the occasional ...
Announcing XAPFest – A Massive Windows Phone 7 Hackathon in Santa Monica, CA on June 4th 2011
May 24, 2011
Startups
I am pleased to announce something very exciting that Microsoft is doing in my neighborhood of Santa Monica, California: we’re putting togeth...
Geolocation Services and Bing Maps in Windows Phone 7
April 26, 2011
Tonight I gave a brief talk to WinMo LA about using Geolocation Services and Bing Maps on Windows Phone 7. I mostly covered the APIs and controls t...
Having Network Connectivity Issues with the Windows Phone 7 Emulator?
April 08, 2011
I spent about three hours banging my head against the wall trying to figure out why my browser could connect to the Internet but the Windows Phone ...
6 Really Useful Windows Phone 7 Articles
January 12, 2011
Silverlight
I’m in the midst of working on a line of related Windows Phone 7 MVVM Light applications which are all built on the upcoming release of Quick...
Where Are My Windows Phone 7 Icons?
December 07, 2010
This is a quick post, but for anybody who isn’t using Expression Blend (which automatically puts all of the Windows Phone 7 icons for you in a dro...
Consuming REST in .NET
November 05, 2010
.NET
I gave a talk at Code Camp Los Angeles a couple of weekends ago on how to consume REST APIs in .NET – the emphasis was really on understanding REST...
MVVM Light Toolkit Pitfalls on Windows Phone 7 and How to Avoid Them
September 26, 2010
Silverlight
I’ve been leaning heavily on Laurent Bugnion’s MVVM Light Toolkit framework in the course of learning Windows Phone 7[footnote:If you'...
MVVM Light Toolkit Example on Windows Phone 7: Twitter Search
September 21, 2010
Silverlight
I wrote this example in conjunction with the lightning talk I gave at SHDH #40 on MVVM for Noobs, and I thought that developers who are new to deve...
SuperHappyDevHouse Lightning Talk: MVVM for Noobs
September 18, 2010
Silverlight
I'm at Microsoft's Silicon Valley Campus this weekend where we're hosting SuperHappyDevHouse #40 - I'm going to be giving a lightning talk on MVVM ...
YouTube (1 posts)
Discussion: How to Use RestSharp / Hammock to Automatically Parse the YouTube Response Format into POCO Objects
June 09, 2010
.NET
If you've been following me on Twitter over the past couple of weeks, you might have noticed that I've been a little frustrated with the YouTube GD...
</div>
</div>
June 07, 2010
I recently developed a self-sorted IList implementation for a project and I needed some automated way to unit test it - so naturally, the best way ...
</article>
Frustration Central: Parsing the DateTime Values from the SlideShare REST API
June 02, 2010
SlideShare
I feel a little bad about posting this given that Jon Boutelle, the CTO of SlideShare, already admitted that this portion of the SlideShare 2.0 RES...
How to Use the Microsoft Enterprise Library Validation Application Block, Part 1
May 24, 2010
All user input is evil, and you know it. Since the inception of .NET, ASP.NET developers have had access to the ASP.NET Validators Control Library,...
How to Test Regular Expressions in .NET without Giving Yourself Migraines
May 17, 2010
I write a lot of parse-heavy applications, so naturally I spend a fair amount of my development time writing and testing regular expressions. Regul...
Popular .NET Libraries
May 14, 2010
I added a page a list of the .NET client libraries I use in my production and development code. Some of these, like NUnit and NLog, are pretty well...
.NET Core (3 posts)
The Coming .NET Renaissance
June 01, 2017
.NET
There’s been ample grumbling about various changes in the .NET ecosystem of late, but I’m more excited about .NET than ever.
.NET Core is Probably Fine
May 13, 2017
.NET
So, BUILD 2017 has come and gone and lots of new exciting updates have been announced or made available for preview in .NET-land, most notably the ...
.NET Core is Boiling the Ocean
May 26, 2016
.NET
I get asked regularly in the Akka.NET Gitter Chat and elsewhere about “when will Akka.NET support .NET Core?”
.NET Fringe (1 posts)
How to Start Contributing to Open Source Software
April 24, 2015
.NET
OSS
The Petabridge team (all two of us) just wrapped up a big two weeks. We launched Akka.NET V1.0 and then traveled to Portland to talk about .NET ope...
AI (3 posts)
There Has Never Been a Better Time to be a Junior Developer - And It Won't Last Forever
August 22, 2025
Startups
Everyone in tech is convinced that AI will eliminate junior developers first. “Why hire a junior when AI can write code?” they ask. The prevailing ...
The Future of AI Belongs to Experienced Operators with Good Taste
March 27, 2025
Startups
I have a lot of respect for Geoffrey Huntley. So when I read his blog posts about AI over the past couple of months: “Dear Student: Yes, AI is here...
Introducing Access to {AI} Conference, November 12-13 2015
September 11, 2015
Conferences
ASP.NET (11 posts)
ASP.NET MVC4 Gotcha: Embedded Views and Razor Pre-Compilation
September 05, 2012
In the course of some of our work on MarkedUp, we discovered an interesting gotcha with MVC4, embedded views, and ASP.NET pre-compilation. A littl...
New Open Source Project: MVC.Utilities
August 14, 2011
OSS
I announced this on Twitter late last week, but I open-sourced a number of common helpers and service interfaces that I use throughout all of my pr...
MongoDB vs. SQL Server 2008: A .NET Developer’s Perspective
June 30, 2011
MongoDB
SQL Server
One of the first projects I put together this year was Captain Obvious, a nifty little application that runs off of AppHarbor and ASP.NET MVC3. Wha...
How to Securely Verify and Validate Image Uploads in ASP.NET and ASP.NET MVC
June 24, 2011
.NET
One of the more interesting things I had to do as part of building XAPFest was handle bulk image uploads for screenshots for applications and user ...
How I Built CaptainObvio.us
June 21, 2011
.NET
MongoDB
I made a tiny splash on Hacker News a month ago when I asked for feedback on my newest side project, CaptainObvio.us – a simple portal for sh...
How to Create a Twitter @Anywhere ActionFilter in ASP.NET MVC
March 27, 2011
.NET
My newest project, Captain Obvious, got a fair amount of attention this week when it landed on the front page of Hacker News – one of the key featu...
ASP.NET MVC3 / Razor: How to Get Just the Uri for an Action Method
March 16, 2011
I normally wouldn’t post something this small to my blog, but this issue bothered me so much when I was working on some Twitter @Anywhere + j...
Getting Started with AppHarbor – Heroku for .NET
January 14, 2011
Startups
I’ve a lot of friends who are proficient Rails developers, many of whom who have left .NET for Rails.
The one piece of consistent feedback th...
How to Use Asynchronous Controllers in ASP.NET MVC2 & MVC3
January 06, 2011
The primary reason I added asynchronous methods to Quick and Dirty Feed Parser 0.3 was because I wanted to use QD Feed Parser in conjunction with a...
How-To: Remote Validation in ASP.NET MVC3
December 07, 2010
.NET
ASP.NET MVC3 has been a major boon to my productivity as a web developer since I started using it at the beginning of November – the new Razo...
LA .NET User Group ASP.NET MVC3 Lecture Notes
December 06, 2010
Putting this online for the benefit of the .NET LA User Group – this content is meant to accompany my talk on ASP.NET MVC3:
ASP.NET MVC3 lin...
Active Directory (1 posts)
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
.NET
Azure
DevOps
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
Akka.NET (6 posts)
Akka.NET Request for Contributors: Akka.Cluster
July 28, 2015
OSS
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 10, 2015
MarkedUp
Talking about Akka.NET and the Actor Model on Hanselminutes and .NET Rocks
May 07, 2015
Podcasts
I’ve done a bit of a “press tour” for Akka.NET since we released Akka.NET v1.0 at the beginning of April and I wanted to share a couple of the inte...
Akka.NET - One Year Later
January 20, 2015
OSS
Petabridge
Startups
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
OSS
Petabridge
Startups
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 24, 2014
.NET
MarkedUp
I published a lengthy post on MarkedUp’s blog yesterday about the new product we recently released, MarkedUp In-app Marketing Automation for Window...
Azure (15 posts)
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
.NET
Active Directory
DevOps
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
Managing Your Windows Azure Services from OS X, Linux, or Windows Using the Command Line Interface (CLI)
June 08, 2012
Node.js
A lot of exciting things were announced at today’s Meet Windows Azure event, and one of the things I wanted to share with you is how you can ...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 2: Setting Up Express and Session-Handling
April 17, 2012
Node.js
So if you read part 1 of this series, then you’ve had a chance to grok the requirements for our little chat service and see all of the NPM packages...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 1: Setting Up
April 16, 2012
Node.js
This past weekend I ran a Node Bootcamp on behalf of Microsoft and in partnership with the fine folks at Cloud9 IDE – the goal of these camps...
Building a Node + MongoDB Powered Blog on Windows Azure
February 12, 2012
MongoDB
Node.js
This is a simple blog engine that I wrote in about three days time. I wanted to show off the power of Node.JS on Windows Azure, and also take advan...
How to Use the Azure npm Package Locally without the Azure Compute Emulator
February 06, 2012
Node.js
One thing that is a little dicey about the Windows Azure SDK for Node [footnote:“azure” is the name of the associated npm package] is t...
Code Camp Talks: Intro to Node.JS and Building Web Apps with Express
February 03, 2012
Node.js
This past weekend at SoCal Code Camp I gave two presentations back-to-back on Node.JS: “Intro to Node.JS” and “Building Web Apps with Express.” I ...
How to Automatically Utilize Multicore Servers with Node on Windows Azure
January 17, 2012
Node.js
One major advantage of developing Node applications for Windows Azure is the ability to have your Node apps managed directly by IIS via iisnode. Y...
Troubleshooting “500 Internal Server Errors” in the Windows Azure Emulator when Working with Node.JS
January 14, 2012
Node.js
On my primary development machine, where I have tweaked and prodded IIS multiple times for many projects over the past couple of years, I get the f...
Node.JS on Windows Azure Part 1: Setting Up Your Environment
January 10, 2012
Node.js
Following Microsoft’s announcements regarding first-class Node.JS support on Windows Azure, I thought it would be helpful to walk newbie Node...
Node.JS on Windows Azure Part 2: Building a Basic Web Application with Node.JS on Azure
January 10, 2012
Node.js
In the last post in this series on working with Node.JS in Windows Azure I showed you how to set up your development environment for working with N...
Intro to Node.JS for .NET Developers
December 14, 2011
Node.js
Microsoft announced out-of-the-box support for Node.JS on Windows Azure on Tuesday; we pushed both an official Node.JS SDK for Windows Azure servic...
How to Modify Machine.config on Windows Azure Web Roles
December 02, 2011
Earlier this week I spent some time helping a company troubleshoot some performance issues with Windows Azure – their ASP.NET request queue was gro...
How to Migrate Data between On-Premise SQL Server 2008 R2 and SQL Azure Without Getting a Migraine
November 29, 2011
SQL Server
I love my job at Microsoft, but there are some times when we simply make it really damn hard for people to do business with us. Migrating data from...
Los Angeles Azure 101 Event - 12/16/2010
December 13, 2010
Microsoft
Just a quick post for any readers in the Southern California area who are interested in learning more about Windows Azure. My team is putting on an...
BlogEngine.NET (3 posts)
Upgraded to BlogEngine.NET 2.0, Updated Extensions
December 28, 2010
BlogEngine.NET 2.0 was released just before Thanksgiving this year, and it includes a bunch of major changes, the most noticeable of which is the d...
BlogEngine.NET Extension: Footnotes
July 07, 2010
I finished this extension up last night but I was reluctant to deploy it to my own blog given that there was a major flamewar in pro...
BlogEngine.NET Extension - Remind Your Readers to Subscribe to Your RSS Feed with SubscribeRemind
May 16, 2010
One of my favorite WordPress plugins dating all the way back to when I first started blogging is Subscribe-Remind (WordPress) - it simply appe...
C# (2 posts)
Creating a Custom ETW EventSource for Debugging High-Performance Code in C#
March 17, 2015
ETW
Helios
One of the things I’ve been working on for both Helios and Akka.NET is a custom ThreadPool implementation that allows us to isolate mission-critica...
The Right Way to do Equality in C#
February 04, 2015
Equality
One of the pitfalls of doing development in C#, Java, C++, or really any predominantly Object Oriented language (OOP) is how “equality” is defined.
C++ (1 posts)
Win32 Errors: How to Format GetLastError() Output into Readable Strings
November 13, 2013
Win32
I’ve been doing a moderate amount of native Win32 C++ programming over the past few weeks, and occasionally I’ve needed to set up some debug points...
Cassandra (3 posts)
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Hadoop
Hive
MarkedUp
Cassandra Summit Talk: Real Time Analytics with Cassandra, Hive, and Solr
July 18, 2013
Hadoop
I spoke at the Cassandra Summit this year about how we use Cassandra, Hive, and Solr in production at MarkedUp Analytics. Planet Cassandra recentl...
Migrating from RavenDB to Cassandra
February 20, 2013
RavenDB
Today on the MarkedUp Analytics Blog I authored a post entitled “Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack.” In it I explain ...
Conferences (1 posts)
Introducing Access to {AI} Conference, November 12-13 2015
September 11, 2015
AI
Consulting (1 posts)
Want me to work on your distributed .NET applications?
March 13, 2015
Petabridge
Cryptocurrency (2 posts)
Business to Business Services Are What Will Make Dogecoin Succeed
March 16, 2014
Following on from my previous post about the second / third generation cryptocurrencies advancing the start of the art, I’ve spent a lot of t...
Bitcoin Paved the Way, but it’s Not the Future of Cryptocurrency
March 01, 2014
Until recently, I was extremely skeptical of cryptocurrency in general. In the midst of the investment speculation and mania in late 2013, when the...
Del.icio.us (1 posts)
How to Query a User's del.icio.us Feed with RestSharp
June 14, 2010
.NET
I've been meaning to give RestSharp a go since I first started using Hammock in my startup project's codebase, just because I had heard some g...
DevOps (2 posts)
Continuous Deployment of Docker Compose Applications Using GitHub Actions
April 23, 2025
Docker
Tailscale
Intro
Signing NuGet Packages Using Azure DevOps and Workload Identity Federation
April 14, 2025
.NET
Active Directory
Azure
Azure released a major update to some of their VM images last week and it’s caused a number of problems for me:
Docker (1 posts)
Continuous Deployment of Docker Compose Applications Using GitHub Actions
April 23, 2025
DevOps
Tailscale
Intro
ETW (1 posts)
Creating a Custom ETW EventSource for Debugging High-Performance Code in C#
March 17, 2015
C#
Helios
One of the things I’ve been working on for both Helios and Akka.NET is a custom ThreadPool implementation that allows us to isolate mission-critica...
Equality (1 posts)
The Right Way to do Equality in C#
February 04, 2015
C#
One of the pitfalls of doing development in C#, Java, C++, or really any predominantly Object Oriented language (OOP) is how “equality” is defined.
FsCheck (2 posts)
Writing Better Tests Than Humans Can Part 2: Model-based Tests with FsCheck in C#
August 30, 2016
.NET
Model-based Testing
This is the second post in a 3-part series on property-and-model based testing in FsCheck in C#.
Writing Better Tests Than Humans Can Part 1: FsCheck Property Tests in C#
August 22, 2016
.NET
Model-based Testing
This is the first post in a 3-part series on property-and-model based testing in FsCheck in C#.
General (21 posts)
On Generational Thinking
August 16, 2021
Life
Three weeks to the day my wife and I welcomed our daughter to the world and ascended to parenthood.
A Eulogy: the Tenacious Pursuit of Happiness
January 18, 2021
Life
On Tuesday, January 5th 2021 my grandfather, James Chester Roush, passed away in his retirement community in San Diego, California, peacefully in h...
It's Just Not a Big Deal
October 16, 2018
Life
In my professional life, I’ve actively conditioned myself to tolerate and accept risks when necessary. Risk tolerance is something that can be lear...
The High Price of Comfort
October 04, 2018
Life
Chief among the values prized by fellow millennials is comfort. It’s reflected in our more casual dress and our increasing preference for impersona...
What We Leave Behind
May 05, 2018
Life
It was roughly a year ago this week that I fled California in pursuit of greener economic pastures. I came to Texas an economic refugee; despite ru...
The Necessity of Systematic Thinking
October 20, 2017
Software Development
I spend a lot of my professional time training other software developers on how to build next-generation applications. Distributed and concurrent s...
In Response to a Letter from a Beginning Programmer
January 12, 2015
OSS
I received a heartfelt response from a new software developer in response to my “What Do You Need to Become an Elite Developer?” blog p...
You Succeed Once You Stop Giving a Shit
September 21, 2013
This post is about how to find success in any situation and draws entirely from my own experiences. Your mileage may vary. July was a rough month...
Being Right is Always the Wrong Choice
August 27, 2013
It was about four or five years ago that I had an intrinsic need to be “right” all the time.
I couldn’t let it go when someone m...
Brush the Dust Away
July 15, 2013
This post is about stress.
It's been nearly a year since I started MarkedUp Analytics, and we've come a long way - I've raised money, won the busi...
Seven Unproductive Habits of Startup Founders
August 24, 2012
Startups
Now that I’m running my own company and no longer speak on behalf of Microsoft or anyone else, I feel like I can speak a little bit more free...
Taking Risks Requires Practice
July 16, 2012
Startups
And patience. This is intended for people who recognize that a need to change themselves, their environment, or whatever and are having trouble get...
College: Four Years Later
July 11, 2012
This is intended for recent graduates who are finding themselves lost in the shuffle as they adjust to the real world, but has advice that is appli...
How to Do Business with Extremely Busy People
February 10, 2012
Big Picture
The bottom line when working with busy people is to preempt as much of the mental overhead of working with you as possible; all it rea...
Rise of the Popped Collar Programmer
November 19, 2011
I am frankly disturbed by a trend that I’ve seen both in-person and all over Hacker News / Reddit through the past year, and I am going to fi...
Powered by Microsoft
September 02, 2010
Microsoft
Startups
I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel...
My Talk at BarCamp San Diego: How to Create Applications People Love
July 11, 2010
I showed up at BarCamp7 this morning and saw that absolutely no presentations were up on the board whatsoever, so me being me I spent most of the d...
Lessons from Code Camp 2010
July 03, 2010
This time last weekend I was in the middle of the second session of Southern California Code Camp. Ever since I came to the realization that no man...
Programmer's Dilemma: Baby-Proofing vs. Giving Guns to Monkeys
June 22, 2010
One of my best friends from college once described a previous job in the financial industry as something akin to "giving guns to monkeys....
The State of Open Web APIs
May 28, 2010
I wanted to repost a presentation that I saw on Twitter yesterday which highlights some interesting trends in the state of open web APIs across the...
A New Year, a New Attitude
May 14, 2010
Hi,
After a couple of happy years blogging my forays into social media, Facebook application development, online marketing, and so forth on A...
Guides (1 posts)
The Beginner's Reference Guide to Startups
October 01, 2015
Startups
I was asked by a close friend earlier this week about whether or not I have any references, books, or recommended reading for anyone wanting to get...
Hadoop (2 posts)
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Cassandra
Hive
MarkedUp
Cassandra Summit Talk: Real Time Analytics with Cassandra, Hive, and Solr
July 18, 2013
Cassandra
I spoke at the Cassandra Summit this year about how we use Cassandra, Hive, and Solr in production at MarkedUp Analytics. Planet Cassandra recentl...
Helios (3 posts)
Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern
July 08, 2015
OSS
Sockets
Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keepi...
Helios 2.0 Development Diary 1 - Clean Slate
July 07, 2015
OSS
Sockets
To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and...
Creating a Custom ETW EventSource for Debugging High-Performance Code in C#
March 17, 2015
C#
ETW
One of the things I’ve been working on for both Helios and Akka.NET is a custom ThreadPool implementation that allows us to isolate mission-critica...
Hiring (4 posts)
Developers Who Can Build Things from Scratch
August 15, 2015
Software Development
There’s lots of different types of developers you’re going to need to work with over the span of your career in the software business, but the one ...
Live by “Fuck you, pay me;” Die by “Fuck you, pay me”
March 26, 2013
Software Development
Startups
I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up...
Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company
October 16, 2012
Software Development
Startups
I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should ...
Thoughts on Recruiting Developers at Early Stage Startups: Understanding the Job Market
September 23, 2012
Startups
Shortly after leaving Microsoft to work on MarkedUp full time, my founding team and I joined an early stage accelerator here in Santa Monica. We&rs...
Hive (1 posts)
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Cassandra
Hadoop
MarkedUp
JavaScript (1 posts)
Why Front-End Web Development Makes Me Sad, Issue #1092145
July 18, 2012
I have an internal reporting interface for one of my Windows Phone 7 applications that shows me more or less how much of the app is getting used ev...
Life (11 posts)
Leaning into Weakness
December 27, 2024
My management style has evolved a lot over the years, but one constant I’ve kept from the beginning is to coach the best possible performance out o...
Hate Your Own Work and Ship It Anyway
August 08, 2024
Product
Startups
When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the follow...
How to Distribute Roslyn Analyzers via NuGet
January 11, 2024
Product
Startups
Towards the end of 2023 I had some rare downtime and decided to use it to develop a new skill I’ve wanted to learn: leveraging .NET’s impressive Ro...
Internal vs. External Accountabilities
September 18, 2023
Product
Startups
One of the concepts that’s commonplace on software development Twitter / Reddit et al is the notion that management is ultimately responsible for e...
Why Self-Fulfilling Prophecies Come True
December 23, 2022
In the aftermath of the 2022 midterm elections in the United States many conservative leaders, disappointed with the election results, blamed their...
On Generational Thinking
August 16, 2021
General
Three weeks to the day my wife and I welcomed our daughter to the world and ascended to parenthood.
A Eulogy: the Tenacious Pursuit of Happiness
January 18, 2021
General
On Tuesday, January 5th 2021 my grandfather, James Chester Roush, passed away in his retirement community in San Diego, California, peacefully in h...
You Have to Have Skin in the Game
September 01, 2020
Product
Startups
Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particula...
It's Just Not a Big Deal
October 16, 2018
General
In my professional life, I’ve actively conditioned myself to tolerate and accept risks when necessary. Risk tolerance is something that can be lear...
The High Price of Comfort
October 04, 2018
General
Chief among the values prized by fellow millennials is comfort. It’s reflected in our more casual dress and our increasing preference for impersona...
What We Leave Behind
May 05, 2018
General
It was roughly a year ago this week that I fled California in pursuit of greener economic pastures. I came to Texas an economic refugee; despite ru...
MarkedUp (8 posts)
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 10, 2015
Akka.NET
Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack
June 15, 2015
Cassandra
Hadoop
Hive
The Next Fork in the Road
December 27, 2014
Startups
I had several friends and advisors review this post prior to publishing it; most encouraged me to go forward with publishing it but others cautione...
Real-time Marketing Automation with Distributed Actor Systems and Akka.NET
July 24, 2014
.NET
Akka.NET
I published a lengthy post on MarkedUp’s blog yesterday about the new product we recently released, MarkedUp In-app Marketing Automation for Window...
New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers
October 18, 2012
Windows
Windows Phone
I haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) s...
What It Takes to Actually Ship a Piece of Commercial Software
October 05, 2012
Software Development
Last week our startup, MarkedUp, hit the first important milestone for an early stage technology: we shipped the first version of our analytics pro...
New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed
August 14, 2012
Microsoft
Windows
I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would re...
Today I am Leaving Microsoft and Starting my Own Company
August 10, 2012
Microsoft
Startups
I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.
Microsoft recruited me off of Hacker News two ...
Mars (1 posts)
On a Mission to Mars
March 24, 2015
This weekend I went through the Landmark Forum and had to confront a big secret that I’ve been keeping hidden for virtually my entire life: the tru...
Microsoft (6 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
.NET
NuGet
OSS
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed
August 14, 2012
MarkedUp
Windows
I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would re...
Today I am Leaving Microsoft and Starting my Own Company
August 10, 2012
MarkedUp
Startups
I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.
Microsoft recruited me off of Hacker News two ...
Los Angeles Azure 101 Event - 12/16/2010
December 13, 2010
Azure
Just a quick post for any readers in the Southern California area who are interested in learning more about Windows Azure. My team is putting on an...
Quick Interview about BizSpark at DEMO 2010
September 14, 2010
Startups
I'm attending DEMO 2010 this week up in (somewhat) sunny Santa Clara, and during the early parts of last night's social media lounge event some mem...
Powered by Microsoft
September 02, 2010
General
Startups
I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel...
Model-based Testing (2 posts)
Writing Better Tests Than Humans Can Part 2: Model-based Tests with FsCheck in C#
August 30, 2016
.NET
FsCheck
This is the second post in a 3-part series on property-and-model based testing in FsCheck in C#.
Writing Better Tests Than Humans Can Part 1: FsCheck Property Tests in C#
August 22, 2016
.NET
FsCheck
This is the first post in a 3-part series on property-and-model based testing in FsCheck in C#.
MongoDB (4 posts)
Code Camp Talk: RavenDB vs MongoDB
June 27, 2012
RavenDB
This past weekend at SoCal Code Camp I presented a session along with my friend Nuri Halperin entitled “Battle of the NoSQL Databases: RavenD...
Building a Node + MongoDB Powered Blog on Windows Azure
February 12, 2012
Azure
Node.js
This is a simple blog engine that I wrote in about three days time. I wanted to show off the power of Node.JS on Windows Azure, and also take advan...
MongoDB vs. SQL Server 2008: A .NET Developer’s Perspective
June 30, 2011
ASP.NET
SQL Server
One of the first projects I put together this year was Captain Obvious, a nifty little application that runs off of AppHarbor and ASP.NET MVC3. Wha...
How I Built CaptainObvio.us
June 21, 2011
.NET
ASP.NET
I made a tiny splash on Hacker News a month ago when I asked for feedback on my newest side project, CaptainObvio.us – a simple portal for sh...
NBench (1 posts)
Introducing NBench - an Automated Performance Testing Framework for .NET Applications
December 28, 2015
Performance
I originally posted this to the Petabridge blog earlier today. See the original here.
NHibernate (2 posts)
Fluent NHibernate: How to Create Bidirectional Many-to-Many Relationships with Additional Attributes on Relationship Table
December 24, 2010
Suppose you have a relationship that looks like this in your database:
This is a common use-case. In this instance, I wanted to be able to create ...
How to Make it Easy for New Developers to Adopt Your Open Source Project
December 04, 2010
OSS
James Gregory is one of my heroes in the .NET community – he’s the creator of Fluent NHibernate, my favorite new ORM (Object-Relational...
Node.js (12 posts)
Instant File Server: turn any directory into a webserver with a simple command
August 14, 2013
OSS
Our engineering team has been neck-deep in configuration hell lately. Editing 2000-line Solr configuration files, trying to get Apache Oozie integr...
Managing Your Windows Azure Services from OS X, Linux, or Windows Using the Command Line Interface (CLI)
June 08, 2012
Azure
A lot of exciting things were announced at today’s Meet Windows Azure event, and one of the things I wanted to share with you is how you can ...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 2: Setting Up Express and Session-Handling
April 17, 2012
Azure
So if you read part 1 of this series, then you’ve had a chance to grok the requirements for our little chat service and see all of the NPM packages...
How to Build a Real-Time Chat Service with Socket.IO, Express, and the Azure SDK–Part 1: Setting Up
April 16, 2012
Azure
This past weekend I ran a Node Bootcamp on behalf of Microsoft and in partnership with the fine folks at Cloud9 IDE – the goal of these camps...
Building a Node + MongoDB Powered Blog on Windows Azure
February 12, 2012
Azure
MongoDB
This is a simple blog engine that I wrote in about three days time. I wanted to show off the power of Node.JS on Windows Azure, and also take advan...
How to Use the Azure npm Package Locally without the Azure Compute Emulator
February 06, 2012
Azure
One thing that is a little dicey about the Windows Azure SDK for Node [footnote:“azure” is the name of the associated npm package] is t...
Code Camp Talks: Intro to Node.JS and Building Web Apps with Express
February 03, 2012
Azure
This past weekend at SoCal Code Camp I gave two presentations back-to-back on Node.JS: “Intro to Node.JS” and “Building Web Apps with Express.” I ...
How to Automatically Utilize Multicore Servers with Node on Windows Azure
January 17, 2012
Azure
One major advantage of developing Node applications for Windows Azure is the ability to have your Node apps managed directly by IIS via iisnode. Y...
Troubleshooting “500 Internal Server Errors” in the Windows Azure Emulator when Working with Node.JS
January 14, 2012
Azure
On my primary development machine, where I have tweaked and prodded IIS multiple times for many projects over the past couple of years, I get the f...
Node.JS on Windows Azure Part 1: Setting Up Your Environment
January 10, 2012
Azure
Following Microsoft’s announcements regarding first-class Node.JS support on Windows Azure, I thought it would be helpful to walk newbie Node...
Node.JS on Windows Azure Part 2: Building a Basic Web Application with Node.JS on Azure
January 10, 2012
Azure
In the last post in this series on working with Node.JS in Windows Azure I showed you how to set up your development environment for working with N...
Intro to Node.JS for .NET Developers
December 14, 2011
Azure
Microsoft announced out-of-the-box support for Node.JS on Windows Azure on Tuesday; we pushed both an official Node.JS SDK for Windows Azure servic...
NuGet (1 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
.NET
Microsoft
OSS
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
OSS (28 posts)
So Microsoft Deleted Some of Our Packages From NuGet.org Without Notice
July 11, 2025
.NET
Microsoft
NuGet
“Software supply chain management” is one of those terms that sounds like Venture Capital-funded vendor marketing bullshit right up until it isn’t.
.NET OSS Projects: Better to Re-license or Die?
January 18, 2025
.NET
This week FluentAssertions, a popular open source library designed to make it easier to write assertions during unit testing, changed its license f...
.NET Developers Begging for Ecosystem Destruction
March 18, 2024
.NET
An ASP.NET GitHub thread entitled “Epic: Eventing Framework in .NET 9” ignited an inferno of criticism for the usual reasons: Microsoft big-footing...
We're Rewriting Sdkbin
August 10, 2023
.NET
Sdkbin
In light of the recent drama with the Moq project’s decision to try to solicit donations through the use of SponsorLink, I’ve decided to share some...
Professional Open Source: Extend-Only Design
December 27, 2021
This post marks the third one I’ve written this year about versioning problems in open source software development, although they apply to anyone w...
The Future of the .NET Foundation and .NET OSS
October 12, 2021
.NET
.NET Open Source: What Happens When the Free Lunch Ends?
June 03, 2021
.NET
It’s a Thursday, which means: .NET open source drama.
Practical vs. Strict Semantic Versioning
May 31, 2021
In my last post I went into detail on maintaining API, binary, and wire compatibility for open source projects and why that’s a nececssary ingredie...
Professional Open Source: Maintaining API, Binary, and Wire Compatibility
May 04, 2021
We’re in the process of defining some community standards for Akka.NET, part of which is expanding and modernizing our contributor guidelines to he...
Sdkbin February 2021 Update: Revenue, Results, and Roadmap
February 10, 2021
.NET
Sdkbin
We launched Sdkbin, our NuGet meets App Store marketplace for .NET developers on September 30th 2020, but with an important limitation: that Petabr...
How to Play Software as a Team Sport
December 29, 2020
Software Development
I’ve written before about how to start contributing to OSS and I wrote for the Petabridge blog about “How to Use Github Professionally” - both of t...
Introducing Sdkbin - The Marketplace for Software Developers
June 15, 2020
.NET
Sdkbin
The New Rules for Playing in Microsoft's Open Source Sandbox
June 03, 2020
.NET
Software Development
Here we go again. “The Day AppGet Died” - the short version: OSS developer fills a hole in the Windows ecosystem, Microsoft offers him a job to wor...
How to Build Sustainable Open Source Software Projects
January 30, 2020
.NET
Software Development
In my last post about “The Next Decade of .NET Open Source” I alluded to a future blog post about open source sustainability. This is it.
The Next Decade of .NET Open Source
January 23, 2020
.NET
Software Development
Over the past week there’s been a ton of chatter about the state of the .NET ecosystem and, more specifically, as to whether or not its OSS ecosyst...
Broken Windows: How Bad Software Releases Happen to Good Teams
December 30, 2015
Software Development
One of my primary responsibilities with the Akka.NET project is release manager - I put together the release notes, press the big green button when...
Akka.NET Request for Contributors: Akka.Cluster
July 28, 2015
Akka.NET
Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern
July 08, 2015
Helios
Sockets
Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keepi...
Helios 2.0 Development Diary 1 - Clean Slate
July 07, 2015
Helios
Sockets
To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and...
How to Start Contributing to Open Source Software
April 24, 2015
.NET
.NET Fringe
The Petabridge team (all two of us) just wrapped up a big two weeks. We launched Akka.NET V1.0 and then traveled to Portland to talk about .NET ope...
Akka.NET - One Year Later
January 20, 2015
Akka.NET
Petabridge
Startups
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
Akka.NET
Petabridge
Startups
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
In Response to a Letter from a Beginning Programmer
January 12, 2015
General
I received a heartfelt response from a new software developer in response to my “What Do You Need to Become an Elite Developer?” blog p...
Tradeoffs in High Performance Software
July 15, 2014
.NET
I’ve spent down the past week tracking down an absolutely brutal bug inside Akka.NET. Sometimes the CPU utilization of the system will random...
The Profound Weakness of the .NET OSS Ecosystem
July 03, 2014
.NET
I’m in the process of writing up a lengthy set of blog posts for MarkedUp about the work that went into developing MarkedUp In-app Marketing,...
Instant File Server: turn any directory into a webserver with a simple command
August 14, 2013
Node.js
Our engineering team has been neck-deep in configuration hell lately. Editing 2000-line Solr configuration files, trying to get Apache Oozie integr...
New Open Source Project: MVC.Utilities
August 14, 2011
ASP.NET
I announced this on Twitter late last week, but I open-sourced a number of common helpers and service interfaces that I use throughout all of my pr...
How to Make it Easy for New Developers to Adopt Your Open Source Project
December 04, 2010
NHibernate
James Gregory is one of my heroes in the .NET community – he’s the creator of Fluent NHibernate, my favorite new ORM (Object-Relational...
OpenTelemetry (1 posts)
An Overview of Distributed Tracing with OpenTelemetry in .NET 6
December 21, 2021
.NET
I’ve given multiple talks and written posts about distributed tracing, a still relatively novel concept in the field of application performance mon...
Performance (1 posts)
Introducing NBench - an Automated Performance Testing Framework for .NET Applications
December 28, 2015
NBench
I originally posted this to the Petabridge blog earlier today. See the original here.
Petabridge (3 posts)
Want me to work on your distributed .NET applications?
March 13, 2015
Consulting
Akka.NET - One Year Later
January 20, 2015
Akka.NET
OSS
Startups
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
Akka.NET
OSS
Startups
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
Podcasts (1 posts)
Talking about Akka.NET and the Actor Model on Hanselminutes and .NET Rocks
May 07, 2015
Akka.NET
I’ve done a bit of a “press tour” for Akka.NET since we released Akka.NET v1.0 at the beginning of April and I wanted to share a couple of the inte...
Product (4 posts)
Hate Your Own Work and Ship It Anyway
August 08, 2024
Life
Startups
When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the follow...
How to Distribute Roslyn Analyzers via NuGet
January 11, 2024
Life
Startups
Towards the end of 2023 I had some rare downtime and decided to use it to develop a new skill I’ve wanted to learn: leveraging .NET’s impressive Ro...
Internal vs. External Accountabilities
September 18, 2023
Life
Startups
One of the concepts that’s commonplace on software development Twitter / Reddit et al is the notion that management is ultimately responsible for e...
You Have to Have Skin in the Game
September 01, 2020
Life
Startups
Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particula...
Python (2 posts)
How to Setup a Proper Python Environment on Windows
August 17, 2012
One of the things we have to do at MarkedUp on a routine basis is test the live HTTP endpoints for our data collection APIs, and some of the data s...
Project Scaffolding for Python
December 18, 2011
Over the summer I went through Zed Shaw’s Learn Python the Hard Way in an effort to broaden my horizons and start learning languages beyond C...
QDFeedParser (4 posts)
Quick and Dirty Feed Parser 1.0 Released!
January 20, 2011
Without further adieu, it’s my pleasure to announce that the full 1.0 release of Quick and Dirty Feed Parser is now available to download on ...
How to Make Any Operation Asynchronous in .NET
January 03, 2011
.NET
I’m in the middle of writing some updates to Quick and Dirty Feed Parser for use in a new personal project of mine; namely, I need to make QD...
Quick and Dirty Feed Parser 0.3 Now Available
December 25, 2010
My Christmas gift to the developer community: Quick and Dirty Feed Parser 0.3 is now available on CodePlex!
The big feature added in this release ...
Announcing the Release of Quick and Dirty Feed Parser
July 01, 2010
.NET
Alternate headline: "never see XML again."
Ok, that may be a bit of a stretch. Regardless, I'm quite pleased to announce the launch of Quick and D...
RavenDB (2 posts)
Migrating from RavenDB to Cassandra
February 20, 2013
Cassandra
Today on the MarkedUp Analytics Blog I authored a post entitled “Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack.” In it I explain ...
Code Camp Talk: RavenDB vs MongoDB
June 27, 2012
MongoDB
This past weekend at SoCal Code Camp I presented a session along with my friend Nuri Halperin entitled “Battle of the NoSQL Databases: RavenD...
SQL Server (2 posts)
How to Migrate Data between On-Premise SQL Server 2008 R2 and SQL Azure Without Getting a Migraine
November 29, 2011
Azure
I love my job at Microsoft, but there are some times when we simply make it really damn hard for people to do business with us. Migrating data from...
MongoDB vs. SQL Server 2008: A .NET Developer’s Perspective
June 30, 2011
ASP.NET
MongoDB
One of the first projects I put together this year was Captain Obvious, a nifty little application that runs off of AppHarbor and ASP.NET MVC3. Wha...
Scalability (1 posts)
Scalability Lessons we can Learn from Voat
June 11, 2015
Voat
Sdkbin (3 posts)
We're Rewriting Sdkbin
August 10, 2023
.NET
OSS
In light of the recent drama with the Moq project’s decision to try to solicit donations through the use of SponsorLink, I’ve decided to share some...
Sdkbin February 2021 Update: Revenue, Results, and Roadmap
February 10, 2021
.NET
OSS
We launched Sdkbin, our NuGet meets App Store marketplace for .NET developers on September 30th 2020, but with an important limitation: that Petabr...
Introducing Sdkbin - The Marketplace for Software Developers
June 15, 2020
.NET
OSS
Silverlight (5 posts)
6 Really Useful Windows Phone 7 Articles
January 12, 2011
Windows Phone
I’m in the midst of working on a line of related Windows Phone 7 MVVM Light applications which are all built on the upcoming release of Quick...
MVVM Light Toolkit Pitfalls on Windows Phone 7 and How to Avoid Them
September 26, 2010
Windows Phone
I’ve been leaning heavily on Laurent Bugnion’s MVVM Light Toolkit framework in the course of learning Windows Phone 7[footnote:If you'...
MVVM Light Toolkit Example on Windows Phone 7: Twitter Search
September 21, 2010
Windows Phone
I wrote this example in conjunction with the lightning talk I gave at SHDH #40 on MVVM for Noobs, and I thought that developers who are new to deve...
SuperHappyDevHouse Lightning Talk: MVVM for Noobs
September 18, 2010
Windows Phone
I'm at Microsoft's Silicon Valley Campus this weekend where we're hosting SuperHappyDevHouse #40 - I'm going to be giving a lightning talk on MVVM ...
10 Harder-to-find-than-they-should-be Answers for Silverlight Beginners
August 05, 2010
I’ve been teaching myself WPF / Silverlight as part of my next big project at StannardLabs: a line of trivia games for WinMo7 / Android / iOS...
SlideShare (2 posts)
Frustration Central: Parsing the DateTime Values from the SlideShare REST API
June 02, 2010
.NET
I feel a little bad about posting this given that Jon Boutelle, the CTO of SlideShare, already admitted that this portion of the SlideShare 2.0 RES...
Making Basic Requests Against the SlideShare API Using HammockREST
May 27, 2010
The project I'm currently working on involves numerous REST APIs from a multitude of very different services. In my initial prototype, which I've s...
Sockets (2 posts)
Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern
July 08, 2015
Helios
OSS
Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keepi...
Helios 2.0 Development Diary 1 - Clean Slate
July 07, 2015
Helios
OSS
To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and...
Software (1 posts)
DRY Gone Bad: Bespoke Company Frameworks
March 08, 2023
Startups
There are some software development best practices out there that are universally and unambiguously true outside of any specific business context -...
Software Development (21 posts)
Software Falsehoods: you can build it cheap, fast, and good - pick two
March 08, 2025
Startups
“You can build it cheap, fast, and good - pick two” is how the saying goes, referring to the inherent trade-offs in software development priorities...
Frameworkism: Senior Software Developers' Pit of Doom
December 04, 2024
.NET
Startups
If you follow me on Twitter / X, you have likely seen several increasingly exasperated tweets from me about a legacy software project from hell. Th...
Has Ruby-on-Rails-Style 'Gem Glue-Gunning' Come to .NET?
October 25, 2024
.NET
Startups
In this post we’re going to travel back in time to 2010 - a happier, simpler time for early-stage startup software developers. When Heroku was free...
Noticing Skill Issues is Not Gatekeeping
May 30, 2024
I recently waded into the waters of an intentionally obtuse piece of engagement bait on .NET Twitter, mostly because I thought it was funny:
How to Play Software as a Team Sport
December 29, 2020
OSS
I’ve written before about how to start contributing to OSS and I wrote for the Petabridge blog about “How to Use Github Professionally” - both of t...
The New Rules for Playing in Microsoft's Open Source Sandbox
June 03, 2020
.NET
OSS
Here we go again. “The Day AppGet Died” - the short version: OSS developer fills a hole in the Windows ecosystem, Microsoft offers him a job to wor...
How to Build Sustainable Open Source Software Projects
January 30, 2020
.NET
OSS
In my last post about “The Next Decade of .NET Open Source” I alluded to a future blog post about open source sustainability. This is it.
The Next Decade of .NET Open Source
January 23, 2020
.NET
OSS
Over the past week there’s been a ton of chatter about the state of the .NET ecosystem and, more specifically, as to whether or not its OSS ecosyst...
Problems and Solutions with the .NET Foundation Maturity Ladder
September 28, 2019
.NET
This is largely the text of an issue I posted related to the .NET Foundation’s new proposed Maturity Ladder for .NET OSS projects. I am fully suppo...
The Necessity of Systematic Thinking
October 20, 2017
General
I spend a lot of my professional time training other software developers on how to build next-generation applications. Distributed and concurrent s...
Introducing the New .NET Stack
April 07, 2016
.NET
I’ve been a .NET developer for roughly 10 years now - since the summer after my freshman year in college in 2005 I’ve been developing in Visual Stu...
Broken Windows: How Bad Software Releases Happen to Good Teams
December 30, 2015
OSS
One of my primary responsibilities with the Akka.NET project is release manager - I put together the release notes, press the big green button when...
Developers Who Can Build Things from Scratch
August 15, 2015
Hiring
There’s lots of different types of developers you’re going to need to work with over the span of your career in the software business, but the one ...
The Taxonomy of Terrible Programmers
December 19, 2013
The MarkedUp Analytics team had some fun over the past couple of weeks sharing horror stories about software atrocities and the real-life inspirati...
What Do You Need to Become an Elite Developer?
June 02, 2013
.NET
MarkedUp Analytics’s customers are developers and so are most of the people who work at the company, so I spend a lot of time thinking about ...
How to Learn a New Programming Skill
May 08, 2013
Startups
I was really surprised with the positive reception 10 Reasons Why You’re Failing to Realize Your Potential as a Developer received after...
Live by “Fuck you, pay me;” Die by “Fuck you, pay me”
March 26, 2013
Hiring
Startups
I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up...
10 Reasons Why You’re Failing to Realize Your Potential as a Developer
February 06, 2013
Since going full-time on my own startup 6 months ago, I’ve spent a lot of my time recruiting, evaluating, and working with a lot of different...
Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company
October 16, 2012
Hiring
Startups
I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should ...
What It Takes to Actually Ship a Piece of Commercial Software
October 05, 2012
MarkedUp
Last week our startup, MarkedUp, hit the first important milestone for an early stage technology: we shipped the first version of our analytics pro...
Software Engineering Priorities for Early Stage Companies: Put the Team First
September 06, 2012
Team first. Earlier this week I made a pilgrimage up to the Bay Area to visit some mentors – I came seeking advice from entrepreneurs who’ve don...
Startups (37 posts)
There Has Never Been a Better Time to be a Junior Developer - And It Won't Last Forever
August 22, 2025
AI
Everyone in tech is convinced that AI will eliminate junior developers first. “Why hire a junior when AI can write code?” they ask. The prevailing ...
The Future of AI Belongs to Experienced Operators with Good Taste
March 27, 2025
AI
I have a lot of respect for Geoffrey Huntley. So when I read his blog posts about AI over the past couple of months: “Dear Student: Yes, AI is here...
Software Falsehoods: you can build it cheap, fast, and good - pick two
March 08, 2025
Software Development
“You can build it cheap, fast, and good - pick two” is how the saying goes, referring to the inherent trade-offs in software development priorities...
Lessons Learned Over 10 Years of Bootstrapping Petabridge
January 08, 2025
As of Monday this week, my company Petabridge turns 10 years old. I’ve been my own boss for longer, but my tenure at Petabridge is nearly 5x my ten...
Frameworkism: Senior Software Developers' Pit of Doom
December 04, 2024
.NET
Software Development
If you follow me on Twitter / X, you have likely seen several increasingly exasperated tweets from me about a legacy software project from hell. Th...
Has Ruby-on-Rails-Style 'Gem Glue-Gunning' Come to .NET?
October 25, 2024
.NET
Software Development
In this post we’re going to travel back in time to 2010 - a happier, simpler time for early-stage startup software developers. When Heroku was free...
Hate Your Own Work and Ship It Anyway
August 08, 2024
Life
Product
When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the follow...
How to Distribute Roslyn Analyzers via NuGet
January 11, 2024
Life
Product
Towards the end of 2023 I had some rare downtime and decided to use it to develop a new skill I’ve wanted to learn: leveraging .NET’s impressive Ro...
Internal vs. External Accountabilities
September 18, 2023
Life
Product
One of the concepts that’s commonplace on software development Twitter / Reddit et al is the notion that management is ultimately responsible for e...
DRY Gone Bad: Bespoke Company Frameworks
March 08, 2023
Software
There are some software development best practices out there that are universally and unambiguously true outside of any specific business context -...
Beware the Long 'YAGNI'
December 06, 2022
One of my favorite regularly occurring Twitter arguments is over what should be a simple and uncontroversial question: have you ever had to migrate...
Reflections on a Decade of Self-Employment
August 17, 2022
Ten years ago on August 10th, 2012 I wrote “Today I am Leaving Microsoft and Starting my Own Company” and cap-stoned my final day of working for so...
You Have to Have Skin in the Game
September 01, 2020
Life
Product
Periodically I receive inquiries from people in the startup community who are exploring an idea or want an estimate on how expensive this particula...
The Beginner's Reference Guide to Startups
October 01, 2015
Guides
I was asked by a close friend earlier this week about whether or not I have any references, books, or recommended reading for anyone wanting to get...
Akka.NET - One Year Later
January 20, 2015
Akka.NET
OSS
Petabridge
My Next Thing: Petabridge - the Future of Distributed Software in .NET
January 14, 2015
Akka.NET
OSS
Petabridge
After wrapping up MarkedUp, I took some time off to consider my future. Travel. See old friends. Catch up on rest. During the entire time I was go...
The Next Fork in the Road
December 27, 2014
MarkedUp
I had several friends and advisors review this post prior to publishing it; most encouraged me to go forward with publishing it but others cautione...
How to Learn a New Programming Skill
May 08, 2013
Software Development
I was really surprised with the positive reception 10 Reasons Why You’re Failing to Realize Your Potential as a Developer received after...
Live by “Fuck you, pay me;” Die by “Fuck you, pay me”
March 26, 2013
Hiring
Software Development
I came across a blog post by Michael Halligan on Hacker News last week entitled “Benefits matter, or why I won’t work for your YCombinator start-up...
Be Your Own Measuring Stick
December 03, 2012
Today was one of those days when it was nearly 1pm before I was free to sit down and make my daily to-do list. There was water damage in my apartme...
Get a Grip
November 21, 2012
My regular source of entrepreneurial catharsis is watching Deadliest Catch.
If you've never seen it, it's a Discovery Channel show that follows fou...
Thoughts on Recruiting Developers at Early Stage Startups: Determining Who’s Right for Your Company
October 16, 2012
Hiring
Software Development
I posted a little while ago about the job market for technical talent at early stage companies, and I promised a follow-up post on what you should ...
Thoughts on Recruiting Developers at Early Stage Startups: Understanding the Job Market
September 23, 2012
Hiring
Shortly after leaving Microsoft to work on MarkedUp full time, my founding team and I joined an early stage accelerator here in Santa Monica. We&rs...
Seven Unproductive Habits of Startup Founders
August 24, 2012
General
Now that I’m running my own company and no longer speak on behalf of Microsoft or anyone else, I feel like I can speak a little bit more free...
Today I am Leaving Microsoft and Starting my Own Company
August 10, 2012
MarkedUp
Microsoft
I’ve spent my last two weeks at Microsoft wondering how I was going to write this blog post.
Microsoft recruited me off of Hacker News two ...
Taking Risks Requires Practice
July 16, 2012
General
And patience. This is intended for people who recognize that a need to change themselves, their environment, or whatever and are having trouble get...
How to Recruit a Technical Co-Founder for Your Startup
August 03, 2011
The LA startup scene is fascinating, having lived and worked in it for a year now - it's a scene teeming with brillaint people with big ideas, and ...
Announcing XAPFest – A Massive Windows Phone 7 Hackathon in Santa Monica, CA on June 4th 2011
May 24, 2011
Windows Phone
I am pleased to announce something very exciting that Microsoft is doing in my neighborhood of Santa Monica, California: we’re putting togeth...
8 Lessons Learned from Startup Weekend
March 19, 2011
I wanted to post this the morning after Startup Weekend Los Angeles concluded in late February, but due to the fact that I along with half my team ...
What Drives a Startup Founder?
January 18, 2011
I’ve been working on numerous projects since the year began, and on Sunday night I finally got around to watching The Social Network. My...
Getting Started with AppHarbor – Heroku for .NET
January 14, 2011
ASP.NET
I’ve a lot of friends who are proficient Rails developers, many of whom who have left .NET for Rails.
The one piece of consistent feedback th...
Quick Interview about BizSpark at DEMO 2010
September 14, 2010
Microsoft
I'm attending DEMO 2010 this week up in (somewhat) sunny Santa Clara, and during the early parts of last night's social media lounge event some mem...
Powered by Microsoft
September 02, 2010
General
Microsoft
I alluded to a change in my employment circumstances in my previous blog entry, and now that I'm an official Microsoft employee as of Monday I feel...
How to Attract Ambitious Employees to Your Company
August 16, 2010
Today was my last official day at SmartDraw – I’ve worked for this great company for two years and saying all of my goodbyes was bitter...
.NET Culture Shock: Why .NET Adoption Lags Among Startups
July 03, 2010
.NET
One of the other things I took away from Code Camp was a bit of .NET culture shock. As you can tell by glimpsing around on this blog, I am somewhat...
Learning When It's Time to Walk Away from a Project
June 25, 2010
I wanted to take the time to follow up on some of the additional lessons I learned from my May startup project, some of which I already shared in T...
The Myth of the Single-Person Startup
June 13, 2010
During the month of May, 2010 I took an unpaid leave of absence from work for the entire month and set off to launch my own web-based startup comp...
Tailscale (1 posts)
Continuous Deployment of Docker Compose Applications Using GitHub Actions
April 23, 2025
DevOps
Docker
Intro
Visual Studio (2 posts)
How to Configure Visual Studio to Use SourceLink to Step into NuGet Package Source
January 24, 2020
.NET
I love SourceLink - it’s fast becoming a standard practice to include SourceLink support in all open source NuGet packages in order to make them ea...
Visual Studio ProTip: Copying Binaries on Pre and Post-Build Macros
July 20, 2015
Last year I had to spend a fair amount of time working on C and C++ projects in Visual Studio 2013, and one of the tasks that I had to learn how to...
Voat (1 posts)
Scalability Lessons we can Learn from Voat
June 11, 2015
Scalability
WCF (1 posts)
How to Use Dependency Injection (Ninject) with WCF Services
August 16, 2011
.NET
I spent a lot of time late last week trying to figure out exactly how to set up dependency injection for a WCF service I was developing on Windows ...
Win32 (1 posts)
Win32 Errors: How to Format GetLastError() Output into Readable Strings
November 13, 2013
C++
I’ve been doing a moderate amount of native Win32 C++ programming over the past few weeks, and occasionally I’ve needed to set up some debug points...
Windows (3 posts)
5 Key Themes from Microsoft on the Future of Windows and WinRT from the //BUILD Keynote
October 30, 2012
Windows Phone
I posted this originally on The MarkedUp Analytics Blog, going to put an excerpt here and then link you to the original post. 1. “Microsoft can on...
New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers
October 18, 2012
MarkedUp
Windows Phone
I haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) s...
New Change in the Windows Store TOS: Any App with the Word “Metro” in the Title is Insta-Failed
August 14, 2012
MarkedUp
Microsoft
I thought this was an interesting side-effect of Microsoft’s decision to surrender on the trademark dispute around “Metro,” so I figured I would re...
Windows Phone (12 posts)
5 Key Themes from Microsoft on the Future of Windows and WinRT from the //BUILD Keynote
October 30, 2012
Windows
I posted this originally on The MarkedUp Analytics Blog, going to put an excerpt here and then link you to the original post. 1. “Microsoft can on...
New Features We’ve Added to MarkedUp: Custom Event Reporting and Reliable Crash Logging for Windows 8 and Windows Phone 8 Developers
October 18, 2012
MarkedUp
Windows
I haven’t posted much about my startup, MarkedUp, over the past couple of weeks on this blog (although I’ve been quite busy on the MarkedUp blog) s...
New Windows Phone 7 App: Lolcats Professional Pro Plus
December 22, 2011
In addition to my regular work for Microsoft and the open source projects I create and contribute to on Github, I also like to ship the occasional ...
Announcing XAPFest – A Massive Windows Phone 7 Hackathon in Santa Monica, CA on June 4th 2011
May 24, 2011
Startups
I am pleased to announce something very exciting that Microsoft is doing in my neighborhood of Santa Monica, California: we’re putting togeth...
Geolocation Services and Bing Maps in Windows Phone 7
April 26, 2011
Tonight I gave a brief talk to WinMo LA about using Geolocation Services and Bing Maps on Windows Phone 7. I mostly covered the APIs and controls t...
Having Network Connectivity Issues with the Windows Phone 7 Emulator?
April 08, 2011
I spent about three hours banging my head against the wall trying to figure out why my browser could connect to the Internet but the Windows Phone ...
6 Really Useful Windows Phone 7 Articles
January 12, 2011
Silverlight
I’m in the midst of working on a line of related Windows Phone 7 MVVM Light applications which are all built on the upcoming release of Quick...
Where Are My Windows Phone 7 Icons?
December 07, 2010
This is a quick post, but for anybody who isn’t using Expression Blend (which automatically puts all of the Windows Phone 7 icons for you in a dro...
Consuming REST in .NET
November 05, 2010
.NET
I gave a talk at Code Camp Los Angeles a couple of weekends ago on how to consume REST APIs in .NET – the emphasis was really on understanding REST...
MVVM Light Toolkit Pitfalls on Windows Phone 7 and How to Avoid Them
September 26, 2010
Silverlight
I’ve been leaning heavily on Laurent Bugnion’s MVVM Light Toolkit framework in the course of learning Windows Phone 7[footnote:If you'...
MVVM Light Toolkit Example on Windows Phone 7: Twitter Search
September 21, 2010
Silverlight
I wrote this example in conjunction with the lightning talk I gave at SHDH #40 on MVVM for Noobs, and I thought that developers who are new to deve...
SuperHappyDevHouse Lightning Talk: MVVM for Noobs
September 18, 2010
Silverlight
I'm at Microsoft's Silicon Valley Campus this weekend where we're hosting SuperHappyDevHouse #40 - I'm going to be giving a lightning talk on MVVM ...
YouTube (1 posts)
Discussion: How to Use RestSharp / Hammock to Automatically Parse the YouTube Response Format into POCO Objects
June 09, 2010
.NET
If you've been following me on Twitter over the past couple of weeks, you might have noticed that I've been a little frustrated with the YouTube GD...