End Point Relocates Its Tennessee Office
After having been located in Bluff City for close to eight years, End Point is pleased to announce that it has recently relocated its Tennessee office to Johnson City. The new location is an improved facility that better serves our Liquid Galaxy team. A group of veteran End Pointers including Matt Vollrath, Neil Elliot, and Josh Ausborne are working out of the new location, alongside more recent employees Josh Harless and myself.
Our Tennessee office has an important role in providing remote access to various Liquid Galaxy platforms so that other End Point engineers can work on them. Johnson City has recently begun a fiber internet initiative through its power company, BrightRidge. We were lucky enough to be in the first wave of installations and got cables run underground to our office so that we can enjoy speeds of up to 1000 Mbps (gigabit).
This office is where we test new content, features, updates, or entirely new designs. The interior design includes plenty of space to concentrate on individual work, as well as for test systems and preparing new units for shipment. It is also well-suited for collaborative work with both onsite and remote teammates on R&D, content …
company visionport
Integrating Laravel With a React Frontend
Photo by Scott Webb on Unsplash
Frontend frameworks can be useful, and provide a lot of advantages over server-side rendering of views. It’s not uncommon now for websites to be purely presentational frontend applications. Thankfully Laravel provides some helpers for including a dedicated frontend, including a fantastic npm package, laravel-mix, which heavily simplifies the use of webpack.
In this article I’ll go over how to set up a new Laravel application to work with React as its frontend. While this article may focus on React, the main issues are the same regardless of framework. You’ll need to:
- Add your JavaScript application to the project’s file system and set up a build process for the frontend sources
- Write some additional code to bootstrap your frontend application once the page has loaded
- Carefully set up URL conventions to distinguish between frontend and backend routes.
Scaffolding The Frontend
In a standard Laravel 8 application (created using composer create-project laravel/laravel <NAME>
), the frontend JS application is stored in the /resources/js
folder. Laravel provides a helper package called laravel/ui, which can be used to scaffold the frontend with …
php laravel react
What is serialization?
Photo by Brian Patrick Tagalog on Unsplash
Serialization is a process used constantly by most applications today. However, there are some common misconceptions and misunderstandings about what it is and how it works; I hope to clear up a few of these in this post. I’ll be talking specifically about serialization and not marshalling, a related process.
What is serialization?
Most developers know that complex objects need to be transformed into another format before they can be sent to a server, but many might not be aware that every time they print an object in the Python or JavaScript console, the same type of thing is happening. Variables and objects as they’re stored in memory—either in a headless program or one with developer tools attached—are not really usable to us humans.
Data serialization is the process of taking an object in memory and translating it to another format. This may entail encoding the information as a chunk of binary to store in a database, creating a string representation that a human can understand, or saving a config file from the options a user selected in an application. The reverse—deserialization—takes an object in one of these formats and converts it …
data-processing json
3 Immediate Benefits of Google Analytics for Business Owners
Image from Google’s marketing platform blog
Where is your traffic coming from? What drew the traffic to your website? Which parts of your website are most visited? How do visits change over time? And how can the answers to these questions help you?
Answering such questions and doing something about it is called search engine optimization (SEO).
To help you with this is Google Analytics, a web analytics service that lets you track and understand your website traffic. It is a valuable tool for businesses of all sizes that are looking to grow.
Here are three ways Google Analytics can benefit your business:
Determining Site Improvements to Strengthen Website Flow
This is a great way to generate more “conversions” — visitors to your website taking a desired action. Are visitors behaving the way you expected them to? Can you observe any bottlenecks in audience flow?
Bottlenecks include traffic getting stuck on one page, when you want them to be going to a different one, like a contact page. Understanding how traffic gets stuck might point you toward the need to refresh certain web pages, which could in turn lead to more conversions.
For example, we observed that our “Deployment …
seo analytics
Enumerated Types in Rails and PostgreSQL
Photo by Jared Tarbell, used under CC BY 2.0, cropped from original.
Enumerated types are a useful programming tool when dealing with variables that have a predefined, limited set of potential values. An example of an enumerated type from Wikipedia is “the four suits in a deck of playing cards may be four enumerators named Club, Diamond, Heart, and Spade, belonging to an enumerated type named suit”.
I use enumerated types in my Rails applications most often for model attributes like “status” or “category”. Rails’ implementation of enumerated types in ActiveRecord::Enum provides a way to define sets of enumerated types and automatically makes some convenient methods available on models for working with enumerated attributes. The simple syntax does belie some potential pitfalls when it comes to longer-term maintenance of applications, however, and as I’ll describe later in this post, I would caution against using this basic 1-line syntax in most cases:
enum status: [:active, :archived]
The Rails implementation of enumerated types maps values to integers in database rows by default. This can be surprising the first time it is encountered, as a Rails developer looking to store status …
ruby rails postgres
Automating Windows Service Installation
Photo by Science in HD on Unsplash
For me, setting up a service started as a clean one-liner that used InstallUtil.exe
, but as time went on, I accumulated additional steps. Adding external files & folders, setting a custom Service Logon Account, and even an SSL cert had to be configured first before the service could be used. An entire checklist was needed just to make sure the service would start successfully. That’s when I realized a proper installation method was needed here. This article will go over how to make a dedicated .msi
installer for a Windows Service that can do all these things and more.
Creating an installer can be tricky, because not all the available features are easy to find. In fact, the setup project itself is not included by default in Visual Studio; you need to install an extension in order to create one. But once the installer is created, we can use it to do things like:
- Configure the installer to copy the build output of a project to the
C:\Program Files (x86)
folder, as well as add custom files & folders to the installation - Add custom CLI flags to the installer to specify the Service Logon Account at install time
- Add an installer class to the …
windows dotnet automation
GStreamer Nvenc for Ubuntu 20.04
Image by Martin Adams on Unsplash
GStreamer is a library for creating media-handling components. Using GStreamer you can screencast your desktop, transcode a live stream, or write a media player application for your kiosk.
Video encoding is expensive, even with AMD’s current lineup making it more palatable. Recent Nvidia Quadro and GeForce video cards include dedicated H.264 encoding and decoding hardware as a set of discrete components alongside the GPU. The hardware is used in the popular Shadowplay toolkit on Windows and available to developers through the Nvidia Video SDK on Linux.
GStreamer includes elements as part of the “GStreamer Bad” plugin set that leverages the SDK without having to get your hands too dirty. The plugins are not included with gst-plugins-bad in apt, and must be compiled with supporting libraries from Nvidia. Previously this required registering with Nvidia and downloading the Nvidia Video SDK, but Ubuntu recently added apt packages providing them, a big help for automation.
Environment
- Ubuntu 20.04 LTS
- Video card from GPU support matrix
- GStreamer
CUDA
The nvenc and nvdec plugins depend on CUDA 11. The apt version is too old. I’ve found the runfile to …
video ubuntu
CZML-KML Editor Geometry Editing
We are happy to introduce a new feature for the Cesium CZML-KML Editor: polygons and polylines geometry editing. You can now edit geometries for existing entities and move entered points during the creation process. Here is a video with a short summary of the editing process:
See our previous blog post introducing the Cesium CZML-KML Editor for further reference.
cesium google-earth gis open-source visionport