news
Programming Leftovers
-
Vidit Bhargava ☛ A collection of Design Frameworks for designing emerging technologies
Over the last couple of years, I have been prototyping, researching and designing for emerging technologies as part of my graduate studies and then work.
There's a lot of noise in the emerging tech world right now. This is my attempt at cutting through it and focusing on design principles, and a vision of a more humane future. Feel free to share them with your design and leadership teams.
-
Sean Goedecke ☛ How I estimate work as a staff software engineer
This is, of course, false. As every experienced software engineer knows, it is not possible to accurately estimate software projects. The tension between this polite fiction and its well-understood falseness causes a lot of strange activity in tech companies.
-
Redowan Delowar ☛ Your Go tests probably don't need a mocking library
Also, since almost no one writes tests by hand anymore and instead generates them with LLMs, the situation gets more dire. These ghosts often pull in all kinds of third-party libraries to mock your code, simply because they were trained on a lot of hastily written examples on the web.
So the idea of this post isn’t to discourage using mocking libraries. Rather, it’s to show that even if your codebase already has a mocking library in the dependency chain, not all of your tests need to depend on it. Below are a few cases where I tend not to use any mocking library and instead leverage the constructs that Go gives us.
-
Sebastian Wick ☛ Best Practices for Ownership in GLib
For all the rightful criticisms that C gets, GLib does manage to alleviate at least some of it. If we can’t use a better language, we should at least make use of all the tools we have in C with GLib.
This post looks at the topic of ownership, and also how it applies to libdex fibers.
-
Java/Golang
-
Vikash Patel ☛ Go Struct Field Alignment
Your Go structs might be wasting up to 32% of their memory due to invisible padding bytes. This deep dive into struct field alignment reveals how the compiler arranges memory, why field order matters, and provides benchmarks showing real memory savings. Learn the simple reordering rules that can shrink your heap, reduce GC pressure, and improve CPU cache efficiency.
-
Andrew Nesbitt ☛ Rewriting git-pkgs in Go | Andrew Nesbitt
Go compiles to a single binary with no runtime dependencies. It’s pure Go, so there are no C extensions or platform-specific compilation issues to deal with. You download it and it works.
-
Pi My Life Up ☛ Installing Newer Versions of Java on Debian Systems
Java is a powerful programming language that relies on the Java runtime to execute. This runtime takes Java code and converts it into something that your system can actually utilize.
There is a wealth of services that rely on Java to operate. This includes popular services such as the UniFi Network Controller and game servers for Minecraft and Hytale.
-
Zach Musgrave ☛ Golang Panic Recovery
Even if your application never calls panic() and always prefers using errors, you’re still going to want to know how to recover from panics, since panics can happen for many reasons other than the panic() function being called, such as an incorrect cast, dereferencing a nil pointer, or an out-of-bounds reference on a slice.
In this blog post, we’ll go over the basics of recovering from panics, explain a few gotchas with panic recovery that have bitten us in the past, and suggest some ways to avoid those in your projects.
-