Archive for January, 2010

Php MVC Code Standards

Posted: January 19, 2010 in PHP, Symfony
Tags: ,

There is a nice tool called PHP CodeSniffer but not a good set of code standards for PHP MVC frameworks in PHP Code Sniffer format. The one I found for Symfony is somewhat old and missing items.

I should have something up at GitHUb this evening to correct that set of issues.


PHP Build For Testing

Posted: January 16, 2010 in PHP
Tags: , , , ,

One of the challenges in the increase in usable MVC frameworks is that each framework wants to  use its own unit test framework that is slightly different form PHPUnit. Yes, some CI servers have plugins to integrate those test xml report s in phpunit format but are often not updated depending upon whether they were implemented on the CI server side or the MVC framework  side.

Of course there will be times when the MVC Framework test harness is not enough and you may actually need the full phpunit. Because most CI servers can parse xml into the web dashboard what one could does is use a build script that calls a multiple purpose testrunner for  php such as stagerunner. You will notice in the bottom chart that it outputs JUnit xml for most PHP testrunners.

In a follow-up post I will post the ANT build script that I developed for use with the Symfony MVC framework.

Reblog this post [with Zemanta]

PHPLoc Phing Task

Posted: January 7, 2010 in PHP
Tags: ,

For those of us who are using PHPLoc 1.4.0, Raphael Stolt’s PHPLoc Phing task is based on 1.20 and so you need to make on little change. At line 6 change Xml.php to XML.php. The other soft error that occurs at this point you can safely ignore for now.

Even though most of the world is recovering financially, we have entered a climbing surge of innovation in the web scripting space to whereas webprise has replaced high cost and large development time heavy enterprise java. Even PHP can now do daemons and gtk interfaces.

Do not get me wrong, news on some areas of web technology are probably welcomed at Dzone Web Builder. However. where is adequate coverage of those web building technologies that save both startups and large enterprises money? I can always find 4 to 5 posts on YC’s HackerNewz daily.

Here is a typical example of high cost vendor bias in a dzone article. Hint, Java developers salaries are declining because they support high cost development processes when all the other developers are saying and finding a better way. Not to mention the bad factual bias in the linked article in ignoring new faster web HTPPD servers that use state machines to outperform Apache2 in such languages as Ruby and Python, one of them is Zed Shaw’s creation and one is FriendFeed’s creation among others.

This decade starting from 2010 establishes the rest of the transition form high costly Enterprise development using such things as Enterprise Java to what I call webprise systems developed in scripting languages. Some will use ORM of some kind and some will move towards schema-less distributed db systems. And we have Web Builder Zone of Dzone fully missing this transition.

Reblog this post [with Zemanta]

Enterprise, DOA 2010

Posted: January 5, 2010 in Tools

I have been going through a re-evaluation process. As TBray has pointed out; Sun, IBM, etc have spent billions of dollars attempting to convince others that Enterprise has to be complicate and very expensive and yet very enterprise systems such as, facebook, twitter, etc prove that C# and Java are not the answer.

In Java’s case with the Google’s Nexus One announcement you have to remember Java’s roots are embedded small device programming. It was never meant to an enterprise systems development answer and EJB has been refactorered 3 times already and its still not right.

In the android Java mobile case its going to be those firms that build a social service platform that happens to have an android client front end and web scripting back end. Given having to server millions of users that back-end even though in php, ruby, or python is certainly enterprise sized in sense of complexities.

Look at this way; php, ruby, and python have enterprise components in terms of message queue frameworks. You can write daemons in php, ruby, and python. In all those languages there are faster  web serves that are faster than ApacheHTTPD. Waht can enterprise C# or enterprise add? Certainly not development speed as it takes 3 times as long in development in both C# and Java as it would in php, ruby, or python.

I think the strongest items that web 2.0 could contribute to enterprise infrastructure everywhere would be the concept of do the a small core feature set first in fast iteration using better computer language tools designed for the development tasks at hand. Why a fast iteration?

Well lets borrow form web 2.0 startups, Breck Yunits has defined bubble as:

The bubble is the early, early product development stage. When new people aren’t constantly using and falling in love with your product, you’re in the bubble. You want to get out of here as fast as possible.

If you haven’t launched, you’re probably in the bubble. If you’re in “stealth mode”, you’re probably in the bubble. If you’re not “launching early and often”, you’re probably in the bubble. If you’re not regularly talking to users/customers, you’re probably in the bubble. If there’s not a steady uptick in the number of users in love with your product, you’re probably in the bubble.

That same concept also applies  when you have an internal set of customers as you have the same professional pressure of will this satisfy all stake holders, etc. And the answer is the same, the faster you get answers(feedback) the faster you can change it. On long development cycles pick a feature to launch and launch that.

Its not the computer language itself that is the expensive silo, its the culture of re-purposing that set of tools into development domain in which those computer language tools are not really a good fit. Not to mention the culture of entitlement that forms on top of the adoption of any complex set of tools in the first place.

To signify Enterprise’s demise we should just start using Webprise as a term as its more descriptive of the actual development tools that we are using.

Eclipse Perfect Install

Posted: January 2, 2010 in Tools

This is a rough draft of the prefect eclipse251 install steps. It will save you  some pain in installing Eclipse.

Beyond TechCrud

Posted: January 1, 2010 in Uncategorized
Tags: , ,

There is this interplay between programming technologies for different platforms( Desktop, enterprise, Mobile etc) and an interplay between different computer languages and tools that escapes being covered or even discussed in the normal SEO-linkbait rush to have something noticed in this real-time atmosphere of technical blogging.

A chance to do something different in that I am  not using javablogs or other sites to aggregate but just rather concentrate on content and have that quality content carry or quantify the points of discussion. Programming is not a vacuum devoid of life and yet we get so busy screaming ‘look at me’  to the default audience of that programming technology that we fail to observe the  full grasp of innovations and improvements and how to ‘stand upon shoulders of giants’.

Each person’s own non programming life pursuits become integral in the programming innovations we might create or develop. In my case, you might at any one time see concepts borrowed from history, science, music, etc being introduced into the programming sphere as naming conventions of projects but also as inspirations for new creations.

There also is a set of long technical essays in preparation at hackedlabs-wikidot that will be published, one at a time, as they are completed. Some cover specific programming tasks and others cover relationships between technology components and tools. And at times there will be articles that are in the hacker vein of playing with computing tools and techniques as a big set of lego blocks dying to be used to build that next new creation.

The only aggregation tools being used are twitter, facebook, and friendfeed.

Reblog this post [with Zemanta]