The Erlang Rationale
It's been a very long time since the last post. So there have come up questions about the Erlang Rationale. I wrote this over 10 years ag...
It's been a very long time since the last post. So there have come up questions about the Erlang Rationale. I wrote this over 10 years ag...
PHP 7.4 adds typed properties to classes
A long time ago, the Rust language was a language with typestate. Officially, typestates were dropped long before Rust 1.0. In this entry, I’ll get you in on the worst kept secret of the Rust community: Rust still has typestates.
This post describes the C++ Badge template used to enhance member function access control in Serenity Operating System.
In the last few months, I have learned a lot about modern JavaScript and CSS development with a local toolchain powered by Node 8, Webpack 4, and Babel 7. As part of that, I am doing my second “re-introduction to JavaScript”. I first learned JS in 1998. Then relearned it…
The main reasons Go makes it easier (than Java or Python) to write correct, clear and efficient code are discussed in this comprehensive report by an expert Go and Java developer.
Prefer f(void) in C to potentially save a 2B instruction per function call when targeting x86_64 as a micro-optimization. -Wstrict-prototypes can help. Doesn’t matter for C++.
caveat: tthis is not a best-of nor a comprehensive list of Lisp books; it is merely a selection of Lisp books you may not have heard of or that special to me in some way. If you find this post interesting then you might like my yearly best-of posts .
I was asked by someone to put this old piece of writing of mine somewhere more permanent, so here it is. A few comments off the top: This isn’t new. I wrote it years ago. Yes, I’m a b…
Tales of Developing Clojure
I spent this weekend writing a Forth designed for music synthesis, and it reminded me what a joy writing programming languages is! I have a big list of programming language experiments that I want to try, but it's mostly been in my head so far. Here's a living document of some of the languages I want to write.
Ruby apps can use a lot of memory. But why? Various people in the community attribute it to memory fragmentation, and provide two “hacky” solutions. Dissatisfied by the current explanations and provided solutions, I set out on a journey to discover the deeper truth and to find better solutions.
Now that the Cologne meeting is over and we’ve more or less finalized (at least before the NB comments come in) C++20, I wanted to take the time to describe in detail one of the new language features we can look forward to. The feature is typically referred to as operator<=> (defined in the language as “three-way…
Some readers already know this and a few have suspected. I’ve been working on a new R6RS Scheme compiler for a while. Now I have released it as free software. Read on to learn the many wonderful drawbacks of this niche compiler.
This is something I posted on python-ideas, but I think it's interesting to a wider audience. There's been a lot of discussion recently ab...
This post describes a compile-time technique for catching use-after-move bugs in modern C++. It’s currently used to prevent some mistakes in the Serenity Operating System.
Mario Macias' handcrafted blog
Dust3D is a free, open source low poly 3D modeling tool for video games and 3D printing. Features sketch-to-mesh, auto-rigging, procedural animation, and single-tool GLB/FBX export.