Blogs / Personal blogs

Miguel Young de la Sota

mcyoung.xyz

It is not uncommon to meet people in real life who know this blog. Just the other day I got to talking to someone who had overheard me discussing some compiler thing with a colleague and asked if they knew mcyoung.xyz , and when they said the recent Go articles were pretty cool, I mentioned it was my blog.

Popular posts
9
Total points
2,065
HN comments
741
Rank
#802 personal

Visit mcyoung.xyz → RSS feedOn Hacker News Aug 2022 – Oct 2025

Software Engineering 8Programming Languages 4Systems & Performance 3History & Retro Computing 1Hardware & Electronics 1Databases & Data 1

2

The Rust calling convention we deserve

I will often say that the so-called “C ABI” is a very bad one, and a relatively unimaginative one when it comes to passing complicated types effectively. A lot of people ask me “ok, what would you use instead”, and I just point them to the Go register ABI , but it seems most people have trouble filling in the gaps of…

3

Parsing Protobuf like never before

Historically I have worked on many projects related to high-performance Protobuf, be that on the C++ runtime, on the Rust runtime, or on integrating UPB , the fastest Protobuf runtime, written by my colleague Josh Haberman . I generally don’t post directly about my current job, but my most recent toy-turned-product is…

4

Why SSA?

If you’ve read anything about compilers in the last two decades or so, you have almost certainly heard of SSA compilers , a popular architecture featured in many optimizing compilers, including ahead-of-time compilers such as LLVM, GCC, Go, CUDA (and various shader compilers), Swift 1 , and MSVC 2 , and just-in-time…

5

3Hz Computer, Hold the Transistors

I’m not really one to brag publicly about expensive toys, but a few weeks ago I managed to get one that’s really something special. It is a Curta Type II , a mechanical digital 1 calculator manufactured in Liechtenstein between the 50s and 70s, before solid-state calculators killed them and the likes of slide-rules.

6

I wrote a string type

I write compilers for fun. I can’t help it. Consequently, I also write a lot of parsers. In systems programming, it’s usually a good idea to try to share memory rather than reuse it, so as such my AST types tend to look like this.

8

What the hell is a target triple?

Cross-compiling is taking a computer program and compiling it for a machine that isn’t the one hosting the compilation. Although historically compilers would only compile for the host machine, this is considered an anachronism: all serious native compilers are now cross-compilers.