I now maintain a WordPress fork on github that contains bug fixes for E_STRICT compatibility. I also forked a few plugins I use, like s2member and iFeature, and made some E_STRICT compatibility changes on those too.
Continue reading »
Click is my new way to make your dreams come to reality.
A few weeks ago I was struck with the vision of what the perfect web app should be for you. I haven’t been hit with a creative streak like this for a few years, and it was powerful. The result is what I consider to be the ‘perfect’ starting point for a custom web site. It borrows ideas from all the major frameworks, some of the minor frameworks. But mostly, it’s a heap load of my experiences over the last 10 years.
Continue reading »
Click for WP is a very, very efficient plugin system. If ActiveRecord, HAML, and observer-based file system architecture weren’t enough for you, then this should be.
Continue reading »
I spent quite a few cycles trying to figure out how to pretty-print some PHP that was a mess.
Here’s the best pretty printer online: http://www.prettyprinter.de/module.php?name=PrettyPrinter.
In porting Click to WP, I encountered a little gotcha that also f’d me with PHP sessions.
Continue reading »
Ok, so here are my top gripes about the little system that could.
Continue reading »
Ok, so in a prior post I was asking if you really needed actions AND filters in WP.
My answer is now No.
Continue reading »
WordPress has two observer-style hook types: actions and filters. According to WP, actions are immutable and filters are mutable. Here’s a good post to explain it: http://ottopress.com/2011/actions-and-filters-are-not-the-same-thing/
Now, in Click, there is no such distinction. We have a single thing, called event(), that passes arguments by reference and returns a data structure of everything everybody returned or left behind. This is more flexible, but perhaps more confusing too. Any easy example is the ‘nav_links’ event in Click.
Continue reading »
So, I don’t like any revision control systems. But I dislike git least of all. Failing that, I dislike SVN a little more than I dislike git. I dislike CVS so much that I can hardly remember if that’s really what it’s called.
Continue reading »
So lately, there have been a rash of Drupal 6 coding requests. Just today, I was asked to make a D6 module that tracks the completeness of the user’s profile and shows a “% complete” indicator.
Many social sites have massive profiles with dozens – even hundreds – of questions. It’s helpful to give the user some hope that he will some day finish. Thus, the progress indicators were born.
I remember waaaay back in the day when I had to write these by hand using graphic routines for my old Atari STe. Back then, if you wanted a progress bar to slide across the screen and fill up, you had to do it yo’ dam se’f!
Today with HTML/CSS/JavaScript, it’s much easier. The total task in Drupal took me about 15 minutes, and most of that was spent figuring out how the user profile questions were stored so I could count them. But I’m taking too much credit. The FIRST time I had to make a progress bar out of CSS and DIVs, I’m sure it took hours. And this was jus a prototype.
Nevertheless, prototypes move the world forward and this is another job done in PHP. But who’s counting