Posts

Reversi for Android and Certabo Electronic Boards

Image
I posted a brief instructional video for my Reversi for Android application. I also show how to connect this app with any of the Certabo electronic boards. Even though these boards are typically used for chess, the identifying chips make the boards, in principle, suitable for any 8x8 game. In past videos, I showed using Certabo boards with Chess and Checkers for Android. But the latest video discussed using the boards for reversi. And, yes, you will need 2x64 identifying chips for this experiment!

Millennium Supreme Tournament 55 (video)

Image
I posted a brief instructional video on how to use the new Millennium Supreme Tournament 55 electronic chess board with my Chess for Android application .

Millennium Supreme Tournament 55

Image
Millennium has released the Supreme Tournament 55 electronic chessboard. The board and the American Staunton style pieces are handmade from real wood. And, like all Millennium electronic chessboards, using the Chesslink module, this board works well with my Chess for Android application. Overall, a spectacular addition to the Millennium electronic boards family!

Exhaustive State Space Search for Efficient Code Generation

A long time ago, in a galaxy far away, I scribbled down some notes on how to use Prolog to exhaustively search for the best assembly instruction sequences that perform particular data manipulations, in particular for SIMD. And although I actually used such an approach to verify whether code examples shown in The Software Vectorization Handbook were truly optimal, I always thought the ideas were too thin for actual publication. However, now that ML-to-optimize-ML is becoming popular, I was hoping that perhaps a few people would be interested in reading about ideas from a simpler time, when AI still meant Prolog and expert systems and such. Therefore, I made the notes available as arXiv white paper .

Podcast: What Can You Tell Me About Software?

Thanks to Faraz and Vasanth for inviting me to their " What can you tell me about software? " podcast. We chatted nicely about compilers, LLVM, MLIR, fuzz testing, and even some #chess! To listen to the podcast, tune in to either  Spotify Podcast ,  Apple Podcast , or Google Podcast .

Intel Advanced Matrix extensions (AMX)

I guess you can never take the Intel out of the boy even if the boy is long out of Intel. A few months back, I had lots of fun making sure MLIR's code generation maps to efficient AVX512 instructions. This week, I thoroughly enjoyed designing and implementing a MLIR dialect for Intel Advanced Matrix extensions (AMX) with integration tests that run correctly on a Sapphire Rapids emulator. Staring at some x86 assembly instructions, it does not get much better than that....

New Features During Thanksgiving Break

Image
Work has been a lot of fun, but very busy. As a result, I had not worked on my Android games (or other hobbies) for a very long time. This Thanksgiving break, therefore, I decided to take a few extra days off, and add some long overdue new support in my games. For Checkers for Android, I finalized the support to connect an electronic board (just as was already done in the chess app), in particular for Certabo. The Certabo boards , mainly intended for chess, ship with 34 identifying chips that can be attached to any piece set, typically a full chess set with two additional queens). However, due to the flexibility of the chips, these boards can also be used for other 8x8 games, such as American checkers (enabling a full checkers set with ten additional kings). Version 3.1 brings this support to Google Play . For Chess for Android, I added timer support for the DGT3000 chess clock . Up to recently, I only used the clock to prompt the most recently played move (with a beep to alert the pla...

Galaxy Watch3 vs. GT 2 Pro

Image
For my first smartwatch, I couldn't decide between the Samsung Galaxy Watch3 and the Huawei Watch GT 2 Pro, so impulsively I bought both, which puts me in a good position to make some comparisons. Both watches look beautiful and provide excellent health features, like tracking heart rate and SpO2. The Galaxy can even record an ECG and blood pressure, although (at the moment?) this only works when paired with a Samsung phone. The rotating bezel control of the Galaxy provides pleasant navigation through the menus. Both watches have wireless charging. The battery life of the GT 2 Pro is amazing! Both watches provide solid default apps, mainly focused around fitness tracking. The GT 2 Pro can also show the rising times of the moon and sun, tidal information, air pressure, and moon phase. The Night Wish face nicely displays the moon phase on the watch together with a star map (I still have to figure out if that rotates though). The Galaxy provides many third party apps through the Galax...

2020 ACM SIGMOD Test of Time Award

Our paper "Pregel: A System for Large-Scale Graph Processing" (authors Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bik, James C. Dehnert, Ilan Horn, Naty Leiser, and Grzegorz Czajkowski) won the 2020 ACM SIGMOD Test of Time Award for its impact over the last decade. I am proud of having been part of that team, and this brings back good memories.

Machine Learning: third book

Image
I am deviating a bit from the originally planned order of reading books as well as from the topic of TensorFlow, but I picked up the next book "Python - Machine Learning" by Wei-Meng Lee anyway from the local bookstore, since it presents some basic technologies that are relevant to ML. As the introduction states, the book takes a gentle approach to the ML topic, but it provides an interesting read nevertheless. First some fundamental Python libraries are presented: NumPy (multi-dimensional arrays), Pandas (Panel Data Analysis), matplotlib/Searborn (data visualization), and Scikit-learn (ML algorithms for classification, regression, clustering, decision tree, etc.). The book provides resources for data sets, discusses data cleaning, and goes over several ML examples for supervised learning (one regression chapter and three classification chapters) and unsupervised learning (one clustering chapter). The book finishes with a presentation of the Azure Machine Learning Studio (...