Wednesday, November 27, 2013

Visualizing Garbage Collection in Ruby and Python (

Since this is the “Ruby Python” conference, I thought it would be fun to compare how garbage collection works inside of Ruby and Python. But before we get to that, why talk about garbage collection at all? After all, it’s not the most glamorous, exciting topic, is it? How many of you get excited by garbage collection? [ A number of RuPy attendees actually raised their hands! ] Read more...

PostgreSQL: Don't Use CHAR or VARCHAR (

Earlier this week, while browsing some stack overflow questions about postgres' textual data types, I came across a link to a set of benchmarks that compare the performance of the CHAR, VARCHAR, and TEXT types in PostgreSQL — I highly recommend reading through the article if you have the time. It turns out that many variable length data types (and some that are fixed length, like CHAR) are represented internally with the same varlena data structure, which is simply a byte array prefixed with a 32-bit length field. Read more...

Tuesday, November 26, 2013

SQL Server: ntext, text, and image are deprecated (

ntext, text, and image data types will be removed in a future version of Microsoft SQL Server. Avoid using these data types in new development work, and plan to modify applications that currently use them. Use nvarchar(max), varchar(max), and varbinary(max) instead. Read more...

Tuesday, November 19, 2013

Australis is landing in Firefox Nightly (

A very exciting set of changes is landing in Firefox Nightly. We’ve been calling the project Australis, but, simply, it’s the next iteration of the Firefox user interface. It’s not quite finished, and it needs more polish, which is exactly why we’re so eager to get it out to a wider set of the community. So, what is Australis? Read more...

Friday, November 15, 2013

Amazon RDS for PostgreSQL (

Amazon RDS makes it easy to set up, operate, and scale PostgreSQL deployments in the cloud. With Amazon RDS, you can deploy scalable PostgreSQL deployments in minutes with cost-efficient and resizable hardware capacity. Amazon RDS manages complex and time-consuming administrative tasks such as PostgreSQL software installation and upgrades, storage management, replication for high availability and back-ups for disaster recovery. With just a few clicks in the AWS Management Console, you can deploy a PostgreSQL database with automatically configured database parameters for optimal performance. Read more...

Tuesday, November 12, 2013

Isomorphic JavaScript: The Future of Web Apps (

At Airbnb, we’ve learned a lot over the past few years while building rich web experiences. We dove into the single-page app world in 2011 with our mobile web site, and have since launched Wish Lists and our newly-redesigned search page, among others. Each of these is a large JavaScript app, meaning that the bulk of the code runs in the browser in order to support a more modern, interactive experience.

This approach is commonplace today, and libraries like Backbone.js, Ember.js, and Angular.js have made it easier for developers to build these rich JavaScript apps. We have found, however, that these types of apps have some critical limitations. To explain why, let’s first take a quick detour through the history of web apps. Read more...

Linux ate my ram (

What's going on? Linux is borrowing unused memory for disk caching. This makes it looks like you are low on memory, but you are not! Everything is fine! Read more...

Monday, November 11, 2013

Why Fluent NHibernate tries to write enums as strings?

This is frequently asked question in Stack Overflow site. The answer is very simple: you should specify the enum type in your mappings using CustomType<T>() for example CustomType<MyEnumType>(). This will write integers into the database then you save mapped object. Here follows example mappings:

public class UserMap : ClassMap<User>
    public UserMap()
        Id(x => x.Id).GeneratedBy.Identity();
        Map(x => x.LoginName).Length(64).Nullable();
        Map(x => x.EMail).Length(128).Nullable();
        Map(x => x.FirstName).Length(128).Nullable();
        Map(x => x.LastName).Length(128).Nullable();
        Map(x => x.Birthday).Nullable();
        Map(x => x.Role).CustomType<Roles>().Not.Nullable();
        References(x => x.Employer).Column("EmployerId").LazyLoad().Nullable();

Troubleshoot and Optimize Queries with Windows Azure SQL Database (

Windows Azure SQL Database is a cloud based relational database service from Microsoft. SQL Database provides web-facing database functionality as a utility service. Cloud-based database solutions such as SQL Database can provide many benefits, including rapid provisioning, cost-effective scalability, high availability, and reduced management overhead. This paper provides guidelines on the Dynamic Management Views that are available in SQL Database and how they can be used for troubleshooting purposes. Read more

Friday, November 1, 2013

Android KitKat (

Welcome to Android 4.4 KitKat! Android KitKat brings all of Android's most innovative, most beautiful, and most useful features to more devices everywhere. Find out more about KitKat here.