Tim Igoe's Web Design, Development and Hosting Blog
← Older posts Newer posts →

Is it good to work without a framework now?

Posted on by TimIgoe

My initial thought would be “god no”, however there are some benefits to working without one.

The biggest advantage to what I’ll call stray code, without any form of framework is its easy to add to, anyone can jump in and work on it without needing too much experience of how the code works. Pages can run separately from each other without any issues however this does itself lead to some issues. Is all the code constant? Answer… probably not.

One thing I notice, the more time I spend working with frameworks, is framework lock-in. What I mean by this, is once you’ve written the code for one specific framework, it isn’t re-usable in another due to specific modules and objects that have been used within that code.

Having a framework and suitable documentation does make it easy for any competent programmer to jump in and work, more so if a large known framework is used, for example Zend Framework, Symphony etc. These also can be requirements for knowledge when employing new staff.

As someone who spends all day using a custom made framework, when the requirement comes to write none framework code, I really have to think about it. Database calls, yep… I’ve got an object for that, I now have to think about mysql_* calls for example.

What becomes a better solution, rather than a framework, is a collection of libraries. These are code blocks / objects that can easily be swapped out without interfering with the running of the code.

While I can see the problems frameworks generate, it doesn’t at all mean I’m going to drop using them – they do save a lot of time for development, however I can see issues that do arise from their use.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in PHP | Tagged , | Leave a comment

Facebook Visualising Friendships

Posted on by TimIgoe

You can do interesting things with data, in this case a Facebook engineer has taken all the Facebook friend relationships and mapped them out producing the following image.

Facebook Netgraph
Click here to view a high rest image of this

Every relationship was rendered as a line between the 2 points that those users were registered as being located at. The above image is only this data but you can quite clearly see an outline of the world.

To find about the process used to create this graph, http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in Social Networking | Tagged , | Leave a comment

Facebook Places Goes Live in the UK

Posted on by TimIgoe

With the recent roll out of the new “Places” service, it is now possible to tag your current location on your Facebook account and broadcast it all to your friends. Facebook aren’t the first to develop such a system, however they will be the biggest provider based on the quantity of users they have.

Privacy has always been a concern on sites like Facebook yet how many thousands of people have completely open profiles with little to no security at all?

While most may not see a problem with this service, and some will see it as useful… there are huge privacy concerns to be had with such a system. I already know many people who have tagged their home (accurately) on Facebook, some even called it by actual house number.

Well done, I know where you live now but more importantly, I know when you are NOT at home because you are locating yourself everwhere. If I know this, who else does?

The whole process of tagging your location has been made even easier with the uptake of smartphones and “app” versions of sites like Facebook being able to access GPS data. Not only does this give accurate location information, it means you can update it where ever you are, whatever time of day or night.

What do you think about Facebook Places, a good idea of a disaster waiting to happen?

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in Social Networking | Tagged , | Leave a comment

Monit Rules

Posted on by TimIgoe

As a follow on from my post on Monit, I have compiled a selection of rules that can be used to monitor various services on your server.


check process sshd with pidfile /var/run/sshd.pid
start program  "/etc/init.d/sshd start"
stop program  "/etc/init.d/sshd stop"
if failed port 22 protocol ssh for 3 cycles then restart
if 5 restarts within 5 cycles then timeout


check process postfix with pidfile /var/spool/postfix/pid/master.pid
start program = "/etc/init.d/postfix start"
stop  program = "/etc/init.d/postfix stop"
if failed port 25 protocol smtp for 3 cycles then restart
if 5 restarts within 5 cycles then timeout


check process mysql with pidfile /var/run/mysqld/mysqld.pid
group database
start program = "/etc/init.d/mysqld start"
stop program = "/etc/init.d/mysqld stop"
if failed unixsocket /var/lib/mysql/mysql.sock protocol mysql for 3 cycles then restart
if 5 restarts within 5 cycles then timeout


check filesystem rootfs with path /
if space usage > 90% 5 times within 15 cycles
then alert


check system localhost
if loadavg (1min) > 10 then alert
if loadavg (5min) > 7 then alert
if memory usage > 95% then alert
if cpu usage (user) > 95% then alert
if cpu usage (system) > 70% then alert
if cpu usage (wait) > 80% then alert

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in Linux, Servers | Tagged , , , , | Leave a comment

PHP 5.2 Support Ends just as developers start to adopt it

Posted on by TimIgoe

With the recent release of PHP 5.2.14 the PHP Team has decided to end active support for this branch of PHP. This means there will be no further active development or bug fixes to this branch of PHP. Instead focus will be on PHP 5.3 and then onto PHP 6.

With many large projects still actively supporting PHP4, the choice is puzzling. A lot of web hosts still haven’t upgraded from PHP 4 based servers due to various incompatibility issues, it can sometimes take weeks or months to test and check all code against the latest versions of PHP when they are released which does hold up rolling out upgrades to live servers, however problems like this shouldn’t hold up the development of PHP.

From the PHP team’s point of view, they can only support a version for a set period of time before it becomes too hard to keep back porting changes to the older releases. PHP 5.2 was released way back  in 2006, a lot has changed since then so it isn’t unexpected to retire it now.

If a large package that is commonly used has issues on a certain version of PHP, it will hold back providers from upgrading to that version even if the benefits are there, this is especially true for shared hosting providers who tend to stick with the version that causes them the least problems and support.

There needs to be some changes somewhere to make the constant evolving nature of PHP easier to adopt and web site framework developers really need to evolve with PHP to help speed up the adoption of newer versions on a larger scale than they are (I’m thinking shared hosting providers here).

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
Posted in PHP | Tagged | Leave a comment ← Older posts Newer posts →