By Phil Whelan on October 30, 2012
As mentioned in part 1 and part 2 of this series on Ruby’s EventMachine, Thin is where most folks encounter EventMachine for the first time, even if they do not realize it. EventMachine is at the core of Thin and allows for the high concurrency that Thin provides to your Rails application. In this post I will look at Thin’s usage of EventMachine.
By Phil Whelan on October 23, 2012
In this post I am going to demonstrate, step-by-step, a way to A/B test new features from within Ruby-On-Rails using FluidFeatures. FluidFeatures is currently in closed-beta and requires request for inclusion in the beta program. We are looking for enthusiastic A/B testers, so we can get feedback on the service before releasing it to the masses.
By Phil Whelan on September 24, 2012
In this post I will look synchronous vs asynchronous programming with Ruby’s EventMachine, to show that asynchronous does not always mean that your code will run faster.
In part 1 of this series on Ruby’s EventMachine I discussed the benefits of event-based programming in general. I am a big fan of event-based programming, as you will see in these posts, but I wanted to flip the coin over and look at one of the down-sides of event-based programming.
By Phil Whelan on September 14, 2012
In this first post, of a series on Ruby’s EventMachine, I will introduce EventMachine and explain why event-based programming is good for your wallet.
EventMachine, which just turned 1.0.0 this week, is more than just a gem, it is a new paradigm for many Ruby programmers and is not always easy to just drop into your existing stack. As the name suggests, it gives you event-based programming.
By Phil Whelan on September 13, 2012
In this blog post I am going to introduce a new service for Ruby On Rails developers called FluidFeatures that helps you manage rolling out new features to your site and provides a way to easily do A/B testing (competing versions of a feature) right in the belly of your code.
By Phil Whelan on September 8, 2012
Recently, we hit a problem with Ruby’s “exit” command. If something went horribly wrong and it made no sense for our application to continue in its current state then we would abort with “exit 1″. We use supervisord to manage processes, so in this case when we exited with exit status of 1, supervisord would assume something went wrong and restart the process for us. Or at least that is what we thought…
By Phil Whelan on September 3, 2012
In this blog post I will demonstrate a quick and easy way I have found to syntax highlight your Ruby code in pretty colors for your blog posts or other HTML-based display purposes. Please note, this blog post is designed for use with color monitors only, obviously.
The focus of this post is Ruby, but this method also applies for syntax highlighting C, C++, Python, CSS, Clojure, diff, Groovy, HAML, ERB, Java, JavaScript, PHP, SQL, XML and YAML.
By Phil Whelan on July 23, 2012
In this post I will walk you through how to setup your own gitolite server and start hosting your own git repositories.
Gitolite is a great tool for doing this and works in a very git-like way for managing users, access-rights and setting up new repositories for collaboration between your team. A common reason to setup Gitolite is to remove reliance on services like GitHub.
By Phil Whelan on January 10, 2012
In this blog post I’ll go through an example, in repeatable steps, of how to get up and running with the Tornado chat demo on ActiveState’s public sandbox for Stackato.
ActiveState’s Stackato PaaS (Platform-as-a-Service) is based on VMware’s open-source PaaS, Cloud Foundry, and offers an enterprise PaaS solution that will run on any public cloud, private cloud, laptop or desktop.
By Phil Whelan on December 15, 2011
Geohashing is a simple way to encode latitude and longitude and grouping nearby points on the globe with varying resolutions. It was created by Gustavo Niemeyer. This blog post looks at how it’s implemented any why it is such an elegant solution for encoding and managing location-based data.
By Phil Whelan on December 13, 2011
Last week I attended a presentation by James Golick, CTO of fetlife.com. Intriguingly advertised as “Scaling a Website to 300 Million Page Views Per Month with Scala” I thought it was worth a break from building cooq.com to attend. Fetlife have been heavy users of Ruby, but are transitioning to Scala and having been using [...]
By Phil Whelan on March 7, 2011
In this post I will look at the technology infrastructure behind Summify.com, a website that strives to make our lives easier and helps us deal with the information overload we all experience every time we sit down at our computers. Summify has aggregated over 200 million stories from the web and serves them up on-demand through a series of different mediums. The website uses Tornado to push real-time updates out to the users and they have developed over a dozen backend systems, some of which I will cover in this blog post.
By Phil Whelan on February 14, 2011
In this blog-post Bradford Stephens, Drawn To Scale’s founder, answers a series of technical, business and personal questions to give an overview of what Drawn To Scale is and where it is going. Who are the founders? What is their background, technology and business model? How were they going to manage other people’s big data? Can one tool fit the demands from a broad range of data challenges that different businesses are seeing?
By Phil Whelan on January 31, 2011
In this blog post I will delve into the snippets of information available on Quora and look at Quora from a technical perspective. What technical decisions have they made? What does their architecture look like? What languages and frameworks do they use? How do they make that search bar respond so quickly?
By Phil Whelan on January 24, 2011
In a few of my recent posts I have covered the ease of deploying clusters of Hadoop and Cassandra using Whirr. With Whirr you can simply write a configuration file specifying which cloud provider you are using, your credentials and the definition of the cluster you desire and it will build it for you. In [...]