Posted on
Wednesday 28 February 2007

As you may have noticed, php|architect has a new website to replace our five-year-old ball of code. This change has been almost eighteen months in the making, and one of the main reasons behind my general absenteeism from almost any form of non-necessary social activity during that period. If I haven’t answered your e-mail, returned your phone call or otherwise ignored your existence, it wasn’t on purpose—a man’s brain only has so many CPU cycles. Here, therefore, are a few observation on our new platform, its development and our strategy. Consider this the “how we did it” piece, with its “why we did it” companion to follow in a future post. What’s in a website?I am constantly surprised by how many people don’t seem to realize how complicated the technology behind php|architect really is. By the time we replaced it last week, our old system consisted of over 3,000,000 lines of PHP 4 code responsible for everything from backend management to distribution to online sales. Even before it became that big, the entire application started showing signs of code rot—I have never made any secret of the fact that php|a grew, at least initially, without the benefit of any great strategic plan, and that was reflected in the way our code was written. Five years of functionality added only in response to immediate needs eventually creates all sorts of problems—the same functionality repeated over and over, monolithic pieces of code difficult to maintain and impossible to debug, and so on. Eventually, the cost of adding new features—always a requirement of remaining competitive—becomes to be comparable with the benefits that these bring, and the business starts suffering. Development UnstrategyArbi and I first started discussing a rebuild of the site back in 2005, when it was still much smaller and not quite the incredible bowl of code it would eventually become by the time it was replaced. The first difficulty we encountered was decided what the website was supposed to do—and, by extension, how the company itself was supposed to present itself. Were we a publisher? Or a training provider? Perhaps a conference organizer? You can see that, eventually, we decided that we are a knowledge company—but, believe me, the road that led us to this decision was long and torturous. I will only say this: at some point, I had managed to convince myself that our homepage should work much like a web-based OS. I am glad the rest of the team fed me just enough rope to eventually hang myself and realize what a horrible idea that was. As our work progressed, the site went through many different incarnations. Throughout, we kept what I like to think of as a “fluid set of specs” that changed as we were trying to assess exactly in which direction we wanted to take things. This may look like a poor way to build a piece of software—and it is certainly inefficient compared to having a solid strategy and running with it—but it did allow us the flexibility of experimenting and researching what the best way of doing things was for us without ever boxing ourselves into a bad decision we couldn’t get out of. In other words, it took a while, but we eventually came up with something that reflects our needs: it provides us with a solid base on which we can build our future (sounds lame, perhaps, but it’s true). The Software DilemmaI suffer from episodic “rejection periods” during which I become particularly hostile to a certain idea. For a while, for example, I couldn’t stand working with databases; therefore, I became obsessed with the idea of storing and organizing data in the filesystem. At some point, I even became really fed up with PHP and decided that we should look at Python as our platform of choice for web development. In the end, however, we did use databases, and we did use PHP 5. After all, it is a really solid platfo
(more…)
Popularity: unranked [?]
Tags: architect's, clothes, Marco, Tabini
Posted on
Wednesday 28 February 2007
The Bakery (the CakePHP repository) has tons of new articles/tutorials/component releases posted - here’s just a few:
EmailComponent in a (cake) Shell
Modified Preorder Tree Traversal Component
Bindable Behavior: control your model bindings
Encrypted Cookie Component
Breadcrumb Helper
ACL Management Plugin
YAMMY!: DB to YAML table converter for migrations
Social Bookmarklet helper
Be sure to check out The Bakery for more great CakePHP-related components, articles and tutorials to learn to use this powerful framework to its fullest potential.
Popularity: unranked [?]
Tags: Bakery, Articles, Tutorials, Components
Posted on
Tuesday 27 February 2007
While Planet PHP hasn’t updated my feed url yet, just a little pointer to a post on OCL and PHP that I’ve written on my new blog:
http://www.jansch.nl/2007/11/15/validating-ocl-constraints-in-php-objects/
Popularity: unranked [?]
Tags: Validating, constraints, objects, Jansch, achievo
Posted on
Tuesday 27 February 2007
Over the past week or so I’ve been figuring out how to compile PHP on Windows, specifically Windows Vista. It’s been an interesting ride since I’m not very familiar with compiling on Windows to start with. However with some perseverence, and the help of all two useful online sources of information for the task of compiling PHP on Windows, I got around to accomplishing it.
The main source of information available is an excellent guide written by Elizabeth Marie Smith in December 2006 about compiling PHP5 and PHP-GTK2 using Visual C++ Express. The other basically refers back to Elizabeth’s article and adds some details on needing ICU to compile PHP6. If you are currently using Windows XP and Visual C++ Express 2005, then you need look no further. This is the single most informative source about compiling PHP on Windows that I could locate.
If you are using Windows Vista, or intend updating/using Visual C++ Express 2008, then my blog entry is largely another coat of sugar on top of Elizabeth’s guide to clear up any difference between the two approaches. There certainly are differences, but they are not overwhelming - esp. since I’ll lay them out below
(more…)
Popularity: unranked [?]
Tags: Compiling, Windows, Vista, using, Visual, Express, Seriously, Pdraic, Brady
Posted on
Tuesday 27 February 2007
Two and half years ago when I first starting working here, I quickly realized that one of the issues we would face in the future, would be lack of Unicode support; however, all of our clients are state-side and the “nothing exists outside of the US/English” mentality was working fine for us.
Two and a half years later, we now have several world-wide clients, and the time has finally come for us to support unicode; our biggest hurdle, is the 7 years of legacy Latin1 (ISO-8859-1) data.
Well, now I had to bite the bullet, I was thinking to write a script to change the table to UTF-8, and be done… but it’s not that simple. MySQL does NOT convert the data when you change the table charset; so then I decided to grab all the data from the database, throw it through iconv() and back into the database.
(more…)
Popularity: unranked [?]
Tags: Migrating, MySQL, Unicode, Davey, Shafik
Posted on
Tuesday 27 February 2007
Hasin Hayder has started up a new project that he’s documented in a new blog entry - the creation of a new jobs website in PHP.
I was involved in making a job site few days ago. During the development, I have studied how easily anyone can develop a job site using PHP (language independent in true sense) . So I decide to write a blog post about my experience and here it goes. But note that this article is not about scaling or balancing the load on your site during heavy traffic, heh heh.
He comments on the startup process surrounding this type of site and makes suggestions about something to consider for your careers site - pulling job content from other sites in two ways - screen scraping and using the job search APIs out there.
(more…)
Popularity: unranked [?]
Tags: Hasin, Hayder's, Making, jobsite, using
Posted on
Tuesday 27 February 2007
After moving on from Mindquarry, Sandro Groganz has decided to start up a new venture to help out the Open Source community - an Open Source Marketing Consultancy.
Due to solid demand, I will officially start my own business offering marketing consulting services to Open Source software creators and contributors in February. Clients will be able to choose from a broad range of marketing services, including strategic as well as operational tasks and social media as well as traditional marketing.
He will be offering services to help Open Source projects become more visible and profitable including creating marketing strategies, branding, positioning, public relations, collaterals and working with social media. He’s also providing some of the basics behind it all in entries to the wiki on his site.
(more…)
Popularity: unranked [?]
Tags: Sandro, Groganz's, Starting, Source, Marketing, Consultancy
|