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

    Ruby on Rails versus CakePHP: A Syntax Comparison Guide

    Steph Skardal

    By Steph Skardal
    November 26, 2010

    My time is typically split between Interchange and Spree development, but in a recent project for JackThreads, I jumped back into CakePHP code. CakePHP is one of the more popular PHP MVC frameworks and is inspired by Rails. I decided to put together a quick syntax comparison guide between CakePHP and Rails since I occasionally have to look up how to do some Rails-y thing in CakePHP.

    Basic

    Ruby on Rails CakePHP
    MVC Code Inclusion Rails is typically installed as a gem and source code lives in the user’s gem library. In theory, a modified version of the Rails source code can be “frozen” to your application, but I would guess this is pretty rare. CakePHP is typically installed in the application directory in a “cake/” directory. The “app/” directory contains application specific code. From my experience, this organization has allowed me to easily debug CakePHP objects, but didn’t do much more for me.
    Application Directory Structure
    app/
      controllers/ models/ views/ helpers/
    lib/
    config/
    public
      javascripts/ images/ stylesheets/
    vendors/
      plugins/ extensions/
    
    controllers/
    models/
    views/
      layouts/ elements/ ...
    config/
    webroot/
    tmp/
    plugins/
    vendors/ …

    php ecommerce ruby rails

    Liquid Galaxy Sysadmin+ Wanted

    Benjamin Goldstein

    By Benjamin Goldstein
    November 18, 2010

    This position has been filled. See our active job listings here.

    End Point Corporation is hiring for a motivated and creative GNU/Linux systems administrator. The work will primarily involve installing, supporting, maintaining and developing infrastructure improvements for Google Liquid Galaxy systems. Liquid Galaxy is an impressive panoramic system for Google Earth and other applications. Check it out!

    Responsibilities:

    • Set up and upgrade Liquid Galaxy Systems at client locations. (Some travel is required, including internationally.)
    • Do on site and remote troubleshooting and support.
    • Participate in ongoing work to improve the system with automation, monitoring, and customizing configurations to clients’ needs.
    • Provide first-class customer service.

    Requirements:

    • BS degree or equivalent experience
    • At least 3 years of experience with Linux systems administration
    • Strong scripting skills in shell, and also Python, Ruby, Perl or PHP
    • Proven technical troubleshooting and performance tuning experience
    • Excellent analytical abilities along with a strong sense of ownership and urgency, plus the drive and ability to rise to new challenges and master new skills
    • Awareness and knowledge about security issues
    • Good communication skills
    • The basic physical …

    jobs-closed linux visionport sysadmin

    Utah Open Source Conference 2010 part 1

    Jon Jensen

    By Jon Jensen
    November 12, 2010

    It’s been about a little over a month since the 2010 Utah Open Source Conference, and I decided to take a few minutes to review talks I enjoyed and link to my own talk slides.

    Magento: Mac Newbold of Code Greene spoke on the Magento ecommerce framework for PHP. I’ve somewhat familiar with Magento, but a few things stood out:

    • He finds the Magento Enterprise edition kind of problematic because Varien won’t support you if you have any unsupported extensions. Some of his customers had problems with Varien support and went back to the community edition.

    • Magento is now up to around 30 MB of PHP files!

    • As I’ve heard elsewhere, serious customization has a steep learning curve.

    • The Magento data model is an EAV (Entity-Attribute-Value) model. To get 50 columns of output requires 50+ joins between 8 tables (one EAV table for each value datatype).

    • There are 120 tables total in default install—​many core features don’t use the EAV tables for performance reasons.

    • Another observation I’ve heard in pretty much every conversation about Magento: It is very resource intensive. Shared hosting is not recommended. Virtual servers should have a minimum of 1/2 to 1 GB RAM. Fast disk & …


    conference database ecommerce javascript open-source perl python ruby security magento
    Previous page • Page 174 of 222 • Next page