DBD::Pg 2.0.0 Released
I’m happy to announce that the newest version of DBD::Pg is out! This was a major release, and includes many features and changes from the previous version, 1.49. Releases are back to the “release early, release often” mantra of open source: versions 2.1.0, 2.1.1, 2.1.2, and 2.1.3 were all released within a week of 2.0.0, and 2.2.0 is expected to be released soon.
Many infrastructure changes were done for this change, including moving from CVS to Subversion, moving the mailing lists and repository to perl.org, and switching to a three-part “extended” versioning system, similar to the one PostgreSQL uses. Support for versions of Postgres older than 7.4 was dropped, which allowed much of the code to be cleaned up.
Support for asynchronous queries was added, which allows a Perl script to continue doing other things while a long-running query is still being processed by Postgres. Not only can the script check back periodically and see if the query is ready yet, but it can also be cancelled at any point, so at no point does your script get stuck waiting for a query. Another great feature of version 2.0.0 is full support for arrays, both into and out of the database. This allows you to …
database open-source postgres perl
Better Git it in Your Soul
The article title “Better Git it in Your Soul” refers to the raucous, foot-stomping first track on the classic album Mingus Ah Um by Charles Mingus. The title is appropriate for the subject of version control with Git, as distributed version control as envisioned through Git represents a paradigm shift that must be embraced and understood in a fundamental way in order to shine.
The free software ecosystem abounds with good choices for version control software. Of particular interest is the emergence of distributed version control systems, which offer a fundamentally different approach to change management than do the popular Subversion and its venerable predecessor, CVS.
Choice is a wonderful thing, yet it brings a near-inevitable wringing of hands in its wake: how does an engineering team/company/guru choose between so many options? How can you be sure of choosing the right one? Perhaps you only recently moved from CVS to Subversion; does the prospect of moving again provoke groans, and force consideration of the choice between what is good and what is easy?
At End Point, we only relatively recently began using Subversion when, for a variety of reasons, we looked into …
git
Triangle Research Joins End Point
End Point is pleased to announce the merging of the web development and hosting firm Triangle Research into our company as of December 1, 2007. Triangle brings with it much experience in the Interchange development sphere, as well as a vibrant hosting and support business. With this addition to our team, End Point increases its diversity of skills and knowledge while gaining many exciting clients. Carl Bailey, owner of Triangle, will continue his leadership role as he manages his former Triangle employees Richard Templet and Chris Kershaw, along with Dan Collis-Puro, a veteran End Point engineer.
At the same time, End Point ranks are growing further as we welcome two other excellent developers. With sharp programming abilities in the diverse areas of low-level systems and web applications development, Charles Curley and Jordan Adler will be a good fit and we’re excited to have them on board.
company
Git PostgreSQL mirror
I’ve been using the excellent Git version control system for a while now, and while it’s been great for my personal and work projects (not to forget Bucardo!), I’m finding it even nicer for working with the PostgreSQL source code, thanks to the PostgreSQL Git repository (which started as a mirror but eventually became the canonical source).
From time to time I run git pull
to update my local mirror, and without any further network access I’m able to find when a section of code changed, browse recent changes in general or to a particular section, grab the code from any particular release via the tags, etc. All with much less fuss and time than CVS.
I realize those are all basic operations and taken for granted in the distributed version control world, and I’m used to them now, but I guess I appreciate it all the more when dealing with a large and long-running codebase like PostgreSQL.
For anyone who hasn’t tried Git before, I think playing with the PostgreSQL mirror may actually be an easier place to start than with your own code.
(My co-worker Greg goes into this a bit more in his blog entry.)
git postgres development
Bucardo: Replication for PostgreSQL
Overview
Bucardo, an asynchronous multi-master replication system for PostgreSQL, was recently released by Greg Sabino Mullane. First previewed at this year’s PostgreSQL Conference in Ottawa, this program was developed for Backcountry.com to help with their complex database needs.
Bucardo allows a Postgres database to be replicated to another Postgres database, by grouping together tables in transaction-safe manner. Each group of tables can be set up in one of three modes:
- The table can be set as master-master to the other database, so that any changes to either side are then propagated to the other one.
- The table can be set up as master-slave, so that all changes made to one database are replicated to the second one.
- It can be set up in “fullcopy” mode, which simply makes a full copy of the table from the master to the slave, removing any data already on the slave.
Master-master replication is facilitated by standard conflict resolution routines, as well as the ability to drop in your own by writing small Perl routines. This custom code can alse be written to handle exceptions that often occur in master-master replication situations, such as a unique constraint …
database open-source perl postgres bucardo
RailsConf 2007 Conference Report
From Wednesday, May 17th to Saturday, May 20th, 2007, around 1600 people attended the Rails Conference (RailsConf) in beautiful Portland, Oregon, at the Oregon Convention Center. I was among them, and this is my report.
Conferences offer a varied mix of experiences to the attendee. There is the experience of a new city for many attendees, for example. While everyone refers to the technical sessions as their main draw, the social aspects of a conference are equally important and valuable. RailsConf offered plenty of socializing opportunities by providing continental breakfast, bagged salad or sandwich lunches, and coffee and soda breaks twice per day. There were also many evening parties sponsored by conference expo floor vendors and by some of Portland’s Rails development companies and the local Ruby brigade, PDX.rb.
From my informal prodding and questioning of attendees I met during these social times, it seemed almost half the attendees had come to RailsConf to get their first training in Rails. Between 45 to 50 percent of attendees I talked to had no previous real world experience with Rails or Ruby, having worked a number of years in other platforms, mostly in Java, but a …
conference rails
Get Out of Technical Debt Now!
It’s now been a year since I attended YAPC::NA 2006 in Chicago with Brian Miller and the talk that we’ve spoken of most frequently, and cited most usefully in our work, was “Get Out of Technical Debt Now!” by Andy Lester.
Most of the concepts and examples he gave were not new to us, nor to most of the attendees, I think. But his debt analogy made a coherent story out of ideas, maxims, and experiences that were previously too disjointed and differently labeled to pull together into a single comprehensible motivational package.
Are we out of technical debt? Not yet. I suppose we never will be entirely as long as we continue to work, since it’s impossible to avoid accruing some new debt. But prioritizing debts and paying off those with the highest “interest rate” and benefit means we don’t need to despair.
I highly recommend everyone read Andy’s slides, watch the video (one version has the slides incorporated), and read the Portland Pattern Repository wiki page on technical debt. Do all three, spread out over a few months, to re-motivate and remind yourself in the busy haze of daily work.
(Addendum:)
Other reading on technical …
conference development
Red Hat Enterprise Linux 4 Security Report
Mark Cox, director of the Red Hat Security Reponse Team, has published a security report of the first two years of Red Hat Enterprise Linux 4, which was released in February 2005. He discusses the vulnerabilities, threats, time to release of updates, and mitigation techniques the operating system uses.
It is interesting to note that the vast majority of security vulnerabilities affected software not used on servers: The Mozilla browser/email suite, Gaim instant messenger, xpdf, etc. Some of the server vulnerabilities would require certain user input to be exploited, such as running Links or Lynx, calling libtiff, or running a malicious binary. Others require less common setups such as Perl’s suidperl or Bluetooth drivers, or local shell access.
Nothing is completely secure, but Red Hat Enterprise Linux, configured well and kept updated, has a very good track record so far.
redhat linux