Anyone out there? Service discovery with SSDP, WSD, other acronyms.
Those few regular readers of this stuff may remember What should we watch tonight, in which I used the Roku API to build a little web app to manage my TV watchlist. Since then I’ve found TV Time, which is waaay better and even tells me how many days until the next season of Cobrai … Continue reading Anyone out there? Service discovery with SSDP, WSD, other acronyms.
Regulated software for software people
If you’ve built software at any scale, you know how the game works. You get requirements from somewhere — usually they’re wrong or at best incomplete. You do your best to implement and test them, and you ship. Users vote with their clicks as to what features work and which don’t — i.e., they refine … Continue reading Regulated software for software people
More crypto hijinks, aka WTF happened to Terra-Luna?
Today I’m setting aside my belief that all crypto is doomed to fail. It is, but that’s a medium-term diagnosis — at least for now, and ignoring the day-to-day bugs that occur in all software, blockchain technology certainly works as advertised. It’s actually super-cool and worth reading up on; my articles on crypto theory and … Continue reading More crypto hijinks, aka WTF happened to Terra-Luna?
RuBy – Blocking Russia and Belarus
The Internet is a funny place. At the exact same moment that Russian troops are committing war crimes in the real world, Russian users online are just bopping around as if everything is cool. ShutdownHook is anything but a large-scale website, but it does get enough traffic to provide interesting insights in the form of … Continue reading RuBy – Blocking Russia and Belarus
You got your code in my data, or, how hacks work.
Once upon a time, hacking was easy and cheap entertainment, and we did it all the time: Microsoft’s web server used to just pass URLs through to the file system, so often you could just add “::$DATA” to the end of a URL and read source code. Web server directory browsing was usually enabled, making … Continue reading You got your code in my data, or, how hacks work.
Ground-Up with the Bot Framework
It seems I can’t write about code these days without a warmup rant. So feel free to jump directly to the next section if you like. But where’s the fun in that? My mixed (ok negative) feelings about “quickstarts” go back all the way to the invention of “Wizards” at Microsoft in the early 1990s. … Continue reading Ground-Up with the Bot Framework
Forty for Forty
I really was born at exactly the right time to ride the golden age of computing. When I was in high school and college, computers were powerful enough to impact every corner of our world, but simple enough that actual humans could still develop a connection to the metal. I surfed those years straight into … Continue reading Forty for Forty
You are in a maze of twisty little languages, all alike.
It seems like everywhere I go these days I’m talking to a bot. Now don’t get me wrong, I’m all for technology that keeps me from having to interact with actual humans. And truth be told, they’re getting pretty good — talking to Alexa has just become something I do without thinking about it. But … Continue reading You are in a maze of twisty little languages, all alike.
Layoffs Suck… for Everyone
My first experience with layoffs came during the dot-com bust in early 2001. I’d helped to build a company called drugstore.com during the boom period — we had a remarkable team full of insanely great people. The mission in those early days was simple: (1) get big fast to establish merchandizing power; (2) use technology … Continue reading Layoffs Suck… for Everyone
Shutdown Radio on Azure
Back about a year ago when I was playing with ShutdownRadio, I ranted a bit about my failed attempt to implement it using Azure Functions and Cosmos. Just to recap, dependency conflicts in the official Microsoft Java libraries made it impossible to use these two core Azure technologies together — so I punted. I planned … Continue reading Shutdown Radio on Azure
Loading…
Something went wrong. Please refresh the page and/or try again.
Follow me by email: