Showing entries 11 to 20
« 10 Newer Entries
Displaying posts with tag: Ruby On Rails (reset)
Loops plugin for rails and merb released

loops is a small and lightweight framework for Ruby on Rails and Merb created to support simple background loops in your application which are usually used to do some background data processing on your servers (queue workers, batch tasks processors, etc).

Originally loops plugin was created to make our (Scribd.com) own loops code more organized. We used to have tens of different modules with methods that were called with script/runner and then used with nohup and other not so convenient backgrounding techniques. When you have such a number of loops/workers to run in background it becomes a nightmare to manage them on a regular basis (restarts, code upgrades, status/health checking, etc).

After a short time of writing our loops in more …

[Read more]
Bounces-handler Released

Today I’ve managed to finish initial version of our bounces-handler package we use for mailing-related stuff in Scribd.

Bounces-handler package is a simple set of scripts to automatically process email bounces and ISP‘s feedback loops emails, maintain your mailing blacklists and a Rails plugin to use those blacklists in your RoR applications.

This piece of software has been developed as a part of more global work on mailing quality improvement in Scribd.com, but it was one of the most critical steps after setting up reverse DNS records, DKIM and SPF.

The package itself consists of two parts:

  • Perl scripts to process incoming email:
    • bounces processor — could be …
[Read more]
Web Developer / Graphic Designer Job Openings

Currently, there are several great opportunities with exciting companies available in the New York area. If you're a rock star Java/PHP/Ruby developer or a pixel-obsessed designer, contact me at your earliest convenience.

Web Developer:

Give Real is a well-funded startup in the midst of an exciting period of growth and success. Our technology uses a patent pending platform that combines the ubiquity of credit card transactions and the power of social networks to create a new gifting experience.

Our primary platform is Rails, but there are programming challenges that range from SOAP APIs to Facebook application development. We are searching for full-time developers with expertise and broad experience in:

* Ruby on Rails (we also use rSpec, Starling, Memcache)
* MySQL
* xHTML & CSS, and comfort with Javascript
* Team development with tools like Git & Trac

[Read more]
Sakila the MySQL Dolphin at CommunityOne and JavaOne

Yes, I know. JavaOne is about Duke, the friendly mascot of Java technology. Created and maintained by James Gosling and all.

But MySQL also introduces Sakila to the JavaOne attendees. Sakila is also friendly, and the mascot of MySQL technology. The dolphin was chosen by MySQL founders Michael “Monty” Widenius and David Axmark, as was its name Sakila (which came from a naming contest in the early days).

Together with Giuseppe (in the picture above) and the rest of the MySQL Community Team, I will be handing out incarnations of Sakila (also seen above in the pic) at CommunityOne and JavaOne as follows:

  • Monday 5 May 2008 09:30-10:45: CommunityOne General Session: Ian Murdock, Sun Microsystems; Panel: Matt Asay, Alfresco CNET, Mårten Mickos, MySQL, Jim Zemlin, Linux Foundation, Ted Leung, Python, Stormy Peters, …
[Read more]
Dog-pile Effect and How to Avoid it with Ruby on Rails memcache-client Patch

We were using memcache in our application for a long time and it helped a lot to reduce DB servers load on some huge queries. But there was a problem (sometimes called a “dog-pile effect”) - when some cached value was expired and we had a huge traffic, sometimes too many threads in our application were trying to calculate new value to cache it.

For example, if you have some simple but really bad query like

SELECT COUNT(*) FROM some_table WHERE some_flag = X

which could be really slow on a huge tables, and your cache expires, then ALL your clients calling a page with this counter will end up waiting for this counter to be updated. Sometimes there could be tens or even hundreds of such a queries running on your DB killing your server and breaking an entire application (number of …

[Read more]
FastSessions Rails Plugin Released

How often do we think about our http sessions implementation? I mean, do you know, how your currently used sessions-related code will behave when sessions number in your database will grow up to millions (or, even, hundreds of millions) of records? This is one of the things we do not think about. But if you’ll think about it, you’ll notice, that 99% of your session-related operations are read-only and 99% of your sessions writes are not needed. Almost all your sessions table records have the same information: session_id and serialized empty session in the data field.

Looking at this sessions-related situation we have created really simple (and, at the same time, really useful for large Rails projects) plugin, which replaces ActiveRecord-based session store and makes sessions much more effective. Below you can find some information about implementation details and decisions we’ve made in this plugin, but if you just want to try it, then …

[Read more]
Sun acquires MySQL

This morning, Sun Microsystems announced plans to acquire MySQL AB.

After all the industry speculation about MySQL being a “hot 2008 IPO”, this probably takes most of us by surprise — users, community members, customers, partners, and employees. And for all of these stakeholders, it may take some time to digest what this means. Depending on one’s relationship to MySQL, the immediate reaction upon hearing the news may be a mixture of various feelings, including excitement, pride, disbelief and satisfaction, but also anxiety.

Being part of the group planning this announcement for the last few weeks, I have had the fortune to contemplate the …

[Read more]
Navigating categories within my blog

With 130 entries in the “MySQL” category and no MySQL-related subcategories, my blog had become impossible to search and navigate easily.

And thus I created a number of new categories for the MySQL entries within my blog. They’re listed in the left navigation bar, below the months, as well as below:

[Read more]
Ruby on Rails 2.0 Released

Ruby on Rails 2.0 was released last week, It’s done!, David Heinemeier Hansson notes.

Ruby on Rails has come a long way since Lenz Grimmer’s interview with DHH in February 2006.

Browsing DHH’s blog, I find snippets (bolding mine) like

Piggy-backing off the new drive for resources are a number of simplifications for controller and view methods that deal with URLs.

As you might have gathered, Action Pack in Rails 2.0 is all about getting closer with HTTP and all its glory.

We?ve also made it much easier to structure your JavaScript and stylesheet files in logical units without getting clobbered by the HTTP overhead of requesting a …

[Read more]
Rails, Stored Procedures, Migrations, Mysql 5+ and … Trouble!

This is a tale about Ruby On Rails, custom stored procedures for MySql 5 and how Rails 1.2.3 is not only opinionated against stored procedures but also actually incompatible with creating and sometimes calling (mysql) stored procedures. The tales does not end with a truly happy ending but some “hacks” are mentioned that I have found useful.

Background
The rails framework developers, being of the opinion that complexity is best located in the code and not in the database, does not advocate using stored procedures as a abstraction layer between the database and the application. Instead dynamic sql generated from RoR code is used. For typical application databases, this approach works very well indeed.

Examples where the traditional rails way of database thinking sometimes fails short are projects …

[Read more]
Showing entries 11 to 20
« 10 Newer Entries