• 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

    End Point booth at CSTE 2022 conference

    Shannon Sandall

    By Shannon Sandall
    June 9, 2022

    Divided interstate highway in lush green trees and fields Photo by David Barajas

    Converging on Kentucky

    We are excited to announce that End Point will be attending the CSTE (Council of State and Territorial Epidemiologists) conference in less than two weeks!

    We will be running a booth during the 3-day conference in Louisville, Kentucky from Monday, June 20 through Wednesday, June 22, 2022. Our crew is scheduled to include Steve Yoman, Linda King, Ben Goldstein, and me.

    Please come visit us in booth #35 to learn more about the EpiTrax Disease Surveillance System and EMSA (Electronic Message Staging Area). Now is the time for public health entities to turn to modern systems to perform disease surveillance, automate the ingestion of electronic laboratory records (ELRs) and electronic case reports (eCRs), report to the CDC through NMI reporting methods, track outbreaks, perform contact management, and do it all with a highly configurable system.

    Our booth will feature a VisionPort Mini to showcase EpiTrax and EMSA! VisionPort is our product combining hardware and software to give organizations the ability to create dynamic, shared immersive multimedia experiences. We are delighted when we have opportunities like this to use VisionPort to …


    conference casepointer epitrax emsa

    Understanding Linear Regression

    Kürşat Kutlu Aydemir

    By Kürşat Kutlu Aydemir
    June 1, 2022

    Green Striped Photo by Scott Webb

    Linear regression is a regression model which outputs a numeric value. It is used to predict an outcome based on a linear set of input.

    The simplest hypothesis function of linear regression model is a univariate function as shown in the equation below:

    $$ h_θ = θ_0 + θ_1x_1 $$

    As you can guess this function represents a linear line in the coordinate system. The hypothesis function (h0) approximates the output given input.

    Linear regression plot

    θ0 is the intercept, also called bias term. θ1 is the gradient or slope.

    A linear regression model can either represent a univariate or a multivariate problem. So we can generalize the equation of the hypothesis as summation:

    $$ h_θ = \sum{θ_ix_i} $$

    where x0 is always 1.

    We can also represent the hypothesis equation with vector notation:

    $$ h_θ = \begin{bmatrix} θ_0 & θ_1 & θ_2 \dots θ_n \end{bmatrix} x \begin{bmatrix} x_0 \\ x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} $$

    Linear Regression Model

    I am going to introduce a linear regression model using a gradient descent algorithm. Each iteration of a gradient descent algorithm calculates the following steps:

    • Hypothesis h
    • The loss
    • Gradient descent update

    The gradient descent …


    machine-learning data-science python

    Backing up your SaaS data with Google Takeout

    Seth Jensen

    By Seth Jensen
    May 31, 2022

    A concrete building with rectangular windows at sunset

    Keeping backups is extremely important.

    Losing important files can feel like a far-off problem, but the chance of misplacing a drive, theft, drive failure, accidental deletion, house fire, flood, etc., is much greater than we may think. The benefits outweigh the cost of backups, for files that matter at all. So everyone should make regular backups of data that they care about and that can’t be replaced.

    Even among people who regularly make backups, there is one area many of us neglect: all of that data on various online services, also called software as a service or SaaS: Google Drive, Apple iCloud, Microsoft OneDrive, Dropbox, Box, etc.

    It’s true, the most volatile files are the ones sitting in a single location on your laptop or thumb drive, not those on Google, WordPress, or iCloud servers. The danger of losing files is not nearly as present with SaaS. You can’t drop Google on the floor and lose a couple terabytes of data, like you can a hard drive, but you can be locked out of your account, accidentally delete files, and lose data by missing a notice about a service shutting down. Not to mention the possibility that your SaaS provider is hacked and loses …


    backups saas

    Aligning monospace font text columns with an old Unix tool

    Jon Jensen

    By Jon Jensen
    May 30, 2022

    Photo of old wooden bridge with moss on it Photo by Garrett Skinner

    A blast from 1990: column

    A while back I learned of a nice old Unix command-line tool called column. It first appeared in 4.3BSD-Reno, released in July 1990. (This is not to be confused with the different, even older Unix tool col.)

    column formats plain text into nice columns based on the width of the input separated by tabs or groups of spaces.

    For example, take this mess found in a server’s /etc/fstab file defining filesystem mount points. It is a real example lightly redacted to remove business details. You may need to scroll right to see the end of the fairly long lines:

    /data3/customer_uploads   /home/interch/htdocs/shared/customer_uploads none    rw,bind 0   0
    /data3/customer_images    /home/interch/htdocs/shared/customer_images  none    rw,bind 0   0
    /data3/images/items       home/interch/htdocs/images/items     none    rw,bind 0       0
    /data3/images/thumb       home/interch/htdocs/images/thumb     none    rw,bind 0       0
    /data3/upload_images       /home/interch/upload_images     none    rw,bind 0       0
    /data3/design    /home/interch/htdocs/shared/design  none    rw,bind 0   0
    /data3/design_temp   /home/interch/htdocs/shared/design_temp …

    tips tools vim vscode intellij-idea

    Middleware: Is that still a thing?

    Richard Templet

    By Richard Templet
    May 26, 2022

    Photo looking from ground level up at concrete and crushed stone building against a blue sky with some white clouds

    The simple answer to the question in the title is simply, yes! Despite the term being many decades old and well past its hype peak, middleware is still very much a thing and has become a key part of the technical landscape that is critical in day-to-day functioning of systems.

    So there are still some questions to be answered: What is middleware? What does it do? And maybe most importantly: Why do we care?

    What is it?

    In its simplest meaning, middleware is an application that sits between other applications and shuffles data between them. There is normally one system requesting the information and the middleware figures out where to get that requested data and makes the request to another system.

    An easy example of this is buying something at a retail store using your credit or debit card. When you swipe your card, the business makes a request to a service (some middleware) to ask if there’s enough room on the card for that purchase. Then that system makes a request to the appropriate bank or card holding company to ask the same question. The bank or card holding company replies with either a yes or no and that answer is then relayed back to the terminal where you swiped …


    development integration architecture api

    Docker and containers boot camp

    Phineas Jensen

    By Phineas Jensen
    May 16, 2022

    Shipping containers stacked at a port Photo by Samuel Wölfl

    In the modern landscape of web development, it’s almost impossible to avoid seeing or using containers: isolated, virtualized, user space for programs to run in. Containers make it easy to develop and deploy various components of applications without respect to the specific system and dependencies they run on.

    If that’s confusing, worry not; this post and the tutorials in this boot camp aim to clarify things for new developers and experienced developers who haven’t gotten around to using containers yet.

    Linux containers are all based on the virtualization, isolation, and resource management mechanisms provided by the Linux kernel, notably Linux namespaces and cgroups.

    —Wikipedia, OS-level virtualization

    Introduction

    The terminology surrounding containers can get pretty confusing, but the basic idea is this: A container is just a sandboxed process which is limited by the operating system in its ability to see and interact with other processes and parts of the system. This can:

    • provide security benefits (e.g. a container may only be given access to certain parts of the filesystem),
    • help with performance (e.g. by limiting the amount of RAM or CPU given to a …

    docker containers

    EditorConfig: Ending the Spaces vs. Tabs Confusion

    Jon Jensen

    By Jon Jensen
    April 30, 2022

    Photo by Garrett Skinner

    Varieties of text formatting

    Most everyone who has worked on a software development project with a group of other people has encountered the problem of source code being formatted in different ways by different text editors, IDEs, and operating systems.

    The main variations go back to the 1970s or earlier, and include the questions:

    • Will indentation be done by tabs (an ASCII control character) or spaces?
      • If indentation is done by spaces, how many spaces are used for each indentation level?
    • What will indicate the end of each line (EOL)? The choices are:
      • a line feed (LF), used by the Unix family including Linux and modern macOS
      • a carriage return (CR), used by old pre-Unix Macintosh and some now-obscure operating systems
      • both together (CRLF) used by Windows and most Internet protocols
    • Which character set encoding will be used? Common choices are:
      • Unicode UTF-8 encoding, used by Linux, macOS, and most other Unixes, and standard on the Internet
      • Unicode UTF-16 encoding (with either little-endian or big-endian encoding), used by modern Windows
      • legacy ISO-8859 and Windows “code page” encodings in older documents and codebases

    Editor …


    development tips intellij-idea vim emacs

    Formatting SQL code with pgFormatter within Vim

    Josh Tolley

    By Josh Tolley
    April 26, 2022

    Outdoor view of a creek bank with dry trees and old wooden buildings against a blue sky Photo by Garrett Skinner

    Sometimes a little, seemingly simple tip can make a world of difference. I’ve got enough gray hair these days that it would be pretty easy for me to start thinking I’d seen an awful lot, yet quite frequently when I watch a colleague working in a meeting or a tmux session or somewhere, I learn some new and simple thing that makes my life demonstrably easier.

    Luca Ferrari recently authored a post about using pgFormatter in Emacs; essentially the same thing works in Vim, my editor of choice, and it’s one of my favorite quick tips when working with complicated queries. I don’t especially want to get involved an editor war, and offer the following only in the spirit of friendly cooperation for the Vim users out there.

    As Luca mentioned, pgFormatter is a convenient way to make SQL queries readable, automatically. It’s easy enough to feed it some SQL, and get a nice-looking result as output:

    $ pg_format < create_outbreaks.sql
    INSERT INTO outbreak                      
    SELECT                              
        nextval('outbreak_id'::regclass),
        extract('year' FROM now())::text || '-' || nextval( …

    tips open-source tools postgres vim
    Previous page • Page 14 of 217 • Next page