• 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

    Version Control Visualization and End Point in Open Source

    Steph Skardal

    By Steph Skardal
    January 3, 2011

    Over the weekend, I discovered an open source tool for version control visualization, Gource. I decided to put together a few videos to showcase End Point’s involvement in several open source projects.

    Here’s a quick legend to help understand the videos below:

    The branches and nodes correlate to directories and files, respectively. In the case of the image to the left, the repository has a main directory with several files and three directories. One of the child directories has one file and the other two have multiple files.
    A big dot represents a person, and a flash connecting the person and a file signifies a commit.
    White + blue dots represent current End Point employees.
    White + grey dots represent former End Point employees.
    White dots represent other people, out there!

    The Videos

    Interchange from endpoint on Vimeo.

    pgsi from endpoint on Vimeo.

    Spree from endpoint on Vimeo.

    Bucardo from endpoint on Vimeo.

    One of the articles that references Gource suggests that the videos can be used to visualize and analyze the community involvement of a project (open source or not). One might also be able to qualitatively analyze the stability of project file architecture …


    git interchange postgres spree open-source

    Character encoding in perl: decode_utf8() vs decode('utf8')

    David Christensen

    By David Christensen
    December 31, 2010

    When doing some recent encoding-based work in Perl, I found myself in a situation which seemed fairly unexplainable. I had a function which used some data which was encoded as UTF-8, ran Encode::decode_utf8() on said data to convert to Perl’s internal character format, then converted the “wide” characters to the numeric entity using HTML::Entities::encode_entities_numeric(). Logging/printing of the data on input confirmed that the data was properly formatted UTF-8, as did running iconv -f utf8 -t utf8 output.log >/dev/null for the purposes of review.

    However when I ended up processing the data, it was as if I had not run the decode function at all. In this case, the character in question was € (unicode code point U+20AC). The expected behavior from encode_entities_numeric() would be to turn any of the hi-bit characters in the perl string (i.e. all Unicode code points > 0x80) into the corresponding numeric entity (€ - € in this case). However instead of that specific character’s numeric entity appearing in the output, the entities which appeared were: € i.e., the raw UTF-8 encoded value for €, with each octet being treated as an independent character instead of part of the …


    database interchange perl

    SearchToolbar and dropped Interchange sessions

    Ron Phipps

    By Ron Phipps
    December 22, 2010

    A new update to Interchange’s robots.cfg can be found here. This update adds “SearchToolbar” to the NotRobotUA directive which is used to exclude certain user agent strings when determining whether an incoming request is from a search engine robot or not. The SearchToolbar addon for IE and FireFox is being used more widely and we have received reports that users of this addon are unable to add items to their cart, checkout, etc. You may remember a similiar issue with the Ask.com toolbar that we discussed in this post. If you are using Interchange you should download the latest robots.cfg and restart Interchange.


    ecommerce interchange

    Using “diff” and “git” to locate original revision/source of externally modified files

    David Christensen

    By David Christensen
    December 18, 2010

    I recently ran into an issue where I had a source file of unknown version which had been substantially modified from its original form, and I wanted to find the version of the originating software that it had originally come from to compare the changes. This file could have come from any number of the 100 tagged releases in the repository, so obviously a hand-review approach was out of the question. While there were certainly clues in the source file (i.e., copyright dates to narrow down the range of commits to review) I thought up and used this technique:

    Here are our considerations:

    • We know that the number of changes to the original file is likely small compared to the size of the file overall.
    • Since we’re trying to uncover a likely match for the purposes of reviewing, exactness is not required; i.e., if there are lines in common with future releases, we’re interested in the changes, so a revision with the fewest number of changes is preferred over finding the exact version of the file that this was originally based on.

    The basic thought, then, is that we want to take the content of the unversioned file (i.e., the file that was changed) and find the revision of the …


    development git

    Dissecting a Rails 3 Spree Extension Upgrade

    Steph Skardal

    By Steph Skardal
    December 16, 2010

    A while back, I wrote about the release of Spree 0.30.* here and here. I didn’t describe extension development in depth because I hadn’t developed any Rails 3 extensions of substance for End Point’s clients. Last month, I worked on an advanced reporting extension for a client running on Spree 0.10.2. I spent some time upgrading this extension to be compatible with Rails 3 because I expect the client to move in the direction of Rails 3 and because I wanted the extension to be available to the community since Spree’s reporting is fairly lightweight.

    Just a quick rundown on what the extension does: It provides incremental reports such as revenue, units sold, profit (calculated by sales minus cost) in daily, weekly, monthly, quarterly, and yearly increments. It reports Geodata to show revenue, units sold, and profit by [US] states and countries. There are also two special reports that show top products and customers. The extension allows administrators to limit results by order date, “store” (for Spree’s multi-site architecture), product, and taxon. Finally, the extension provides the ability to export data in PDF or CSV format using the Ruport gem. One thing to note is that this …


    ecommerce rails spree

    PostgreSQL 9.0 High Performance Review

    David Christensen

    By David Christensen
    November 30, 2010

    I recently had the privilege of reading and reviewing the book PostgreSQL 9.0 High Performance by Greg Smith. While the title of the book suggests that it may be relevant only to PostgreSQL 9.0, there is in fact a wealth of information to be found which is relevant for all community supported versions of Postgres.

    Acheiving the highest performance with PostgreSQL is definitely something which touches all layers of the stack, from your specific disk hardware, OS and filesystem to the database configuration, connection/data access patterns, and queries in use. This book gathers up a lot of the information and advice that I’ve seen bandied about on the IRC channel and the PostgreSQL mailing lists and presents it in one place.

    While seemingly related, I believe some of the main points of the book could be summed up as:

    1. Measure, don’t guess. From the early chapters which cover the lowest-level considerations, such as disk hardware/configuration to the later chapters which cover such topics as query optimization, replication and partitioning, considerable emphasis is placed on determining the metrics by which to measure performance before/after specific changes. This is the only way to …


    database optimization performance postgres

    PostgreSQL 9.0 Admin Cookbook

    Josh Tolley

    By Josh Tolley
    November 29, 2010

    I’ve been reading through the recently published book PostgreSQL 9.0 Admin Cookbook of late, and found that it satisfies an itch for me, at least for now. Every time I get involved in a new project, or work with a new group of people, there’s a period of adjustment where I get introduced to new tools and new procedures. I enjoy seeing new (and not uncommonly, better) ways of doing the things I do regularly. At conferences I’ll often spend time playing “What’s on your desktop” with people I meet, to get an idea of how they do their work, and what methods they use. Questions about various peoples’ favorite window manager, email reader, browser plugin, or IRC client are not uncommon. Sometimes I’m surprised by a utility or a technique I’d never known before, and sometimes it’s nice just to see minor differences in the ways people do things, to expand my toolbox somewhat. This book did that for me.

    As the title suggests, authors Simon Riggs and Hannu Krosing have organized their book similarly to a cookbook, made up of simple “recipes” organized in subject groups. Each recipe covers a simple topic, such as “Connecting using SSL”, “Adding/Removing tablespaces”, and “Managing Hot …


    postgres

    Mongol Rally charity fundraiser

    Jon Jensen

    By Jon Jensen
    November 26, 2010

    This summer, End Point was pleased to be one of several sponsors of team One Steppe Beyond in the 2010 Mongol Rally. Team member Christopher Letters is the son of the owners of Crotchet Classical, a longtime End Point ecommerce client. Chris reports that they had a great time on the rally driving 10,849 miles to their destination in Mongolia!

    You can read their dispatches from the road on their Mongol Rally team page.

    Each team raises money for a charity, a minimum of £1000 per team. Team One Steppe Beyond chose the Christina Noble Children’s Foundation which has a project in Ulaanbaatar, Mongolia.

    Congratulations to team members Christopher, Dominic, and Thomas for finishing the race! It was obviously quite an adventure and for a good cause.


    company travel
    Previous page • Page 171 of 220 • Next page