This is mostly for my own personal reference…
To convert between addresses and latitude/longitude, it’s pretty easy to use the Google Maps Geocoding API. A pretty simple concatenation of either an address or a lat/long will get you the result you want in either JSON or XML.
Say you have a bunch of addresses and you want to quickly calculate distance and travel time between all of them. Well, that is super duper simple with the Google Maps Distance Matrix API. It’s pretty easy to configure to obtain driving calculation where tolls, freeways, or ferries are avoided, and you can configure it for whatever unit or language you need as well. It also allows queries for transit, walking, and bicycling. Just plug in a bunch of addresses, and get back all the data you’d need for a mileage and time table in JSON or XML.
Both of these APIs are likely to require API keys when deployed.
A while back, someone handed over some scheduling data in a somewhat clunky old application in desperate need of modernization. I looked under the hood and figured out that this thing uses a FoxPro database! Microsoft discontinued development of Visual FoxPro way back in 2007, and I hadn’t seen a working FoxPro database since the late 1990s…so I knew it might be tricky to get the data out.
TL;DR: I fired up Microsoft Access to see if I could link to the external data. This was harder than I expected because Windows 10 and Access 2016 no longer ship with a Visual FoxPro ODBC driver. Once I found one, I could easily link to all of the tables—except for the ones that included variable-width memo fields. I could use an OLE DB provider to get to tables with memo fields, but only via Excel or programmatically. Access apparently can’t create a linked table via OLE DB.
Continue reading “Accessing Visual FoxPro Data When You Get the ODBC “Not a table (#123)” Error”
If scientists consumed more science fiction, maybe they’d realize how easily hubris can kill us all. I understand to a degree why they probably don’t…I am a total geek and my teachers had to force me to read something from the fiction section when I was 9. I saw no point in reading something that was made up when I was much more interested in understanding the planets and stars and how the human body worked. I’m still not a big fiction reader, but I have learned the value of the literary arts and am thankful that my third grade teacher and the school librarian ganged up on me to get me out of my comfort zone.
Science Fiction Spurs Invention
My dad has always been interested in any sort of science fiction movie. I remember growing up watching all sorts of classics as well as extremely obscure old films. Science fiction has inspired all sorts of inventions. We all carry smartphones and tablets around that are just as small and probably more sophisticated than the PADDs used by Starfleet in Star Trek: The Next Generation. We can almost ask Siri and Alexa to locate our spouse…or Captain Picard…with voice recognition and crude artificial intelligence algorithms. Cellphones that flip open like Captain Kirk’s communicator are now regarded as passé. It would seem that many wonderful ideas dreamt up by science fiction writers and filmmakers have come to pass hundreds of years before we actually thought they’d be possible. Others, like warp drive, transporters, holodecks, and light sabers look like they have a long way yet to go.
But while all of that is fascinating, it’s not what bothers me. What irks me is the development of technology that sounds great on the surface, but sounds an awful lot (if not exactly) like technologies that threatened to destroy civilization or all of humanity in science fiction. Some technologies have been pushed into mainstream use by corporations eager to reap the rewards of successful research and development—without truly investigating the effects of their use. While science fiction may inspire many wonderful advancements, it also offers many precautionary tales about hubris destroying the very thing science sought to improve. Even science fact—simple history—offers tales of hubris that go ignored when lots of money sits on the table.
Thomas Midgley—Inventor of Not One, but TWO Disastrous Solutions
For a real-life example, let’s consider Thomas Midgley Jr., an American engineer and chemist who solved some tough technical problems for General Motors in the first half of the 20th Century.
Continue reading “Scientists Should Consume More Science Fiction”
The Purpose of This Project
For every project there is a purpose. In my case, a colleague designed and hosted a site for me that runs the popular WordPress CMS. Due to a change in focus in his business and changing needs of mine, it became prudent to take over hosting and management of my website. While I recognize that there are limitations and caveats with WordPress, as I’m sure can be said of any CMS platform, it works for me and it’s already set up. While I have many grand ideas for my site, right now I don’t have the time or the team to implement them, and frankly they aren’t my highest business priority. So I’ve decided to stick with what already works rather than build something new and move everything into it.
In this article I’ll discuss:
Continue reading “Why I Hosted WordPress on AWS & LEMP”