• 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
  • Happy 10th birthday, Git!

    Jon Jensen

    By Jon Jensen
    April 8, 2015

    Git’s birthday was yesterday. It is now 10 years old! Happy birthday, Git!

    Git was born on 7 April 2005, as its creator Linus Torvalds recounted in a 2007 mailing list post. At least if we consider the achievement of self-hosting to be “birth” for software like this. :)

    Birthdays are really arbitrary moments in time, but they give us a reason to pause and reflect back. Why is Git a big deal?

    Even if Git were still relatively obscure, for any serious software project to survive a decade and still be useful and maintained is an accomplishment. But Git is not just surviving.

    Over the past 5–6 years, Git has become the standard version control system in the free software / open source world, and more recently, it is becoming the default version control system everywhere, including in the proprietary software world. It is amazing to consider how fast it has overtaken the older systems, and won out against competing newer systems too. It is not unreasonable these days to expect anyone who does software development, and especially anyone who claims to be familiar with version control systems, to be comfortable with Git.

    So how did I get to be friends with Git, and end up at this birthday …


    git open-source

    PgConf 2015 NYC Recap

    David Christensen

    By David Christensen
    April 6, 2015

    I recently just got back from PGConf 2015 NYC. It was an invigorating, fun experience, both attending and speaking at the conference.

    What follows is a brief summary of some of the talks I saw, as well as some insights/thoughts:

    On Thursday:

    “Managing PostgreSQL with Puppet” by Chris Everest. This talk covered experiences by CoverMyMeds.com staff in deploying PostgreSQL instances and integrating with custom Puppet recipes.

    “A TARDIS for your ORM—​application level timetravel in PostgreSQL” by Magnus Hagander. Demonstrated how to construct a mirror schema of an existing database and manage (via triggers) a view of how data existed at some specific point in time. This system utilized range types with exclusion constraints, views, and session variables to generate a similar-structured schema to be consumed by an existing ORM application.

    “Building a ‘Database of Things’ with Foreign Data Wrappers” by Rick Otten. This was a live demonstration of building a custom foreign data wrapper to control such attributes as hue, brightness, and on/off state of Philips Hue bulbs. Very interesting live demo, nice audience response to the control systems. Used a python framework to stub out the …


    conference postgres

    Manage Python Script Options

    Szymon Lipiński

    By Szymon Lipiński
    April 3, 2015

    Some time ago I was working on a simple Python script. What the script did is not very important for this article. What is important, is the way it parsed arguments, and the way I managed to improve it.

    All below examples look similar to that script, however I cut most of the code, and changed the sensitive information, which I cannot publish.

    The main ideas for the options management are:

    • The script reads all config values from a config file, which is a simple ini file.
    • The script values can be overwritten by the command line values.
    • There are special command line arguments, which don’t exist in the config file like:
      • –help — shows help in command line
      • –create-config — creates a new config file with default values
      • –config — the path to the config file which should be used
    • If there is no value for a setting in the config file, and in the command line arguments, then a default value should be taken.
    • The option names in the configuration file, and the command line, must be the same. If there is repo-branch in the ini file, then there must be –repo-branch in the command line. However the variable where it will be stored in Python will be named repo_branch, …

    python

    Impressions from Open Source work with Elixir

    Kamil Ciemniewski

    By Kamil Ciemniewski
    March 26, 2015

    Some time ago I started working on the Elixir library that would allow me to send emails as easily as ActionMailer known from the Ruby world does.

    The beginnings were exciting—​I got to play with a very clean and elegant new language which Elixir is. I also quickly learned about the openness of the Elixir community. After hacking some first draft-like version and posting it on GitHub and Google groups—​I got a very warm and thorough code review from the language’s author José Valim! That’s just impressive and it made me even more motivated to help out the community by getting my early code into a better shape.

    Coding the ActionMailer like library in a language that was born 3 years ago doesn’t sound like a few hours job—​there’s lots of functionality to be covered. An email’s body has to be somehow compiled from the template but also the email message has to be transformed to the form in which the SMTP server can digest and relay it. It’s also great if the message’s body can be encoded with „quoted printable”—​this makes even the oldest SMTP server happy. But there’s lots more: connecting with external SMTP servers, using the local in-Elixir implementation, ability to test etc… …


    elixir erlang functional-programming open-source

    Liquid Galaxy for Google.org at SXSW

    Dave Jenkins

    By Dave Jenkins
    March 24, 2015

    End Point enjoyed an opportunity to work with Google.org, who bought a Liquid Galaxy to show their great efforts, at last week’s SXSW conference in Austin. Google.org has a number of projects worldwide, all focused on how tech can bring about unique and inventive solutions for good. To showcase some of those projects, Google asked us to develop presentations for the Liquid Galaxy where people could fly to a given location, read a brief synopsis of the grantee organizations, and view presentations which included virtual flight animations, map overlays, and videos of the various projects.

    Some of the projects included are as follows:

    • Charity:Water—​The charity: water presentation included scenes featuring multi screen video of Scott Harrison (Founder/CEO) and Robert Lee (Director of Special Programs), and an animated virtual tour of charity: water well sites in Ethiopia.
    • World Wildlife Fund—​The World Wildlife Fund presentation featured a virtual tour of the Bouba N’Djida National Park, Cameroon putting the viewer into the perspective of a drone patrolling the park for poachers. Additional scenes in the presentation revealed pathways of transport for illegal ivory from the …

    event google-earth visionport

    Simple AngularJS Page

    Szymon Lipiński

    By Szymon Lipiński
    March 24, 2015

    The best thing in AngularJS is the great automation of actualizing the data in the HTML code.

    To show how easy Angular is to use, I will create a very simple page using AngularJS and Github.

    Every GitHub user can get lots of notifications. All of them can be seen at GitHub notification page. There is also the GitHub API, which can be used for getting the notification information, using simple HTTP requests, which return JSON.

    I wanted to create a simple page with a list of notifications. With information if the notification was read (I used “!!!” for unread ones). And with automatical refreshing every 10 minutes.

    To access the GitHub API, first I generated an application token on the GitHub token page. Then I downloaded a file from the AngularJS page, and a GitHub API JavaScript wrapper.

    Then I wrote a simple HTML file:

    <html>
      <head>
        <script src="angular.min.js"></script>
        <script src="underscore-min.js"></script>
        <script src="github.js"></script>
        <script src="jscode.js"></script>
      </head>
    
      <body ng-app="githubChecker">
        <div ng-controller= …

    angular javascript

    Simple cross-browser communication with ROS

    Matt Vollrath

    By Matt Vollrath
    March 24, 2015

    ROS and RobotWebTools have been extremely useful in building our latest crop of distributed interactive experiences. We’re continuing to develop browser-fronted ROS experiences very quickly based on their huge catalog of existing device drivers. Whether a customer wants their interaction to use a touchscreen, joystick, lights, sound, or just about anything you can plug into the wall, we now say with confidence: “Yeah, we can do that.”

    A typical ROS system is made out of a group (“graph”) of nodes that communicate with (usually TCP) messaging. Topics for messaging can be either publish/subscribe namespaces or request/response services. ROS bindings exist for several languages, but C++ and Python are the only supported direct programming interfaces. ROS nodes can be custom logic processors, aggregators, arbitrators, command-line tools for debugging, native Arduino sketches, or just about any other imaginable consumer of the data streams from other nodes.

    The rosbridge server, implemented with rospy in Python, is a ROS node that provides a web socket interface to the ROS graph with a simple JSON protocol, making it easy to communicate with ROS from any language that can connect to a …


    javascript visionport ros

    Mobile-friendly sites or bust!

    Jon Jensen

    By Jon Jensen
    March 23, 2015

    A few weeks ago, Google announced that starting on April 21 it will expand its “use of mobile-friendliness as a ranking signal” which “will have a significant impact in our search results”.

    The world of search engine optimization and online marketing is aflutter about this announcement, given that even subtle changes in Google’s ranking algorithm can have major effects to improve or worsen any particular site’s ranking. And the announcement was made less than two months in advance of the announced date of the change, so there is not much time to dawdle.

    Google has lately been increasing its pressure on webmasters (is that still a real term‽) such as with its announcement last fall of an accelerated timetable for sunsetting SSL certificates with SHA-1 signatures. So far these accelerated changes have been a good thing for most people on the Internet.

    In this case, Google provides an easy Mobile-Friendly Site Test that you can run on your sites to see if you need to make changes or not:


     

    So get on it and check those sites! I know we have a few that we can do some work on.


    design mobile search
    Previous page • Page 83 of 222 • Next page