Criticisms & Curation Low Sun over Tetons – Grand Teton NP, WY – Fujifilm X-E4 & 90mm – “Ferrania Solaris FG 400” I receive a lot of feedback—while most of it is positive, some of it is…
CRT Manufacturing This January 4, 1954 Oregonian article features the construction of the new CRT building.
Can you use a WebP file as an Open Graph Protocol image? Do you still need to maintain webpage thumbnails/link previews in legacy image formats, or have apps caught up with the WebP revolution? It’s a bit complicated.
Start with Who, not Why Work with amazing people you love collaborating with, the rest (mission, purpose, etc) falls out from that.
Deploy any Web App to Lambda in 60 seconds | Kevin Wang's Blog If it listens on a port, it can be deployed to Lambda!
Six things I sort of believe about making music/art I've now been recording music at home for most of my life. I started at around 14. I would record things into audacity, sometimes with my friend Cameron, but more often by myself. I had no real idea of how to write, arrange, or record music. Besides a few...
The Trouble With Rewrites I have a bit of a soft spot for legacy systems. They have a certain charming ugliness to them. Clearly, there is a ton of challenges with legacy projects, partly related to organizational incentive…
To vendor, or not to vendor Should we commit vendor in our Go projects? Since the introduction of Go modules, the prevalent opinion on the internet is that we should not commit the vendor directory of our projects. The argument against committing vendor is that it’s unnecessary, b...
.NET Framework April 2022 Cumulative Update Preview We have released the April 2022 Cumulative Update Preview for .NET Framework with several quality and reliability improvements.
Tricks for dealing with “reviewer’s block”, for the beginner engineer Similar to writer's block, that authors experience, early on as an engineer I struggled with ‘reviewer block’ i.e. having a hard time providing valuable feedback when reviewing an engineering design. Here are some tricks that I’ve picked up over the years...
Intro to BPF CO-RE In the past I’ve been very happy in using BCC and bpftrace to jump into the BPF wagon. But since I spend a lot of my time on embedded systems (mostly Android phones nowadays), getting these tools on these systems is a bit of a headache.
nix-shell, but make it lovely I'm pretty happy with a pattern I stumbled into last year for using Nix to provision dependencies for a task-/utility-oriented Makefile. For a while I've wanted the rough equivalent of a nix-shell shebang--but for Makefiles.
Speeding up Prettier locally and on your CI with dprint Example of reducing format checking with Prettier from ~40s to under 1s on the second run.
Communities Moving to Discord Has Resulted In Millions of Questions and Answers Being Lost — It… Discord has become a replacement for forums for thousands of communities, causing a massive decrease in the accessibility of information…
Multiple Directories for Static Files in ASP.NET Core My recent video elicited several interesting responses. But immediately, I noticed that using ASP.NET Core's cache busting (e.g. asp-append-version) wasn't working quite right for additional StaticFiles middleware. Evidently, I wasn't doing it correctly. ...
Visual Studio 2022 17.2 Preview 3 Intros All-In-One Search -- Visual Studio Magazine Visual Studio 2022 v17.2 Preview 3 introduces an All-In-One searching experience for finding symbols in code, IDE features, files and more.
[Last Week in .NET #86] – Spring has Sprung and so have Security breaches It’s been a while, and I appreciate all the well-wishes I received from you all. Unfortunately my FIL is still in the hospital (he’s been in the hospital for 105 days, which is itself a…
Apply optimizations to the client as well · davidfowl/BombRMan@f813bdb - Make the representation of keys on the client more efficient. This reduces the amount of data sent to the server to perform an update.
11 Principles of Engineering Management More than 2 years ago, I decided to try to create a brief, digestible manual on the expectations of management for senior engineers at my company who are considering making the shift. At the time, …
Japan's Hometown Tax | Kalzumeus Software This is outside of my normal software-focused beat, but I met some folks who were very interested in public policy recently. I found, to my surprise, that I probably understand one innovative Japanese tax policy better than very well-informed people who g...
Announcing the Hare programming language Hare is a systems programming language designed to be simple, stable, and robust. Hare uses a static type system, manual memory management, and a minimal runtime. It is well-suited to writing operating systems, system tools, compilers, networking software...
Resetting Marten Database State Between Tests TL;DR: Marten has a new method in V5 called ResetAllData() that’s very handy for rolling back database state to a known point in automated tests. I’m a big believer in utilizing interme…
Sharing coding style and Roslyn analyzers across projects - Gérald Barré In this post, I describe how to share a coding style and Roslyn analyzers across multiple projects in .NET using a NuGet package.
Production postmortem: The network latency and the I/O spikes A customer called us about an elevated I/O load in their system after an upgrade to RavenDB 5.3 from RavenDB 4.2. We looked into that, and we saw a small (bu...
Why LSP? LSP (language server protocol) is fairly popular today.There’s a standard explanation of why that is the case.You probably have seen this picture before:
Email Routing Insights Insights and Logs are now available to everyone using Cloudflare Email Routing
The Curse of Systems Thinkers (Part 1) Somewhere between 15 and 20 years ago, I worked for a company. It was a very prestigious company, and it was a glorious and frustrating time. The company did amazing things. Literally unbelievable achievements - from my point of view anyway. But this was ...
Distributed Caching in ASP.NET Core - Code Maze In this article we'll talk how distributed caching works and how to implement Redis Cache in an ASP.NET Core Web API application
How easy is it in 2022 to find a SHA1 collision? Most of the answers I can find date to years back where the first collision(s) were found, but hardware mainly GPUs have progressed a lot in the past few years (with for example the new line of 3090s
Annotating your C# code - Migrating to nullable reference types - Part 3 In the previous post, we looked at some internals of C# nullable reference types, and the nullable annotation context.
var num = 303; var title = $$"""Episode #{{num}}"""; C# 11 is coming in hot with some awesome new previews and we break down our favorite features.
Text Summarization with Huggingface Transformers and Python In this article we explore three text summarization algorithms which can be applied with Huggingface transformers.
Implementing Rate Limiting in ASP.NET Core Web API This post is about implementing Rate Limiting in ASP.NET Core Web API. Rate Limiting is the process of controlling the number of requests for a resource within a specific time window. Each unique user/IP address/client will have a limitation on the number...
More optimizations · davidfowl/BombRMan@b26e47a - Pack the key state into 32 bytes - Reuse server status
Remove enumerator alloctions on game loop · davidfowl/BombRMan@32025c3 - Remove ConcurrencyDictionary enumerator allocations by using a customer data structure that's backed by an immutable array.
Uno Platform 4.2 - .NET 6 Mobile RC1, Perf Boost, 190+ Improvements .NET 6 Mobile RC 1 Support ✅ VisualStudio 2022 17.2 Preview 4 Support ✅Skia+GTK OpenGL Renderer ✅Performance Updates ✅190+ more fixes and features
2fsharp/csharp2fsharp.md at master · knocte/2fsharp Contribute to knocte/2fsharp development by creating an account on GitHub.
Running and Debugging Multiplatform .NET (.NET Core, .NET5 and .NET6) GUI and Console Applications on Windows Subsystem for Linux (WSL) This article describes how to test and debug .NET/Avalonia Linux applications using WSL.
ASP.NET Core: Custom Controller Action Parameter Binding using TryParse in Minimal APIs .NET, .NET Core, ASP.NET, ASP.NET Core, Visual Studio, Jaliya Udagedara
Visual Studio Container integration - Redis cache Video overview of the ASP.NET Container integration feature in Visual Studio 2022.Demo & desktop setup is inspired by this Video: https://www.youtube.com/wat...
The Universe of Discourse : Pushing back against contract demands is scary but please try anyway Pushing back against contract demands is scary but please try anyway
Patching an Embedded OS from 1996 with Ghidra • Peter Sobot For reasons I won’t get into, I’ve been working on a tricky reverse engineering puzzle recently: how to patch the operating system of a 26-year-old synthesizer. To be specific, the Kurzweil K2500, a sample-based synthesizer released in 1996. As... | Peter...
Why Success Is Often Elusive at the Highest Echelons During recent discussions with friends, one common theme that crops up very frequently is how success has remained rather elusive to recent…
Site Reliability Engineering – Service Level Indicators, Objectives, and Agreements Welcome to the morning edition of Coding Blocks as we dive into what service level indicators, objectives, and agreements are while Michael clearly needs more sleep, Allen doesn't know how web pages work anymore, and Joe isn't allowed to beg.
Remove extra allocations from update loop · davidfowl/BombRMan@a7ac226 - Use stack spans to avoid allocating points on the heap - Precompute all hit targets for all possible directions to avoid enumerator allocations
Remove keyboard state allocations · davidfowl/BombRMan@a64d8ec - Use array pool and object pool for keyboard state allocations - Use custom JSON converter to remove excess allocations - This leaves most of the overhead to be SignalR specific.
The Future of CSS: CSS Toggles Late last week, I was very delighted to see that Chromium will start prototyping with CSS Toggles, a proposal currently only available as an Unofficial Draft, authored by Tab Atkins and Miriam Suzanne (who else?!). CSS toggles are a mechanism for associat...
Chopping the monolith If you attend conferences or read technical articles, you could think that microservices are the correct and only way to build a system at the moment. Despite some pushback from cooler heads, the default architecture is microservices. In this post, I’d li...
Why naming stuff is hard? Last few months I have spent a lot of time doing code reviews. During the code review exercise I also pair with developers to refactor and improve the quality of their pull requests (PR). I c…
Interpretable Machine Learning Machine learning algorithms usually operate as black boxes and it is unclear how they derived a certain decision. This book is a guide for practitioners to make machine learning decisions interpretable.
The state of fq_codel and sch_cake worldwide Sampling bufferbloat on implementations all too randomly
Easy ways to improve your websites accessibility and performance - Max Leiter A list of simple tips for developing a more accessible and user-friendly web.