• 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
  • Our Blog

    Ongoing observations by End Point Dev people

    Surge 2010 day 1

    Jon Jensen

    By Jon Jensen
    October 1, 2010

    Today (technically, yesterday) was the first day of the Surge 2010 conference in Baltimore, Maryland. The Tremont Grand venue is perfect for a conference. The old Masonic lodge makes for great meeting rooms, and having a hallway connect it to the hotel was nice to avoid the heavy rain today. The conference organization and scheduling and Internet have all been solid. Well done!

    There were a lot of great talks, but I wanted to focus on just one that was very interesting to me: Artur Bergman’s on scaling Wikia. Some points of interest:

    • They (ab)use Google Analytics to track other things besides the typical pages viewed by whom, when. For example, page load time as measured by JavaScript, with data sent to a separate GA profile for analysis separately from normal traffic. That is then correlated with exit rates to give an idea of the benefit of page delivery speed in terms of user stickiness.

    • They use the excellent Varnish reverse proxy cache.

    • 500 errors from the origin result in a static page served by Varnish, with error data hitting a separate Google Analytics profile.

    • They have both geographically distributed servers and team.

    • They’ve found SSDs (solid state disks) to be …


    conference hosting performance scalability

    Google Liquid Galaxy Support

    Benjamin Goldstein

    By Benjamin Goldstein
    September 30, 2010

    End Point is tremendously excited to announce our turnkey installation and support service for Google’s Liquid Galaxy. Google has just today announced the release of Liquid Galaxy to the general public and to its Earth Enterprise customers. Liquid Galaxy is an astounding 3D immersive environment for Google Earth. End Point’s turnkey installation service includes on-site booth construction, precise installation of compute nodes and displays, plus expert configuration of operating system, networking, and Google Earth client software. End Point also provides support for upgrades and troubleshooting.

    End Point has extensive hands-on experience with installing and configuring Liquid Galaxy. We’ve installed a number of Galaxies for Google itself in the US and abroad. We also recently installed the Liquid Galaxy unveiled this month at the San Jose Tech Museum’s spectacular new Silicon Valley Innovation Gallery. This is the first Liquid Galaxy deployed outside of a Google office or trade show.

    Google’s Liquid Galaxy is 3-dimensional without your having to wear funny glasses. Google’s reference implementation specifies a circular booth 12’4” (3.75m) in diameter with 8 large high definition …


    company visionport

    Gift Certificates: Easy to Say, Hard to Do

    Carl Bailey

    By Carl Bailey
    September 29, 2010

    A recent blog article by Steph goes through the steps taken to handle implementation of gift certificates using Spree’s coupon/discount model. At the end of the article, she rightly concludes that gift certificates are not that well suited to the discount model and need to be handled separately. Gift certificates are rightly handled as a method of payment—​they should have no effect on the amount of the sale, sales tax or shipping charges. This is an attempt to further that discussion.

    Some people want to put rules on to how gift certificates can be used: Minimum purchase, expiration dates, etc. However, these are rules that apply to qualification: Does the person or the sale qualify to get a lower price? To my mind, these are not rules that can be applied to true gift certificates. A gift certificate is a business liability. The merchant has the money, and the customer should be allowed to spend it as she sees fit, without having to pass any qualifications separate from those that apply to everyone else. So gift certificates should be treated by the system as a form of payment, and customers should not have to qualify just to use them.

    To implement a gift certificate system, we …


    ecommerce

    Debugging jQuery

    Ron Phipps

    By Ron Phipps
    September 28, 2010

    A recent reskin project for a client requires that we convert some of their old Prototype code to jQuery as well as create new jQuery code. I have not done much with converting Prototype to jQuery and I felt like my debugging tools for JavaScript were under par. So this morning I set out to find what was available for jQuery and I found this article on the subject.

    I’ve used Firebug for some time now, but was unaware of some of the supporting plugins that would certainly help with debugging JavaScript. Some of the plugins and methods found in the article that I found immediately helpful were:

    • FireFinder: Makes it quite easy to verify that the selector values in your code are correct and that the proper elements are returned. I was able to immediately pinpoint problems with my selectors and this brought to light why certain events were not firing.

    • Firebug Console: Using the console.log function allowed me to check values without littering my code with alert statements.

    • FireQuery: At a glance this plugin for Firebug shows which elements have event handlers bound to them.

    • Firebug Breakpoints: Setting breakpoints and watch statements in your code makes it easier to see what is …


    environment javascript jquery testing

    PostgreSQL 8.4 in RHEL/CentOS 5.5

    Jon Jensen

    By Jon Jensen
    September 28, 2010

    The announcement of end of support coming soon for PostgreSQL 7.4, 8.0, and 8.1 means that people who’ve put off upgrading their Postgres systems are running out of time before they’re in the danger zone where critical bugfixes won’t be available.

    Given that PostgreSQL 7.4 was released in November 2003, that’s nearly 7 years of support, quite a long time for free community support of an open-source project.

    Many of our systems run Red Hat Enterprise Linux 5, which shipped with PostgreSQL 8.1. All indications are that Red Hat will continue to support that version of Postgres as it does all parts of a given version of RHEL during its support lifetime. But of course it would be nice to get those systems upgraded to a newer version of Postgres to get the performance and feature benefits of newer versions.

    For any developers or DBAs familiar with Postgres, upgrading to a new version with RPMs from the PGDG or other custom Yum repository is not a big deal, but occasionally we’ve had a client worry that using a packages other than the ones supplied by Red Hat is riskier.

    For those holdouts still on PostgreSQL 8.1 because it’s the “norm” on RHEL 5, Red Hat gave us a gift in their RHEL 5.5 …


    database hosting postgres redhat

    Postgres configuration best practices

    Greg Sabino Mullane

    By Greg Sabino Mullane
    September 27, 2010

    This is the first in an occasional series of articles about configuring PostgreSQL. The main way to do this, of course, is the postgresql.conf file, which is read by the Postgres daemon on startup and contains a large number of parameters that affect the database’s performance and behavior. Later posts will address specific settings inside this file, but before we do that, there are some global best practices to address.

    Version Control

    The single most important thing you can do is to put your postgresql.conf file into version control. I care not which one you use, but go do it right now. If you don’t already have a version control system on your database box, git is a good choice to use. Barring that, RCS. Doing so is extremely easy. Just change to the directory postgresql.conf is in. The process for git:

    • Install git if not there already (e.g. “sudo yum install git”)
    • Run: git init
    • Run: git add postgresql.conf pg_hba.conf
    • Run: git commit -a -m “Initial commit”

    For RCS:

    • Install as needed (e.g. “sudo apt-get install rcs”)
    • Run: mkdir RCS
    • Run: ci -l postgresql.conf pg_hba.conf

    Note that we also checked in pg_hba.conf as well. You want to check in any file in that directory you may …


    database postgres git

    Anonymous code blocks

    Josh Tolley

    By Josh Tolley
    September 23, 2010

    With the release of PostgreSQL 9.0 comes the ability to execute “anonymous code blocks” in various of the PostgreSQL procedural languages. The idea stemmed from work back in autumn of 2009 that tried to respond to a common question on IRC or the mailing lists: how do I grant a permission to a particular user for all objects in a schema? At the time, the only solution short of manually writing commands to grant the permission in question on every object individually was to write a script of some sort. Further discussion uncovered several people that often found themselves writing simple functions to handle various administrative tasks. Many of those people, it turned out, would rather simply call one statement, rather than create a function, call the function, and then drop (or just ignore) the function they’d never need again. Hence, the new DO command.

    The first language to support DO was PL/pgSQL. The PostgreSQL documentation provides an example to answer the original question: how do I grant permissions on everything to a particular user.

    DO $$DECLARE r record;
    BEGIN
        FOR r IN SELECT table_schema, table_name FROM information_schema.tables
                 WHERE table_type = …

    database open-source postgres

    pg_wrapper’s very symbolic links

    Josh Williams

    By Josh Williams
    September 22, 2010

    I like pg_wrapper. For a development environment, or testing replication scenarios, it’s brilliant. If you’re not familiar with pg_wrapper and its family of tools, it’s a set of scripts in the postgresql-common and postgresql-client-common packages available in Debian, as well as Ubuntu and other Debian-like distributions. As you may have guessed pg_wrapper itself is a wrapper script that calls the correct version of the binary you’re invoking – psql, pg_dump, etc – depending on the version of the database you want to connect to. Maybe not all that exciting in itself, but implied therein is the really cool bit: This set of tools lets you manage multiple installations of Postgres, spanning multiple versions, easily and reliably.

    Well, usually reliably. We were helping a client upgrade their production boxes from Postgres 8.1 to 8.4. This was just before the 9.0 release, otherwise we’d consider moving the directly to that instead. It was going fairly smoothly until on one box we hit this message:

    Could not parse locale out of pg_controldata output
    

    Oops, they had pinned the older postgres-common version. An upgrade of those packages and no more error!

    $ pg_lsclusters
    Version Cluster …

    database postgres
    Previous page • Page 175 of 220 • Next page