X1 Tech Talks #1: Scribd Architecture Overview

Posted by Dmytro Shteflyuk on under Presentations

Scribd Yesterday there was a first tech talk in the new co-working office X1, where I’m working now. I was talking about Scribd.com architecture (the big picture, almost no deep details). There are many things I’ve mentioned in this talk: Nginx, HAProxy, squid, MySQL, Sphinx, Monit, Memcached, Ruby on Rails, Amazon Web Services (EC2 and S3). Pretty interesting thing is that there were much more questions about Sphinx than about other tools.

I think it was pretty nice and successful, because I got many questions (really, really good ones), and instead of one-hour introduction we spent more than two hours in discussions and talks. I was enjoyed.

Below you could find slides from my talk (in English) and video recorded during the session (in Russian).

Read the rest of entry »

Memo #3: Advanced usage of Ruby hashes and arrays

Posted by Dmytro Shteflyuk on under Ruby & Rails

Ruby One of the most used features in any programming language is a Hash. Today we are going to talk about some of the Ruby’s Hash features, which are well documented, but rarely used — parameters of the Hash constructor. In the second part of this article we will take a look at the arguments of the Array class’ constructor.

Read the rest of entry »

Memo #2: Useful Git tricks with remote branches

Posted by Dmytro Shteflyuk on under Development

Git Here in Scribd we are using Git as primary version control system. We have tons of branches created, merged and destroyed every day. Someday I hope to describe our workflow with Git, but today I want to write about some useful techniques of working with this incredible tool.

It’s implied that you know what is Git itself and how to work with it. Below you can find some advanced tricks, that should be helpful for you (at least they were helpful for me).

Read the rest of entry »

Memo #1: Installing mysql and memcached gems on Mac OS X with MacPorts

Posted by Dmytro Shteflyuk on under Ruby & Rails

I have not posted anything here for a long time. It’s hard to start blogging again, so I will write a short tips and tricks series called “Memo“. Today I’m going to talk about two Ruby gems I’m using in all my Ruby on Rails project: mysql and memcached. Every time I try to install or update those gems on Mac OS X following error occurs:

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
    ERROR: Failed to build gem native extension.

And then I’m googling on how to install these gems. It’s time simplify my life and post commands here.

Read the rest of entry »

fb:editor FBML tag in Facebook applications

Posted by Dmytro Shteflyuk on under ASP.NET

Some time ago I have started posting about Facebook Application Platform (see my posts about setFBML and Facebook libraries for .NET). Today’s topic is fb:editor. As you may see, Facebook has nice look and feel, and all applications usually adapted in some way to its interface. fb:editor FBML tag allows you to create forms which looks just like native ones, but it has great limitation: it generates it’s own form tag, so can’t be used within ASP.NET server form. In this short post I’ll show HTML generated by fb:editor and a way how to use it in your ASP.NET application.

Read the rest of entry »