Justin Hachemeister
jhachemeister.bsky.social
Justin Hachemeister
@jhachemeister.bsky.social
C# Enthusiast | Self-motivated, curiosity-driven, perfectionist dedicated to continuous learning, growth, and innovation. Views are own.
Maybe don't improvise, but the rest is true.00
January 31, 2025 at 12:12 AM
Reposted by Justin Hachemeister
Ever wondered about the mechanics behind the anti-cheat system in Call Of Duty: Black Ops Cold War? A new reverse engineering study unveils some interesting findings.
January 30, 2025 at 4:45 PM
Reposted by Justin Hachemeister
bionic-gpt: BionicGPT is an on-premise replacement for ChatGPT, offering the advantages of Generative AI while maintaining strict data confidentiality ★2056 https://github.com/bionic-gpt/bionic-gpt
bionic-gpt / bionic-gpt
BionicGPT is an on-premise replacement for ChatGPT, offering the advantages of Generative AI while maintaining strict data confidentiality
github.com
January 31, 2025 at 12:07 AM
LGTM.
-- Approved.
January 27, 2025 at 9:35 PM
Reposted by Justin Hachemeister
The more I use GenAI coding tools, the more I am convinced keeping to "traditional" software engineering practices is what works most productive here. As in 10x more productive. E.g.

- Small changes
- Test that the change works before moving on
- (unit) tests wherever you can
January 24, 2025 at 7:26 PM
Reposted by Justin Hachemeister
In Part 11 of a series on source generators, andrewlocknet shows how to implement an interceptor, that allow you to replace (or "intercept") a method call in your app with an alternative method. Turns out this is critical for AOT compilation.
Implementing an interceptor with a source generator: Creating a source generator - Part 11
In this post I show how interceptors work, and how you can implement an interceptor using a source generator and the GetInterceptableLocation API
andrewlock.net
January 21, 2025 at 11:02 AM
Reposted by Justin Hachemeister
If you’ve ever run a nightly batch job to update entity statuses, send notification emails, or generate reports, then you’re already using your database as a kind of queue. You might be queuing without knowing it, and it might bite you!
You might be queuing without knowing it
You may be queuing and not know it! Nightly batch jobs that run updates or send notification emails or generate reports are just a queue masquerading as a database. So let's call a queue a queue and…
particular.net
January 17, 2025 at 1:16 PM
Reposted by Justin Hachemeister
gitbutlerapp / gitbutler: The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte ★13902 https://github.com/gitbutlerapp/gitbutler
gitbutlerapp / gitbutler
The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
github.com
January 17, 2025 at 12:10 PM
Reposted by Justin Hachemeister
google / comprehensive-rust: This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust. ★28367 https://github.com/google/comprehensive-rust
google / comprehensive-rust
This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.
github.com
January 17, 2025 at 3:09 AM
Reposted by Justin Hachemeister
In this post, CodeOpinion walks through practical implementations of resilience patterns that'll keep your distributed system from falling flat on its face. Clear examples and use-cases for each pattern
Design Patterns for Building Resilient Systems
Lessons learned from a massive outage on why specific design patterns allow you to build resilient systems that can withstand a major outage.
codeopinion.com
January 16, 2025 at 1:16 PM
Reposted by Justin Hachemeister
Top .NET Blogs Posts of 2024 by jamesmontemagno https://buff.ly/49SGtdt #aspnetcore
January 14, 2025 at 6:29 PM
Reposted by Justin Hachemeister
If you are interested in measuring the latency impact of lock, mutex, semaphore, events in your .NET apps, this article is for you :^) chnasarre.medium.com/measuring-th...
Measuring the impact of locks and waits on latency in your .NET apps
Monitor mutex, semaphore and event wait duration
chnasarre.medium.com
January 13, 2025 at 3:38 PM
Reposted by Justin Hachemeister
I published part 5 of my "Writing a .NET profiler in C#" series. All the foundations built in the previous articles have been moved to a library named Silhouette. In this new article, we finally have everything we need to write an actual profiler.

minidump.net/writing-a-ne...

#dotnet
Writing a .NET profiler in C#  -  Part 5
Part 5 of the series about using NativeAOT to write a .NET profiler in C#. We have all the foundations, we’re finally writing an actual profiler.
minidump.net
January 7, 2025 at 9:35 AM