Archive for the 'Software Development' Category
Darcs 2: A major update
Posted by Mark Stosberg on October 28th, 2008At Summersault we have been using darcs for source control management, and have found it to be a great tool for us.
To review darcs 2, I reviewed hundreds of bugs entries in the darcs bug tracker, checking to see whether the bugs were fixed are still present. Through this process I became as intimate as the developers with what had been improved in darcs and what remained to address.
What I found was that darcs 2 closed over half the bugs in the bug tracker, literally hundreds of bugs. This was possible because it addressed not just specific bugs, but whole categories of bugs were closed by major architecture and design improvements.
You can read more about the update on my personal weblog.
Updates on various open-source projects
Posted by Mark Stosberg on August 25th, 2008Earlier this year, I made some notable contributions to various open-source projects, including:
- Tim Bunce, the author of Perl’s DBI asked me to be a committer on the DBIx::HA project, a high-availability/load-balancing Perl module.
- I uploaded a new release of CGI::Session, version 4.30. As the official maintainer of the module, I worked closely with Ron Savage who did most of the release work. Summersault will likely take advantage of these improvements in the future.
- Multiple people gave me praise for my help with the Darcs 2 release. One person wrote, “Mark Stosberg was an unsung hero of the darcs-2 project for diligently triaging and following-up on hundreds of bug tracker tickets. His quality-assurance work (including setting up automated buildbot tests) is an important reason that darcs-2 is much less buggy.” By patch count, I’ve committed the third most patches to the project due to numerous documentation and test suite improvements.
These are just some of the ways that Summersault staff participate in the online community and in the open-source software movement.
The Four Extreme Programming Variables at Work
Posted by Chris Hardie on August 14th, 2008Sometimes I have to remind myself that just because we want to try to be all things to our clients doesn’t mean that we can be. Of course, for any given project, the conversation about what’s possible, and on what timeline, and at what cost is never a simple one. The bigger the project, the more complex that conversation becomes. It can be easy to over-promise and under-deliver if you’re not extremely careful.
Several years ago, we began using parts of the “Extreme Programming (XP)” software engineering paradigm in our development process, with the goal of improving our time estimates, better understanding what we were able to deliver to our clients and when. I’ve not found any part of XP to be more useful than the way it describes the interactions between these four variables:
Read the rest of this entry »
Announcing Titanium, a solid, lightweight web application framework
Posted by Mark Stosberg on August 9th, 2008
Today I uploaded the first release of Titanium, a web application framework. This project really began about eight years ago, with first release of CGI::Application.
CGI::Application was and is a great foundation for web applications and has always been well defined with a small scope for what it would provide in terms of a framework. Because of this it was able to mature and stabilize with few bugs ever reported and always provided great performance because of its small size. It grew in popularity, and over 50 CGI::Application plugins were released.
The contributed plugins were a great gift back to the community from the many users who made them, but for newcomers, the choices could be daunting. They meant getting started with CGI::Application for an application of any size often meant wading through the many options for plugins, yet often coming to the same conclusions about which ones to choose.
Using “darcs changes” for patch review
Posted by Mark Stosberg on August 7th, 2008I recently discovered some new source code control workflows that are possible with darcs.
Just after I record a patch in my local repository, I often feel compelled to review it one more time before pushing into the central repo. “Did I record changes in just the files I meant to? And even within specific files, did I include just the changes I meant to?” With darcs, this check is easily done
after recording with darcs changes --interactive --last 1 or just darcs changes -i --last 1, for short. They key part here is --interactive which launches darcs in interactive mode.
I press “x” to view the list of files affected, or “p” if I want to review a kind of “diff” in a pager, and of course “?” if I need help to remember what the options are. Very handy!
Summersault continues support of YAPC Perl Conference
Posted by Summersault on June 19th, 2008CHICAGO, IL — Summersault is proud to continue its sponsorship of the YAPC::NA Perl technology conference, which concluded in Chicago this week. The event brings together developers, vendors, businesses and end-users from all parts of North America to discuss the latest tools and trends related to the Perl programming language.
When Beta Really Means Beta
Posted by Chris Hardie on April 27th, 2008A friend recently noted that 4 of the 5 web-based applications he uses on a regular basis to manage his life are officially still in “beta” status. While I think this has become a fairly standard practice for many web application providers, I hope it’s one that we still treat with some healthy skepticism and concern.
At Summersault, when we develop software applications, beta is certainly one of the stages that the software goes through, but it’s not a stage we would ever turn the public loose on. Generally speaking, here are the stages of our software life-cycle:
Read the rest of this entry »
Bridging the Gap Between Web Applications and Desktop Applications — Prism
Posted by Becky McKimmy on February 29th, 2008I recently found a neat little application that has been useful both at work and in my at-home computing. It is called Prism, and what it does is allow you to run your favorite web applications (Remember the Milk, Facebook, Google Calendar, etc.) as if they were desktop applications. Because it was built on the Firefox engine, it will run any web applications you can run in your Firefox browser.
Read the rest of this entry »
Bruce Schneier’s Secrets & Lies
Posted by Chris Hardie on August 25th, 2007As we’ve built Summersault’s web hosting infrastructure over the years, I’ve had a great time learning all about the security and privacy issues that come with managing a complex network of computer servers connected to the Internet. Of course, it didn’t begin there - part of being a good geek has always meant showing curiosity in how things work and what’s going on behind the scenes, and I can’t remember a time I haven’t enjoyed testing the boundaries of how secure various systems are. Perhaps that’s why I very much enjoyed Bruce Schneier’s book Secrets & Lies, a formalized (but accessible) look at of a lot of the security concepts and practices I’ve encountered over the years.
Read the rest of this entry »
Migrating from IMail Server to qmail and vpopmail
Posted by Chris Hardie on June 19th, 2007The IMail Server from Ipswitch software is a business-oriented e-mail management system that runs on the Windows operating system. A few years ago, we were hired by a local Internet Service Provider, Parallax Systems, to help migrate their IMail Server system to a new mail server using qmail and vpopmail on a Unix-based operating system, one of the most popular mail management system setups on the Internet.
As a part of that process, we created a Perl script to assist with the migration of all the virtual domain data, individual user mailboxes and preferences, forwards, aliases, address book files, etc. It uses the Windows registry key maintained by the IMail software and creates equivalent configuration settings under the qmail/vpopmail setup.
Read the rest of this entry »
The opinions expressed by individuals posting in the Summersault Blog are not necessarily those of Summersault, LLC. While we try to insure the quality and accuracy of the information presented here, we make no guarantees about its suitability for any particular purpose.

