VisionPort: A Breakdown
In late 2021, End Point Corporation’s immersive technology team officially launched VisionPort. Evolved from End Point’s Liquid Galaxy, VisionPort allows presenters to share content between embedded displays, managed devices, and wireless controllers, all from the tap of a finger. VisionPort was created to incorporate relevant conferencing and office technologies with a powerful and impactful video wall solution.
Unique to VisionPort is the method that allows for full-resolution applications — synchronized, with geometrically adjusted instances — regardless of the number of displays. This technique avoids the fish-eye distortion commonly seen on conventional video walls created by stretching content beyond its typical aspect ratio, and ensures that the highest quality content can be delivered to viewers.
The platform also integrates with other displays placed in the room, enabling users to control the experience of the visualizations presented for their participants.
A person acting as Meeting Director can both interact with and guide multiple inbound video streams via an intuitive interface on an iPad or other tablet controller. With the appropriate setup, directing someone’s …
visionport
Ecommerce customer names with interesting Unicode characters
One of our clients with a busy ecommerce site sees a lot of orders, and among those, sometimes there are unusual customer name and address submissions.
We first noticed in 2015 that they had a customer order come in with an emoji in the name field of the order. The emoji was 😏 and we half-jokingly wondered if that was a new sign of fraud.
Over the following 3 years only a few more orders came in with various emoji in customer’s names, but in mid-2018 emoji started to appear increasingly frequently until now one now appears on average every day or two.
Why the sudden appearance of emoji in 2015? It correlates with the rapid shift to browsing the web and shopping on mobile devices. Mobile visits now represent more than half of this client’s ecommerce traffic.
Most people in 2015 didn’t even know how to type emoji on a desktop or laptop computer, but mobile touchscreen keyboards began showing emoji choices around that time, so the mobile explanation makes sense. And mobile keyboard autocorrect also sometimes offers emoji in addition to words, making them even more common in the past few years.
Just for fun I wanted to automatically find all such …
!-->ecommerce unicode sql postgres
VisionPort Success at Auburn University
Auburn University’s Liquid Galaxy/VisionPort installation was the first of its kind, built into a stunning wooden cabinet. A technological showpiece that is a highlight of Auburn’s campus, the VisionPort platform is used to showcase incredible imagery and presentations created by students and faculty alike.
Auburn’s Liquid Galaxy/VisionPort is located on the first floor of the RBD (Ralph Brown Draughon) Library. As stated on Auburn’s Library webpage, “It provides a one-of-a-kind platform for 3D geospatial visualization, panoramic images, video, tours, and more in a shared immersive environment. Auburn holds the distinction of being one of the few institutions in the Southeast to make this unique and innovative resource available to its patrons.”
Chris Mixon is Auburn University’s Information Technology Specialist in the Media & Digital Resource Lab. He works closely with University groups to develop content, and also works with End Point’s support team as needs arise. As Chris has shared, “we are doing great things with this platform!” Among other projects, Chris is working with instructors and students in Urban Design Studio (CPLN 7200) and Science Communication (ESSI …
visionport clients education
Remote Access Control with AWS Security Groups
With the onset of COVID-19, a lot of companies started remote work and had to allow their employees to access systems remotely while keeping unwanted traffic out.
As a company of almost all remote workers, even pre-pandemic, we have long had a solution for this. We have a web application that allows people to register their current IP address with one or more servers to gain access to staging sites, SSH, SFTP, databases, and other services that aren’t open to the public.
The application relies on host-based firewalls iptables
(Linux) or pf
(OpenBSD) to give people access to the system. For customers using cloud providers like AWS, we added support for this application to work with AWS Security Groups.
The Basics
The system uses a single web application and relies on the Apache mod_authn_file
format and htpasswd
command to create users and hashed passwords for the system. htpasswd
allows you to create bcrypt, MD5, SHA-1, and Unix crypt passwords. We suggest using bcrypt wherever possible, since it is the only one in that list which is not fairly easily reversible nowadays.
The system also allows for grouping of users to allow them access to different sets of systems. These are …
!-->cloud security networking
Using Postman to Test APIs
Postman is an easy-to-use tool that facilitates testing APIs. The GUI avoids the pain of old-school command-line tools and other time-consuming practices. Postman is helpful during development, for collaborating, and integral in automated testing.
It’s one of the most popular and longest-running API tools out there, so there’s a lot of documentation and community forums to provide whatever assistance is needed.
Use in development
The days of only manually testing APIs with curl are gone.
Instead we can use Postman to create reusable API calls. Postman will remember information such as the header configuration and data contained in the body. The API call can be sent from the GUI client, and it will display the response in a human-readable format.
Saved requests can be grouped in Collections. These can be imported and exported for collaborative use in a team.
Automated Testing
Full API testing can be done with the click of a button. Investing time now into building up the Postman infastructure will save development time down the line.
Custom Test Suites can be written in JavaScript and run manually or by a script. Periodically running these will ensure your …
!-->testing api json
Installing Git 2 on CentOS 7
Git-ing a bit stale?
RHEL/CentOS 7 is starting to feel a somewhat dated, but it still has over 2½ years before it reaches the end of its support lifetime that Red Hat has set for the end of June 2024.
One component that is far enough outdated to cause serious annoyance is Git.
Git is by far the most-used version control system in the world. It popularized the distributed model of tracking changes to source code files and greatly simplified collaboration by multiple developers. It is open source and free software and is used by most public and many internal software projects, and also by solo developers. IDEs such as VS Code and IntelliJ idea integrate with it. SaaS code hosting providers GitHub, GitLab, Bitbucket, and others are built around it. We have been using and advocating Git since 2007 — see our blog posts about Git for a variety of helpful articles.
CentOS/RHEL 7 includes Git version 1.8.3, which was released in May 2013. There have been 2 major, 36 minor, and 216 patch releases of Git in the 8½ years between then and the current version 2.34.1!
The makers of CentOS/RHEL have good reasons to stick with versions they shipped with for the lifetime of the operating system: …
!-->git sysadmin linux
Building responsive websites with Tailwind CSS
Tailwind CSS is a CSS framework, like Bootstrap, Bulma, and Foundation. However, Tailwind does things in a less conventional way when compared to traditional CSS frameworks. Instead of providing CSS classes based on components or functional roles (e.g. .card
or .row
), Tailwind only provides utility classes, in which each class does only one specific thing a CSS attribute usually does, such as m-4
for margin: 1rem
or mt-8
for margin-top: 2rem
.
In Bootstrap, one can simply apply the provided .card
CSS class to have a <div>
styled like a card the Bootstrap way. In Tailwind, the styles have to be constructed with a string of different atomic classes. E.g. the equivalent of a Bootstrap’s .card
would be something like relative flex flex-col break-words bg-white bg-clip-border min-w-0 rounded border
. Verbose, yes, but this gives flexibility for the developers to define the appearance of a .card
element themselves (e.g. there could be multiple variants of appearances of a .card
) without having to worry about overriding inherited/cascading CSS classes, which are typically the cause of many CSS bugs in production.
Atomic CSS
The first thing most notice when developing with …
!-->css tailwindcss design
Building a search suggestions feature with Node.js and Vue
Photo by Kasper Rasmussen on Unsplash
The backstory
Some time ago, I worked on a project to improve the usability of a search component for our clients. Similar to Google and other search interfaces, the user was presented with a number of suggested search terms as they typed into the search box. We wanted to add keyboard support and give the component a visual facelift. When the customer used the up, down, Esc, or Enter or Return keys, the component would allow them to choose a particular search term, clear their search, or navigate to the results for their chosen search term.
This is what the new and improved UI looked like:
As developers, it can sometimes feel like we’re stuck when working on older, well established projects. We gaze longingly at newer and shinier tools. Part of my objective while building this feature was to prove the viability of a newer approach (Node.js and Vue) to the other engineers on the project as well as the client.
The feature existed already but we wanted to improve the UX and performance. Having added several Vue-powered features to this site in the past, I was very comfortable with the idea and have written about that previously. It would …
nodejs vue javascript development