Firefox 64 built with GCC and Clang
One of my tasks (as GCC maintainer of the inter-procedural optimization framework) is to make sure that it works well with real world progra...
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 14,541 posts.
One of my tasks (as GCC maintainer of the inter-procedural optimization framework) is to make sure that it works well with real world progra...
I think we all knew this might be coming once we finished up with our assembler . While we can in theory solve any computable problem by writing the appropriate assembly for our assembler, writing assembly code can be a bit more cumbersome than a high-level language. There is a reason why we did not write our…
I wrote a specification for a new terminal escape sequence: OSC 7501, the Program Status Protocol . It lets any program tell the terminal what it's doing: idle, working, waiting on the user, finished, or failed, and why.
Hamidreza Soleimani's Blog - Just about what I know
In 2005 Intel release the Pentium D, which began the era of multi-core desktop CPUs. Today, even our phones have multiple cores. Making useof all of those c...
Copy-on-write B-tree finally beaten by Andy Twigg, Andrew Byde, Grzegorz Mi?o´s, Tim Moreton, John Wilkesy and Tom Wilkie.
I keep coming across people who consider parser technology a forbidding, scary field of programming. This is nonsense—a small parser can be very, very simple , and provide a wholesome exercise in recursive thinking. At the same time, it is true that you can make parsing extremely complicated. Mostly, this tends to…
I’m building a toy HTML rendering engine, and I think you should too. This is the first in a series of articles:
Thread pools! How do I use them?
How to program the Commodore 64 in BASIC, Assembly or C using Microsoft Visual Studio Code on Mac, Windows and Linux!
tl;dr: I make a petty point about premature optimization; don't go out and rewrite your switch statements as binary searches by hand; maybe do rewrite your jump tables as switch statements, though.
The most recent Smarter Every Day (#172) explains a phenomenon that results from rolling shutter . You’ve likely seen this effect in some of your own digital photographs. When a CMOS digital camera captures a picture, it reads one row of the sensor at a time. If the subject of the picture is a fast-moving object…
Even though I am a C++ programmer at heart, Go fascinates me for none of the reasons you think. Go has made several interesting design decisions:
A lot of application use systems like Kubernetes for their deployment. In my humble opinion it is often overkill as system, that offers most of the stuff such thing provide, is already present in your OS. In this article I will try to present how to utilise the most popular system supervisor from Elixir applications.
A summary of Linux profiling/monitoring tools
One feature of Rust that I'm rather enamoured with is its macro system. Known as "macro by example" (MBE) or sometimes referred to as macro_rules , it provides you with an impressive amount of power whilst not allowing for the sort of evil tricks you can pull in C/C++.
Covers general elements of computer hardware useful to know before reading the rest of the tutorials
Homepage of Carlin Eng
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…
👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into 12 main parts: Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless The…
Svelte is a new style of framework for building sites and apps. Let's dive into what makes it different, why it's so enjoyable, and how it's able to ship such tiny, fast apps.
I've been building enterprise Java web apps since servlets were created. In that time the Java ecosystem has changed a lot but sadly many enterprise Java…