CakePHP, a visual history: 0 – 1.3.0

Graham Weldon made this fast-paced visual history of the CakePHP repository from 16th May 2005 up until close to the release a few days back for CakePHP 1.3.0. The result is nothing short of awesome.

See in HD and fullscreen!
Original blog post here.

Bookmark and Share

No Comments

Video: Node.js by Ryan Dahl

I recently read about “Node.js might be the most exciting single piece of software in the current JavaScript universe.” and “Node’s goal is to provide an easy way to build scalable network programs.” Sounds great. With this talk from Ryan Dahl, I’ve got a bigger picture:

Bookmark and Share

1 Comment

Cached json (or xml) view with CakePHP

While implementing caching for view as descriped in the cookbook i stumbled upon some glitches:

First I found out the best way to avoid problems with routing urls beeing not cached - especially when using Router::mapResources() - is to enable the caching per action in the controller like this:

function view($id = null) {
$this->cacheAction = "10 minutes";
// more stuff
}

The next problem was that cached views don't retain document mime type (xml, json, etc.). The first request works correctly (uncached request), but the second request will come back as text/html. You can find a more detailed description of the problem here.

I got an advice to enable callbacks for my views but that slows down and defeats the purpose of the cache. My approach now is to use a layout like this:

PHP:
  1. <cake:nocache><?php
  2. configure::write('debug',0); // surpress all debug output on json views
  3. header('Content-type: text/x-json');
  4. ?></cake:nocache><?php echo $content_for_layout; ?>

With the header('Content-type: text/x-json'); embedded in the nocache tags, it works fast and returns the correct mime type.

  • Development-Server XDebug enabled, APC enabled, View cache disabled:
    Requests per second: 1.64 [#/sec]
  • Development-Server XDebug enabled, APC enabled, View cache enabled (files):
    Requests per second: 29.04 [#/sec]
  • Development-Server XDebug disabled, APC enabled, View cache enabled (files):
    Requests per second: 95.66 [#/sec]

Further reading
8 Ways to Speed Up the Performance of CakePHP Apps.
Store View Cache in APC or Memcached.

Bookmark and Share

2 Comments

Is Chromium OS the perfect netbook OS?

After Googles launch of their own programming language "go" (which looks like a polished c++ meets pyhton) the next big thing is Googles attempt to re-think what operating systems (targeting netbooks) should be: Google Chromium OS. I don't yet follow the idea of no native apps "on the desktop". So I'm exited about Apple's plan for this netbook (or tablet-) market. As a developer I welcome every platform that allows users to access webapps in a more convenience way. And this is pretty much the best attempt for the old idea of a "network only computer": Network Computer Reloaded.

Bookmark and Share

No Comments

The Animated Google Story

A quick look back at the Google story over the last 11 years. From Stanford to Mountain View and around the world, featuring many different products, starting with BackRub (Search) up to Google Wave, StreetView and Chrome.

Bookmark and Share

No Comments

Getting Git

After reading ebooks, watching screencasts and working through some tutorials trying to get a grip on git, I found this slide that made me understand. Great! Thanks, Scott Chacon.

Another helpfull resource is: Understanding Git Conceptually and gitref.org

Bookmark and Share

No Comments

Social Media Revolution (updated)

Is social media a fad? Or is it the biggest shift since the Industrial Revolution?

This is a refresh of the original Social Media Revolution with updated statistics and images. Created by author Erik Qualman and based on the #1 Best Selling book Socialnomics.

Social Media Revolution 2 (Refresh) from Erik Qualman on Vimeo.

Bookmark and Share

1 Comment