Brain Oriented Programming
Write code that's compatible with how your brain works.
The latest blog posts to take off on Hacker News. 14,543 posts.
Write code that's compatible with how your brain works.
I show how to use heterogeneous lists and traits to implement a type-safe printf in Rust. These mechanisms can ensure that two variadic argument lists share important properties, like the number of format string holes matches the number of printf arguments.
Personal Blog of Christian Haschek
Today, I wanted to see if I could out-compile my C compiler. I added a hand-compiled assembly version of echo from our previous coding exercise and added a new make target, make asm , that will assemble it. Let's look at our hand-compiled assembly and compare it to our C compiler and ask whether or not it was worth it.
Never use a dependency that you could replace with an afternoon of programming.
We’ve all seen them. They drive the rest of the team crazy. How can we use them to our advantage?
Easy to follow guide to building SPAs using Rust, WebAssembly and Yew
This JavaScript demo application visualizes in detailed steps, how a text string is encoded into a QR Code barcode symbol. The content of this page essentially explains and justifies how my QR Code generator library works internally.
Seam carving is a technique for content-aware resizing, which changes the size of an image while attempting to preserve the interesting content of the image. The basic idea behind the technique is to remove low-energy seams: paths of pixels that are similar to their surroundings. A removed seam can be either vertical…
An appropriately annoying strategy for dealing with wiki rot at a company.
Short answer: because we said so.
I am planning to create a series of blog posts that includes some literature research, implementation of various data structures and our journey of creating a distributed datastore in distrentic.io.
Why buy an expensive desktop computer when your iPhone is a faster SMT solver?
Continuing on from our tiny snake game , let's explore more into how binaries work on Unix. Let's figure out how our programs come to obtain their argc and argv parameters.
So far everything we’ve done with breakpoints involved us creating a breakpoint file and using this to automate part of a track. Now we’ll take a look at how we can take an existing track and extract some breakpoints from this. For this post, we’ll take a look at extracting the amplitudes from the .wave files, as this…
If you read a description of a static analysis in a paper, what might you find? There’ll be some cute model of a language. Maybe some inference rules describing the analysis itself, but those rules probably rely on a variety of helper functions. These days, the analysis likely involves some logical reasoning: about…
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
I've been wanting to write a big project in Rust for a while as a learning exercise, and actually started one in late 2018 (a FUSE server implementation). But then life happened and I got busy and never went anywhere with it. Due to certain world circumstances I'm currently spending a lot of time indoors so rust-fuse…
Django is currently the most commonly used full-stack web framework for Python. It has been around for a good 15 years, emerging as a winner from a period in which Python was already mature, but its web development tools were comparatively much more immature and fragmented.
Perhaps the most interesting part of the open RISC-V instruction set architecture (ISA) is the vector extension (RISC-V "V"). In contrast to the average single-instruction multipe-data (SIMD) instruction set, RISC-V vector instructions are vector length agnostic (VLA). Thus, a RISC-V "V" CPU is flexible in choosing a…
Over the last year, my 13 year old nephew developed a love for hacking. From anime chat , to snake , a minimal twitter , a blog , to an anime music startup , he’s built some cool stuff (1). What I’m most proud of though, is that he’s done this with self directed play, rather than with a rigid curriculum.