What would happen if two chess AIs faced each other?

If two chess AIs faced each other, what would happen? What if they always played the most optimal move and never made a mistake?

An Introduction to the Cache Coherence Problem

As I was finishing up the spring semester in school, I have also been asking around to find a professor who would be interested in either sponsoring an Independent Study or working with me on research on systems programming or operating systems. I have found one professor who is interested in doing research with me on his current project on TLB coherence1 and cache coherence. I have been reading papers and a textbook on the topic and I find it pretty interesting, so that is what this blog post will be on.

  1. As in this paper, I will be referring to the maintenance of coherence between the TLB and page tables as “TLB coherence” because it is very similar to cache coherence, and not “TLB consistency” as is usually used. 

A Beginner's Guide to x86 Assembly, Part 2 of 2

In the previous part of this series the main topics of x86 assembly programming such as the call stack x86 calling convention were introduced. In this final part we will apply that knowledge to write our RPN calculator.

A Beginner's Guide to x86 Assembly, Part 1 of 2

Writing bare assembly is rarely necessary these days, but I definitely recommend it for anyone interested in programming. Not only does it offer a different perspective compared to higher-level languages, but it may prove to be useful when debugging code in other languages.