Do you smoke test?
I broke Discourse yesterday.Not in the “its just a little bit broken sense”. Instead, in the absolutely everything is broken and every page returns a 500 error code, sense.We already do so much to...
View ArticleFlame graphs in Ruby MiniProfiler
Ruby 2.0 is just out-of-the-door. My favorite new feature in Ruby 2.0 is the new highly efficient mechanism for gathering stack traces.In Ruby 1.9.3 I would struggle really hard to gather more than 5...
View ArticleEliminating my trivial inconveniences building Discourse
Many developers spend a fair amount of the day waiting:Waiting for a build to end Waiting for search results to come up Waiting for an editor to launch Waiting for tests to run Waiting for a boss to...
View ArticleDiscourse as my blogging platform
This Blog has gone through several incarnations. When I started blogging I used subtext. Then I decided it was time to reinvent wheels and rolled my own, hodge-podge, blogging solution. It worked ok,...
View ArticleDiscourse in a Docker container
Deploying Rails applications is something we all struggle with:You would think that years along we would have made some progress in this front, but no, deploying Rails is almost as complicated as it...
View ArticleLive restarts of a supervised unicorn process
We have all seen this dreaded screen before.In the Rails case this usually happens during application restarts. While Discourse is rapidly evolving we are heavily encouraging users to upgrade...
View ArticleDemystifying the Ruby GC
This article is about the Ruby GC. In particular it is about the GC present in Ruby MRI 2.0. The Ruby GC has been through quite a few iterations, in 1.9.3 we were introduced to the lazy sweeping...
View ArticleCommenting powered by Discourse
Leaving comments on this blog requires a certain amount of commitment. You have to jump to another site to log in.Pasted image765x428 30.5 KBCompare this to the "least amount of friction possible".A...
View ArticleCall to Action: Long running Ruby benchmark
I would love a long running Ruby and Rails set of benchmarks. I talked about this at GoGaRuCo and would like to follow up. For a very long time Python has had the pypy speed...
View ArticleVintage JavaScript begone
The ProblemThese days all the cool kids are using Ember.JS or Angular or Meteor or some other single page web application. If you deploy often, like we do at Discourse, you have a problem.How can you...
View ArticleRuby 2.1 Garbage Collection: ready for production
The article "Ruby Garbage Collection: Still Not Ready for Production" has been making the rounds. In it we learned that our GC algorithm is flawed and were prescribed some rather drastic and dangerous...
View ArticleSpeeding up Rails 4.2
Recently Godfrey Chan got Discourse working on Rails Master. It was a rather long task that involved some changes to Discourse internals and some changes to Rails internals. Knowing Rails 4.2 was just...
View ArticleAnnouncing rubybench.org
A year ago I put out a call to action for long running benchmarks. I got a great response and lots of people lended a hand trying to get a system built. The project itself was quite slow moving, we had...
View ArticleDebugging memory leaks in Ruby
At some point in the life of every Rails developer you are bound to hit a memory leak. It may be tiny amount of constant memory growth, or a spurt of growth that hits you on the job queue when certain...
View ArticleCommenting powered by Discourse
Leaving comments on this blog requires a certain amount of commitment. You have to jump to another site to log in.Pasted image765x428 30.5 KBCompare this to the "least amount of friction possible".A...
View ArticleCall to Action: Long running Ruby benchmark
I would love a long running Ruby and Rails set of benchmarks. I talked about this at GoGaRuCo and would like to follow up. For a very long time Python has had the pypy speed...
View ArticleVintage JavaScript begone
The ProblemThese days all the cool kids are using Ember.JS or Angular or Meteor or some other single page web application. If you deploy often, like we do at Discourse, you have a problem.How can you...
View ArticleRuby 2.1 Garbage Collection: ready for production
The article "Ruby Garbage Collection: Still Not Ready for Production" has been making the rounds. In it we learned that our GC algorithm is flawed and were prescribed some rather drastic and dangerous...
View ArticleSpeeding up Rails 4.2
Recently Godfrey Chan got Discourse working on Rails Master. It was a rather long task that involved some changes to Discourse internals and some changes to Rails internals. Knowing Rails 4.2 was just...
View ArticleAnnouncing rubybench.org
A year ago I put out a call to action for long running benchmarks. I got a great response and lots of people lended a hand trying to get a system built. The project itself was quite slow moving, we had...
View Article