• 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
  • Vim Plugin Spotlight: CtrlP

    Patrick Lewis

    By Patrick Lewis
    February 6, 2015

    When I started using Vim I relied on tree-based file browsers like netrw and NerdTree for navigating a project’s files within the editor. After discovering and trying the CtrlP plugin for Vim I found that jumping directly to a file based on its path and/or filename could be faster than drilling down through a project’s directories one at a time before locating the one containing the file I was looking for.

    After it’s invoked (usually by a keyboard shortcut) CtrlP will display a list of files in your current project and will filter that list on the fly based on your text input, matching it against both directory names and file names. Pressing with CtrlP open toggles through two other modes: most recently used files, and current buffers. This is useful when you want to narrow down the list of potential matches to only files you have worked with recently or currently have open in other buffers. I use CtrlP’s buffer mode to jump between open files so often that I added a custom mapping to invoke it in my .vimrc file:

    map <leader>b :CtrlPBuffer<cr></cr>

    CtrlP has many configuration options that can affect its performance and behavior, and installing additional …


    extensions vim

    Filling in header elements with Dancer and Template::Flute

    Jeff Boes

    By Jeff Boes
    February 5, 2015

    Inserting content into Dancer output files involves using a templating system. One such is Template::Flute. In its simplest possible explanation, it takes a Perl hash, an XML file, and an HTML template, and produces a finished HTML page.

    For a project involving Dancer and Template::Flute, I needed a way to prepare each web page with its own set of JavaScript and CSS files. One way is to construct separate layout files for each different combination of .js and .css, but I figured there had to be a better way.

    Here’s what I came up with: I use one layout for all my typical pages, and within the header, I have:

     <link class="additional_style" href="/css/additional.css" rel="stylesheet" type="text/css"/>
     <script class="additional_script" src="/javascripts/additional.js" type="text/javascript">
     </script>

    The trick here is, there’s no such files “additional.css” and “additional.js”. Instead, those are placeholders for the actual CSS and JS files I want to link into each HTML file.

    My Perl object has these fields (in addition to the other content):

    $context->{additional_styles}    = [
    	{ url => …

    dancer perl

    Polemics on opinions about AngularJS

    Kamil Ciemniewski

    By Kamil Ciemniewski
    February 5, 2015

    Some time ago, our CTO, Jon Jensen, sent me a link to a very interesting blog article about AngularJS.

    I have used the AngularJS framework in one of our internal projects and have been (vocally) very pleased with it ever since. It solves many problems of other frameworks and it makes you quite productive as a developer, if you know what you’re doing. It’s equally true that even the best marketed technology is no silver bullet in real life. Once you’ve been through a couple of luckless technology-crushes, you tend to stay calm—​understanding that in the end there’s always some tradeoff.

    We’re trying to do our best at finding a balance between chasing after the newest and coolest, and honoring what’s already stable and above all safe. Because the author of the blog article decided to point at some elephants in the room—​it immediately caught our attention.

    I must admit that the article resonates with me somewhat. I believe, though, that it also doesn’t in some places.

    While I don’t have as much experience with Angular as this article’s author, I clearly see him sometimes oversimplifying, overgeneralizing, and being vague.

    I’d like to address many of the author’s points in detail, so …


    angular javascript

    FOSDEM conference day 2

    Emanuele “Lele” Calò

    By Emanuele “Lele” Calò
    February 2, 2015

    It’s Sunday evening, the 2015 FOSDEM conference is over, so it’s time to give my impressions and opinions.

    As I already said in my day 1 blog post, I really enjoyed the conference as I usually do in this kind of open source, enthusiast, knowledge sharing conference.

    Now that’s also where the FOSDEM somehow slightly disappointed me: I lived it as yet another conference with a series of talks and some nice ideas here and there.

    When I heard about the FOSDEM I always heard about a developer-centric conference so my first natural conclusion was that there probably would have been a lot of cooperative hand-on coding, some pair programming, huge hackathon rooms and so on. Unfortunately this wasn’t the case, from what I could see.

    Don’t get me wrong: I really loved all the talks I attended and really appreciated all the input I had, which is awesome.

    But as you may know when expectations fall short you always remain with a little bit of bitter taste wandering inside you.

    That said I really loved the talks about KVM Observability from Stefan Hajnoczi which provided me a lot of interesting hints and tools I could use straight away when coming back at work and the NUMA architecture in oVirt …


    conference open-source

    One-time password SSH solutions

    Greg Sabino Mullane

    By Greg Sabino Mullane
    February 2, 2015


    [how encryption was done in the 18th century]

    In a previous article I explained how I used a one‑time password system to enable SSH on my Chromebook. While this is still working great for me, there are a few problems that can pop up.

    Problem 1: Tripping the alarm

    Normally a single password is asked for when logging in using one-time passwords via the otpw program. However, otpw will issue a three‑password prompt when it thinks someone may be trying to perform a race attack (in other words, it think two people are trying to log in at once). The prompt will change from the normal one to this:

    Password 206/002/011:

    This alarm can be tripped from SSH timing out, or from getting pulled away from your computer mid‑login. In theory, it could be someone trying to break in to my laptop, but that is very unlikely. Needless to say, trying to squint at a paper and keyboard in the dark is hard enough with one password, much less three! It’s usually much easier (in most cases) for me to walk to my laptop and remove the ~/.otpw.lock file, which will clear the “intruder alarm” and cause otpw to prompt for a single password again. Another solution is to set a timeout on clearing the lock, for …


    chrome security ssh

    FOSDEM conference day 1

    Emanuele “Lele” Calò

    By Emanuele “Lele” Calò
    January 31, 2015

    It’s my first day of my first time at FOSDEM and I really loved it. There’s simply no other way to put it.

    I guess that the main difference with other conferences is the incredibly huge and diverse amount of topics and talks that you can attend in a short amount of time (two days).

    While there’s all this choice you won’t be able to attend all of them, so you have to pick the one which interests you more. Being a SysAdmin/DevOps person I was more geared toward these kind of talks and I found plenty!

    Most of the talks were revolving around “the cloud”, how to manage it, best practices and other similar aspects.

    Now even if you don’t happen to be a huge cloud infrastructure fan there’s always good content to squeeze out of these incredibly skilled people and how each of them tackled and overcame their own set of problems.

    I was particularly impressed by a few talks, namely the one about OpenLISP by Luigi Iannone which explained with good detail and extremely clearly some parts of this new complex geographically location-independent routing protocol. Amazing and what a perfect time for such a nifty tool now that (maybe) finally IPv6 will start to be more widely used.

    Then there was …


    conference open-source sysadmin

    A few PostgreSQL tricks

    Josh Tolley

    By Josh Tolley
    January 30, 2015

    We ran into a couple of interesting situations recently, and used some helpful tricks to solve them, which of course should be recorded for posterity.

    Unlogged tables

    One of our customers needed a new database, created as a copy of an existing one but with some data obscured for privacy reasons. We could have done this with a view or probably any of several other techniques, but in this case, given the surrounding infrastructure, a new database, refreshed regularly from the original, was the simplest method. Except that with this new database, the regular binary backups became too large for the backup volume in the system. Since it seemed silly to re-provision the backup system (and talk the client into paying for it) to accommodate data we could throw away and recalculate at any time, we chose unlogged tables as an alternative.

    “Unlogged,” in this case, means changes to this table aren’t written in WAL logs. This makes for better performance, but also means if the database crashes, these tables can’t be recovered in the usual way. As a side effect, it also means these tables aren’t copied via WAL-based replication, so the table won’t show up in a hot standby system, for instance, …


    postgres

    Shrink XFS partition: Almost possible with LVM

    Emanuele “Lele” Calò

    By Emanuele “Lele” Calò
    January 29, 2015

    If you happen to have reached this page because you’re trying to shrink an XFS filesystem let’s put things straight: sorry, that’s not possible.

    But before you go away you should know there’s still hope and I’d like to show you how I used a little workaround to avoid reinstalling a Red Hat Enterprise Linux 7 or CentOS 7 VM using XFS dump/restore on-the-fly and LVM capabilities, both standard choices for the regular RHEL/CentOS 7 setup.

    First of all let’s clarify the situation I found myself in. For various reasons I had a CentOS 7 VM with everything already configured and working, installed not many days ago to test new software we’re evaluating.

    The VM itself is hosted on a dedicated server we manage on our own, so I had a certain degree of freedom to what I could do without the need of paying any additional fee. You may not be in this same situation, but you can probably try some similar solution for little money if you’re using an “hourly-billed” VPS provider.

    The problem was that, even if everything was working and configured, the virtual hard disk device attached to the machine was too big and on the wrong storage area of the virtualization hosting server.

    There was also …


    redhat linux storage sysadmin virtualization
    Previous page • Page 86 of 222 • Next page