RT initialdata and Perl’s nested map

Request Tracker (aka RT) comes with a very powerful, yet not too widely known tool – initialdata.  This helps with automating configuration of the new system and data migration.  Combined with the power of Perl’s map() function, some really awesome things can be done in a jiffy.

Here is a snippet I’ve used recently, to set a list of access rights to a list of queues:

push @ACL, map {
  my $queue = $_;
  map {
    {
      GroupDomain => 'SystemInternal',
      GroupType => 'Everyone',
      Queue => $queue,
      Right => $_,
    }
  } qw(
    CreateTicket
    ReplyToTicket
  )
} qw(
  dpt-Support-EN
  dpt-Support-RU
  dpt-Support-FR
);

PHP7 Reference – An overview of the features, changes, and backward compatibility breakages in PHP 7

Unarguably the greatest part about PHP 7 is the incredible performance boosts it provides to applications. This is a result of refactoring the Zend Engine to use more compact data structures and less heap allocations/deallocations.

The performance gains on real world applications will vary, though many applications seem to recieve a ~100% performance boost – with lower memory consumption too!

The refactored codebase provides further opportunities for future optimisations as well (such as JIT compilation). So it looks like future PHP versions will continue to see performance enhancements too.

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.