COVID-19 Support for the Kansas Department of Health and Environment
Kansas’s existing EpiTrax system
End Point has worked on Kansas’s disease surveillance systems since 2011. In 2018 we migrated them from their legacy TriSano application to the open source EpiTrax surveillance system created by Utah’s Department of Health. The new EpiTrax system had been in full production for about eight months when COVID-19 cases started to grow in the United States.
COVID-19: Help needed
In March 2020, the Director of Surveillance Systems at the Kansas Department of Health and Environment (KDHE) asked us at End Point to create a web-based portal where labs, hospitals, and ad-hoc testing locations could enter COVID-19 test data. While systems existed for gathering data from labs and hospitals, they needed a way to quickly gather data from the many new and atypical sites collecting COVID-19 test information.
Our approach
Since the portal was intended for people who were unfamiliar with the existing EpiTrax application, we were able to create a new design that was simple and direct, unconstrained by other applications. It required a self-registration function so users could access the system quickly and without administrative overhead, and users needed to …
casepointer epitrax clients case-study rails vue emsa
Introduction to BorgBackup
What is Borg?
BorgBackup (Borg for short) is a ‘deduplicating’ backup program that eliminates duplicate or redundant information. It optionally supports compression and authenticated encryption.
The main objective of Borg is to provide an efficient and secure way to backup data. The deduplication technique utilized to produce the backup process is very quick and effective.
Step 1: Install the Borg backups
On Ubuntu/Debian:
apt install borgbackup
On RHEL/CentOS/Fedora:
dnf install borgbackup
Step 2: Initialize Local Borg repository
Firstly, the system that is going to be backed up needs a new designated backup directory. Name the parent directory ‘backup’ and then create a child directory called ‘borgdemo’, which serves as the repository.
mkdir -p /mnt/backup
borg init --encryption=repokey /mnt/backup/borgdemo
Step 3: Let’s create the first backup (archive)
In Borg terms, each backup instance will be called an archive. The following demonstrates how to backup the ‘photos’ directory and designate the archive as ‘archive_1’.
borg create --stats --progress /mnt/backup/borgdemo::archive_1 /home/kannan/photos
Note: the archive label for each backup run needs to be …
sysadmin storage backups
Rclone: upload to the cloud from your command line and much more
The Swiss army knife of storage
Cloud storage providers like Google Drive are great solutions for storing files. You can upload your data and not worry about maintaining a separate system to host it, or all the security hassles that can bring. However, very few major cloud storage providers offer a command line interface or any other official way to upload without using their web interface or closed-source binary tools, if they even offer that.
This obviously makes uploading files from servers difficult, but not impossible if you know the right tools.
About a year ago Jon Jensen penned a blog post about gdrive, a Google Drive command-line tool. However, due to changes with Google’s Drive security, that tool no longer works. This led me to look for a replacement.
Our use case
Recently I had to put some large files in to long term storage on Google Drive, since we needed the local space back. We wanted to retain the data, but didn’t foresee needing to access it for some time, if ever. Google Drive was a good solution for us, but the problem became how to get it there.
The files were too big, and some of them were not stored sparsely—empty space was tacked on to the disk images. We …
sysadmin cloud storage
Containerizing Magento with Docker Compose: Elasticsearch, MySQL and Magento
Magento is a complex piece of software, and as such, we need all the help we can get when it comes to developing customizations for it. A fully featured local development environment can do just that, but these can often times be very complex as well. It’d be nice to have some way to completely capture all the setup for such an environment and be able to get it all up and running quickly, repeatably… even with a single command. Well, Docker containers can help with that. And they can be easily provisioned with the Docker Compose tool.
In this post, we’re going to go in depth into how to fully containerize a Magento 2.4 installation for development, complete with its other dependencies Elasticsearch and MySQL. By the end of it, we’ll have a single command that sets up all the infrastructure needed to install and run Magento, and develop for it. Let’s get started.
Magento 2.4 application components
The first thing that we need to know is what the actual components of a Magento application are. Starting with 2.4, Magento requires access to an Elasticsearch service to power catalog searches. Other than that, we have the usual suspects for typical PHP applications. Here’s what …
magento mysql elasticsearch docker containers
Our Vue Storefront “Proof of Concept” Experience
Recently we experimented internally with integrating Vue Storefront and Magento 2.3. Vue Storefront is an open source Progressive Web App (PWA) that aims to work with many ecommerce platforms.
What initially piqued our interest was the possibility of integrating Vue Storefront with the venerable ecommerce back-end platform Interchange, which many of our clients use. Vue Storefront’s promise of ease of integration with any ecommerce backend made us curious to see whether it would make a good modern front-end for Interchange.
Since Vue Storefront seems to be most commonly used with Magento, we decided to start our experiment with a standard Vue Storefront/Magento 2.3 proof-of-concept integration.
PoC of Vue Storefront/Magento 2.3
OK, to be honest, at the beginning we blindly expected that Vue Storefront would be a copy/paste front-end template solution that would fairly easily be made to work with its standard integration to a Magento backend. Sadly, this was not the case for us.
Before beginning our journey here, to summarize the Vue Storefront integration with Magento let’s have a look at this diagram to see what components are included:
Figure 1
At first, we wanted to see how …
vue javascript ecommerce interchange magento
Downtown San Diego Liquid Galaxy
We just installed a new Liquid Galaxy system for the Downtown San Diego Partnership in the conference room of their office in downtown San Diego (heh). As End Point continues to partner with public organizations, associations, and government agencies, the Liquid Galaxy is proving very effective for showing infrastructure projects, zoning districts, and, most importantly, public engagement with immersive data models. Downtown San Diego wanted to bring presentations and visualizations to a much larger canvas, and the Liquid Galaxy fit well with their open floor plan and large conference room.
Downtown San Diego is tasked with promoting the development of the downtown corridor to their members and the wider public. They can now build some great presentations to fully leverage the 7 large screens showing 3D models of new developments, zoning maps superimposed directly on Google Earth, and with the 4K videos all programmed to show in sequenced scenes, or simply fly through the city with a 6-axis controller and iPad.
This installation presented some unique challenges. The first was an asymmetric wall layout with a large flat wall, smaller angled wall, and an alcove that needed …
visionport clients
Job opening: Windows Systems Integrator
This position has been filled. See our active job listings here.
We are looking for a Windows systems integrator in the New York City metropolitan region to work with us.
We are an Internet technology consulting company based in NYC, with 50 employees serving many clients ranging from small family businesses to large corporations. The company turns 25 years old this year!
This is a consulting position, so excellent verbal and written communication, troubleshooting, and time management skills are required, along with a good sense for when to quickly escalate issues to resolve them efficiently as needed.
Skills and tools
You will need to have extensive experience in the Microsoft Windows ecosystem: the MS Windows OS, Windows networking, Active Directory management via Group Policies, MS Exchange Server, MS SQL Server, etc.
The greater knowledge of and larger base of experience you have with these, the better:
- Remote management & monitoring (RMM) systems, such as ConnectWise Manage and Automate
- Mobile devices and mobile device management (MDM) systems, such as SOTI MobiControl, AirWatch, and MaaS360
- VMware’s vSphere or Microsoft Hyper-V hypervisors
- Managing firewall security policies, switches, and wireless access points (WAPs)
- Storage …
jobs-closed windows
Deploying (Minecraft) Servers Automatically with Terraform
Last year I bought an old Dell Optiplex on eBay to use as a dedicated Minecraft server for my friends and me. It worked well for a while, but when my university switched to online classes and I moved home, I left it at my college apartment and was unable to fix it (or retrieve our world save) when it failed for some reason. I still wanted to play Minecraft with friends, though, so I had to figure out a solution in the meantime.
I’d previously used a basic DigitalOcean droplet as a Minecraft server, but that had suffered with lag issues, especially with more than two or three people logged in. Their $5 tier of virtual machine provides 1GB of RAM and 1 CPU core, so it shouldn’t be too much of a surprise that it struggled with a Minecraft server. However, more performant virtual machines cost a lot more, and I wanted to keep my solution as cheap as possible.
I mentioned this to a co-worker and he pointed out that most companies don’t actually charge for virtual machines on a monthly basis; in reality, it’s an hourly rate based on when your virtual machine instance actually exists. So, he suggested I create a virtual machine and start my Minecraft server every time I wanted to play, …
automation terraform cloud