Improper access control

That’s a lot of duplicates! I’ve written a script to remove duplicates. I’ve run that script multiple times, and every few months when I go to create a new lifetime overlay of all my rides, I’ve noticed the duplicates have reappeared. Well, it’s been a couple months and they are back! My first thought was… Continue reading Improper access control

iMac woes

Early in the summer I found my late 2014 iMac had restarted itself once or twice on its own with “Unexpected Shutdown” messages. One time, it failed to reboot and took me to the Recovery screen with Disk Utility as an option. I ended up “checking” the drives and it reported no errors and so… Continue reading iMac woes

Server-Sent Events

Server-Sent Events enable finer grained progress updates on a long-running script.

One of the HTML5 features introduced that I have not needed until now is something called “server-sent events“. It’s a strange name which I think is derived from the HTTP content-type text/event-stream which must be set on the server side script generating the events. This isn’t quite the same as web push notifications which are… Continue reading Server-Sent Events

Linux in the classroom

The simple goal was to use Microsoft Azure services to setup a traditional SQL Database (SQL Server) running in the Azure cloud. Students had $100 credit towards the services. The problem we ran into is that by using all the default settings, you end up with $380/month system that was going to blow through the… Continue reading Linux in the classroom

Developing on production?

Let me preface this post by saying this is a bad idea for most true production systems, particularly ones with many hundreds, thousands, or hundreds of thousands of users. But for quiet, independently developed web apps with only a handful of users, I believe this is a viable strategy given the caveats in bold a… Continue reading Developing on production?

MySQL 8.0 GIS

Having recently upgraded to a new server for many of my research websites, I have blogged about MySQL 8.0 spatial indexing and migrating from earlier versions. During many hours of trying to get everything to work, I discovered that much of my GPS data is bloated with linestrings full of duplicate adjacent points. The primary… Continue reading MySQL 8.0 GIS

MySQL 8.0

I’ve already run into a number of issues with MySQL 8.0. Most of them have been related to the GIS features (e.g., all functions are now named ST_, geometries must exactly match the column type, etc…). One new issue I ran into today is that my spatial indices are being ignored because I didn’t create… Continue reading MySQL 8.0

An epic “data” merge

I blogged during an epic merge that took a couple weeks to complete in which I reconciled code changes between a development system and a production system which had diverged significantly over a period of a few years. Today is the day I’m going to try to tackle the corresponding data merge mentioned in that… Continue reading An epic “data” merge