Nginx and Memcached, a 400% boost!

Here is an idea to try on a slow weekend: Nginx and Memcached, a 400% boost!

nginx_memcache

 

Memcached, the darling of every web-developer, is capable of turning almost any application into a speed-demon. Benchmarking one of my own Rails applications resulted in ~850 req/s on commodity, non-optimized hardware – more than enough in the case of this application. However, what if we took Mongrel out of the equation? Nginx, by default, comes prepackaged with the Memcached module, which allows us to bypass the Mongrel servers and talk to Memcached directly. Same hardware, and a quick test later: ~3,550 req/s, or almost a 400% improvement! Not bad for a five minute tweak!

Important Announcement about SMS notifications in Google Calendar

Catching up with emails, I saw this email from the Google Calendar team:

Starting on June 27th, 2015, SMS notifications from Google Calendar will no longer be sent. SMS notifications launched before smartphones were available. Now, in a world with smartphones and notifications, you can get richer, more reliable experience on your mobile device, even offline.

Too bad I say.  SMS notifications is one of the features I use and love the most about the Google Calendar.  My smartphone is full of all kind notifications.  In this day and age, it seems, every up considers it it’s duty to add something to the notification bar.  I’ll never configure each one of those to have a different sound, vibration mode, or LED color.  I don’t really care about them no more.

The ONLY notification that I care about 24×7, since my sysadmin shift days, is the SMS.  An SMS wakes me up in the middle of the night.  An SMS draws my attention in the noisiest of places.  An SMS interrupts my meetings.  That’s the one and only instance notification that I respect.

And now, it’s disappearing from the Google Calendar…

WordPress Plugins GitHub Mirror (or on GitHub):

Say hello to fully automated GitHub mirrors of every plugin in the WordPress.org plugin repository. These aren’t your typical plugin Git repositories. These mirrors can be used for fast, efficient, and automated plugin updates using Composer, and don’t require “sync scripts” or separate Subversion checkouts for plugin development. They also offer a way for plugin developers to make the move to Git even while others continue working on the same plugin using Subversion uninterrupted.

stats

Impressive, and quite useful.

CakeFest 2015 Presentations

CakeFest 2015 Presentations – a convenient list of all CakeFest 2015 presentations in one place.  Not sure how permanent the site is (I have a feeling this is a quick CakePHP coding experiment during the event), so hurry up and grab the links just in case, until something better comes out.  There were some really good talks by the looks of it.  Too bad I didn’t make it this year.

hack{cyprus} hackathon 2015

If you’ve missed it, this year’s hack{cyprus} hackathon tickets are up for grabs.  And yes, they are exactly 0 (zero!) EUR.  Free for both participants and visitors, thanks to sponsors.  So go get yours and don’t forget to attend either!

hack-cyprus

 

 

Software Engineering Radio : CAP Theorem

On the way to work today I enjoyed an excellent episode of Software Engineering Radio which featured an interview with Eric Brewer, a VP of Infrastructure at Google,  probably more famous for his CAP Theorem.

In theoretical computer science, the CAP theorem, also known as Brewer’s theorem, states that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:

  • Consistency (all nodes see the same data at the same time)
  • Availability (a guarantee that every request receives a response about whether it succeeded or failed)
  • Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)

The discussion around “2 out of 3″ was very thought-provoking and, at first, a little bit counter-intuitive.  If you don’t want to listen to the show, read though this page, which covers the important bits.

The easiest way to understand CAP is to think of two nodes on opposite sides of a partition. Allowing at least one node to update state will cause the nodes to become inconsistent, thus forfeiting C. Likewise, if the choice is to preserve consistency, one side of the partition must act as if it is unavailable, thus forfeiting A. Only when nodes communicate is it possible to preserve both consistency and availability, thereby forfeiting P. The general belief is that for wide-area systems, designers cannot forfeit P and therefore have a difficult choice between C and A. In some sense, the NoSQL movement is about creating choices that focus on availability first and consistency second; databases that adhere to ACID properties (atomicity, consistency, isolation, and durability) do the opposite.

This puts some of the current trends into perspective.