
#Announcements
- JDK 24: The new features in Java 24 | InfoWorld - Java 24 is released with a focus on AI programming with focus on vector APIs, stream gathers GA (out of preview), safer concurrency handling, improved start time with AOT class loading and more.
- GIMP 3.0 Released - GIMP
#Articles
- Goroutines in Go: A Practical Guide to Concurrency - How go tackles concurrency with channels and mutexes, similar to Rust’s ARC (Atomically Reference Counted) and mutex.
- Accelerating Large-Scale Test Migration with LLMs | by Charles Covey-Brandt | The Airbnb Tech Blog | Mar, 2025 | Medium - The AirBnB team migrated from Enzyme to use React Testing Library (RTL) using AI and a bit of automation, spending 6 weeks updating nearly 3.5K React component test files, which by hand, estimated out to 1.5 yrs of engineering effort. 🤯
- Most People Don’t Understand Why Go Uses Pointers Instead of References | by Aryan | Mar, 2025 | Cubed - Pointers vs References, although I think the authour perhaps missed some concepts of references, a pointer, if modified incorrectly in a non-typesafe way can lead to corrupt memory addresses, where references manage this safety for you, e.g. setting a string, int i8/i16 byte array, memory block on an u64 int and then trying to read the memory address block as an int would lead to some nasty issues.
- Life Altering Postgresql Patterns - Best practices and tips for using Postgresql, incredibly handy.
- Big Rust Update Merged For GCC 15 - Lands The Polonius Borrow Checker - Phoronix - A mixed review on this early implementation but TLDR; GCC GNU is implementing Rust’s borrow checker’s experimental overhaul/improvement, Polonius, so that Rust frontend languages can use GCC to compile to machine, trying to rival LLVM which Rust uses. BUT Polonius isn’t yet implemented in Rust, with the assumption that it will be, then there’s no point for GCC to waste time implementing Rust’s current borrow checker implementation.
#.NET
- Using vectorization in C# to boost performance - RandomDev - A well articulated and detailed article on a .NET 8 performance improvement the author made into .NET LINQ. In summary it’s a performance improvement to
.Sum()and subsequent callers such as.Average()using SIMD (Single instruction, multiple data) vectorised processing. Learn more about SIMD from references in Other Interesting Reads. - roslyn/docs/Language Feature Status.md · dotnet/roslyn - Looking at the status of C# 14’s WIP features, it looks like Null-conditional assignment (E.g.
arr?[42] = new object();) progressed testing and is looking more likely it’ll hit in C#14 (.NET 10). I’m still hoping we get dictionary expressions so we’re able to simplify dictionaries initialisations to collection expressions, e.g.Dictionary<string, int> nameToAge = [ "Cyrus": 21, "Dustin": 22 ]; - Creating provenance attestations for NuGet packages in GitHub Actions - Nuget verification using attestations integrity/security validation.
#JavaScript Ecosystem
- Replay - Time Travel Browser DevTools - A cypress like product which can replay your javascript to any line of the call stack and view state from the browser like the Dom, redux, network, component state.
--erasableSyntaxOnlyPR #61011 · microsoft/TypeScript - Node 23 now introduces a flag to remove runtime typescript types, which are really funky types which are advisable to not use anyways. Types such asEnum,namespace,privateconstructor parameters + more will become compiler errors. This avoids issues when using type stripping from your NodeTS code, as these types are replaced with some generated JavaScript instead and cause debugging + source mapping issues in runtime. Why use type stripping you say? well you wouldn’t have to require typescript source maps if all the types were removed from your NodeJS code, providing a more lightweight runtime whilst still having development types available, neat.
#AI
- How gen AI powers up multiplayer games | Google Cloud Blog - Google uses Genie 2 running in Google Kubernetes Engine (GKE) with Agones, open source game server, and Open Match, open source match making, to create generative AI games to create dynamic storyline adaptation, responsive NPC interactions, and personalized in-game content.
- How Google Research and partners built FireSat, an early wildfire mitigation system - FireStat detects fires early to help prevent wild fires and reduce CO2 emissions using AI.
#Other Interesting Reads
- SIMD (Single instruction, multiple data) - Wikipedia & SIMT (Single instruction, multiple threads) - Wikipedia vs (SPMD) Single program, multiple data - Wikipedia and where they fit in Flynn’s taxonomy - Wikipedia
- Loop unrolling - Wikipedia & Unrolling the Loops - Computerphile - YouTube - Optimise programs by removing loops and replacing with the loop blocks code the number of times that the loop is going to be executed with, this reduces stack pushes for if checks done in a classic for loop, where it checks index is not greater/less than some integer.
- Bill Gates says Satya Nadella was ‘almost’ passed over for Microsoft CEO role - Woah, that could have been interesting, perhaps a less-dev background CEO could have really put MS back.
