• 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

    DevOps engineer job opening (remote)

    Jon Jensen

    By Jon Jensen
    June 4, 2013

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

    End Point continues to grow! We are looking for a full-time, salaried DevOps engineer to work on projects with our internal server hosting team and our external clients. If you like to figure out and solve problems, if you take responsibility for getting a job done well without intensive oversight, please read on.

    What is in it for you?

    • Work from your home office
    • Flexible full-time work hours
    • Health insurance benefit
    • 401(k) retirement savings plan
    • Annual bonus opportunity
    • Ability to move without being tied to your job location
    • Collaborate with a team that knows their stuff

    What you will be doing:

    • Remotely set up and maintain Linux servers (mostly RHEL/CentOS, Debian, and Ubuntu), with custom software written mostly in Ruby, Python, Perl, and PHP
    • Audit and improve security, backups, reliability, monitoring (with Nagios etc.)
    • Support developer use of major language ecosystems: Perl’s CPAN, Python PyPI (pip/easy_install), Ruby gems, PHP PEAR/PECL, etc.
    • Automate provisioning with Ansible, Chef, Puppet, etc.
    • Use open source tools and contribute back as opportunity arises
    • Use your desktop platform of choice: Linux, Mac OS X, Windows

    What you will need:

    • Professional experience with …

    jobs-closed devops remote-work

    JSConf US 2013 — Day One

    Greg Davidson

    By Greg Davidson
    June 4, 2013

    Room With A View

    I attended JSConf in Amelia Island, FL last week. As you can see, the venue was pretty spectacular and the somewhat remote location lent itself very well to the vision set by the conference organizers. Many developers myself included, often find the line between work and play blurring because there is much work to be done, many new open source projects to check out, constant advancements in browser technology, programming languages, you name it. Keeping up with it all is fun but can be challenging at times. While the talks were amazing, the focus and ethos of JSConf as I experienced it was more about people and building on the incredible community we have. I highly recommend attending meetups or conferences in your field if possible.

    Without further ado, I’ve written about some of the talks I attended. Enjoy!

    Day One

    Experimenting With WebRTC

    Remy Sharp presented the first talk of the day about his experience building a Google Chrome Experiment with WebRTC and the peer to peer communication API. The game (headshots), was built to work specifically on Chrome for Android Beta. Because WebRTC is so young, the libraries supporting it (Peer.js, easyRTC, WebRTC.io, SimpleWebRTC) are …


    community conference css html javascript open-source tips tools

    CSS Conf 2013 — When Bootstrap Attacks!

    Greg Davidson

    By Greg Davidson
    June 3, 2013

    Cssconf 2013

    I attended the inaugural CSS Conf last week at Amelia Island, Florida. The conference was organized by Nicole Sullivan, Brett Stimmerman, Jonathan Snook, and Paul Irish and put on with help from a host of volunteers. The talks were presented in a single track style on a wide range of CSS-related topics; there was something interesting for everyone working in this space. I really enjoyed the conference, learned lots and had great discussions with a variety of people hacking on interesting things with CSS. In the coming days I will be blogging about some of the talks I attended and sharing what I learned, so stay tuned!

    When Bootstrap Attacks

    Pamela Fox had the opening slot and spoke about the experiences and challenges she faced when upgrading Bootstrap to V2 in a large web app (Coursera). What she initially thought would be a quick project turned into a month-long “BOOTSTRAPV2ATHON”. Bootstrap styles were used throughout the project in dozens of PHP, CSS and JavaScript files. The fact that Bootstrap uses generic CSS class names like “alert”, “btn”, error etc made it very difficult to grep through the codebase for them. The Bootstrap classes were also used as hooks by the project’s …


    conference css design graphics html javascript open-source testing tips tools

    PostgreSQL as NoSQL with Data Validation

    Szymon Lipiński

    By Szymon Lipiński
    June 3, 2013

    PostgreSQL is a relational database with many great features. There are also many so called NoSQL databases, some of them, like CouchDB, are document databases. However the document in CouchDB is automatically enhanced with a “_id” field, if it is not present. When you want to get this one document, you can use this “_id” field—​it behaves exactly like the primary key from relational databases. PostgreSQL stores data in tables’ rows while CouchDB stores data as JSON documents. On one hand CouchDB seems like a great solution, as you can have all the different data from different PostgreSQL tables in just one JSON document. This flexibility comes with a cost of no constraints on the data structure, which can be really appealing at the first moment and really frustrating when you have a huge database and some of the documents contain bad values or there are missing some fields.

    PostgreSQL 9.3 comes with great features which can turn it into a NoSQL database, with full transaction support, storing JSON documents with constraints on the fields data.

    Simple Example

    I will show how to do it using a very simple example of a table with products. Each product has a name, description, some id …


    json nosql postgres couchdb

    Login shells in scripts called from cron

    Jon Jensen

    By Jon Jensen
    May 28, 2013

    The problem

    I would guess that almost anyone who has set up a cron job has also had a cron job not work for initially mysterious reasons that often stem from cron running in a minimal environment very different from the same user’s normal login shell. For example, cron typically runs with:

    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    

    Whereas a common login shell has this in its environment, often with much more in the PATH:

    SHELL=/bin/bash
    PATH=/usr/local/bin:/bin:/usr/bin:$HOME/bin
    

    /bin/sh may be bash, but bash behaves differently when invoked as sh. It may also be another shell such as dash. And the impact of PATH differences is obvious, not just on the commands in the crontab but also in scripts they invoke.

    I’ve been dealing with this for many years but it reached a new level of frequency with new systems like rvm, rbenv, Perlbrew, and pyenv, among others, which depend on the environment or shell aliases being modified.

    The benefits of such multi-version local user-installed software are obvious, but the downside is that you have users installing various software that ends up being used in production, without sufficient wariness of production gotchas such as:

    • the vagaries …

    devops linux perl python ruby

    GnuPG: list all recipients of a message

    Jon Jensen

    By Jon Jensen
    May 24, 2013

    At End Point we frequently use GnuPG for PGP-compatible secure data storage and delivery, both internally and with some of our clients.

    For many years, GnuPG 1 has been the standard for Unix-like operating systems such as Linux and Mac OS X, as well as Windows. Relatively new is GnuPG 2, which is a modularized version but not (yet) a replacement. It’s often built and installed as “gpg2” so it can coexist with trusty old “gpg” version 1. I mention this to raise awareness, since it seems to be little known.

    When you have an encrypted file, how can you see who the recipients are who will be able to decrypt it? It’s easy enough to test if you can decrypt it, by just trying and seeing if it lets you. But what if you want to confirm others can see it before you send it to them? The manpage shows this option:

    –list-only

    Changes the behaviour of some commands. This is like –dry-run but different in some cases. The semantic of this command may be extended in the future. Currently it only skips the actual decryption pass and therefore enables a fast listing of the encryption keys.

    That sounds like the answer. And it almost is. However, for no reason I can discern, it doesn’t …


    security

    Honor your elders (and others)

    Jeff Boes

    By Jeff Boes
    May 24, 2013

    What an odd topic, you might be thinking. Some time ago, I began teaching my elders (who are rapidly becoming my contemporaries, curse you, Father Time) how to navigate the Internet. After almost two years of this, I’ve become more sensitized to seeing the ’Net from their POV.

    Here’s a small fragment of a page I saw today (actual size):

    The page numbers and arrowheads are the only navigation elements on this huge, complex page that allow you to move around the list of products. The numbers are an 11px font, and the arrowheads are 6px by 8px. For a senior citizen, or indeed anyone with less than perfect vision and eye-hand coordination, this is pretty challenging to find on the page, let alone use.

    Here’s a quick challenge for you as web designer: try dimming your screen down a bit, to the point where it’s noticeably uncomfortable to use. Does your page still seem easy to navigate? Now try switching from your dominant hand to your other hand, and try clicking your page navigation elements (not just buttons, but drop-downs, menus, etc.). Still usable? If not, you may be designing your page to keep away some users. Just a thought.


    design user-interface

    End Point Liquid Galaxy Projects at Google I/O 2013

    Dave Jenkins

    By Dave Jenkins
    May 23, 2013

    This last week End Point participated in the Google I/O conference for the third year in a row. As the lead agency for Liquid Galaxy development and deployment, our engineers were active in the development efforts for the two Liquid Galaxy systems that were showcased at the conference this year.

    We sent two of our rock stars to the show, Kiel and Matt. This year both Liquid Galaxies used Google Maps API functionality in the browser rather than the stand-alone Google Earth app:

    • Treadmill-driven Google Trekker: Working with Sparks Online, this showed a treadmill connected to the Google Trekker Trails panoramic imagery. Walking on the treadmill moves the view forward through the Bright Angel Trail in Grand Canyon. The tricky part being the curves in the trail, especially switchbacks: with no mouse to adjust the view, how to keep the view on the path when the input (the movement of the treadmill) was just “straight forward”? Our engineer, Kiel, used functions around Maps API data to automatically calculate the “closest frame” that would be next in line, and then force-feeds it to the Trail View, so “forward” is always centered on the path, no matter if the next frame is actually five …


    conference event visionport maps
    Previous page • Page 118 of 219 • Next page