• 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
  • NoSQL at RailsConf 2010: An Ecommerce Example

    Steph Skardal

    By Steph Skardal
    June 14, 2010

    Even more so than Rails 3, NoSQL was a popular technical topic at RailsConf this year. I haven’t had much exposure to NoSQL except for reading a few articles written by Ethan (Quick Thoughts on NoSQL Live Boston Conference, NoSQL Live: The Dynamo Derivatives (Cassandra, Voldemort, Riak), and Cassandra, Thrift, and Fibers in EventMachine), so I attended a few sessions to learn more.

    First, it was reinforced several times that if you can read JSON, you should have no problem comprehending NoSQL. So, it shouldn’t be too hard to jump into code examples! Next, I found it helpful when one of the speakers presented high-level categorization of NoSQL, whether or not the categories meant much to me at the time:

    • Key-Value Stores: Advantages include that this is the simplest possible data model. Disadvantages include that range queries are not straightforward and modeling can get complicated. Examples include Redis, Riak, Voldemort, Tokyo Cabinet, MemcacheDB.
    • Document stores: Advantages include that the value associated with a key is a document that exposes a structure that allows some database operations to be performed on it. Examples include CouchDB, MongoDB, Riak, FleetDB.
    • Column-based …

    database ecommerce nosql ruby rails spree mongodb

    pgcrypto pg_cipher_exists errors on upgrade from PostgreSQL 8.1

    Greg Sabino Mullane

    By Greg Sabino Mullane
    June 10, 2010

    While migrating a client from a 8.1 Postgres database to a 8.4 Postgres database, I came across a very annoying pgcrypto problem. (pgcrypto is a very powerful and useful contrib module that contains many functions for encryption and hashing.) Specifically, the following functions were removed from pgcrypto as of version 8.2 of Postgres:

    • pg_cipher_exists- pg_digest_exists- pg_hmac_exists

    While the functions listed above were deprecated, and marked as such for a while, their complete removal from 8.2 presents problems when upgrading via a simple pg_dump. Specifically, even though the client was not using those functions, they were still there as part of the dump. Here’s what the error message looked like:

    $ pg_dump mydb --create | psql -X -p 5433 -f - >pg.stdout 2>pg.stderr
    ...
    psql:<stdin>:2654: ERROR:  could not find function "pg_cipher_exists"
      in file "/var/lib/postgresql/8.4/lib/pgcrypto.so"
    psql:<stdin>:2657: ERROR:  function public.cipher_exists(text) does not exist
    </stdin></stdin>

    While it doesn’t stop the rest of the dump from importing, I like to remove any errors I can. In this case, it really was a SMOP. Inside the …


    database postgres

    Rails 3 at RailsConf 2010: Code Goodness

    Steph Skardal

    By Steph Skardal
    June 10, 2010

    At RailsConf 2010, popular technical topics this year are Rails 3 and NoSQL technologies. My first two articles on RailsConf 2010 so far (here and here) have been less technical, so I wanted to cover some technical aspects of Rails 3 and some tasty code goodness in standard ecommerce examples.

    Bundler

    Bundler, a gem management tool, is a hot topic at the conference, which comes with Rails 3. I went to a talk on Bundler and it was mentioned in several talks, but a quick run through on its use is:

    gem install bundler
    gem update --system  # update Rubygems to 1.3.6+

    Specify your gem requirements in the application root Gemfile directory.

    # excerpt from Spree Gemfile in the works
    gem 'searchlogic',            '2.3.5'
    gem 'will_paginate',          '2.3.11'
    gem 'faker',                  '0.3.1'
    gem 'paperclip',              '>=2.3.1.1'
    bundle install  # installs all required gems
    git add Gemfile  # add Gemfile to repository

    In Spree, the long-term plan is to break apart ecommerce functional components into gems and implement Bundler to aggregate the necessary ecommerce gems. The short-term plan is to use Bundler for …


    conference ecommerce ruby rails spree

    RailsConf 2010: Spree and The Ecommerce Smackdown, Or Not

    Steph Skardal

    By Steph Skardal
    June 9, 2010

    Spree has made a good showing at RailsConf 2010 so far this year, new site and logo released this week:

    It started off in yesterday’s Ecommerce Panel with Sean Schofield, a former End Point employee and technical lead on Spree; Cody Fauser, the CTO of Shopify and technical lead of ActiveMerchant; Nathaniel Talbott, co-founder of Spreedly; and Michael Bryzek, the CTO and founder of Gilt Groupe.

    The panel gave a nice overview on a few standard ecommerce questions:

    • My client needs a store—​what technology should I use? Why shouldn’t I just reinvent the wheel? The SaaS reps evangelized their technologies well, explaining that a hosted solution is good as a relatively immediate solution that has minimum cost and risk to a business. A client [of SaaS] need not be concerned with infrastructure or transaction management initially, and a hosted solution comes with freebies like the use of a CDN that improve performance. A hosted solution is a good option to get the product out and make money upfront. Also, both SaaS options offer elegant APIs.
    • How do you address client concerns with security? Again, the SaaS guys stressed that there are a few mistakes guaranteed to kill your business and …

    conference ecommerce ruby rails spree

    RailsConf 2010 Rate a Rails Application: Day One, Session One

    Steph Skardal

    By Steph Skardal
    June 8, 2010

    My first session at RailsConf 2010 was one that I found valuable: 12 hours to Rate a Rails Application presented by Elise Huard. Elise discussed the process of picking up a Rails application and analyzing it, rather than being the developer who develops a Rails application from scratch. This is particularly valuable because I’ve had to dive into and comprehend Rails projects more in the last few months. I’d imagine this will become more common as Rails matures and legacy code piles up. Elise mentioned that her motivation for application review comes from either acquisition or for project maintenance. Below is the 12-hour timeline covered by Elise:

    0:00: Team Overview

    First, Elise suggests that speaking to a team will reveal much about the application you are about to jump into. In our case at End Point, we often make up part of or all of the development team. She briefly mentioned some essential personality traits to look for:

    • control freak: someone who worries about details and makes other people pay attention to details
    • innovator: someone who looks for the next exciting things and doesn’t hesitate to jump in
    • automator: people who care about process, more sys admin side of things …

    conference ecommerce ruby rails spree

    Spree vs Magento: A Feature List Comparison

    Steph Skardal

    By Steph Skardal
    June 7, 2010

    Note: This article was written in June of 2010. Since then, there have been several updates to Spree. Check out the current Official Spree Extensions or review a list of all the Spree Extensions.

    This week, a client asked me for a list of Spree features both in the core and in available extensions. I decided that this might be a good time to look through Spree and provide a comprehensive look at features included in Spree core and extensions and use Magento as a basis for comparison. I’ve divided these features into meaningful broader groups that will hopefully ease the pain of comprehending an extremely long list :) Note that the Magento feature list is based on their documentation. Also note that the Spree features listed here are based on recent 0.10.* releases of Spree.

    Features on a Single Product or Group of Product

    FeatureSpreeMagento
    Product reviews and/or ratingsY, extensionY
    Product qnaNN
    Product seo (url, title, meta data control)NY
    Advanced/flexible taxonomyY, coreY
    Seo for taxonomy pagesNY
    Configurable product searchY, coreY
    Bundled products for discountY, extensionY
    Recently viewed productsY, extensionY
    Soft product support/downloadsY, extensionY, I think so
    Product …

    ecommerce ruby rails spree cms magento

    Tracking Down Database Corruption With psql

    Josh Williams

    By Josh Williams
    June 1, 2010

    I love broken Postgres. Really. Well, not nearly as much as I love the usual working Postgres, but it’s still a fantastic learning opportunity. A crash can expose a slice of the inner workings you wouldn’t normally see in any typical case. And, assuming you have the resources to poke at it, that can provide some valuable insight without lots and lots of studying internals (still on my TODO list.)

    As a member of the PostgreSQL support team at End Point a number of diverse situations tend to cross my desk. So imagine my excitement when I get an email containing a bit of log output that would normally make a DBA tremble in fear:

    LOG:  server process (PID 10023) was terminated by signal 11
    LOG:  terminating any other active server processes
    FATAL:  the database system is in recovery mode
    LOG:  all server processes terminated; reinitializing

    Oops, signal 11 is SIGSEGV, Segmentation Fault. Really not supposed to happen, especially in day to day activities. That’ll cause Postgres to drop all of its current sessions and restart itself, as the log lines indicate. That crash was in response to a specific query their application was running, which essentially runs a process on a column …


    postgres

    The PGCon “Hall Track”

    Josh Tolley

    By Josh Tolley
    May 25, 2010

    One of my favorite parts of PGCon is always the “hall track”, a general term for the sideline discussions and brainstorming sessions that happen over dinner, between sessions (or sometimes during sessions), and pretty much everywhere else during the conference. This year’s hall track topics seemed to be set by the developers’ meeting; everywhere I went, someone was talking about hooks for external security modules, MERGE, predicate locking, extension packaging and distribution, or exposing transaction order for replication. Other developers’ pet projects that didn’t appear in the meeting showed up occasionally, including unlogged tables and range types. Even more than, for instance, the wiki pages describing the things people plan to work on, these interstitial discussions demonstrate the vibrancy of the community and give a good idea just how active our development really is.

    This year I shared rooms with Robert Haas, so I got a good overview of his plans for global temporary and unlogged tables. I spent a while with Jeff Davis looking through the code for exclusion constraints and deciding whether it was realistically possible to cause a starvation problem with many concurrent …


    community conference database open-source postgres
    Previous page • Page 182 of 222 • Next page