by bill-s, 2019-06-05T08:30:22.336Z
Several months ago, Bill Boga and I, realized there was a performance enhancement we could make in our infrastructure. We were utilizing IdentityServer and took notice that many of our APIs were validating many of the same access tokens and storing the results in memory locally. Validating access tokens can be relatively expensive due to additional web requests and CPU intensive hash calculations. If we could cache the validation results, and share the validation results across our system, then we could reduce the work necessary to get a request through our APIs.
by bill-s, 2019-06-05T08:28:41.976Z
In my last post I discussed how to integrate Live Reload in ASP.NET Core using a third party NodeJs application loaded from NPM called BrowserSync. While that works just fine, having to run yet another command line utility on top of dotnet watch run just to provide Live Reload functionality is a bit of a pain.
by ThomasArdal, 2019-06-04T09:46:44.005Z
Learn how to debug System.AccessViolationException when calling C++ code from C#, with unhandled errors in IIS modules and from the WebBrowser control.
by bill-s, 2019-06-05T08:29:35.039Z
I think I’ve been living under a rock as I’ve only just come across dnSpy, a decompiler for .net!
I’ve been building apps and services with .NET for a long time, so a Twitter thread talking about decompilers amused me. David Kean’s comment pretty accurately reflects my sentiment regarding Reflector.
by bill-s, 2019-06-05T08:30:02.078Z
I'm an adult, most of the time. That means I have to do adult things, like getting groceries or gas or maintaining our yard. I am also married with three kids. And that means a LOT of laundry.
Laundry by itself isn't too bad. It gives my easily-distracted brain a simple, repetitive task that often allows me to think more clearly than is otherwise possible. But the worst part of laundry, the absolute worst, is the socks.
by bill-s, 2019-06-05T08:34:19.192Z
The previous episode of the series introduced the notion of “GC log”, well known in the Java world and how to implement it in .NET thanks to ETW and TraceEvent on Windows. This solution is easy but requires to create an ETW session (and to remember to close it)… and is also not supported on Linux. However, .NET Core 2.2 introduced the EventListener class as the best way to receive CLR events both on Windows and Linux but only from inside the process itself. As of today, TraceEvent is not supporting live session with EventPipe/EventListener, only a file-based constructor is available. This is unfortunate because it means that you can’t rely on the huge work done by TraceEvent to parse the CLR events; especially those related to garbage collections. The rest of the post will explain how to decipher raw events.
by bill-s, 2019-06-05T07:00:29.548Z
Everything starts with UseWordyTo prefix. This is your entry point to all tools provided by the library.
by legege007, 2019-06-06T10:42:23.584Z
Workaround to use the designer in WPF Core App (.netCore WPF).
by bill-s, 2019-06-05T07:00:02.153Z
About 2.5 months ago OpenAI published a blog post, where they demonstrated nearly impossible: a deep learning model, that can write articles, indistinguishable from ones written by humans. The text it generated was so impressive, that I had to check the calendar to ensure its not an April Fool’s joke (mind you that was February, and Seattle was covered in snow)