サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
www.mattkeeter.com
In modern times, everyone knows that writing assembly is a fool's errand: compilers are the result of literal engineer-centuries of work, and they know the processor much better than you do. And yet – one hears rumors. Written in ancient tomes, muttered in quiet watering holes, scrawled on the walls of bygone temples, hinted at by mysterious texts; the rumors paint a specific picture: Compilers ar
I've been writing a lot of AArch64 assembly, for reasons. I recently came up with a "clever" idea to eliminate one jump from an inner loop, and was surprised to find that it slowed things down. Allow me to explain my terrible error, so that you don't fall victim in the future. A toy model of the relevant code looks something like this: float run(const float* data, size_t n) { float g = 0.0; while
I recently found myself needing a very fast register allocator for very simple code. There's a huge amount of academic research on the subject, dating back decades, and just as many published implementations; my specific implementation – while not fundamentally novel – landed in an interesting-enough part of configuration space that it seemed worth writing up. The system has one big limitation: it
Physical Like many of you, I've got hardware on my desk that's sending UDP packets, and the time has come to take a closer look at them. Most "low-level" networking tutorials will bottom out somewhere at "use tcpdump to see raw packets". We'll be starting a bit lower in the stack; specifically, here: This is a high-speed active differential probe soldered to an Oxide Computer Company rack switch.
A few days ago, a fascinating article about Grand Theft Auto Online made the rounds of the tech news ecosystem. I'd encourage you to read the whole thing, but in short, GTA Online had accidentally quadratic performance when parsing a large JSON blob (due to repeated calls to strlen); fixing this improved loading time by almost 70%. This sparked a great deal of discussion: Was this C's fault? Perha
A multiplayer board game in Rust and WebAssembly Click to play! Pont is an online implementation of Qwirkle, a board game by Mindware Games. It was written for my parents, so they could play with friends and family during the COVID-19 stay-at-home era. Play is split into rooms, which are identified by a three-word code (size moody shape in the image above). Within each room, the game distributes p
Motivation In CAD software, we often want to express constraints, e.g. Point a is 10 cm from point b Line g is perpendicular to line h Line t is tangent to arc c Drag points in the systems below and see what constraints are obeyed: In general, constraints can be expressed as systems of equations. Given a system of equations, e.g. $$ (2x + 3y) \times (x - y) = 2 $$ $$ 3x + y = 5 $$ How would we go
About The CAD systems that I design use functional representations to represent solid models. These f-reps need to be converted into meshes before they can be used in other programs (e.g. to be manufactured on a 3D printer). There are many meshing algorithms in the literature, but we want one that is: Watertight (without any cracks) Hierarchical (avoids many tiny triangles) Feature-preserving (cor
overview A CAD program like Antimony has to keep track of many small pieces of data. For example, a 2D point has x and y coordinates: One of the major design decisions in Antimony is that every datum is a piece of code. This means we can put arbitrary expressions into the point's coordinates. Object properties are also free to refer to each other, with the graph acting as a local namespace. Given
about Antimony is a computer-aided design (CAD) tool from a parallel universe in which CAD software evolved from Lisp machines rather than drafting tables. demo foundations Antimony is built on three mostly-orthogonal axes: A framework for tracking information flow through directed acyclic graphs A geometry engine for doing CSG A standard library of shapes and transforms Graph engine Solid modelin
このページを最初にブックマークしてみませんか?
『www.mattkeeter.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く