Building Rasters in PostGIS

In a past blog post I described a method I’d used to digest raw statistics from the Mexican government statistics body, INEGI, quantifying the relative educational level of residents in Mexico City. In the post, I divided these data into squares geographically, and created a KML visualization consisting of polygons, where each polygon’s color and height reflected the educational level of residents in the corresponding area. Where the original data proved slow to render and difficult to interpret, the result after processing was visually appealing, intuitively meaningful, and considerably more performant. Plus I got to revisit a favorite TV show, examine SQL’s Common Table Expressions, and demonstrate their use in building complex queries.
But the post left a few loose ends untied. For instance, the blog post built the visualization using just one large query. Although its CTE-based design rendered it fairly readable, the query remained far too complex, and far too slow, at least for general use. Doing everything in one query makes for a sometimes enjoyable mental exercise, but it also means the query has to start from zero, every time it runs, so iterative development bogs down …
postgres gis sql database
Job opening: .NET/C# and JavaScript developer
This position has been filled. See our active job listings here.

Photo by #WOCinTech Chat · CC BY 2.0, modified
We are looking for another talented full-time software developer to join us, working with .NET and C# on Windows, JavaScript, and at least one of PHP, Java, or Ruby.
If you like to solve business problems and can take responsibility for getting a job done well without intensive oversight, please read on!
End Point is a 23-year-old web consulting company based in New York City, with about 50 employees, the majority working remotely from home offices. We collaborate using SSH and Remote Desktop, GitLab, GitHub, chat, Hangouts and other conferencing software, and good old email and phones.
We serve over 200 clients ranging from small family businesses to large corporations.
We are experts in web development, databases, and DevOps, and we use mostly open source frameworks, in a variety of languages, on Linux and Windows.
What you will need:
- Professional experience building reliable back-end web applications using .NET and C#, as well as PHP, Java (or Kotlin or Scala), or Ruby
- Good front-end web skills with responsive design using HTML, CSS, and JavaScript (including jQuery, Vue, Angular, React, etc.)
- Experience with databases such as …
jobs-closed
Self-driving toy car using the Asynchronous Advantage Actor-Critic algorithm
The field of Reinforcement Learning has seen a lot of great improvement in the past years. Researchers at universities and companies like Deep Mind have been developing new and better ways to train intelligent, artificial agents to solve more and more difficult tasks. The algorithms being developed are requiring less time to train. They also are making the training much more stable.
This article is about an algorithm that’s one of the most cited lately: A3C — Asynchronous Advantage Actor-Critic.
As the subject is both wide and deep, I’m assuming the reader has the relevant background mastered already. Although reading it might be interesting even without understanding most of the notions in use, having a good grasp of them will help you get the most out of it.
Because we’re looking at the Deep Reinforcement Learning, the obvious requirement is to be acquainted with the neural networks. I’m also using different notions known in the field of Reinforcement Learning overall like $Q(a, s)$ and $V(s)$ functions or the n-step return. The mathematical expressions, in …
python machine-learning artificial-intelligence
Liquid Galaxy at Google for Nigeria
Over the years, Liquid Galaxy has taken us to many a far-flung locale, but few of us at End Point were expecting a Liquid Galaxy installation in Africa. Yet that is exactly what happened: In conjunction with Google’s “Next Billion Users” initiative, End Point was invited to install a Liquid Galaxy at “Google for Nigeria” in Lagos, Africa’s largest city, a teeming metropolis of 21 million souls.
With the challenge of getting our equipment to Nigeria and hearsay about intermittent Internet and electricity, we had more than our usual concern about making sure our Liquid Galaxy would function reliably for the event. And given the US Department of State’s warnings about health and safety, the trip would be more involved than most. However, End Point engineer Will Plaut fairly leapt at the chance. More than 20 hours of flying, a bevy of vaccines and a host of visa procedures were no match for Will’s intrepid spirit and sense of adventure — he even took it upon himself to hunt down the difficult-to-find Yellow Fever vaccine in Greenville, South Carolina.
But before simply sending Will off to fend for himself amidst the hubbub of Lagos, the list of logistics problems seemed unending. The …
visionport event
Meet the End Point Windows consulting group
As the share of internet traffic passing through mobile devices hovers around 50%, it’s easy to forget that a lot of computing still happens on desktops and laptops—and perhaps even easier to forget that the majority of those desktops and laptops are running Microsoft Windows.
At End Point, we take pride in being a multi-platform organization and using open source technologies in real-world business environments. Our internal chat service, wiki, and many other libraries and tools we employ across our client base are all open source. However, for various reasons many companies choose Microsoft’s solutions including long-time standards Windows Server, Active Directory, and Exchange.
In April 2017, Dan Briones came to End Point to head up the company’s new Windows infrastructure services. In 2018 we added two new engineers to the mix, Chris Hopkins and Charles Chang, to form a full-service Windows consulting team, all local to our New York City office on Park Avenue.
Dan Briones
Dan is the team lead and has over three decades of hands-on experience in IT systems management, systems integrations, migrations, virtualization, networking, security, orchestration, security, compliance, …
windows integration company
Recommender System via a Simple Matrix Factorization

Photo by Michael Cartwright, CC BY-SA 2.0, cropped
We all like how apps like Spotify or Last.fm can recommend us a song that feels so much like our taste. Being able to recommend an item to a user is very important for keeping and expanding the user base.
In this article I’ll present an overview of building a recommendation system. The approach here is quite basic. It’s grounded though in a valid and battle-tested theory. I’ll show you how to put this theory into practice by coding it in Python with the help of MXNet.
Kinds of recommenders
The general setup of the content recommendation challenge is that we have users and items. The task is to recommend items to a particular user.
There are two distinct approaches to recommending content:
The first one bases its outputs on the the intricate features of the item and how they relate to the user itself. The latter one uses the information about the way other, similar users rank the items. More elaborate systems base their work on both. Such systems are called hybrid recommender systems.
This article is going to focus on collaborative filtering only.
A bit of theory: matrix …
python machine-learning
Currency exchange rates with exchangeratesapi.io
Several of our clients run ecommerce sites, built on custom software, that allow customers to pay in their choice of a few different currencies.
Some have set up separate merchant bank accounts for each currency and use separate payment gateway accounts to accept payments natively in each currency. But more commonly they use a payment gateway that allows them to accept payment in several currencies, but receive funds converted into their specified native currency in their merchant bank account.
In either case, it is common to store prices for products, shipping, etc. in one base currency (say, USD for companies based in the U.S.) and dynamically convert prices for customers. Non-native prices may need to be marked up to cover the cost of conversion into the native currency, depending on the terms of the agreement with the payment gateway or bank.
Because currency exchange rates change often, and because payment gateways generally do not offer a way to retrieve the exchange rates in advance, we need our own source for ongoing retrieval and storage of our exchange rates (also known as forex rates).
For a while we were very pleased with Fixer.io, which was a free service that …
saas ecommerce api
Vue, Font Awesome, and Facebook/Twitter Icons
Overview
Font Awesome and Vue are both great technologies. Here I detail overcoming some issues when trying to get the Facebook and Twitter icons working when using the vue-fontawesome bindings in the hopes of saving others future debugging time.
Detail
Recently, I was working with the vue-fontawesome tools, which have recently been updated to version 5 of Font Awesome. A quick installation recipe:
$ yarn add @fortawesome/fontawesome
$ yarn add @fortawesome/fontawesome-svg-core
$ yarn add @fortawesome/free-solid-svg-icons
$ yarn add @fortawesome/free-brands-svg-icons
$ yarn add @fortawesome/vue-fontawesomeA best practice when using Font Awesome is to import only the icons you need for your specific project instead of the thousand+, as this just contributes to project bloat. So in our main.js file, we import them like so:
// Font Awesome-related initialization
import { library } from '@fortawesome/fontawesome-svg-core'
import { faEnvelope, faUser } from '@fortawesome/free-solid-svg-icons'
import { faFacebook, faTwitter } from '@fortawesome/free-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
// Add the specific …vue javascript