• 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

    Optimizing media delivery with Cloudinary

    Juan Pablo Ventoso

    By Juan Pablo Ventoso
    March 1, 2022

    Beautiful cloudy mountain scene with river flowing by lush banks with people swimming, relaxing, and walking towards multistory buildings

    I remember how we needed to deal with different image formats and sizes years ago: From using the WordPress-style approach of automatically saving different resolutions on the server when uploading a picture, to using a PHP script to resize or crop images on the fly and return the result as a response to the frontend. Of course, many of those approaches were expensive, and not fully optimized for different browsers or device sizes.

    With those experiences in mind, it was a nice surprise for me to discover Cloudinary when working on a new project a couple of months ago. It’s basically a cloud service that saves and delivers media content with a lot of transformations and management options for us to use. There is a free version with a usage limit: Up to 25K transformations or 25 GB of storage/​bandwidth, which should be enough for most non-enterprise websites. The cheapest paid service is $99 per month.

    Here’s a list of the image features we used on that project. I know they offer many other things that can be used as well, but I think this is a good start for anyone who hasn’t used this service yet:

    Resizing and cropping

    When you make a request for an image, you …


    compression graphics browsers optimization saas

    String Processing in SQL, the Hard Way

    Josh Tolley

    By Josh Tolley
    February 28, 2022

    Photo by Kristy Lee

    When I was a kid, my family visited a prehistoric cliff-dweller settlement, reconstructed and preserved as a museum exhibit. The homes were built in caves in high sandstone cliffs, and though I followed a well-marked path to visit them, the original inhabitants climbed in and out via holes cut into the rock face. Apparently to deter unwanted visitors, the builders carefully spaced the foot holds so that climbers needed to start their ascent on the correct foot. Someone who didn’t know the secret of the path, or who carelessly forgot, might get halfway up the cliff and discover he or she couldn’t stretch to the next foot hold and had to turn back.

    The other day I found myself confronted with several comma-separated lists of strings, and a problem: I needed the longest possible substring from each, starting from the beginning, ending in a comma, and shorter than a certain length, and I needed to do it in the database. “Easy peasy,” you may say to yourself, if you have a little SQL programming experience and a penchant for cheesy clichés, and you’d be right except for one thing: I let my mind wander a little too far down into the …


    sql postgres database regex

    Migrating a Node.js app database from MongoDB to PostgreSQL

    Phineas Jensen

    By Phineas Jensen
    February 25, 2022

    Trees covered with a small amount of snow against a blue sky and some white puffy clouds

    Recently I worked on a web app designed for tracking, editing, and reporting on archaeological survey data. When I joined the project, it used React on the front-end, Node.js on the back-end, GraphQL as the API interface, and MongoDB as the database. For the most part, this architecture and choice of technology worked well, and I was quickly able to make meaningful contributions to the app both in the user interface and in the backend. However, after a while, things started to get difficult and we began to consider why we were using MongoDB, and what might be better.

    MongoDB vs. PostgreSQL

    First, why was MongoDB difficult to use in our case? The biggest difficulty was using their query language for certain aspects of our database. Part of the database involved representing artifacts found at a site using a specific type hierarchy defined by the state government. Representing that hierarchy within Mongo was difficult, and querying it even more so. It was hard to find how to query a recursive structure using the MongoDB query language.

    As I worked on this, scouring the documentation and Q&A websites to find ways to query this data efficiently, I began to realize that it was a …


    postgres mongodb database nodejs

    Data Reporting with EpiTrax

    Shannon Sandall

    By Shannon Sandall
    February 16, 2022

    Sunset view from mountain height overlooking valley with city, lake, mountains with some snow, below yellow horizon and orange clouds under a blue sky

    Early COVID-19 form-building in Kansas

    In March of 2020, many states struggled with disease surveillance systems that were not ready for the COVID-19 pandemic. States were forced to wait lengthy periods for their vendors or systems administrators to stand up customized forms for COVID-19 investigations.

    State of Kansas informatics staff were able to configure their form within a matter of hours. When the first COVID-19 records came rolling in, the state was ready to go. The Kansas Department of Health and Environment (KDHE) was using EpiTrax, a National Electronic Disease Surveillance System (NEDSS) compliant application created by the state of Utah.

    EpiTrax contains a powerful form-building utility that was easily customizable, allowing jurisdictional users to create forms for investigation and reporting purposes. Users could configure questions and value sets based on configurable lists, cutting down on free-text entries and ensuring data quality. Forms could be attached automatically or manually and assigned to specified agencies and conditions.

    Screenshot of form builder on Form Attributes tab with checkbox lists for Agencies and Conditions
    Screenshot of the form builder

    December 2021 updates

    Flash forward to December 2021. State of Utah developers rolled out an update …


    casepointer epitrax clients case-study emsa

    Image compression: WebP presets, HEIC, AVIF, JPEG XL

    Jon Jensen

    By Jon Jensen
    February 15, 2022

    Rubble of a demolished house in front of a guilty-looking Caterpillar excavator

    How time flies. Eight years ago I wrote the blog post WebP images experiment on End Point website to describe and demonstrate how the WebP image format can store an equivalent-quality image in a much smaller file size than the older JPEG, PNG, and GIF formats.

    My WebP examples there were 17–23% of the JPEGs they came from, or about 5–6× smaller. While experimenting with higher levels of compression, I found that WebP tends to leave less-noticeable artifacts than JPEG does.

    The main drawback at the time was that, among major browsers, only Chrome and Opera supported WebP, and back then, Chrome was far less popular than it is now.

    Can I use it?

    Since Apple’s iOS 14 and macOS 11 (Big Sur) became available in late 2020, the WebP image format now works in all the currently supported major operating systems and browsers: Linux, Windows, and macOS, running Chromium, Chrome, Brave, Edge, Opera, Firefox, and Safari. You can see the specifics at the ever-useful site “Can I use”.

    It only took about 10 years! 😁

    So for you who are hosting websites, all your site visitors can see WebP images and animations except those vanishing few using Internet Explorer (now long past its …


    compression graphics browsers optimization

    Fun with Rational Numbers

    Darius Clynes

    By Darius Clynes
    February 11, 2022

    Rock hillside with trees

    So, you say you adored learning long division in elementary school? Well here we are revisiting that wonderful activity we have missed so much: fabulous magical moments like dividing 1.0 by 7. The especially tedious exercise of dragging over one more of the endless 0’s and seeing how many 7’s would fit into that woefully large remainder. Soon the delight mounts as you desperately hope the next digit will be the last and you discover that beautiful 1 as a remainder.

    Undoubtedly you have wondered, like I have, what would happen if you divided 1.0 by 19? Would it repeat after only 8 digits? How many digits would it really take before it repeats?

    That’s exactly how I stumbled into the wonderful world of rational numbers. There I was, wondering and wandering along the gloomy Belgian beach — the tide way out as far as you could see — in the winter wind, and I couldn’t stop thinking how long it would take for that mantissa to repeat. I had actually already tried 1.0 over 19. Finally, on that miserable day, I got the courage to divide 1 by 23.

    Fortunately for me, I wasn’t alone, and I was able to enlist, coax, oblige, implore the help of baffled little Susan, my daughter who was 7 …


    programming javascript audio mathematics graphics

    Web developer in GIS, mapping, Cesium, JavaScript job opening

    Jon Jensen

    By Jon Jensen
    February 9, 2022

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

    Aerial 3D map of New York City showing many buildings highlighted in fluorescent green
    Image by Carbon Visuals for NYC Clean Heat Project, CC BY 2.0, cropped

    We are looking for a full-time JavaScript developer for geospatial web applications using GIS data, mapping, and 3D imagery, to work with us on our clients’ applications. Location somewhere in the Western Hemisphere is preferred.

    End Point Dev is an Internet technology consulting company based in New York City. We have about 50 employees serving many clients ranging from small family businesses to large corporations. We are going strong after 26 years in business!

    Even prior to the pandemic most of us worked remotely from our home offices. We collaborate using project tracking tools, GitHub/​GitLab/​Bitbucket, Zulip chat, video conferencing, and of course email and phones.

    What you will be doing:

    • Develop interesting and innovative geospatial web applications for our clients.
    • Work together with co-workers here at End Point Dev and our clients’ in-house staff.
    • Use your preferred desktop operating system: Linux, macOS, or Windows.
    • Build on open source software and contribute back when possible.

    Professional development experience you’ll need:

    • 2+ years of development with JavaScript, TypeScript, and/or …

    jobs-closed gis javascript remote-work

    How We Do It

    Rick Peltzman

    By Rick Peltzman
    January 31, 2022

    Ducks walking on grass in a park

    As CEO of End Point Dev, a tech and software company of about 50 people, I have seen our company tested with many challenges over our 27 years in business: the “dot-com” implosion in 2000, the financial crisis of 2009, and various wars and geopolitical upheavals, to name a few.

    The latest, of course, are the well-documented hurdles associated with running a company in the age of the COVID-19 pandemic, as well as the political divisions that have been simultaneously affecting the world.

    Today I want to reflect on how End Point has navigated these churning waters. Perhaps some of our approaches may be useful to others.

    Distributed Workforce

    End Point is a distributed company and has been since its founding in 1995. This means that most of the staff works remotely from home offices, using telecommunication. This lets us be distributed all over the globe and has allowed us to:

    • Minimize office costs, which helps offset our occasional travel costs for in-person meetings;
    • Find highly-qualified people wherever they live, not just in the geographic areas near our company offices in New York City and eastern Tennessee;
    • Enable staff who prefer to work from home to do so, while those who …

    company
    Previous page • Page 18 of 218 • Next page