• 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
  • Not so popular JavaScript/HTML functionalities

    Piotr Hankiewicz

    By Piotr Hankiewicz
    August 7, 2015

    There are multiple things in a front-end developer work that can be easily fixed by a native browser functions. Based on experience, JavaScript learning path for a big part of front-end developers is not perfect. Therefore, I will give you some examples, for some people as a reminder, for others as a new thing to think about. It is always good to learn, right?

    document.execCommand

    W3C definition

    It lets you use built-in browser functions as you wish from JavaScript, simple functions to do simple things. execCommand is very useful when you work with text ranges selected by a user. It’s also popular that it comes together with a contentEditable HTML element attribute.

    Practical examples

    • You want to have redo button in your application, so when user will click on it, the latest changes will be discarded.
    // after running just this, the latest user changes will be discarded (text input changes)
    execCommand('redo', false, null);
    • You want to remove text after the cursor position.
    // after running this script one character after the cursor
    // position in a current element will be removed
    execCommand('forwardDelete', false, null);

    There are more than 30 functions ( …


    html javascript

    How To: Big Beautiful Background Video

    Marina Lohova

    By Marina Lohova
    August 4, 2015

    One pretty common request for every web developer is to “please, make our Stone age website look sleek and modern”. Well, no more head scratching about the meaning of “sleek” or “modern” (or “the Stone age” for some?). In times of the crisp and stunning visuals there’s no better way to make an impression than to use a big beautiful background video on the home page.

    Paired with some impressive infinite scroll which I already covered here and a nice full-screen image gallery (which I will cover later), it will definitely help to bring your website up to date.

    Lucky for us, there is a very popular library called BigVideo.js which is based on another well known library videojs, which is a wrapper around HTML5 <video> tag.

    Converting the video.

    To ensure the cross browser support, it’s best to supply the desired video in several formats. The most common formats to use are mp4, ogg and webm. Here is the browser support chart to give you a better idea of why it’s so important to use more than one format on your page.

    There are a lot of ways to convert the file, but since I’m not particularly good with compression settings or codecs, I’m using the following easy workflow:

    • Upload …

    html javascript video

    Converting from Pivotal Tracker to Trello for project management

    Josh Lavin

    By Josh Lavin
    August 3, 2015

    For larger client projects, I find it helpful to maintain a list of tasks, with the ability to re-order, categorize, and mark tasks as completed. Add in the ability to share this list with coworkers or project owners, and you have a recipe for a better record and task-list for development.

    I had been using Pivotal Tracker for this purpose, but I found a lot of its features were too complicated for a small team. On the simpler side, Trello offers project “boards” that meet many needs for project management. Plus, you can accomplish a lot with the free level of Trello.

    No import

    After being convinced that switching from Pivotal to Trello was the right move for my current project, I was dismayed to find that Trello offers no Import functionality, at least that I could find for front-end users. (They do have an API, but I didn’t relish taking time to learn this.) I could easily export my Pivotal project, but how to get those tasks into Trello cards?

    One idea

    In my search of Trello for an import feature, I found a feature called Email-to-board. Trello provides a custom email address for each Board you create, allowing you to send emails to this address, containing information for a new …


    perl tips tools

    Perusion has joined End Point!

    Jon Jensen

    By Jon Jensen
    July 31, 2015

    We are excited to announce an expansion of End Point’s ecommerce clientele and our developer ranks! The ecommerce consulting company Perusion has joined End Point. Perusion was founded in 2002 by Mike Heins and Greg Hanson. It quickly became a small powerhouse in the open source ecommerce space, focusing on Interchange, Perl, and MySQL on Linux. We were pleased to welcome Perusion in a merger with End Point at the beginning of July.

    Mike Heins is the original creator of MiniVend in 1996. In 2000, Mike’s consultancy and MiniVend were acquired by the ecommerce startup Akopia. With numerous improvements, including the addition of a new full-featured administrative back-office, the new open source ecommerce platform Interchange was created. Akopia was acquired by Red Hat in 2001, and in 2002 the Interchange project became independent, led by its creators and a group of other open source developers who maintain it to this day.

    Greg Hanson is a serial entrepreneur and business manager and has worked extensively with data systems of many types. In the mid-1990s he started a computer products ecommerce company, Valuemedia, and oversaw every aspect of its evolution. Greg joined Mike to …


    company ecommerce interchange

    Ruby On Rails: Hash#slice With Default Values

    Kent Krenrich

    By Kent Krenrich
    July 31, 2015

    Recently, I needed to add some functionality to an older section of code. This code initialized and passed around a reasonably sized set of various hashes, all with similar keys. As those hashes were accessed and manipulated, there were quite a few lines of code devoted to addressing boundary conditions within those hashes. For example, an if/else statement setting a default value to a given key if it didn’t already exist. With all the added safety checks, the main method dragged on for several screens worth of code. While puttering around amidst this section, I figured I’d be a good little boyscout and leave my campsite better than when I found it.

    I figured a fairly easy way to do that would be to eliminate the need for all the extra if/else clauses laying around. All they were really doing was ensuring we ended up with a minimum set of hash keys. I decided to turn all the various hashes into instances of a very simple class inheriting from Ruby on Rails’ HashWithIndifferentAccess along with some basic key management functionality.

    My first draft came out looking something like:

    class MyHash < HashWithIndifferentAccess
      def initialize(constuctor = {}) do
        super
        self[ …

    ruby rails

    img.bi, a secret encrypted image sharing service tool

    Emanuele “Lele” Calò

    By Emanuele “Lele” Calò
    July 30, 2015

    After a fairly good experience with dnote installed on our own servers as an encrypted notes sharing service, my team decided that it would have been nice to have a similar service for images.

    We found a nice project called img.bi that is based on NodeJS, Python, Redis and a lot of client-side JavaScript.

    The system is divided into two components: the HTML/JS frontend and a Python FastCGI API.

    Unfortunately the documentation is a still in its very early stage and it’s lacking a meaningful structure and a lot of needed information.

    Here’s an overview of the steps we followed to setup img.bi on our own server behind nginx.

    First of all we chose that we wanted to have as much as possible running and confined to a regular user, which is always a good idea with such young and potentially vulnerable tools. We chose to use the imgbi user.

    Then since we wanted to keep as clean as possible the root user environment (and system status), we also decided to use pyenv. To be conservative we chose the latest Python 2.7 stable release, 2.7.10.

    git clone https://github.com/yyuu/pyenv.git ~/.pyenv
    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    echo 'export …

    nodejs python

    Nothing more permanent than a temporary fix

    Jon Jensen

    By Jon Jensen
    July 28, 2015

    A brief thought:

    You may have heard the saying that nothing is more permanent than a temporary fix. Or that prototypes are things we just haven’t yet recognized will be permanent. Or some variation on the theme.

    As an illustration of this, I recently came across the initial commit to the source code repository of our endpoint.com website when we ported it to Ruby on Rails back in April 2007. Our then co-worker PJ’s comment is a perfect example of how long-lasting some of our planned temporary work can be:

    commit 2ee55da6ed953c049b3ef6f9f132ed3c1e0d4de9
    Author: PJ Cabreras <pj@endpoint.com>
    Date:   Wed Apr 18 13:07:46 2007 +0000
    
        Initial test setup of repository for mkcamp testing -- will probably throw away later
        
        git-svn-id: file:///home/camp/endpoint/svnrepo/trunk@1 7e1941c4-622e-0410-b359-a11864f70de7

    It’s wise to avoid big architecture up front for experimental things we don’t know the needed shape and size of. But we should plan on iterating and being agile (in the real basic sense of the word), because we may never have the chance to start over from scratch. And starting over from scratch is often ill-advised in any case.


    programming

    E-commerce website encryption changes

    Jon Jensen

    By Jon Jensen
    July 24, 2015

    The big picture

    Computer security is a moving target, and during the past few years it’s been moving faster than ever.

    In the e-commerce world, the PCI Security Standards Council sets the rules for what merchants and vendors must do to have what they consider to be a sufficiently secure environment to handle cardholder data such as credit card numbers, expiration dates, and card security codes.

    PCI DSS 3.1, released on 15 April 2015 puts us all on notice that TLS 1.0 is considered unfit to use for e-commerce website encryption (HTTPS), and will be disallowed soon. The new rules specify that new software implementations must not use TLS versions prior to 1.1. Existing implementations must require TLS 1.1 or 1.2 no later than 30 June 2016.

    They provide some guidance on Migrating from SSL and early TLS and explain what is expected in more detail.

    Long ago we were required to disable SSL 2, and last year we were expected to disable SSL 3, the predecessor to TLS 1.0. That turned out to not be particularly hard or cause too many problems, because almost all systems that supported SSL 3 also supported TLS 1.0.

    This time we are not so lucky. Many clients (such as browsers) and servers did …


    ecommerce hosting security
    Previous page • Page 79 of 222 • Next page