Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 99
  1. I’ve taken the decision to allow AI use for PRs to my libraries.

  2. I tried copilot in VS Code sometime in 2025 and was thoroughly disappointed with its ability.

  3. One thing I’ve never really messed with before is the [[clang::musttail]] compiler attribute.

  4. Custom asserts in LLVM

    I tried (and failed) to convince the LLVM folks to allow for runtime togglable asserts.

  5. I was talking with someone today that really really wanted the sqrtps to be used in some code they were writing.

  6. When I interviewed for Epic Games it was for a graphics post - I wanted back to working on shader compilers.

  7. I’ve updated my C/C++ open sources libraries utest.h, utf8.h, ubench.h, hashmap.h, subprocess.h, and json.h to use the new Apple Silicon GitHub CI runners.

  8. So I got my Raspberry PI 5.

  9. With the imminent launch of the Raspberry Pi 5 I wondered - how long does it take to compile the latest LLVM release (17 at the time of writing this blog) on the Raspberry Pi 4.

  10. The Return to Office episode of one of my favourite podcasts Dithering made me finally decide to post about Remote Work.

  11. I was looking at hardware rounding modes the other day, and one thing that I realised I had no concept of was how costly is it to change the hardware rounding mode for floating-point operations.

  12. This all started when I wondered what the Mastodon migration process between accounts was like, and ended with me moving my mastodon over to a new handle @neilhenning@mastodon.gamedev.place, and my website over to a new domain https://www.neilhenning.dev/.

  13. I’ve been noodling a lot with my single header C/C++ hashmap recently - hashmap.h.

  14. One of the C/C++ single header libraries I maintain is hashmap.h.

  15. New Year Cleanup

    As a new year starts I generally have some long awaited cleanup to do on my C/C++ single header libraries.

  16. TL;DR - I’m pretty much done with Twitter (here-in named the “birdshite” 🦤💩).

  17. After four relaxing weeks off since I left Unity, I’m pleased to announce I’ve joined the Verse team over at Epic.

  18. In a previous post I looked at floating-point compression, and it generated quite a lot of interest on Twitter, with lots of people suggesting things.

  19. I'm Leaving Unity

    After three years of work at Unity I’m leaving the company, today being my last day.

  20. Editors prefix: I originally penned this in September, but got cold feet that I had somehow missed something crucial in my investigations, impostor syndrome reared its head, and I binned the post.

  21. With the Burst compiler that I work on here at Unity, we use LLVM to produce highly performant codegen from the High Performance C# (HPC#) subset that we compile.

  22. A nice little feature I’ve just added to my single header C/C++ unit testing library utest.h is the ability to skip a test case.

  23. One of the things I was going to talk about in my COVID cancelled EuroLLVM 2020 talk was about a neat little trick we used to get the LLVM legacy pass manager to be significantly faster.

  24. My single header C/C++ cross platform sub-process interaction library subprocess.h was designed using fork() on Linux/macOS.

  25. Updated Website Theming

    One ongoing complaint since I moved from wordpress to hugo around three years ago was that the theming I decided on wasn’t the best.

  26. I’ve long thought that Zig was an interesting programming language, potentially more interesting than Rust in many respects given that Zig seems to be targetting a more modern C-like language replacement whereas Rust firmly looks like it is trying to take…

  27. Last week the Burst team shook up our day-to-day schedules with the opposite of a Unity classic - the hackweek.

  28. Introducing envcache

    One thing that has always bugged me with Rust is when you are interacting with complex non-Rust software.

  29. The more I’ve delved into the darkest corners of optimizing compilers, the more that incessant urge to optimize things has leeched out into my day to day life.

  30. Early 2021 Mega Update

    The last four years of my coding life have been incredibly stressful.

  31. I’ve always wanted to do the Advent of Code 2020 puzzles as a way to wind down in the run up to Christmas, but never quite got my act in gear to do it.

  32. Advent of Code 2020

    I’ve always wanted to do the Advent of Code 2020 puzzles as a way to wind down in the run up to Christmas, but never quite got my act in gear to do it.

  33. There are two talks on APIs that I think every programmer should watch, learn, and study from: Designing and Evaluating Reusable Components from Casey Muratori.

  34. Introducing hashmap.h

    I asked on twitter the other day whether anyone had a hashmap that could work with string slices - parts of a string that are not null-terminated and thus have to have an explicit length to accompany the pointer.

  35. One hotly requested feature for my single header C/C++ process spawning and management library subprocess.h was the ability to read from the standard output or error of a spawned process while it was still executing.

  36. One thing that was missing from ubench.h (intentionally to keep the initial code drop simple) was fixtures.

  37. So I recently created a new single header C/C++ library for benchmarking your code - ubench.h.

  38. I’m currently sitting at home on an unexpected days holiday - for Juneteenth.

  39. Introducing ubench.h

    Ever since I worked on my amazing little single-header C/C++ library utest.h, which mimics enough of Google’s googletest framework but in a significantly leaner footprint (and a single header!)

  40. I’ve been feeling a little overwhelmed by the languages I generally code in (C#, C++, Rust) and wanted to get my teeth into something a bit simpler again (obviously C!).

  41. A user of utest.h posted an intruiging issue that on an release build with Visual Studio my unit testing framework for C/C++, utest.h, no tests were being ran.

  42. Testing command line applications in Rust is something that I found was a bit of a grey area.

  43. Fixed Up RSS

    One thing I’ve unfortunately neglected for a little while now on my blog was the RSS feed - mostly because I didn’t have a clue how to make Hugo do it as I’d like.

  44. Jumping into cold water is always a shocking experience.

  45. One thing that has always worried me with writing C samples in documentation for my single-header libraries is that you can’t be 100% sure that they will compile successfully.

  46. I’ve been working on my various C/C++ single header libraries some over the Christmas break, and while I already did an update on my work, I decided to leave json.h for its own post.

  47. utest.h

    Anyone who has used the googletest library with a complex C++ codebase will know how powerful this form of unit testing can be for productivity.

  48. I’ve been working on my various C/C++ single header libraries some over the Christmas break, and I thought I’d just jot down the improvements I’ve made in a post. process.h -> subprocess.h I’ve had a long standing complaint that the name process.h conflic…

  49. In this post, we’ll improve our floating-point scalar evolution (fpscev) to do a better job at evaluating the range of some of the more complex intrinsics we analyze.

  50. Announcement time - today is my last day at AMD.