April 1, 2009
I recently discovered Zend Server and the free Community Edition which I think is a great development. We finally have a standard platform to code against. Not so much in terms of the bundled install of PHP and apache which has been offered for a while; but rather in terms of a standard directory structure, configuration and web-based administration system. More on that later.
Better yet this PHP environment bundle is backed by Zend which means it will stay maintained and likely make it into many corporate environments. It also ships with Zend Framework and PEAR which means it has full native FirePHP support right from the start! If you need another reason it also installs nicely alongside your existing Apache/PHP install without any conflict out of the box. There is really no reason why you cannot run Zend Server in parallel to your existing setup.
I am going to walk you through how you can get FirePHP setup for ZendServer with the help of some glue code. The glue is available from the FirePHP PEAR channel and will be maintained along with FirePHP going forward. At the end of this tutorial you will have FirePHP available automatically for any Apache vhost you configure on your Zend Server.
Continue reading »
February 26, 2009
I finally had a bit of time to look under the hood of Bespin. Hacking around on a new piece of software is like raiding a candy store if you have a sweet tooth. Especially when it is as concise, well thought out, and implemented in JavaScript like Bespin.
What sealed the deal for me was the result I got when I applied a 10 minute inspect-search-edit-refresh technique I use when learning the ropes of a new architecture and implementation. Lets call this technique “dive and swim”.
Before I get into what got me excited I am going to give you an insight into how I approached this new candy store called Bespin.
Continue reading »
February 20, 2009
I recently discovered a new Mozilla Labs project called Bespin. From the release announcement:
Just as Mozilla enables massive innovation by making Firefox open on many levels, we hope to do the same with Bespin by developing an extensible framework for Open Web development. We’re particularly excited by the prospect of empowering Web developers to hack on the editor itself and make it their own.
I encourage you to check out this project. It’s in a very early stage of development, so don’t expect to switch IDE’s any time soon, but based on the amount of interest it has already generated the project is going to evolve quickly.
Continue reading »
January 16, 2009
Integrated Development Environments in general and Eclipse/Aptana Studio specifically provide tree-based project explorers used to locate and launch files by displaying the file system that contains your project code. Typically the simple directory and file tree is marked up with:
- Icons for different file extensions
- Version information about the directories and files if connected to a version control system
- Context menus specific to each directory and file
This widely accepted approach to represent code files in a project has worked well in the past because projects and project components were typically:
Continue reading »
November 29, 2008
The November issue of php|architect is finally out. Why is this exiting for me? Because I had something to do with it:
/etc: FirePHP for Ajax Development
Firebug is without doubt the most popular development tool among Firefox plugins. Christoph Dorn thought it would be nice to have PHP integration for it.
by Christoph Dorn
Continue reading »
November 5, 2008
The days of static Powerpoint Presentations are numbered. By static I mean stale content and primarily sequential presentation.
If you watched CNN’s coverage of the 2008 US Presidential Elections you will have seen their “New Toy”. An interactive touch display that takes presenting data to the next level. It is developed by Jeff Han of Perceptive Pixel.
Continue reading »
October 22, 2008
I have released a new version of FirePHP. You can download it here. It will also be available on the Mozilla Add-ons site in a few days.
The release includes 27 bug fixes and feature enhancements. The scope of this release was primarily focused on improving the current feature set in terms of usability, reliability and support for logging complex objects. You can find the changelog here.
Continue reading »
October 14, 2008
Eran Galperin has written a great post on profiling MySQL queries with Zend_Db and optimizing them by hand.
He explains how to use Zend_Db_Profiler to analyze all SQL queries on a page and how to improve the performance of the queries by adding indexes.
Here is a quick modification to his example that will send the profiling information to firebug instead of printing it to the page.
Continue reading »
September 15, 2008
You have a blog and you are proud of it. Your sense of self-worth depends on how many people are following it. Making a detour to FeedBurner every day (the feed stats only update once a day) to check on your vitals is simple and does not take long (with a bookmark) but there has to be a more automated way.
What if you could just think “I wonder what my stats are today?” and your Mac would tap into your mind and give you the answer. It’s probably a good thing it has not advanced that far yet.
But what if you could ask your Mac and it would answer?
Well … It can! The needed speech tools are built right into Mac OS X.

Continue reading »
September 12, 2008
Just ran across this post where Felix shares some wisdom he gained while re-writing CakePHP‘s Set::extract() (code) method to make it faster and add some XPath 2.0 support.
If you need a function to have the highest performance, try to express it non-recursively. It can make a 500% difference.
Now I thought the 500% speed gain (and associated fewer CPU cycles) was a number he grabbed out of the air or it was based on comparisons with the previous Set::extract() method and very specific to that case. It surely would not apply to any algorithm in general as some are much more complex than others.
Continue reading »