Continue Reading

One major issue all "one page" JavaScript apps have is updating clients, this is how I solved this for Discourse.

Continue Reading

Wishing for a long running ruby benchmark.

Continue Reading

Lessons learned moving commenting to Discourse

Continue Reading

Demystifying the Ruby GC

10 months ago

The Ruby GC may seem exceedingly complex to some, in this article I try to shed some light on it.

Continue Reading

I just added some helpers that allow you to easily perform live restarts of unicorn processes with zero downtime.

Continue Reading

Recently I spent some time working on a Docker container for Discourse to ease our deployment story.

Continue Reading

This Blog is now 100% powered by Discourse

Continue Reading

The number #1 productivity killer for me is the trivial inconvenience, it does not stop me from working… just make my job very frustrating.

Continue Reading

Analysis of performance issues in Ruby can often be fairly complex, in this post I cover a new technique you can use with MiniProfiler.

Continue Reading

Do you smoke test?

over 1 year ago

I just introduced the first smoke test for Discourse. Reasoning, techniques and lessons learned.

Continue Reading

iOS6 is out, and with it an essentially broken maps app, here are my thoughts on this matter.

Continue Reading

MiniProfiler Ruby Edition

about 2 years ago

For the last few months we have been working on a version of MiniProfiler for Rails, here is the low-down

Continue Reading

Leaving Stack Exchange

over 2 years ago

I am leaving Stack Exchange, why this happened and what is next?

Continue Reading

Recently I embarked on a mission to find and and build tools for dealing with broken links on the Stack Exchange network, here are some things I learned.

Continue Reading

While preparing for my talk at Codemania I started filling my slides with links, clearly not something that scales. So, instead, here is a big list of interesting tools and resources that can help you journey through the murky waters of web performance.

Continue Reading

Learn about a change introduced in the 2.6.39 kernel that has huge impact on your users perceived web performance.

Continue Reading

We are pushing a 2.0 public release of MiniProfiler, the following post describes most of the awesome changes.

Continue Reading

Stop paying your jQuery tax

over 2 years ago

The last script holding in your header is usually jQuery, learn how to move it to your footer and why you should.

Continue Reading

A common issue many users have with Dapper is the ability to insert records into a database, in this post I cover some options and a solution I developed.

Continue Reading

In this post I cover the history, diagnosis and eventual repair of some erratic performance we were experiencing at Stack Overflow.

Continue Reading

Optimizing ASP.NET MVC3 Routing

almost 3 years ago

In this post I outline the process and method we used to optimize routing at Stack Overflow

Continue Reading

Using rather simple techniques I practically eliminated all of the spam on this blog, here is a technical explanation

Continue Reading

In this post I demonstrate how to extend the ASP.NET error page with additional information about the SQL that failed.

Continue Reading

In this post I explain how I ported a rather tricky page to dapper, it highlights usage of a new helper called SqlBuilder, that lives in Dapper.Contrib

Continue Reading

Finding views in ASP.NET MVC3 is an often overlooked performance concern.

Continue Reading

In this post I work through one method you can use to get controller, view and partial render times in an MVC3 app.

Continue Reading

I am very happy to re-announce the MVC mini profiler, used in production at Stack Overflow.

Continue Reading

I have been spending a fair amount of time tuning Stack Overflow, in this post I will walk through the process of tuning a single page.

Continue Reading

Does the world even need another ORM?

Why we took a step back at Stack Overflow and wrote our on mini ORM

Continue Reading

At "my new job":http://blog.stackoverflow.com/2010/06/welcome-stack-overflow-valued-associate-00008/ I have been looking at better ways of highlighting recent interesting answers.

Here is a list of answers I came across in July that I found interesting.

Continue Reading

Diagnosing runaway/high CPU in production .Net apps has always been a dark art reserved for the true master debuggers.

No longer.

Continue Reading

Got Flare?

almost 5 years ago

A little bit about my new bug tracker. Can tracking bugs be fun?

Continue Reading

I love rspec, and wanted to see what happens if you bring it to .Net, here is a tiny step by step guide to writing your own rspec tests for a C# project.

Continue Reading

Our new startup, Media Browser

about 5 years ago

After a lot of thought and research I have decided to see if we can make a business out of Media Browser.

Continue Reading

Media Browser / Video Browser has always been free "as-in-beer":http://c2.com/cgi/wiki?FreeAsInBeer and free as-in-speech.

Will it remain free?

Continue Reading

About some upcoming feature for Media Browser.

Continue Reading

We just changed the way our source code is licensed, this post covers the reasons and details of the changes.

Continue Reading

I am going to try to post a little bit about my adventures refactoring Media Browser. In this post I am covering a some aspects of entity resolution.

Continue Reading

In this post I offer a streamlined mechanism for debugging Vista Media Center plugins in Visual Studio.

Continue Reading

For the last few weeks I have been forced to use a very slow website. This has left me feeling very demoralized. This is why.

Continue Reading

Earlier this week I lost my old trusty server which hosts www.samsaffron.com and www.mediabrowser.tv died.

I decided to migrate all the data to a new VPS (virtual private server), here is a sketchy account of how this all happened.

Continue Reading

Deadlocked

about 6 years ago

In SQL Server a SELECT statement can deadlock against an UPDATE statement without being in a transaction. Why does this happens? What is a good approach to SQL Server deadlocks?

Continue Reading

Recently, I had to support a rails server which is deep behind a firewall. Here I offer a somewhat sketchy account of how I am able to support it.

Continue Reading

Why I started off Video Browser, where it is today, and what are the future plans.

Continue Reading

In general when generating rss feed in Rails you will be using the builder library, it can be fairly slow unless you take special care.

Continue Reading

Watch out when you use ActiveRecord eager loading, it has the potential to wreak havoc if you are not careful.

Continue Reading

A new release of Video Browser contains a few bug fixes

Continue Reading

I just posted a new version of Video Browser that support "by genre" and "by runtime" sort options for movies.

Continue Reading

Yet another way to enumerate through Enumerables if you are using the prototype javascript library.

Continue Reading

On Rails, I find myself quite often fixing up an old migration early in my projects, at this point I already have a bunch of data in my database and I would like to keep it.

So I created a Rake task that takes care of this.

Continue Reading

I just posted a new version of video browser in my download section!

Continue Reading

In this post I would like to give you all the information you need to get started with Ruby On Rails, on Windows. I will cover the tools you need, the resources you need and some tips.

Continue Reading

Writing your own blog software is an ideal first exercise when faced with learning a new web platform.

Continue Reading

Hello World

over 6 years ago

Continue Reading

Video browser, is a little plugin for Vista MCE that let's you browse your videos the way they were meant to be browsed.

Continue Reading

Goodbye Altiris

about 7 years ago

Well, it's that time to change jobs. Goodbye Altiris.

Continue Reading

Video Browser for Vista MCE

about 7 years ago

This is a post about my first attempts with Video Browser.

Continue Reading

IDisposable in Ruby

about 7 years ago

An example implementation of the IDisposable pattern in the Ruby language.

It looks much nicer in Ruby.

Continue Reading

Implementing the UPSERT (insert or update) pattern in MS SQL Server can be tricky. In this post I explore the various advantages and disadvantages of various implementations.

Continue Reading

Continue Reading

Continue Reading

Keep it simple

over 7 years ago

4 different embedded databases offer 4 different APIs to create a database.

Continue Reading

Testing .NET embedded DBs

Continue Reading