With a nod to this post from Cal Evans, I'm presenting my own a€oTop Threea€ť posts from 2011, in order of descending popularity:
I don't understand the 9-to-5:
This one is easily the tops of the popularity lista€¦thanks to another PHP community member, this one made the front page of Hacker News for a little while and received almost five thousand hits in a day. My poor little slice didn't know what hit it. I scrambled to put up something - anything - to be able to keep the site alive. Ultimately I...
In a new post to his blog Nikita Popov talks about a little trick with inserting values into arrays that can make it take a lot longer than it should (because of how PHP stores its array values in hashtables).PHP internally uses hashtables to store arrays. The above creates a hashtable with 100% collisions (i.e. all keys will have the same hash). [...] Because every hash function has collisions this C array doesn't actually store the value we want, but a linked list of possible values. [...] Normally...
As is mentioned in this new post to the Seabourne site by Mike Reich, the FCC (Federal Communications Commission) has launched their new portal, MyFcc (beta). The Seaborne post talks about the technology they used to create this widget-based dashboard.MyFCC is a personalized dashboard for power users that provides a simple way to access a broad range of content coming out of the agency. MyFCC content is powered by the Content API module, and is built using our very own Cumula Framework.The site is based...
DevShed has a new tutorial posted today looking to help you counteract the bad practice of wrapping procedural code in "class" constructs and provide some useful suggestions of how to avoid it.Static helpers seem to be a great idea at first glance, as they're reusable components that don't require any kind of expensive instantiation for doing common tasks [...]. But the sad and unavoidable truth is in many cases they're simply wrappers for procedural code, which has been elegantly hidden behind a "class"...
On PHPMaster.com today there's a new post showing you how to write custom session handlers - in their case, a database-based option that can span across multiple servers/services.Sessions are a tool which helps the web programmer overcome the stateless nature of the internet. You can use them to build shopping carts, monitor visits to a website, and even track how a user navigates through your application. PHP's default session handling behavior can provide all you need in most cases, but there may be...
On Dzone.com today Giorgio Sironi has posted what he considers to be some of the most popular Open Source PHP projects of 2011 including Symfony2, Doctrine and HipHop.This non-scientific analysis of the popular and exciting PHP projects starts from researches on active projects on SourceForge and GitHub; the latter is where most of the collaboration and involvement of PHP developers is today. I've also crowdsourced the question on Twitter to catch projects I wasn't aware of, and I hope to do the same...
Here's what was popular in the PHP community one year ago today:Zend Developer Zone: Book Report: You Want to Do What with PHP?
Reddit.com: Less obvious PHP tricks?
Shameer's Blog: PHP 5.3 : Practical look into Lambda functions and closures
Community News: DBG Debugger Helper for Google Chrome Released
PHPBuilder.com: Profiling PHP Code with Xdebug and KCacheGrind
Sjoerd Massen's Blog: Passing the PHP 5.3 ZCE exam
php|architect Blog: The NoSQL Hype Curve is Bending
Query7.com: Book Review: PHP5 CMS...
As the year ends, we're looking back at an interesting year. More of that you'll also find in the PHP|architect december community column, which I've written looking back at the year a bit. But that is about the PHP community, not about the global community. We should be grateful for living "in the west", where despite economic issues, we live a good and usually healthy life. And if we're ill, we can get treated. And depending on social system and insurance, we still get paid, even if we can't work for a...
As I'm sure you've all been longing to hear, we've finally got around to releasing a new version of PECL/Cairo! This version fixes some bugs, and adds support for some new features available since Cairo 1.10 - notably, support for subsurfaces, which are surfaces that draw onto a part of a larger surface, and for recording surfaces, which record all drawing operations and can then be used as the source for other drawing operations. Also, Mark Skilbeck has added support for Win32 fonts. Also, the FreeType...
Joshua Thijssen has shared a handy tip for those using Zend Server on a pupptet-ed server - using a Facter plugin to check for the ZS install and only install what's needed (rather than end up with multiple PHP installs).This means you should not install the default PHP package for your distribution when the distribution also runs on Zend Server. This Facter plugin will allow you to use the $zendserver fact inside your own manifests to check if Zend server is installed, so you can take measures against...
On the "Tales of a Coder" blog today there's a new post trying to gather some of the more popular web resources for PHP, Javascript and general web development and provide a set of links to make them easier to get to.What feeds do the super star PHP/ JavaScript web developers subscribe to? What are the essential PHP/ JavaScript/ Web Development feeds? I have shared my fledgling list below. Many of these feeds were recommended by my friends at PHPWomen, others I somehow stumbled across myself and some I...
Nikita Popov talks about the SOLID coding practices and creates his own acronym for the complete opposite - STUPID (Singleon, Tight coupling, Untestable, Premature optimization, Indescriptive naming, Duplication).Ever heard of SOLID code? Probably: It is a term describing a collection of design principles for "good code" that was coined by Robert C. Martin (aka "uncle bob"), our beloved evangelist of clean code. [...] So, why not approach the problem from the other side for once? Looking at what makes up...
The latest version of PHP in the 5.4.0 release candidate series has been posted - PHP 5.4.0 RC4, complete with new features and lots of bugfixes.The PHP development team is proud to announce the 4th release candidate of PHP 5.4. PHP 5.4 includes new language features and removes several legacy (deprecated) behaviours. Windows binaries can be downloaded from the Windows QA site. THIS IS A RELEASE CANDIDATE - DO NOT USE IT IN PRODUCTION! This is the 4th release candidate. The release candidate phase is...
Google News
Web Socket Service
Base WMI
String Delimiter
ISO 7064 Mod 97 10
Paypal Invoice API
ucaptcha
NetTuts.com has posted their list of what they think should be New Year's resolutions for every developer:In less than a week, we'll be in 2012. I know it's a cliché, but where has the year gone? Naturally, we're now at the time of year when folks set goals for the new year. While you might have some goals for your "real" life, how about a few resolutions for your developer life?Suggestions include:
Get Better At What You Know
Engage the Community
Take Better Care Of Yourself
Use Better Programming...
On Reddit.com there's a recent post asking about testing developers as a part of the hiring process and how difficult it should be.I developed an exercise for applicants. They must use an open source framework to make a simple bulletin board. It requires account creation, login, thread creation, message creation, unread message indication per thread, and logout. Every applicant is given this exercise after passing an initial test. The initial test is a simple disqualifier and is not challenging for...
On his "MySQL Talk" blog Joe Devon has posted a (very) belated wrapup of ZendCon 2011 he attended earlier this year.I started writing a Zendcon recap post as soon as I got back. And then mis-timed a couple projects. Note to freelancers, make sure your new gig starts AFTER your old gig is over. Or you'll be working an insane schedule. Hence the lateness... First the good part. What made Zendcon special.He notes that it was a great opportunity to meet people "in real life" that he'd only spoken with online...
I have a long backlog of things to write about. One of those things is Varnish (more on that in a future post). So, over these Christmas holidays, while intentionally taking a break from real work, I decided to finally do some of the research required before I can really write about how Varnish is going to make your web apps much faster.
To get some actual numbers, I broke out the Apache Benchmarking utility (ab), and decided to let it loose on my site (100 requests, 10 requests concurrently):ab -n 100...
Henrik Bjørnskov has a quick new post with a security tip for those using the Symfony2 framework in its configuration.Earlier when playing around with the Security component and SecurityBundle i found that for all paths you can specify a route name and the component will match it when check for the request paths.Setting this up in your configuration gives you more control over the paths that are matched as well as more flexibility in defining them. He includes a note about a change you might have to...
Latest PECL Releases:
yaf 2.1.4
hidef 0.1.11
yaf 2.1.5
|
Latest PHP Tweets
|