• Home

  • Custom Ecommerce
  • Application Development
  • Database Consulting
  • Cloud Hosting
  • Systems Integration
  • Legacy Business Systems
  • Security & Compliance
  • GIS

  • Expertise

  • About Us
  • Our Team
  • Clients
  • Blog
  • Careers

  • VisionPort

  • Contact
  • Perl incompatibility moving to 5.10

    Ethan Rowe

    By Ethan Rowe
    July 28, 2008

    We’re preparing to upgrade from Perl 5.8.7 to 5.10.0 for a particular project, and ran into an interesting difference between the two versions.

    Consider the following statement for some hashref $attrib:

      use strict;
      ...
      my ($a, $b, $c) = @{%{$attrib}}{qw(a b c)};

    In 5.8.7, the @{…} construct will return a slice of the hash referenced by $attrib, meaning that $a gets $attrib->{a}, $b gets $attrib->{b}, and so on.

    In 5.10.0, the same construct will result in an error complaining about using a string for a hashref.

    I suspect it’s due to the hash dereference (%{$attrib}) being fully executed prior to applying the hash-slice operation (@{…}{qw(a b c)}), meaning that you’re not operating against a hashref anymore.

    Fortunately, the fix is wonderfully simple and significantly more readable:

      my ($a, $b, $c) = @$attrib{qw( a b c )};

    The “fix”—​which is arguably how it should have been constructed in the first place, but this is software we’re talking about—​works in both versions of Perl.


    perl

    Signs of a too-old Git version

    Jon Jensen

    By Jon Jensen
    July 28, 2008

    When running git clone, if you get an error like this:

    Couldn’t get http://some.domain/somerepo.git/refs/remotes/git-svn for remotes/git-svn
    The requested URL returned error: 404 error: Could not interpret remotes/git-svn as something to pull

    You’re probably using a really old version of Git that can’t handle some things in the newer repository. The above example was from Git 1.4.4.4, the very old version included with Debian Etch. The best way to handle that is to use Debian Backports to upgrade to Git 1.5.5.

    On Red Hat Enterprise Linux, Fedora, or CentOS, the Git maintainers’ RPMs usually work (though you may need to get a dependency, the perl-Error package from RPMforge).

    If all else fails, grab the Git source and build it. I’ve never had a problem building the code anywhere, though building the docs requires a newer version of asciidoc than is easy to get on RHEL 3.


    git

    RailsConf 2008 Report

    Sean Schofield

    By Sean Schofield
    June 14, 2008

    End Point’s Sean Schofield recently returned from a trip to RailsConf 2008. RailsConf is the annual gathering of Rails developers which was held for a second year in a row in Portland, Oregon. There is also now a European version of the conference which is held during the fall. The conference consisted of one day of tutorials, followed by three days of sessions and keynotes.

    Attendance was extremely heavy this year (over 1,800 people) which caused some initial crowding issues with the sessions. Fortunately, these issues were resolved by the second day and the conference organizers even managed to schedule a repeat of the first day’s talks for those who were initially shut out.

    Several notable Rails personalities were speaking at the conference this year, including David Heinemeier Hansson, the creator of Rails. Other speakers of note included Obie Fernandez (author of The Rails Way), Joel Spolsky and David Chelimsky (of RSpec fame).

    Scott Chacon gave an interesting talk entitled Using Git to Manage and Deploy Rails Apps. The Git distributed source code management system has been taking the Rails world by storm this year. Two factors have contributed to this explosion in popularity. …


    conference rails

    PGCon 2008 Report

    Greg Sabino Mullane

    By Greg Sabino Mullane
    June 13, 2008

    End Point’s Greg Sabino Mullane recently returned from PGCon 2008, the annual conference for the PostgreSQL database project. The conference was held in Ottawa, Canada, and is a mix of Postgres developers, companies who are using Postgres, students, and everyone else involved in the vibrant Postgres community.

    Greg presented a talk on Bucardo, the multi-master and master-slave replication system for Postgres. He explained the strengths and weaknesses of Bucardo, its typical use cases, and described in detail how it works. He detailed the innovative use of “hooks”, which allow custom code to be fired at any point throughout the replication process. The hooks are also the method of doing conflict resolution and exception handling, two important factors for multi-master replication. He also discussed the use of DBIx::Safe to pass restricted database handles to the custom code, as well as future directions for the Bucardo project. The talk even ended on time and left time for questions. The slides are available on the PGCon 2008 site.

    The other talk Greg gave was a “lightning talk” on DBIx::Cache, a query caching system for Postgres built on top of DBI and DBD::Pg. (Lightning talks are …


    conference database open-source postgres bucardo perl

    DBD::Pg 2.0.0 Released

    Greg Sabino Mullane

    By Greg Sabino Mullane
    February 25, 2008

    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

    Ethan Rowe

    By Ethan Rowe
    December 24, 2007

    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

    Jon Jensen

    By Jon Jensen
    December 3, 2007

    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

    Jon Jensen

    By Jon Jensen
    November 2, 2007

    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
    Previous page • Page 218 of 222 • Next page