Your "simulation" might not need state
The bouncing DVD logo is a fun and easy coding project. Watching Daniel Shiffman code it in p5.js is one of my earliest programming memories. However, the naive solution is far from optimal.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,136 posts.
The bouncing DVD logo is a fun and easy coding project. Watching Daniel Shiffman code it in p5.js is one of my earliest programming memories. However, the naive solution is far from optimal.
In software, it is common to represent time as a time-stamp string. It is usually specified by a time format string. Some standards use the format %Y%m%d%H%M%S meaning that we print the year, the month, the day, the hours, the minutes and the seconds. The current time as I write this blog post would be … Continue…
An infuriating pattern that devs need to stop.
Experiencing Windows 95 Exploration Box Installation Like People In Early 90s.
“Do The Simplest Thing That Can Possibly Work” – that’s what. Now, what does that mean?
If we go through the list of C++23 features, we can stumble upon the notion of garbage collection twice. Once among the language and once among the library features. Both entries refer to the same paper (P2186R2): garbage collection (GC in short) support is getting removed from C++. Just to make it clear, it’s not…
Epic Games released an initial public implementation of the Verse programming language. Verse has been designed by some people who really know what they’re doing:
I've had the experience of using GitHub as a maintainer for very large open source projects (1000+ contributors), as an engineer for very large closed source corporate projects, and everything smaller. Through those experiences up to today, GitHub pull requests is where I spend almost all of my time while on GitHub…
I was shocked at how obvious my mistakes as an engineer became after my perspective changed.
L.C. Bakken technical blog
Your default hash table should be open-addressed, using Robin Hood linear probing with backward-shift deletion. When prioritizing deterministic performance over memory efficiency, two-way chaining is also a good choice.
I have been writing a lot more Go this past year. For those not familiar, Go favours a non-ORM, non-query-builder approach to interacting with databases. This comes naturally due to the sql package : A common interface to be used alongside database drivers. It’s very common to see actual SQL in Go, even in large…
28-Nov-2018: I’ve added a small update at the end on how to prevent‘handle collisions’ with a per-slot generation counter
In this long article, I, being as far as I know the first outside Microsoft to have learnt how the AARD code works, explain that I condemn its form but broadly sympathise with its function.
I analyzed stackoverflow for secrets and leaks.
An introduction to the core ideas and approaches
In the ever-evolving field of information security, curiosity and continuous learning drive innovation. This blog series is tailored for those deeply engaged in experimental projects, leveraging Rust’s capabilities to push the boundaries of what’s possible. The focus on Rust, after exploring various programming…
Check out the impressive results of the large-scale Folia test that took place on June 18th, 2023. Learn more about our findings and technical challenges in this post.
Our FIRST Robotics team struggled with autonomous code for years. Coroutines were the missing piece.
Imagine you are new to Rust and you want to learn some async programming. Writing a chat server is a common way to start, scope is small enough to contain in a blog post, yet it is complex enough to learn most of what you'll need to build async servers in Rust. One DuckDuckGo query and we are off to the races…
Let's abuse a bug in java.lang.String
Where C# is the most dominant language in the .NET world, other languages are built on top of the Framework that deserves their respective place. F# is strong when it comes down to functional programming! In this blog post, we will leverage the power of F# and C# to showcase where both excel!
UPDATE: This article has started an ongoing conversation with the Godot devs. They care about the issues raised, and would like to improve things. Significant improvements will almost certainly be made, although it’s still early days and it’s unclear what will change and by how much. I am encouraged by the response. I…
This article explains how to correctly handle filenames in Bourne shells (the primary shell of Unix/Linux/POSIX systems), based on the issues discussed in 'Fixing Unix/Linux/Filenames'. Many programs fail to work properly on filenames that include spaces, begin with dash (-), include newlines, and so on, because…
I heard about these mythical programs that find optimal code through a brute-force search, but I didn't know how they worked. So I made one.
You had things running with occasional glitches and there was always an excuse “It works in my machine” as there is rarely identical…