• 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

  • CasePointer

  • VisionPort

  • Contact
  • Our Blog

    Ongoing observations by End Point Dev people

    Google Chrome Yum/​RPM package update fails on RHEL/​CentOS 7

    Jon Jensen

    By Jon Jensen
    June 8, 2023

    Fantasy painting of a shipwreck in a jungle backlit by sunlight Painting by Willgard Krause, Pixabay license

    One of our clients uses the Chrome web browser running on their continuous integration server with Jenkins for automated e2e (end-to-end) testing of their website. That server runs Red Hat Enterprise Linux (RHEL) 7—actually the rebuild CentOS 7.

    Last month, in May 2023, Google started signing Chrome RPMs with a GnuPG subkey, where they before had signed with the main key. Now yum upgrade fails when trying to update Chrome, giving this error:

    warning: /var/cache/yum/x86_64/7/google-chrome/packages/google-chrome-stable-114.0.5735.106-1.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID a3b88b8b: NOKEY
    Retrieving key from https://dl.google.com/linux/linux_signing_key.pub
    
    
    The GPG keys listed for the "google-chrome" repository are already installed but they are not correct for this package.
    Check that the correct key URLs are configured for this repository.
    
    
     Failing package is: google-chrome-stable-114.0.5735.106-1.x86_64
     GPG Keys are configured as: https://dl.google.com/linux/linux_signing_key.pub
    

    To double-check, we tried to manually verify the signature on the downloaded RPM package with:

    # rpm -K …

    redhat sysadmin security linux

    Migrating from Universal Analytics to GA4

    Juan Pablo Ventoso

    By Juan Pablo Ventoso
    June 1, 2023

    Birds migration

    Image: Migration by Aivar Ruukel, 2014. Attribution 2.0 Generic (CC BY 2.0), obtained from Flickr

    Most public-facing websites rely on Google Analytics to track their traffic, analyze the user’s characteristics and behavior, and run reports based on that information to improve marketing strategies, engage their public, and ultimately, increase the user’s loyalty.

    Universal Analytics vs. Google Analytics 4

    Until 2020, Google relied on Universal Analytics, a system that offered a set of reports that were mainly based on page visits and content visualization. But in October 2020, Google announced that the new Google Analytics 4 (GA4) was launched, using an event-centered approach for metrics. That allows several improvements in the way the data is collected and analyzed, like taking into account several platforms and devices as a source for the data (for example, combining website traffic with mobile app usage and activity on social networks).

    Another improvement is privacy: Among the new features, anonymous IP addresses are now the default setting for GA4. The user’s IP address will be still registered and used to group data when doing the initial collection, but it won’t …


    analytics

    I wrote the same app twice, with Hotwire and Blazor Server — here’s what I learned

    Kevin Campusano

    By Kevin Campusano
    May 27, 2023

    A dark sky sprawls over a tall canyon. Misty clouds hang on jagged peaks on the hill to the left. The other hill on the right rises at a steep angle, making a “V” shape. Both hills are covered in different shades of green, mostly a deep, dark green due to the late hour. Some sun peeks through the overcast sky to let through a bit of bluer light.

    There’s been a very interesting movement that has emerged recently in the world of frontend web development: a rise of little-to-no-JavaScript frontend frameworks.

    The promise here is that we would be able to develop web applications with rich interactive capabilities without the need to write a whole lot of JavaScript. As such, these new approaches present themselves as alternatives to the likes of Vue, React, Angular, etc.

    Two recent technologies that try to fulfill this promise come from two of the most prolific web application development frameworks of today: Blazor, built on .NET, and Hotwire, built on Ruby on Rails.

    Now, I love my JS frameworks as much as the next guy, but these new technologies are intriguing. So I decided to build the same application twice, with Hotwire and with Blazor. I learned a few things along the way that I would like to share in this blog post.

    Note that there is a table of contents at the end of this post.

    What this article is

    I want to present some of my findings when working with these two technologies. I also want to discuss how they work and how they feel. How they are similar and how they are different. How they take different routes …


    frameworks ruby rails csharp dotnet aspdotnet

    Mount a remote filesystem over SSH using SSHFS

    Trevor Slocum

    By Trevor Slocum
    May 25, 2023

    A painting of a Dutch port at the end of the day. On the left, sunlight peeks out from clouds low on the horizon, casting rays of light into the light blue sky of the fading day. Trading ships sail the waters, with some disappearing into the horizon. In the foreground, a smaller boat of people and barrels is rowed to an outcropping of land, on which is a boat being tarred by two sailors. A small fire heats a pot next to wooden dock equipment which protrudes into the air.

    While creating and debugging software, it is important to reduce the amount of friction between each iteration of making a change to the software and then testing that change. Over time, even small amounts of friction can lead to fatigue and decreased performance of a developer. Because of this, we should take every opportunity to make our workflow as smooth and comfortable as possible.

    A common source of friction when developing software running on remote systems is the separation between your personal computer and the server. Your personal computer likely has an IDE configured just the way you like. The server, on the other hand, is likely configured to be easily available to everyone on your team.

    You could copy files back and forth between systems using SFTP or some other file transfer protocol. This works for quick one-off changes, but for development requiring multiple iterations you likely want a more streamlined workflow.

    If only there was a way to use the software installed on your personal system to edit files on a remote system, without copying the files back and forth…

    There is! SSHFS is a tool for mounting and interacting with remote directories over SSH. …


    ssh tips

    Cesium Labels

    Dmitry Kiselev

    By Dmitry Kiselev
    May 24, 2023

    A 16th-century topographical map of ancient Rome. Buildings are drawn in simple, clear, engraved lines. Streets and important structures like the Pantheon are labeled in Latin.

    Improving place labels in CesiumJS, the open source JavaScript library for 3D globes and maps, has been a longstanding request from some of our VisionPort clients. The display of labels embedded in imagery has not been up to their expectations. The names look upside down as the globe is rotated and there’s no option to change the language:

    The old Cesium labels. The 3D camera is rotated so that the labels reading “New York”, “Kips Bay”, etc., are at a 90 degree angle, making it difficult to read.

    Cesium has vector labels which allow you to anchor some text to a point on a map which will always be aligned with the camera. However, there is no ready-to-use solution to display city names in particular and no way to load them according to a specific zoom level.

    To improve performance when displaying labels in Cesium it would make sense to load labels as a tile tree and only show some of the top of the tree at different zoom levels in a manner similar to how KML Regions with NetworkLinks work. Unfortunately, although Cesium supports KML, it doesn’t support KML Regions and NetworkLinks updates on Region change.

    Another off-the-shelf solution that might conceivably work would be to use Cesium 3D tiles, but unfortunately, tiles do not support 2D Billboards.

    Calculating regions and their level of detail is complicated, but Cesium already …


    visionport cesium gis open-source

    eCR Coordinator job opening

    Shannon Sandall

    By Shannon Sandall
    May 23, 2023

    This position has been filled. See our active job listings here.

    Person on boulder overlooking valley with lake

    We are seeking a full-time Electronic Case Reporting (eCR) Coordinator to provide high-level expertise in the validation and automation of eCR messages.

    This position is responsible for establishing complete, up-to-date, timely, and automated reporting of individual-level data, and automation of incoming EHR data. Position is remote, in the United States only.

    The person in this role will be responsible for coordinating and overseeing the eCR onboarding process for our clients. Additionally, the person will become our subject matter expert for the NNDSS Modernization Initiative (NMI) and how systems in place within EpiTrax can be configured to report through the NMI module.

    Job responsibilities

    1. eCR onboarding—40%

      • Assist the on-boarding team with eCR reporters.
      • Develop Structure, Dictionary, LOINC and SNOMED codes in EMSA.
      • Assist in eCR message structure approval.
      • Assist with EMSA management.
    2. Troubleshooting—30%

      • Issues found by the program epis and the LHDs.
      • Issues found by the surveillance team.
      • Create trouble tickets for issues.
    3. Testing—15%

      • Test the structure for incoming messages.
      • Test new enhancement functionality.
      • Test bug fixes.
    4. Grant document development—5% …


    jobs-closed remote-work casepointer epitrax

    How to use the Caps Lock key as an Escape key on Windows, macOS, and Linux

    Trevor Slocum

    By Trevor Slocum
    April 17, 2023

    At sunset, the sky is a dark, fading orange above mountains which seen through layers of haze, making them appear blue. In the foreground, a lake with a large outcropping of land reflects the sky and mountains. At the bottom of the image much darker land is broken by a path of water travelling into the lake, reflecting orange, positioned directly into the center of the frame.

    On most keyboards, the Escape key is distant from the most common keys. In order to reach it, you likely need to lift your hand from the keyboard. This interrupts the flow of typing and, over time, may cause repetitive strain injuries.

    When using modal applications which require frequent use of the Escape key, such as the text editor Vim, shortening the distance your fingers travel to and from the Escape key helps prevent injury and saves time.

    After following the instructions below, you may need to restart your system in order to finish applying the changes.

    Windows instructions

    Download and install PowerToys, a set of utilities created by Microsoft.

    Open PowerToys and browse to the Keyboard Manager. Enable the Keyboard Manager and click Remap a key. Choose Caps Lock -> Escape.

    Note that this fix requires PowerToys to be running.

    macOS instructions

    Go to Apple menu -> System preferences -> Keyboard. If you have multiple keyboards, make sure your active keyboard is selected.

    Click on the Modifier keys button to open a popup dialog. Open the dropdown next to Caps Lock and select Escape.

    Linux instructions

    There are separate instructions for Linux depending on whether you …


    tips

    SSH host key verification: a few useful tips

    Selvakumar Arumugam

    By Selvakumar Arumugam
    April 13, 2023

    A close shot of a large golden key sitting on top of a wooden fence. There is green grass visible behind the fence, on the left and right upper sides of the image.

    The SSH connections between a client and a remote server begin with a host key verification as an initial handshake. If the default key algorithm is not supported between the client and server, the SSH connection attempt is closed with no matching host key type response.

    $ sftp username@domain
    Unable to negotiate with xx.xx.xx.xx port 22: no matching host key type found. Their offer: ssh-rsa
    Connection closed.
    Connection closed
    

    In this article, we will explore the host key verification process and discuss ways to handle the non-matching host key issue to establish the connection.

    Host keys

    By default, OpenSSH automatically generates a public-private key pair on the server and stores it in /etc/ssh. These keys, known as host keys, are created using several encryption algorithms including RSA, DSA, ECDSA, and ed25519.

    The pair of private and public keys is available on the host server at the path /etc/ssh.

    $ ls /etc/ssh | grep key
    ssh_host_dsa_key
    ssh_host_dsa_key.pub
    ssh_host_ecdsa_key
    ssh_host_ecdsa_key.pub
    ssh_host_ed25519_key
    ssh_host_ed25519_key.pub
    ssh_host_rsa_key
    ssh_host_rsa_key.pub
    

    How does OpenSSH decide which host key to use?

    During SSH connection establishment, the …


    ssh authentication sysadmin
    Previous page • Page 5 of 215 • Next page