Jonathan Aldrich
jonathanaldrich.bsky.social
Jonathan Aldrich
@jonathanaldrich.bsky.social
Professor at Carnegie Mellon University, working on programming languages and software engineering. Coauthor, Programming Language Pragmatics (videos: https://tinyurl.com/PLP5vids). CTO of noteful.net ACM Publications Board member. He/him.
Pittsburgh folks: my daughter Evelyn is home from college and dancing with Bodiography Contemporary Ballet Company tonight at 7:30pm at the Kelly-Strayhorn Theater. Should be a great program! Tickets are available at kelly-strayhorn.org/events/bodio...
Bodiography Presents: Intersections - Kelly Strayhorn Theater
An evening of contemporary dance performed by Maria Caruso’s Bodiography.
kelly-strayhorn.org
November 22, 2025 at 7:12 PM
How does garbage collection work?

My latest programming language pragmatics video describes reference counting and tracing garbage collectors, along with variants such as mark-and-sweep, copying, generational, conservative, incremental, concurrent, & parallel collectors.
November 22, 2025 at 4:32 PM
Ok, I think I have a possibly better idea: talk badges! Like artifact badges, but they'd certify the talk quality based on an audition or video. Equally useful to audiences & a great incentive, but less exclusionary.
Proposal to address bad talks at conferences:
* If you get a conference paper accepted at a conference, you have to apply to present.
* Presentations are judged on presentation quality only -- not content of the paper. The content was already judged good enough.
November 22, 2025 at 2:31 PM
Proposal to address bad talks at conferences:
* If you get a conference paper accepted at a conference, you have to apply to present.
* Presentations are judged on presentation quality only -- not content of the paper. The content was already judged good enough.
November 21, 2025 at 6:12 PM
Need HotCRP bidding language. Example program:

bid=-99 where "LLM" in abstract
November 20, 2025 at 1:36 AM
A dangling reference can ruin your whole day!

Learn what dangling references are, and how tombstones, locks, and keys can help find these bugs in my latest Programming Language Pragmatics video!

PLP 8.5 part 3: Dangling References - youtu.be/GpS9xSHjo3k
PLP 8.5 part 3: Dangling References
YouTube video by Jonathan Aldrich
youtu.be
November 18, 2025 at 1:13 PM
Currently preparing Programming Language Pragmatics slides on JavaScript's prototype-based object model.

Teaching interesting object models gives me joy!
November 16, 2025 at 2:05 PM
A recursive type is a type that has references to other objects of the same type. Recursive types support heap data structures like lists and trees. Learn about recursive types in different languages and how typechecking works in my latest Programming Language Pragmatics video!
November 15, 2025 at 3:42 AM
Reposted by Jonathan Aldrich
Lots of folks captioning aurora photos like "for a few minutes we didn't think about politics"

guess I'm built different, every time I'm out trying to see night sky stuff I frequently think about how much light pollution is entirely preventable with just a tiny bit of regulation
November 13, 2025 at 10:03 PM
Some people say live captioning in talks are like "curb cuts"--an accessibility improvement that helps everyone.

Except it doesn't! It actively harms some people (including me).
November 10, 2025 at 11:58 PM
Had a great time hosting MSE Game Night last night. We played Mysterium, Code Names, RoboRally, Dominion, Kingdomino, and Power Grid. Thanks to everyone who came out (40+ Master of Software Engineering students), you made it fun!
November 9, 2025 at 8:26 PM
Reposted by Jonathan Aldrich
“I want you to understand what it is like to live in Chicago during this time.”

aphyr.com/posts/397-i-...
November 9, 2025 at 5:26 PM
Pointers are dangerous, yet powerful!

Languages provide them to support linked data structures and to provide efficient access to objects on the stack. Check out my latest Programming Language Pragmatics video, which talks about pointers and their static and dynamic semantics.
PLP 8.5 part 1: Pointers
YouTube video by Jonathan Aldrich
youtu.be
November 7, 2025 at 6:43 PM
How do arrays work?

My latest Programming Language Pragmatics video talks about layout options for multidimensional arrays, array slices, and index computations. I also talk about built-in string and set datatypes, including super-cool bit vector representations. Check it out!
November 5, 2025 at 3:12 PM
Maduro stole the last election in Venezuela. By all rights he should be deposed. But should the US do it?

www.journalofdemocracy.org/articles/how...
How Maduro Stole Venezuela’s Vote | Journal of Democracy
Nicolás Maduro brazenly stole Venezuela’s 2024 presidential election, despite a free, fair, and transparent ballot count that showed a clear opposition victory. Why would an autocrat want to maintain…
www.journalofdemocracy.org
November 4, 2025 at 9:08 PM
Halloween 2025 - Claire and Jamie!
November 3, 2025 at 5:08 PM
Unions are data types that can hold one of several different representations at run time - allowing you to represent data structures with different variants, or in systems code, interpret the same bytes in two different ways. Learn all about unions in my latest Programming Language Pragmatics video!
November 3, 2025 at 1:08 PM
Reposted by Jonathan Aldrich
FBI: "We didn't zip tie children."

REPORTER: "Here's a photo of a zip tied 14 year old."

FBI" "OK, we didn't zip tie YOUNG children."
October 31, 2025 at 7:30 PM
How to records work in programming languages?

My latest Programming Language Pragmatics video covers it all: record syntax, operations, semantics, (sub)typing, and run time layout!

PLP 8.1: Records - youtu.be/qgG555CJPmM
October 31, 2025 at 12:01 PM
Great article from @publicsource.org on how campus policy at CMU has shifted against free speech. First limits on "unregistered" speech events at CMU, now possible limits on what students can write on The Fence. Free speech is precious & worth protecting!

www.publicsource.org/cmu-expressi...
CMU made protesting on campus harder. A year later, even debate is difficult.
At CMU, “expressive activities” on campus of over 50 participants must register with the university. Some worry the policy is chilling campus speech.
www.publicsource.org
October 30, 2025 at 2:50 PM
How can we reuse one function with multiple types?

Polymorphism! My latest Programming Language Pragmatics video covers polymorphic (generic) types: type checking, implementation strategies, type constrains, and polymorphic type inference.
October 29, 2025 at 4:02 PM
How do we check that types are compatible in a program?

My latest Programming Language Pragmatics video talks about type compatibility and structural vs. name equivalence, as well as coercions and how to insert them.
October 27, 2025 at 4:34 PM
Reposted by Jonathan Aldrich
Chatbots — LLMs — do not know facts and are not designed to be able to accurately answer factual questions. They are designed to find and mimic patterns of words, probabilistically. When they’re “right” it’s because correct things are often written down, so those patterns are frequent. That’s all.
June 19, 2025 at 11:21 AM
Is it weird that I don't care about this?

I have no attachment to the old East Wing. The public doesn't see it. Every president renovates/remodels some. Trump's changes are kind of chintzy, but the next president will probably fix most of that. A ballroom will probably be useful.

So...big shrug?
The White House thing is such a disaster for them. The most potent political emotions are mass anger, visceral disgust, sense of lost, and nostalgia, preferably supported by images, and somehow they’ve triggered all of it at once. And now it’s gone, can’t be stopped, and they have to build a palace.
October 25, 2025 at 3:21 PM
Reposted by Jonathan Aldrich
Watch this.

Open your eyes to this brutality.

ICE beats up, drags & abducts this disabled visually impaired man.

Now share this.

Everyone must see the brutality of this administration & ask themselves what they are doing to push back.

You have power.

Even sharing this video exerts that power.
October 24, 2025 at 2:58 PM