FTX – The fraud was in the code
The jury got a taste of code review as they examined a falsified "insurance fund" and the infamous FTX → Alameda Research "backdoor".
The jury got a taste of code review as they examined a falsified "insurance fund" and the infamous FTX → Alameda Research "backdoor".
Designing APIs is hard. Designing good APIs that future people will not instantly classify as "total crap" is even harder. There are typical...
A year or two ago, I wrote a parser for an undocumented file format as part of a larger project. This was somewhat challenging and I wanted to share my approach because I thought it was a neat idea that worked well.
We investigate how the data cache influences the performance of your program, talk about ways for you to write faster programs by better leveraging the data cache.
A recent issue in scalar multiplication makes for a good case study of how unsafe interfaces, undocumented assumptions, and time lead to vulnerabilities.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
In my last post about Zig and Rust, I mentioned that Rust is a scalable language. Let me expand on this a bit.
~4 lines of Go to produce succinct, stable, URL-friendly slugs from timestamps.
We write about Windows Internals, Hypervisors, Linux, and Networks.
This was a post on [Quora](https://qr.ae/pG0hvt) and I thought I have more to say than I can write in a reply, so here goes, a blog article inst...
Every March, developers worldwide each try to make a roguelike game in less than 168 hours as part of the 7DRL Challenge . Roguelike games are hard , involving procedural level generation, pathfinding, line-of-sight algorithms, and more dijkstra maps than you can imagine.
There are many legitimate arguments to be had about performance, but there are also plain old excuses. It's time to end the excuses.
A contemplation of how feature management tools might evolve to better support how feature flags are used in practice
Don’t want a big old bloated multi-kilobyte executable with a data segment, but you do need to store some data?
This is the first part of a series of posts on big changes for SymPy with particular focus on speed. What I am going to describe in these posts are:
Earlier this year, I lost the ability to use a keyboard and mouse for extended periods. Fortunately, this wasn't as catastrophic as it sounds! This article chronicles my experience using adaptive tools like dictation and eye-tracking as my primary mechanisms for writing code.
The Lua programming language is unusual among its peers. It’s a dynamically typed, scripting language with a really small core (100-200kB), but runs efficiently, has far simpler semantics than other similar languages, and is just as old as the giants like JavaScript, Python, and Ruby – first made in a research lab…
Chronicling, plugin systems, and six other disjointed ideas combine in an argument of how to "engineerize" software more
My paper P1144R8 “std::is_trivially_relocatable” has, in the past few months, been joined by three(!) papers out of Bloomberg:
Recently I’ve stumbled upon a video about Kakoune, a code editor: Idiot user tries to use Kakoune (for notes? Also Helix?). Funnily enough, I was mentioned in this video, which was a surprise, and made me laugh for quite a while: Let’s go back to the official plugins page.
In this series I'll be documenting my journey learning Nix and this first installment is more of a prequel. A common complaint when learning Nix is that the documentation "is not good", and I think what people mean by that is that the documentation is spread across several sources which may or may not be easy to find…
Inserting and updating data with a single query.
trurl is a tool in a similar spirit of tr but for URLs. Here, tr stands for translate or transpose. trurl is a small command line tool that parses and manipulates URLs, designed to help shell script authors everywhere. URLs are tricky to parse and there are numerous security problems in software because of this. ……
A blog about game engines, graphics, C++, and more.
My last article had tips for for arena allocation . This next article demonstrates a technique for building bespoke hash maps that compose nicely with arena allocation. In addition, they’re fast, simple, and automatically scale to any problem that could reasonably be solved with an in-memory hash map. To avoid…
BASIC is often dismissed as an inferior language compared to its successors. Common complaints are its use of line numbers, its heavy reliance on GOTO for execution flow, and its lack of a stack for local variables. What many critics overlook is that at the time of its use (during the first wave of home computers)…
What I write about my own personal journey is intended as just that—my personal journey.
A coding question, from the viewpoint of an Google/Amazon/Microsoft interviewer