The PHP project has released the next major version of the popular web programming language, which includes many new features listed here:
PHP 5.3.0 Release Announcement
Perhaps one of the more unusual additions is the inclusion of an old-school goto statement for flow control:
(check out the inclusion of an XCKD cartoon on the bottom of the manual!)
Added: 2009-07-01 13:45:57The Open Web Application Security Project (OWASP) is an open community dedicated to spreading knowledge on designing secure computer applications. On the 10th of September 2009 in Trinity College in Dublin, they will be holding their first Irish Application Security conference:
OWASP Ireland AppSec 2009 Conference
While at their site, please have a browse of their excellent guide to Web Application Penetration Testing:
Web Application Penetration Testing
Their full application security testing guide (~350 pages worth) in PDF format is available for free download here:
Should be an interesting event!
Added: 2009-07-01 11:50:19The last Pentax I owned was a K1000 (I still have it, great camera). The new Pentax K-7 has me looking seriously at Pentax again, mainly due to the superior weather proofing when compared to other cameras from different manufacturers in this price range:
And it shoots video :-)
Added: 2009-06-15 09:11:03Matthew Montgomery of MySQL has released a group of shell scripts that are very useful for those administrating MySQL instances. I was particularly impressed with a useful script for checking the configuration of your database for known performance bottle necks, which produces very clear output with advice on how to tune your MySQL server:
Added: 2009-05-07 15:53:20I have pretty specific requirements for an Eclipse IDE. Firstly it needs to support Java, along with Ant, Tomcat, and JUnit by default. Secondly, it needs to support PHP5, which is what I do most of my web development in. I also use Subversion as my source control system, so an interface to that is required. Finally, it needs to support Ruby as I write all of my test and utility scripts in that language.
The difficulty is that as my requirements are diverse, it is hard to get an "all-in-one" build that has all of these features in place, so I end up spending ages installing separate Eclipse plugins from different providers which is painful.
To avoid this pain, Yoxos have a nice online system that allows you to define your specific set of Eclipse plugins, then download your bespoke all-in-one build in a single click:
Yoxos OnDemand - EclipseSource
Added: 2009-05-06 10:07:05Joel Spolsky gives a presentation to Google on StackOverflow.com:
Learning from StackOverflow.com
Added: 2009-04-29 21:00:51This issue is now over four years old, and still has not had anyone assigned to it :-(
Every now and again while working with Jira in my day job, I come across a project that another department is working on which I would like to keep an eye on, then I remember that Jira does not support the ability to watch a project without using a messy work around.
Come on Atlassian, fix it please!
Added: 2009-04-23 14:05:43Aditya Agarwal, Director of Engineering at Facebook, gives an excellent presentation on the architecture of Facebook with a focus on the LAMP (Linux Apache MySQL PHP) based components:
Facebook: Science and the Social Graph
The numbers are very impressive!
Added: 2009-04-12 10:34:19Lately I have been doing a lot of work with Lucene search engines and related search indexes. I came to the conclusion that for large high-volume deployments, you really need to separate out search from the main website. My main reason for this conclusion was that for the project I was working on, Lucene was taking up so much resources that it was actually impacting on the the main website of the application in a dramatic fashion.
The best way to separate out search is to think of search as a service: by placing our search functionality onto a separate server, wrapped in a REST or SOAP API (take your pick), we then have our main website act as a consumer of that service by issuing search requests and awaiting search result responses, which the website can then present to the user in a nice manner.
Luckily a lot of other people have already come to the same conclusion. For Java, if you want to stick with Lucene as the underlying technology, the Solr project looks interesting:
Introduction to The Solr Enterprise Search Server
For PHP, there is Majory:
Majory is also using Lucene indexes, but uses the PHP implementation from Zend. Solr is the more mature project, but Majory might be a good option for those on shared hosting where PHP is always a better option than Java, so it is worth keeping an eye on Majory to see how it develops.
Added: 2009-04-10 15:39:20Definitely the most entertaining (and inspiring) interview I've heard this year!
Paul O'Connell's Grand Slam Winning Interview. By Ian Benjamin Kenny
Added: 2009-03-27 18:48:42
1. A Case Study in not Dealing wi...
2. Understanding the Need for New...
3. Defining the Knowledge-based E...
4. Sun and Microsoft Settle Out o...
5. Google Ranking Tips Part 1, by...
6. Google Ranking Tips Part 3, by...
7. Sun Microsystems set to Divers...
8. Google Ranking Tips Part 2, by...
9. The Benefits of Click-Wrap Con...
10. Overture is Coming to Ireland
X. Show All
1. Handling Content Migration wit...
2. An Introduction to Object Orie...
3. Why its good to write Your Own...
4. Scalable Web Design Part 2: Li...
5. Dynamic Force-frame Effect for...
6. Layers Part 5: Animated Clippi...
7. Scalable Web Design Part 1: In...
8. Layers Part 4: Clipping Layers
9. Layers Part 3: Animated Layer...
10. Screen Resolution
X. Show All
1. Implementing an Image Cache fo...
2. Basic Shapes in PHP GD
3. Introduction to GD
4. Building Composite Shapes in S...
5. Basic Animation in SVG
6. Detecting the SVG Viewer
7. Basic Shapes in SVG
8. Working With PNG
9. Simulated Depth of Field
10. Dynamic Image Resizing
X. Show All
1. An Introduction to Version Con...
2. An Introductory Guide to Intel...
3. Working with MySQL Connector/O...
4. Building a PHP 5 Web Server on...
5. Running Scheduled Backups with...
6. Multi-Dimensional Databases: R...
7. Comparison of Relational and M...
8. Multi-Dimensional Databases: C...
9. Introduction to Multi-Dimensio...
10. Where Not to Use a Multi-Dimen...
X. Show All