Trying to understand things.

When a Loop Becomes an Integer Problem: Presburger Reasoning in MLIR Affine


How MLIR models affine loops with integer constraints to answer dependence, projection, and transformation-legality questions.

The Commoditization of Competence: Depth is the Only Hedge Against AI


If you spend five minutes on Tech Twitter, you’ve heard the narrative: The era of the “Generalist” is here.

The prediction goes like this: With AI, a single person can now be a coder, a designer, a marketer, and a legal team all at once. We are told that the future belongs to the One Person Unicorn the person who is good enough at everything to create a billion dollar company.

How to Talk About Programming Languages?


Talking about programming languages is challenging when you’re “just” a user. The important discussions about programming languages typically require deep knowledge of PL theory, something most of us don’t have. But once a language moves beyond academia and gains a user base in common programming domains, it becomes a product. And like any product, users have the right to discuss it without deep technical knowledge.

While we can discuss languages without PL theory knowledge, we should do it thoughtfully, not just to respect language developers, but to better understand the nuances that benefit us as developers. Many features that start in niche languages eventually make their way into mainstream languages. By understanding the motivations of PL researchers and recognizing what makes certain features valuable, we can help shape better mainstream languages. In this article, I’ll explore what makes a language “good” and how to recognize good languages when we encounter them.

Hey


I’m alive! Is this post visible? Let’s find out!