• 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
  • Liquid Galaxy at Doodle 4 Google

    Alejandro Ramon

    By Alejandro Ramon
    May 21, 2012

    Last week I went to Google’s New York Office on 8th Ave with Ben, intern Ben, and hired hand Linton. For those who have not experienced this wonderful place, Google’s building takes up an entire city block, is very colorful, and is probably one of the coolest places I have ever been to in the Big Apple.

    Walking through the huge building is an experience in itself, with people riding Razor Scooters by you as you pass by street signs marking different areas in the office. It was explained to me that each floor is themed after a different place in the city. For example, the 10th floor, the main floor we were working on, is based on Queens. And of course they have the best break rooms. Free food everywhere! Also they have ball pits. You know you are awesome when you have ball pits.

    Anyway, the reason we were at Google in the first place was to move the Liquid Galaxy on the 10th floor down to the 5th floor. It was great to see how many people came up to us and told how much they enjoyed using the system, and they all wanted to know when and if it would ever be back.

    Moving the Liquid Galaxy went smoothly, and setting it back up on the 5th floor (at the “Water Tower”) went even smoother. …


    clients event visionport

    Website Performance Boot Camp at UTOSC 2012

    Jon Jensen

    By Jon Jensen
    May 21, 2012

    I’ll keep brief my last post about this year’s Utah Open Source Conference.

    I was asked to give on both day one and day two a talk called “Website Performance Boot Camp” which carried this brief description:

    What’s the difference between a snappy website and a sloth that you turn away from in frustration? A lot of little things, usually. It’s rarely worth doing 100% of the optimization you could do, but getting 75% of the way isn’t hard if you know where to look.

    We’ll look at HTTP caching, compression, proxying, CDNs, CSS sprites, minification, and more, how to troubleshoot, and what’s best to leave alone when you have limited time or tolerance for risk.

    Here is the video recording of the first time I presented the talk. (The technician noted its audio was “a little hot”.)

    Use this Website Performance Boot Camp direct YouTube video link if the embedded video doesn’t work for you.

    The slides for this Website Performance Boot Camp presentation are available.

    Thanks again to the conference organizers and the other speakers and sponsors, and the nice venue Utah Valley University, for making it a great conference!


    community conference ecommerce open-source optimization performance

    UTOSC 2012 talks of interest

    Jon Jensen

    By Jon Jensen
    May 18, 2012

    It’s been two weeks now since the Utah Open Source Conference for 2012. My fellow End Pointers wrote previously about it: Josh Ausborne about the mini Liquid Galaxy we set up there for everyone to play with, and Josh Tolley with a write-up of his talks on database constraints and KML for geographic mapping markup.

    There were a lot of interesting talks planned, and I could only attend some of them. I really enjoyed these:

    • Rob Taylor on AngularJS

    • Brandon Johnson on Red Hat’s virtualization with oVirt, Spacewalk, Katello, and Aeolus

    • Clint Savage about RPM packaging with Mock & Koji

    • Daniel Evans on testing web applications with Capybara, embedded WebKit, and Selenium (which End Pointer Mike Farmer wrote about here back in December)

    • Aaron Toponce on breaking full-disk encryption (I missed this talk, but learned about it from Aaron in the hallway track and his slides afterwards)

    • Matt Harrison’s tutorial Hands-on intermediate Python, covering doctest, function parameters and introspection, closures, function and class decorators, and more.

    I gave a talk on GNU Screen vs. tmux, which was fun (and ends with a live demo that predictably fell apart, and audience questions …


    browsers conference javascript python redhat security sysadmin virtualization kml

    Keeping Your Apps Neat & Tidy With RequireJS

    Greg Davidson

    By Greg Davidson
    May 17, 2012

    RequireJS is a very handy tool for loading files and modules in JavaScript. A short time ago I used it to add a feature to Whiskey Militia that promoted a new section of the site. By developing the feature as a RequireJS module, I was able to keep all of its JavaScript, HTML and CSS files neatly organized. Another benefit to this approach was the ability to turn the new feature “on” or “off” on the site by editing a single line of code. In this post I’ll run through a similar example to demonstrate how you could use RequireJS to improve your next project.

    File Structure

    The following is the file structure I used for this project:

    ├── index.html
    └── scripts
        ├── main.js
        ├── my
        │   ├── module.js
        │   ├── styles.css
        │   └── template.html
        ├── require-jquery.js
        ├── requirejs.mustache.js
        └── text.js

    The dependencies included RequireJS bundled together with jQuery, mustache.js for templates and the RequireJS text plugin to include my HTML template file.

    Configuration

    RequireJS is included in the page with a script tag and the data-main attribute is used to specify additional files to load. In this case “scripts/main” tells RequireJS to load the main.js file …


    css javascript jquery open-source tools

    Vim — working with encryption

    Terry Grant

    By Terry Grant
    May 16, 2012

    On occasion I have to work with encrypted files for work or personal use. I am partial to a Linux environment and I prefer Vim as my text editor, even when I am only reading a file. Vim supports quite a few different ways of interfacing with external encryption packages. I only use two of those variations as described below.

    Vim comes packaged with a default encryption mechanism referred to as VimCrypt in the documentation. I typically use this functionality as a temporary solution in a situation where my GPG is not immediately available, like a remote system that is not mine.

    Using Vim’s default VimCrypt feature

    Creating a new encrypted file or open a plain text file you wish to encrypt:

    vim -x <filename></filename>

    This will create a new file if it does not exist or open an existing file and then prompt you for a password. This password is then used as the key to encrypt and decrypt the specified file. Upon saving and exiting this file, it will be saved in this encrypted format using your crypt key.

    You can also save and encrypt an open file you are currently working on like so. Please note this is a capital X:

    :X 

    This will also ask you for a password to encrypt …


    security vim

    Points of Interest

    Brian Buchalter

    By Brian Buchalter
    May 15, 2012

    It’s been a fairly straight forward week at work, but I have stumbled a few interesting finds along the way this week.

    Vim Adventures

    Finally! A game based approach to learning Vim keyboard commands. I was hoping someone would do this. It’s just getting started (only two levels) and sadly, it looks like it’ll be charging money to unlock higher levels. However, some things are worth paying for. I’ve found just playing the first two levels a few times have helped retrain my brain to not take my fingers off the home row. It’s still quite buggy and seems to only work in Chrome. I found several times I needed to close all my Chrome windows after playing. Also, incognito mode seems to help with the bugs, as it disables all extensions you may have installed.

    MySQL query comments in Rails

    Ever wanted to know where that slow query was being called from? Well, if you’re using MySQL with your Rails 2.3.x or 3.x.x app, you can get debug information about what controller’s action made the call. Check out 37Signals new marginalia gem.

    How to use EC2 as a web proxy

    Kevin Burke provides a very detailed HOWTO article for working around restrictions you may experience in the course of an Internet …


    mysql rails vim

    SELinux Local Policy Modules

    Jon Jensen

    By Jon Jensen
    May 11, 2012

    If you don’t want to use SELinux, fair enough. But I find many system administrators would like to use it but get flustered at the first problem it causes, and disable it. That’s unfortunate, because often it’s simple to customize SELinux policy by creating what’s known as a local policy module. That way you allow the actions you need while retaining the added security SELinux brings to the system as a whole.

    A few years ago my co-worker Adam Vollrath wrote an article on this same subject for Red Hat Enterprise Linux (RHEL) 5, and went into more detail on SELinux file contexts, booleans, etc. I recently went through the process of building an SELinux local policy module on RHEL 6 and RHEL 7 mail servers and found a few differences and want to document some of the details here. This applies to RHEL 5, RHEL 6, and RHEL 7, and near relatives CentOS, Scientific Linux, et al.

    When under pressure …

    If you’re tempted to disable SELinux, consider leaving it on, but in “permissive” mode. That will leave it running but stop it from blocking disallowed actions until you have time to deal with them properly. It’s as simple as:

    setenforce 0

    That will last until you reboot, unless otherwise …


    hosting redhat security selinux sysadmin

    Three Things: Rails, JOIN tip, and Responsiveness

    Steph Skardal

    By Steph Skardal
    May 11, 2012

    Here’s another entry in my Three Things series, where I share a few small tips I’ve picked up lately.

    1. Rails and Dramas

    Sometimes I think that since Rails allows you write code efficiently, [a few] members of the Rails community have time to overdramatize incidents that otherwise would go relatively unnoticed :) Someone with a good sense of humor created this website to track these dramas. While it’s probably a waste of time to get caught up on the personal aspects of the drama, some of the dramas have interesting technical aspects which are fiercely defended.

    2. JOIN with concat

    Recently I needed to perform a JOIN on a partial string match in MySQL. After some investigation, I found that I had use the CONCAT method in a conditional (in an implicit inner JOIN), which looked like this:

    SELECT * FROM products p, related_items ri WHERE concat(p.sku, '%') = ri.id

    In modern MVC frameworks with ORMs, databases are typically not designed to include data associations in this manner. However, in this situation, data returned from a third party service in a non-MVC, ORM-less application was only a substring of the original data. There may be alternative ways to perform this type …


    browsers css rails tips
    Previous page • Page 145 of 222 • Next page