#297 Hardware Hacking with C# and JavaScript

sponsor

Blazor Mobile, Uno Platform, and WebAssembly

We put the Experimental Mobile Blazor Bindings to a test with Uno Platform. Uno Platform is the open source platform for building native Mobile, Windows and WebAssembly apps from a single code base. The mobile bindings passed with flying colors as we reused the Xamarin Forms ToDo App.

this week's favorite

Hardware Hacking with C# and JavaScript

Over the last couple of months I’ve had a little exposure to hardware hacking and wearables after lending some of my exceptionally rusty 1990s-era C to Jo’s excellent Christmas Jumper project. The project was compiled for the AdaFruit Feather Huzzah a low powered, ESP8266 SOC, Arduino compatible, gumstick sized development board. Other than a handful of RaspberryPi’s here and there, I’d never done any hardware hacking before, so it had that wonderful sheen of new and exciting we all crave.

This Goes to Eleven

I ended up going down the rabbit hole re-implementing array sorting with AVX2 intrinsics. There’s no reason I should go down alone.

Collecting and analyzing memory dumps

Many common scenarios don’t require a full process dump inspection. To enable these scenarios, we’ve introduced a new lightweight mechanism for collecting a dump that is portable. By triggering a garbage collection in the target process, we are able to stream events emitted by the garbage collector via the Existing EventPipe mechanism to regenerate a graph of object roots from those events.

Our failed attempt at IAsyncEnumerable

One of our API endpoints, “streamed” using IEnumerable. We felt there was an opportunity to use the latest C# 8 feature of the async stream using IAsyncEnumerable. We use Dapper to talk to our SQL. Here is an ultra-simplified version of our API and dapper query before our attempted migration to IAsyncEnumerable.

Writing network proxies for development purposes in C#

If you are developing, testing, or supporting web applications, you probably encounter situations when you need to record or modify HTTP traffic. Quite often, the browser request viewer might be enough, but what if you need to modify the traffic on the fly?

events

[WEBINAR] Refactoring the Architect’s Role

While microservices yield great autonomy, you need architects to wield design oversight as you scale. But are your architects locked in an Ivory Tower, blocking the rest of the team? In this interactive webinar, Yogi Aradhye teaches strategies for mentoring developers, scaling processes, and maximizing efficiency so architects feel empowered to lead teams into the “pit of success.” Register to attend.

newsletters

Would you like to become a sponsor and advertise in one of the issues? Check out our media kit and get in touch.