Compilers and IRs: LLVM IR, SPIR-V, and MLIR

One-Time Programs

Rapidly Solving Sudoku, N-Queens, Pentomino Placement, and More, With Knuth’s Algorithm X and Dancing Links.

Issue #284



Hope you all had a lovely weekend. I spent most of mine working on a SaaS website template I'm going to sell. The premise is you buy it and get access to a code repo for a SaaS website with user auth, admin dashboards, subscription payments, analytics, and monitoring built-in. Scalability is technically built-in too. The process is reminding me how much I dislike doing front-end work though.
I'm also trying to work on my flexibility by squatting on my chair now. Since moving I had to leave behind my walking desk and I can definitely feel a toll being taken on my knees from sitting in the same position all day. Yeesh. Talk of knee pains makes me feel old.
Well enough about me. I wanted to ask you guys to write in to me to tell me about what paid developer/programming tools/services you use. I'm going to try to look for some more sponsors and it would help a ton to get recommendations on stuff you think is great.
Oh someone mentioned that they were having issues opening an article from Uber in the last issue because of localization. The URL would change based on your system's localization and if you had one that didn't exist in Uber's system, it wouldn't load the actual article. Here's a working english version.
Anyway, here's the issue.


Today's Sponsor: Could be you!

Are you or your company interested in sponsoring the newsletter? Feel free to reach out to me by replying to this email or clicking the link above.


Compilers and IRs: LLVM IR, SPIR-V, and MLIR

Published: 8 January 2022
Tags: compiler

Compilers are a type of program that translates code written in one language into another language. Lei Zhang discusses the importance of compilers and how they are structured. He also talks about intermediate representations (IR), which are critical to compilers.
Some highlights:

  • The top concern from compilers is correctness; optimization is always second to that
  • IRs are designed to make transformations easier
  • LLVM decoupled and modularized compilers with LLVM IR and libraries


One-Time Programs

Published: 27 October 2022
Tags: encryption, infosec, research

Matthew Green discusses a new paper on One-Time Programs (OTP), a cryptographic primitive that allows for secure, unhackable software to be sent to and run on any untrusted computer. OTPs are a powerful tool with many potential applications, but they have a fundamental problem in that they require strong model-breaking assumptions to build, which limits their practicality.
Some highlights:

  • The executing computer can only run a OTP once
  • Many realizations of OTPs require the program author to deliver some kind of secure hardware to the person who runs the program
  • OTPs can be used to build devastating ransomware and malware


Rapidly Solving Sudoku, N-Queens, Pentomino Placement, and More, With Knuth’s Algorithm X and Dancing Links.

Published: 30 October 2022
Tags: algorithms, c++

Knuth's Algorithm X is a method for solving exact cover problems. Alan Wolfe dives into the algorithm with some examples to figure out how it works in action.
Some highlights:

  • The goal of an exact cover problem is to find a set of options which cover all items exactly once
  • All NP problems can be reduced to cover problems
  • Dancing links (DLX) is a technique for adding and deleting a node from a circular doubly linked list

How did I do?

5 4 3 2 1


Want to help?

Thank you for reading! If you enjoy the newsletter, I would really appreciate you helping me spread the word by forwarding this to your friends and colleagues or sharing it on social media! Get cool stuff for your referrals using your link

Your referrals:

If you want to discuss or comment on this issue, head on over to this page at A Byte of Coding. You can also subscribe there if you're new!

Have comments or feedback? Just reply to this email or hit me up on Twitter @AByteOfCoding.

Email landed in your promotions tab? Please move it over to primary so you don't miss the latest issues in the future.
Thanks for your Support! 

Big thanks to all of the Patreon supports and company sponsors. If you want to support the newsletter you can checkout the Patreon page. It's not necessary, but it lets me know that I'm doing a good job and that you're finding value in the content.

Stats (updated daily)

Sent: 2995

Opens: 1404

Clicks: 372

Link Clicks Clicks % Unique Clicks Unique Clicks %
Compilers and IRs: LLVM IR, SPIR-V, and MLIR 81 27.46% 84 26.92
One-Time Programs 76 25.76% 79 25.32
Rapidly Solving Sudoku, N-Queens, Pentomino Placement, and More, With Knuth’s Algorithm X and Dancing Links. 138 46.78% 149 47.76


Back to Issues