Category: Programming

getDisplayMedia vs. getUserMedia

I’ve been messing around with the browser API navigator.mediaDevices.getDisplayMedia(). The question I hoped to answer: can I capture the content in some computer display surface and push it through the same sorts of process that I use with .getUserMedia()? I tested on Google Chrome 84. Answer: yes. It has some quirks. It doesn’t need, and indeed rejects, elaborate constraints.  {… Read more →

New Microsoft Edge rolls out to everybody this month

About time! the new Chromium-based Edge browser will show up on Windows 10 machines in this month’s update. For the cancelled Internet Explorer and Legacy Edge project people, I would have more sympathy if their work products hadn’t baffled software developers for a quarter-century. IE and old Edge were in the uncanny valley of compatibility. They worked well enough that… Read more →

Web Services in C#: Status, Parameters, Cookies

This entry is part 2 of 3 in the series .NET Web Services

Status Codes Real Web services have to be able to pass back a status code. Maybe it’s a plain 200 success code, or a 404 not found code. Whatever. We have to be able to control it. Here’s how. We’ll use the NegotiatedContentResult template class in the signature for the Get method. We have to cope with the pickiness of… Read more →

Web Service APIs in dotnet C# made easy with ApiController: Part 1

This entry is part 1 of 3 in the series .NET Web Services

Setting up your web service Dotnet’s stuff for developing web applications includes an inheritable class called ApiController. This makes it easy to develop REST-style web services, either for standalone API servers or in the context of larger servers. To start using ApiController, however, requires navigating lots of Microsoft documentation; as of early 2020 that documentation is pretty much all machine-generated… Read more →

JSDoc configured

JSDoc is a way to put programmer documentation in Javascript code. It’s in the tradition of Doxygen , Javadoc, and C#’s documentation comments. And what a sorry tradition that is. Tools for extracting that kind of documentation and making, well, documents from it are just atrocious. (Set me straight in a comment if I’m wrong.)  Sure, the various IDEs use… Read more →

Handling errors in nodejs and express

Many people surely know all this by now. Still, here are some things I’ve recently learned about notifying clients (browsers, API clients) about errors. Delivering errors from route handlers to clients This is remarkably easy, once you figure it out. Just use the http-errors package. (Beware, not the http-error package; it does something different. Call next() with an object made… Read more →