Getting Rusty: Day 2

Notes about my second combined full day’s worth of Rust, spanning… more than a single day. I implemented github’s webhook verification, which turned out challenging due to mismatched hash outputs and needing to convert from a hex string to the equivalent bytes. You can click through to today’s version of code.

Getting Rusty: Day 1

I’ve tried three times in as many years to dig into the Rust language, but it never really stuck - the first couple of times the syntax was still a bit impenetrable, and the last time I didn’t have a strong use case. I’ve got a good one this time though!

Infinite Redirects with ASP.NET, OWIN, and OpenID Connect

Combining ASP.NET MVC 5 and OWIN together can be fun, but you can very easily run into issues from the differences in philosophy & implementation between the two technologies. One such difference is related to how the two manipulate cookies, where by the cookie manager in OWIN and the cookie manager in ASP.NET will overwrite each other’s cookies, causing issues with authentication using the [Authorize] attribute and the various OWIN authentication errors. In this post, we go over the long process of finding the right solution in 2017 (tl;dr: upgrade OWIN and use SystemWebChunkingCookieManager).

ASP.NET bundling minifies pre-minified files

ASP.NET solves the issue of having too many loose resource files by providing a built-in tool to automatically bundle script and stylesheet files. In theory, if you add a script that has both a .js and .min.js file to a bundle, then in debug mode the .js file will be included on the page, while in release the .min.js file (and every other file in the bundle) will be combined into a single file. Unfortunately the reality is different, and you can see ASP.NET trying to re-minify the .min.js file instead of just concatenating it.

My Projects

Below is a sampling of big projects that I've worked on.