Latches in C++20
Latches and barriers are coordination types that enable some threads to wait until a counter becomes zero. You can use a std::latch only once, but you can use a std::barrier more than once. Today, I have a closer look at latches.
The latest blog posts to take off on Hacker News. 3,709 posts.
Latches and barriers are coordination types that enable some threads to wait until a counter becomes zero. You can use a std::latch only once, but you can use a std::barrier more than once. Today, I have a closer look at latches.
Official website for flow-based programming
Welcome! This is a series of blog posts that shows you how to build a text editor in Rust.
Rewriting programs in Rust has become a bit of a meme and one program that has been discussed a lot is cURL .
After working through “the book” on the Rust programming language and getting started with the first non-trivial, real-world application I found myself faced with a question I didn’t yet feel well-equipped to handle: “How should you structure error handling in a mature rust application?”
Earlier today Rich Hickey let the cat out of the bag that I’m joining the Clojure Core development team.
A new standard for travel on Crete. The official digital gateway to the island's untamed soul. Experience the future of Greek tourism.
Profiling Emacs and writing some Lisp to work with a 70000-file monorepo.
I'm a technologist with a focus in ecommerce, GenAI, and developer productivity. I enjoy building reliable and fast software, and helping others to do the same.
This post is for all of the miscellaneous features that arent large enough to get their own individual posts. If you havent read all of them, here are the links to the previous posts on recompilation , inspection , class … Read the rest
?- learn(prolog).
Why not the programming language I'm already using or some other language? What makes Clojure uniquely well-suited for modern software development? Instead of…
Once upon a time, someone with the handle “entha_saava” posted this question on Hacker News :
In order to increase fluency in a programming language, one has to read a lot of it. But how can you read a lot of it if you don’t know what it means? In this article, instead of focusing on one or...
What happens when we get or set an attribute of a Python object? This question is not as simple as it may seem at first. It is true that any...
You can’t really know where you are going until you know where you have been. – Maya Angelou CIDER started its life as an effort to replace a hacked version of SLIME1 with a proper environment for Clojure development on Emacs. Many of you probably don’t remember those days, but initially almost everyone was using a…
A few days ago on Christmas day 2020, Matz released Ruby 3.0. Like every year, a host of interesting new features was included with the new version. Most articles I have read so far focus more on the new ways to introduce type hints and the Ractor system but for me the most interesting addition was the introduction of…
We'll explain the concepts underlying LLVM IR, and how you can use the LLVM C++ API in your programming language's compiler.
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…
About two years ago, I wrote a quite complicated diff tool in Clojure. It was complicated enough that I struggled to fit the algorithm in my head and the inputs were large enough that I had to make some efforts to improve performance.
Update: See the Hacker News thread , /r/programming , /r/ProgrammingLanguages , /r/gamedev , and /r/lisp posts for discussions on this article and Cakelisp.
Some time ago, I wrote a blog post about how there’s more to a pointer than meets the eye. One key point I was trying to make is that just because two pointers point to the same address...
An overview of a paper that presents a reference implementation of a defer mechanism (co-authored with Robert C. Seacord) has been accepted for publication at SAC’21. The full version is avai…
Rust has an amazing dbg macro that lets you quickly set up an expression printer that will also put in the source line. It also returns the value of the expression so you can even easily inline the printing when you want to!
A dive into the unknown personal and academic history of the mathematician who developed combinators, Moses Schönfinkel.