My ideal ssh client config set-up

Recently I was asked how I’d managed to set up alias’s for all of the development servers I use on a day to day basis on my work laptop (a MacBook Pro), and how I had managed to set a default username for all outgoing connections. To which I replied I’d just set up my most commonly used connections in my ssh config file. What follows is a sample of my ssh config, which will hopefully help you to write your own.
Continue reading My ideal ssh client config set-up

Free offsite backup via Google

Offsite backup is one of those luxuries that most small websites and bloggers will never have, mainly because of cost, but sometimes because our hosting solutions do not support or offer them.

So this week I lost the server that my sites sit on for a few days, and I realised that I have no real backup of the databases on there. I have a copy of the code as it’s within SubVersion, so there was never really any chance of losing that part of my site, but what about my database. This got me thinking, is there a way I can sort out a form of offsite database backup?
Continue reading Free offsite backup via Google

Back online

Well it’s good to be back. The server which hosts this website, and http://www.greensourz.com died 2 weeks ago and today I finally had time to restore the content on both sites.

The loss of both sites got me thinking about the need to back things up more often and and ways to do the backup easily. To that end I’ve got a little script to write in order to automate all my backup needs, and then I’ll share how and what I’ve done to provide my little sites with a solid backup system.

Fun with CSS3 and Webkit

The power of CSS3 and Webkit really impresses me, especially when I see people creating fantastic things like a StarWars AT-AT which looks like it’s moving without using flash.

http://anthonycalzadilla.com/css3-ATAT/index.html

After the announcement of the new Apple iPad last week, and the fact it will not support flash there is still hope for rich interactive content with CSS3 and Webkit.

NOTE: Only webkit browsers (Chrome and Safari) can view the animation correctly.

Initial thoughts on Doctrine

I started to use Doctrine this year, and I have to say that I think I prefer it over Propel now on how you construct queries. The syntax is a little cleaner as well in my opinion. Here is an example of both syntaxes to retrieve a set of articles from a database which match a few criteria.

Propel:

$criteria = new Criteria('article a');
$criteria->add('a.status', 'active');
$criteria->add('a.type', 'news');
$criteria->addDescendingOrderByColumn('a.id');

Doctrine:

$query = new Doctrine_Query::create()
       ->from('article a')
       ->where('a.status = ?', 'active')
       ->andWhere('a.type = ?', 'news')
       ->addOrderBy('a.id DESC');

I also find the Doctrine way or building the query easier to read compared to the Propel one.

Once I’ve worked with Doctrine some more, and built some more complex queries I’ll add some more thoughts.

Adobe® BrowserLab

Last night I was introduced to a very nice cross-browser tool produced by Adobe called Adobe® BrowserLab. This tool allows you to test your website in multiple browsers on multiple OS’s without the need for virtual machines, Adobe does that for you.

https://browserlab.adobe.com/index.html

The way it works is to take a screenshot of your chosen URL in several different browsers and then allow you to compare each image, and see how your pages differ from one browser to another. This allows you to spot any possible bugs or errors. It does not allow you to test the interactiveness of your code though as it only provides static screen shots. Though it is still a very cool idea.

Hello and Welcome

Hello and welcome to http://www.carlcasbolt.co.uk

This is the personal website for Carl Casbolt. A Web Applications Specialist living and working within the South East of the United Kingdom.

Currently working at IPC Media in London as a Lead Backend Developer. Specialising in technologies including LAMP, PHP, MySQL, REST, Solr, MongoDB, API’s, Mobile Websites and Search technologies.