SourceForge.net: “We’re using Zend_OpenId”
May 16, 2008
SourceForge.net, the world’s largest open-source software development web site, is using Zend_OpenId.
Zend_OpenId is a set of components that allow anyone to create OpenID authentication servers and consumers. In many applications an Identity is necessary to authenticate entities, authorize access, maintain privacy and prevent disclosures
Identity 2.0 aims to solve this problem. It advocates the use of simple decentralized solutions, so that the user is able to choose where to host their identity, and also control how much information about they should be disclosed to any given site. Sites should be able to integrate such an identity system without any redesign of existing applications in a very short time.
OpenID is one of the leading Identity 2.0 solutions. It provides a protocol framework for secure identity service discovery, authentication and data exchange. These are very simple protocols that require only standard HTTP requests and do not require the use of new schemes, public keys, SSL or browser plug-ins. Some of these (for example, SSL) may be used in addition to the core protocols.
Zend_OpenId Documentation
Zend_OpenId Proposal
SourceForge.net OpenId
Ajaxterm offers a simple solution to those who want to run a terminal over the Web for performing remote administration tasks. Vincent Danen tells you how to get it and configure it for Apache.
Extract and compare database schemas
May 15, 2008
Making changes to the database structure is one of the most tedious and routine operations a developer of corporate applications faces to. The necessity of frequent updates considerably delays implementation of the project.
eZ Components offers a new solution of this problem: DatabaseSchema. First of all, DatabaseSchema it’s not an application, it’s a PHP component. It provides a unified data structure to describe relational databases. DatabaseSchema can read and write the structure from and to several databases (such as MySQL, SQLite and Oracle) and also read and write in two web language files (XML and PHP).
The main intention of the component is to extract an already existing schema from a database, and compare it with either a predefined schema to check for any changes. Although the component does allow you to create the schema manually through the API, it is often easier to create the schema yourself in a database, and then extract the data from it.
Zend Framework coding standards on one page
May 11, 2008
This is something I forgot to mention a couple of months ago. Raphael Stolt did a great job compiling the Zend Framework coding standards into one-paged PDF document.
Great stuff, thanks Ralph.
Scrum and XP: The key to success
May 11, 2008
A programmer cannot be Agile if the person that manages him is not Agile as well, and vice versa. That’s why Scrum focuses on management and organization practices while XP focuses mostly on actual programming practices, and that’s why they work so well together.
This excellent free book aims to give you a head start by providing a detailed down-to-earth account of how one Swedish company implemented Scrum and XP with a team of approximately 40 people and how they continuously improved their process over a year’s time.
You need to register to download this book, but believe me, it’s worth it!
Is Drupal Enterprise Ready?
May 10, 2008
The last Drupal release was a compilation of code from more than 900 contributors! To put that in perspective, the last release of Apache Web Server included a community of coders numbering about 50. Although the community behind the open source Drupal platform is large, it lacks some of the formal structure enterprise customers typically require.
So, is Drupal enterprise ready?
Hiveminds Magazine wrote an interesting article about it:
“Many open source Content Management Systems written in PHP want to be recognized by the business industry as being “enterprise” ready. This is not only a mark of prestige and status but places them in a position where large companies are ready to invest in the software as a platform for their projects. Drupal is now trying making its move to be enterprise ready but has a long way to go…”
Programming Jokes
May 9, 2008
Jesus and Satan have an argument as to who is the better programmer. This goes on for a few hours until they come to an agreement to hold a contest with God as the judge. They set themselves before their computers and begin. They type furiously, lines of code streaming up the screen, for several hours straight.
Seconds before the end of the competition, a bolt of lightning strikes, taking out the electricity. Moments later, the power is restored, and God announces that the contest is over. He asks Satan to show his work. Visibly upset, Satan cries and says, “I have nothing. I lost it all when the power went out.”
“Very well,” says God, “let us see if Jesus has fared any better.”
Jesus presses a key, and the screen comes to life in vivid display, the voices of an angelic choir pour forth from the speakers.
Satan is astonished. He stutters, “B-b-but how?! I lost everything, yet Jesus’ program is intact! How did he do it?”
God chuckles, “Everybody knows… Jesus saves.”
Choosing Between Distributed VCS
May 9, 2008
Choosing between Distributed VCS (git) and Central VCS (Subversion) is far from being easy. Which one should you use? And why Central VCS are not satisfying?
Several things are blamed on Subversion:
- Major reason is that branching is easy but merging is a pain (but one doesn’t go without the other). And it’s likely that any consequent project you’ll work on will need easy gymnastic with splits, dev, test branches. Subversion has no History-aware merge capability, forcing its users to manually track exactly which revisions have been merged between branches making it error-prone.
- No way to push changes to another user (without submitting to the Central Server).
- Subversion fails to merge changes when files or directories are renamed.
- The trunk/tags/branches convention can be considered misleading.
- Offline commits are not possible.
- .svn files pollute your local directories.
- svn:external can be harmful to handle.
- Performance
Sebastien Auvray introduces the concept of DVCS in one of his latest articles:
Distributed Version Control Systems: A Not-So-Quick Guide Through
What Makes Programming So Difficult?
May 8, 2008
In my opinion Software Developers are artists and the source code they produce is the final representation of their ideas. Programming is 95% design and a well designed software should be considered a masterpiece. But, non-programmers don’t see it this way, most of them don’t consider our profession to be creative.
Why is our job so different from other professions? Karsten Wagner wrote an excellent article about it.
ScrumWorks: Agile Process Automation Tool
May 7, 2008
What does Google, Sun Microsystems, HP, Amazon, Oracle and Motorola have in common? They all use ScrumWorks, an Agile process automation tool that enables teams to self-organize and maximize productivity.
Sun Microsystems:
“The best compliment I can give to ScrumWorks is that my staff doesn’t think about it. It is intuitive and respectful of the Scrum methodology, and easily becomes a very natural extension of the methodology.”
ScrumWorks features include:
- Product Backlog and Release Management
- Categorization of Backlog items using Themes
- Sprint Task Tracking for Teams
- Reports
- Impediment Tracking
- User and Team Manager
- Excel Import/Export
- Web Services API
- Automated and Manual Database Backups
ScrumWorks is used by over 50 of the Fortune 100 companies.