• 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
  • Memcache Full HTML in Ruby on Rails with Nginx

    Steph Skardal

    By Steph Skardal
    September 4, 2015

    Hi! Steph here, former long-time End Point employee now blogging from afar as a software developer for Pinhole Press. While I’m no longer an employee of End Point, I’m happy to blog and share here.

    I recently went down the rabbit hole of figuring out how to cache full HTML pages in memcached and serve those pages via nginx in a Ruby on Rails application, skipping Rails entirely. While troubleshooting this, I could not find much on Google or StackOverflow, except related articles for applying this technique in WordPress.

    Here are the steps I went through to get this working:

    Replace Page Caching

    First, I cloned the page caching gem repository that was taken out of the Rails core on the move from Rails 3 to 4. It writes fully cached pages out to the file system. It can easily be added as a gem to any project, but the decision was made to remove it from the core.

    Because of the complexities in cache invalidation across file systems on multiple instances (with load balancing), and the desire to skip a shared/mounted file server, and because the Rails application relies on memcached for standard Rails fragment and view caching throughout the site, the approach was to use memcached for …


    performance rails

    Liquid Galaxy and the Coral Reefs of London

    Gerard Drazba

    By Gerard Drazba
    September 2, 2015

    Exploring coral reefs and studying the diverse species that live in them usually requires some travel. Most of the coral in the world lives in the Indo-Pacific region that includes the Red Sea, Indian Ocean, Southeast Asia and the Pacific. The next largest concentration of reefs is in the Caribbean and Atlantic. Oh, and then there is London.

    London, you say?

    Yes, the one in England. No, not the coral attaching itself to oil and gas platforms in the North Sea, nor the deep water coral there—​admittedly far away from London, but perhaps in the general vacinity on the globe. We’re talking about the heart of London, specifically Cromwell Road. Divers will need to navigate their ways there, but scuba gear and a boat won’t be required once they arrive. No worries! Divers can float right up to the Liquid Galaxy in the exhibit hall at The Natural History Museum. The museum opened CORAL REEFS: SECRET CITIES OF THE SEA on March 27th. and the exhibit runs through mid-September this year.

    NHML LG1.jpg

    Actually, there are 3 Liquid Galaxies at the Natural History Museum in London to allow a maximum amount of exploration and a minimum of waiting in queue.

    NHML LG2.jpg

    Last year, the Natural History Museum engaged End …


    event visionport

    Old Dog & New Tricks — Giving Interchange a New Look with Bootstrap

    Greg Hanson

    By Greg Hanson
    September 2, 2015

    Introduction

    So your Interchange based website looks like it walked out of a disco… but you spent a fortune getting the back end working with all those custom applications…. what to do?

    Interchange is currently being used in numerous very complex implementations. Trying to adapt another platform to replace Interchange is a formidable task, and in many cases the “problem” that users are trying to “solve” by replacing Interchange, can be remedied by a relatively simple face lift to the front end. One of the main attractions to Interchange in the past was its ability to scale from a small mom & pop eCommerce application, to a mid level support system for a larger company and its related back end systems. Once the connection to those back end systems has been created, and for as long as you use those related systems, Interchange will continue to be the most economic choice for the job. But that leaves the front end, the one that your customers see and use (with their phones and tablets) that becomes the most immediate target for “modernization”.

    Granted, there are new and alternate ways of accessing and presenting data and views to users, but many of those …


    css design html interchange javascript

    Graphing System Statistics with Grafana

    Kirk Harr

    By Kirk Harr
    August 21, 2015

    Graphing System Statistics (the old fashioned way)

    Since the mid 2000s system administrators who wanted to have a visual representations of their systems statistics had access to Graphite. This tool allows for elaborating graphs of values collected periodically to provide a representation of the data over time. Coupling this feature with collectd, which among many built-in supported metrics offer the possibility of sending system statistics to a central location running Graphite, allows to create a single portal for viewing statistics of your entire infrastructure easily. While this still remains a nice setup the graphical visualization capabilities of Graphite and rrdtool left some room for growth.

    Enter Grafana

    Grafana is a Graphite installation front-end that offers a very robust graphing/plotting library (provided by Flot) along with templates for creating similar displays for multiple datasets. Here you can see a comparison of the same dataset in both graphing libraries:

    Graphite (rrdtool)

    Grafana (Flot)

    Data Analysis

    Once you have setup collectd and Graphite to gather simple metrics from the servers you wish to monitor, you will easily have some basic instrumentation for …


    visualization

    Coding style guides across languages

    Piotr Hankiewicz

    By Piotr Hankiewicz
    August 17, 2015

    Introduction

    Before you can start programming production code in any programming language you should know a few things like syntax, purpose, coding standards, good practices. There is another thing that is really important too and can help developers that work with multiple projects and languages: coding style guides. This is just a set of rules that developers should take care about when writing code. They are not so different across various programming languages. In this article, I will sum up and list coding style guides for the most popular languages.

    It’s not a crime to use different styling, but standardizing this helps in the process of creating software. When your team is using the same standard it’s much easier to read each other’s code.

    There is one universal resource when it comes to programming style guides. Many of you will already have read it: the “Clean Code” book by Robert C. Martin.

    Something else that should be mentioned here:

    1. When you don’t know how to write a structure, read guides.
    2. When you know how to write a structure but it’s different than standardized, ask other developers about it.
    3. When your structure is different than all the other structures made by …

    programming tips

    Perl’s CPAN is 20 years old

    Jon Jensen

    By Jon Jensen
    August 17, 2015

    This is just a short note to celebrate the fact that the Comprehensive Perl Archive Network (CPAN) turned 20 years old yesterday!

    CPAN began as a way to collect, mirror, and distribute open-source Perl packages. Over time it led to development of better packaging and module naming conventions; formed a community for feedback, testing, and contributions; and became one of the great strengths of the Perl world.

    It is rare to find some needed functionality that is not available on CPAN. These days a more common problem is finding too much choice there, and needing to choose between several modules based on which are better maintained and supported on current versions of Perl, or kept current against external dependencies.

    Perl does not get as much press these days as it once did, but it continues to thrive and improve. On that topic, our former co-worker Steph Skardal sent me an article called We’re still catching up to Perl by Avdi Grimm of Ruby fame. It is not an in-depth language comparison, just a brief observation to his fellow Rubyists that there is plenty to be learned from Perl. (Of course Perl has plenty to learn from Ruby and other languages …


    perl programming

    Usability: Don’t Make Me Think and a Bookmarklet

    Steph Skardal

    By Steph Skardal
    August 13, 2015

    Hi! Steph here, former long-time End Point employee now blogging from afar as a software developer for Pinhole Press. While I’m no longer an employee of End Point, I’m happy to blog and share here.

    I’m only about a quarter of the way into Don’t Make Me Think (Revised) by Steve Krug, but I can already tell it’s a winner. It’s a great (and quick) book about web usability, with both high level concepts and nitty gritty examples. I highly recommend it! Even if you aren’t interested in web usability but are a web developer, it’s still a quick read and would be invaluable to whomever you are coding for these days.

    A Bookmarklet

    The book inspired me to write a quick bookmarklet to demonstrate some high level concepts related to usability. Here’s the bookmarklet:

    javascript:(function() {
      var possible = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
      $('*:not(iframe)').contents().filter(function() {
         return this.nodeType == Node.TEXT_NODE && this.nodeValue.trim() != '';
      }).each(function() {
         var new_content = '';
         for(var i = 0; i<this.nodeValue.trim().length; i++) {
           new_content += possible.charAt(Math …

    books javascript tips

    Bucardo replication from Postgres to sqlite and mariadb using pgbench

    Greg Sabino Mullane

    By Greg Sabino Mullane
    August 12, 2015

    While Bucardo is known for doing “multi-master” Postgres replication, it can do a lot more than simple “master to master” replication (better known as “source to source” replication). As people have been asking for simple Bucardo Bucardo 5 recipes based on pgbench, I decided to present a few here. Since Bucardo allows any number of sources and targets, I will demonstrate a source-source-source-target replication. Targets do not have to be Postgres, so let’s also show that we can do source—​MariaDB—​SQLite replication. Because my own boxes are so customized, I find it easier and more honest when writing demos to start with a fresh system, which also allows you to follow along at home. For this example, I decided to fire up Amazon Web Services (AWS) again.

    After logging in at https://aws.amazon.com, I visited the AWS Management Console, selected “EC2”, clicked on “Launch Instance”, and picked the Amazon Linux AMI (in this case, “Amazon Linux AMI 2015.03 (HVM), SSD Volume Type—​ami-1ecae776”). Demos like this require very little resources, so choosing the smallest AMI (t2.micro) is more than sufficient. After waiting a couple of minutes for it …


    database postgres replication
    Previous page • Page 79 of 223 • Next page