Trying out CloudFlare

I’ve heard a few mentions of CloudFlare before, but I never gave it much attention. Today, after reading this blog post, I decided to give it a try.

What’s more, that 30-40% increase that people used to see is now in the range of at least 50-60% as the team continues to find ways to make CloudFlare faster, while still offering security at the forefront.

What is CloudFlare, you ask?  As per their own website:

CloudFlare protects and accelerates any website online. Once your website is a part of the CloudFlare community, its web traffic is routed through our intelligent global network. We automatically optimize the delivery of your web pages so your visitors get the fastest page load times and best performance. We also block threats and limit abusive bots and crawlers from wasting your bandwidth and server resources. The result: CloudFlare-powered websites see a significant improvement in performance and a decrease in spam and other attacks.

In simple terms: CloudFlare is very cheap (even free) content delivery network (CDN).  It provides speed and security improvements, and it is extremely easy to configure.  I know so, because I’ve already registered for the free account and configured this site to benefit from the service.  Whether it actually lives up to all the hype – I don’t know yet, but I’ll see in the next few days.  I suspect it does, since there are numerous positive reviews around the web.  I will of course let you know.  Especially if you remind me.

[youtube=http://www.youtube.com/watch?v=AaMWqyg_xMo]

 

Pagoda Box – scalable platform for your PHP application

I got my hands on a private beta of Pagoda Box.  It is a platform that you can deploy your PHP applications to.   I gave it a brief look around and I have to say it’s pretty sweet.

Right after you register and get access to your dashboard, you can add applications.  Applications are cloned from GitHub repositories.  Both public and private repositories are supported.  Once you add an application, you can access it at http://your-app-name.pagodabox.com. If you’d rather have your own domain – you can assign it to your application from the dashboard and all that will remain to be done is adding an A-record in your DNS zone.  Super easy!

There is more to it, even at this beta stage.  Pagoda Box supports a number of PHP frameworks, including all major ones – CakePHP, CodeIgniter, Lithium, Symfony, Zend, and more.  You can also optionally have a MySQL database for your application.  They even help you out with outgoing email.

On top of that, you have control as to how many instances of the application you want (the more you have, the more requests you can serve at the same time, and the more you’ll have to pay).  There are statistics of your application performance, requests, and a few other parameters (I’m sure those will grow together with the project).

I’ll admit, I am too used to hosting my projects on my own servers to take immediate advantage of Pagoda Box.  But I am now seriously considering which projects I can move out of my server and into this platform.  It just makes things so much easier.  Deploying and re-deploying works wonders for any GitHub commit of your project.  Initial resources that one usually needs to try an idea out are free of charge.  If the idea picks up, the prices are more than reasonable (and comparable to other hosting solutions).

Out of those things that I consider necessary, I haven’t see any mentioning of files (uploaded via application, for example), support for build systems (such as Phing), and some sort of common library of frequently used code (PEAR modules, for example).  But I’m sure that either I simply didn’t look for these hard enough, or they will be added in the future.

If you are a PHP developer or involved with PHP source on GitHub in any other way, I suggest you try it out.  You can request a private beta invite directly from Pagoda Box website.  Or, if you prefer, I can send you one (I have about 10 of them left for now).  Also watch the demonstration screencasts,  and read through other platform features.

Google push for modern browsers

Here is a quote from this Google blog post:

[…]soon Google Apps will only support modern browsers. Beginning August 1st, we’ll support the current and prior major release of Chrome, Firefox, Internet Explorer and Safari on a rolling basis. Each time a new version is released, we’ll begin supporting the update and stop supporting the third-oldest version.
As of August 1st, we will discontinue support for the following browsers and their predecessors: Firefox 3.5, Internet Explorer 7, and Safari 3. In these older browsers you may have trouble using certain features in Gmail, Google Calendar, Google Talk, Google Docs and Google Sites, and eventually these apps may stop working entirely.

All I have to say to this is: Bravo Google!  Enough is enough!

As pretty much anyone with a computer science degree, I was a big supporter of backward compatibility at the beginning of my career.  Backward compatibility just comes naturally.  Each and every textbook, boss, and mailing list opponent tells you to care about each and every user out there.  Often, with a complete disregard for your own costs.  Completely forgetting that backward compatibility is extremely expensive.

There has also been a huge change in software development since my college times.  The change is called the Web.  Backward compatibility was more important in the old days, when software was installed on a computer and when it had to be distributed via such inefficient ways as compact disks.  Since then, software development had largely moved into the Web.  Updates can be pushed out to users several times a day and they require no effort on the client side.  That has to count for something.  All that is asked in return is that your web browser is of a reasonably recent version.  And not even that it is of any particular brand – you can chose from a few options, and you can have the choice no matter what kind of computer or operating system you use.

To those scared of the updates and what such changes can bring to them, consider other example, which exist in open source software.  Fedora Linux distribution, supports less than two releases back.  Painful?  Maybe.  But it’s a desktop oriented software collection, with a very painless upgrade process (albeit a few examples, such as a recent Fedora 15).  What is the result?  Most of Fedora users are upgraded to the latest or so version. Compare that with a huge chunk of enterprises running Windows XP, which is a 10 year old operating system, and you can see the difference.

Most modern browsers provide automatic upgrade functionality, which makes user life so much easier that there is really no reason not to upgrade.  The only argument for older browsers that I’ve heard to now is support of legacy applications that only work in specific versions of specific browsers.  And you know what, I have no problem with getting rid of those.  The world will be a better place.  It’s been years since we have web standards, browsers that support them, and plenty of tools that assist in development and migration.  If you haven’t moved your application in all these years, chances are you’ll never will.  In which case, you deserve all the troubles that you are about to get.  The world shouldn’t hold its breath waiting for you to upgrade.

Heck, when even Microsoft is jumping out of its pants for people to upgrade MSIE 6 to something newer, you know there is a problem.  And solving it once and for all (rolling release version support) is an excellent approach.  I hope more people will follow this example.

P.S.: Please excuse the lack of links.  The things I mentioned have been discussed many times all around the web and I do see them as obvious truth. Those of you who need references, shouldn’t have any troubles finding some.  If you do – let me know.

Firefox 4 is awesome!

If you’ve been reading this blog for a while, you know that I switched my default browser a few times already.  I went from Mozilla Firefox and Opera to Google Chrome and back a few times.  Recently, I’ve been very satisfied with Google Chrome.  The main advantage of it is that its super fast.  And the initial downside – extensions – got way better now.  There is pretty much any extension that I need.  Some extensions still have a bit of Firefox catching up to do, but overall, I’m covered.

Recently, Firefox 4 was released.  There has been quite a few improvements, especially in the area that concerned me the most – performance.  Firefox 4 is blazing fast.  Not as fast as Google Chrome, but pretty close.  But.  It also has a few things that I wanted for a long time and that Google Chrome doesn’t have yet.  Here are the two features that were a deciding factor for me to switch back to Firefox as my primary browser for the time being:

  1. Tab groups.
  2. Browser sync with support of the Android.

Tab groups is a feature I wanted for a really long time.  In fact, I’ve blogged about it back in October of 2007!  I was using hundreds of open tabs back than and not having groups was a real pain.  Now I am much more moderate with my tabs, but groups still make a lot of sense.  Have a look at the screenshot below.

With just a couple of clicks I can now group related tabs into groups.  When I switch between groups, in the list of tabs I see only the tabs open within the current group.  This saves plenty of time and confusion.  Also it makes keeping track of open tabs much easier.  Tabs can be dragged from one group to another group.  Groups can be renamed, rearranged, resized, and so on.  When I’m done with the task, I can close either a single tab or a whole group.  And I can even undo the closing operation on both.  Now that is the tool to boost productivity!

The new Firefox 4 also has the browser synchronization functionality, with which one can sync several computers and (now) even mobile devices.  You can choose what to synchronize and where. Bookmarks, history, passwords, form data, and even open tabs are supported! And this solves yet another problem for me.  I’ve been looking for an elegant solution to send URLs from my desktop to the mobile and back.  It’s a problem that I have on a daily basis.  And now it’s solved!  I simply installed Firefox 4 for Android on my mobile, enabled browser synchronization, and that was it.

With these new features in, and much improved performance, I don’t see any reason for why I shouldn’t switch to Firefox 4.  So that is exactly what I am doing starting today.

On a separate note, I have to once again highlight how important are competition and open standards.  Competition brings in the cutting edge technology and much improved end user experience. Open standards allow for simple switch between different implementations.  Kudos to all the open source developers, participating companies, and anyone else involved.  Keep it up guys!

Does Microsoft Internet Explorer really hate Google Chrome?

The other day I wanted to install Google Chrome browser on the nearby Windows PC.  Here is what I saw when I opened the download page in Microsoft Internet Explorer.

To help protect security, Internet Explorer blocked this site from downloading files to your computer.

I know, it’s probably a generic protection against downloading executable files, but it’s still funny.  Especially, the bit about MSIE protecting security by blocking Google Chrome.  Yeah, right.