Review: Practices of an Agile Developer
Practices of an Agile Developer by Venkat Subramaniam and Andy Hunt (Pragmatic Bookshelf, 2006)
Practices of an Agile Developer is a fast, enjoyable, often-amusing read. It’s also full of wisdom and excellent advice for engineers of all levels, technical managers, and just about anyone with an interest in the software development process. The book makes for a great companion to The Pragmatic Programmer (also co-authored by Andy Hunt), but is more concise and focuses on bigger-picture development practices than does the often-implementation-oriented latter. The authors clearly outline a number of agile methodologies, with attention given to tasks ranging from managing teams, managing time, and keeping estimates realistic, to integration automation, release management, and test-oriented development.
Of particular interest are topics that relate to developer/client interaction, which could apply to a variety of professional relationships (consultant and client; development team and sales team; etc.). The practices outlined present a path to greater success for all parties, with a greater sense of ownership for the client and a greater sense of satisfaction for the developer. …
community books
Trouble with MySQL 4.1 under heavy load
Two of our customers running high-traffic websites backed by MySQL (one using PHP, the other using Perl and Interchange) recently ran into serious problems with their MySQL server getting extremely slow or ceasing to respond altogether. In both cases the problem happened under heavy load, with MySQL 4.1 running on Red Hat Enterprise Linux 4 (i386) with the MySQL RPMs built by Red Hat, installed from Red Hat Network. In both cases, we were unable to find any log output or traffic patterns that indicated the cause of the problem.
When this happened on the first server, we tried numerous MySQL configuration changes, and wrote scripts to monitor the MySQL daemon and restart it when it failed, to give us time to investigate the problem fully. But eventually, out of expediency we simply upgraded to MySQL 5.0 with RPMs provided by the creators of MySQL. Doing so immediately fixed the problem. About a month later when another client encountered the same problem, we went straight for the upgrade path and it fixed things there too.
We haven’t had trouble like this with MySQL before, from any source. I filed a bug report in Red Hat’s bug tracker and Tom Lane quickly pointed me to …
database mysql
Interchange 5.4.1 released
Interchange 5.4.1 was released today. This is a maintenance update of the web application server End Point has long supported.
There were a few important bugfixes:
-
Dan Collis-Puro fixed bugs in the ITL (Interchange Tag Language) parser that can cause an infinite loop when malformed ITL opening tags are encountered.
-
Stefan Hornburg fixed a regression in the htmlarea widget (word processor-style editing in web browsers) which kept it from working with Microsoft Internet Explorer and browsers claiming to be compatible.
-
Brian Miller fixed an obscure profile parsing bug that kicked in when a comment immediately precedes the NAME identifier.
-
Kevin Walsh changed the default robot detection settings to check for “GoogleBot”, rather than just “Google”, to prevent false positive matches with other user agent values such as “GoogleToolbar”.
-
Josh Lavin and Mike Heins made improvements to the Linkpoint and VeriSign payment modules.
-
Ryan Perry added support for recent versions of mod_perl 2 to Interchange::Link.
-
UPS shipping rates were updated in the Standard demo.
There were also numerous other minor bugfixes in core code, tags, the admin, and …
interchange
PostgreSQL Supports Two-Phase Commit
The recent release of the 8.1 version of PostgreSQL provides a new feature that offers even more flexibility and scaling for End Point clients. That new feature is the support for “two-phase commit”. But what is this feature, and why would you use it?
First, let’s explore how database management systems (DBMS) do their jobs. Consider a simple example of editing a file. You open a file with a text editor or word processor. You make some changes. You save those changes. You close the file.
A little more complexity enters the picture if you make some changes, change your mind, and close the file without saving it. Now the file is in the original state. Even more complexity: what if the file is shared between two (or more) users, for instance, by use of a network system with shared drives?
Now we have to consider how the operations on the file occur over time. If Alan opens the file at 9:00 and starts making changes, but Becky opens the same file at 9:05, what file will Becky see? It depends on when Alan saves his changes. If he saves them at 9:04, then Becky sees those changes. If he saves at 9:06, Becky sees the original file.
If Becky is allowed to make changes to …
database postgres
End Point Launches New Website
By
Brian Dunn
February 1, 2006
End Point rang in the new year with a brand new corporate website at endpoint.com!
This new site replaces a design that served End Point through five years of rapid growth. The new site will help propel the company into its next stage by highlighting End Point’s depth and breadth of expertise, the company’s dedication to providing excellent customer service, and our belief in innovative technological solutions.
Visitors to the site can now get a better, more-telling picture of End Point as a company, can learn the company’s background, and can get to know the world-class developers who make up our engineering team.
As part of our devotion to technology, the site now includes regularly appearing Technology News updates that investigate new technologies and assess their usefulness and potential benefit for End Point clients.
We’re excited about the way the new site represents our company and are proud of the positive message of broad capability and client satisfaction it conveys.
company
End Point’s New HQ
By
Brian Dunn
February 1, 2006
We’ve moved! To help accommodate our company’s growth and progress, we’ve moved our headquarters to roomier offices in Manhattan’s Flatiron District at 920 Broadway.
The new office provides End Point with a congenial meeting space as well as state-of-the-art work facilities for the engineers and other personnel working there. It also provides End Point with room for expansion that addresses the company’s intent to hire additional developers in the New York area.
Our new full address is End Point Corporation, 920 Broadway Suite 701, New York, NY 10010. Our phone number remains (212) 929-6923.
company
PostgreSQL Master Greg Sabino Mullane Joins Crew
By
Brian Dunn
February 1, 2006
Greg Sabino Mullane joined End Point in October and brings with him a broad expanse of knowledge regarding databases of all kinds. But while Greg is highly proficient in working with MySQL, Oracle, and Microsoft SQL Server, his greatest database passion is for PostgreSQL. According to Greg, “PostgreSQL is a true open-source alternative to Oracle. It’s powerful, easy to use, highly extensible, very standards-compliant, and has a support community Oracle and the others can’t match.”
Greg is one of just a few “major developers” in the PostgreSQL community and has contributed substantial code to the current PostgreSQL product. He’s also the primary developer of the DBD::Pg module, which bridges PostgreSQL and his favorite coding language, Perl. Says Greg, “It’s great working for a company like End Point that recognizes the advantages of PostgreSQL and actively encourages its use.”
Greg is also skilled in developing compact, efficient code. He recently rewrote and expanded database update scripts to connect to a remote SOAP server for an End Point client. Efficiency of the project was enhanced by Greg refactoring existing code …
company
Interchange 5.4 Released
At the end of December 2005, a new major version of Interchange was released, making widely available the improvements developed over the previous year and a half.
While many of the hundreds of important changes are small and incremental, Interchange 5.4 offers a number of larger improvements as well:
-
Improved pre-fork server model supports higher traffic.
-
Extensible architecture improvements allow more customization (Feature, AccumulateCode, TagRepository, DispatchRoutines).
-
Shopping cart triggers have been added, for easier control over complex shopping cart behaviors.
-
Multiple “discount spaces” may be defined, for complex discounting schemes.
-
The “permanent more” facility allows shared pageable searches, for reduced database load and paging disk space.
-
The email interception feature reroutes outgoing email to one or more developer addresses, stopping email from accidentally going to real users during testing.
-
Quicker development of email functions using HTML parts or attached files.
-
A new demo application, called “Standard”, was added.
-
Access to loop data in embedded Perl is now easier with the new $Row object.
-
User-defined …
interchange