Cool! I had been thinking about trying this as well, after reading about the idea in one of Cosma Shalizi's notebooks [0]. I'd love to see how something like this performs when "trained" on a corpus the size of the web when given the same kind of computational resources used to train modern LLMs.
Worth noting that the release announcement was written by Eli Bendersky, of https://eli.thegreenplace.net/ fame. It's a fantastic technical blog with literally decades of content.
About once a year I see a cool new programming font and decide to try it out. Then, shortly after, I invariably switch back to DejaVu Sans Mono.
I suspect that if I gave myself more time to acclimatize to the new font, I might even grow to prefer it. That, or perhaps DVSM is simply the perfect font for me.
I knew what this was going to be as soon as I saw "aux.h" in the screenshot.
Some years ago I was working on an embedded system that involved DisplayPort. For those unaware, DP's control channel is called AUX. One day, my new co-worker who used Windows asked me, who used Linux, why my AUX-related code wasn't checked in - which it most certainly was.
And that, folks, is how I learned about this absurd property of Windows that exists to this day.
OS filename issues and checking in code reminds me of an 8-hour mess I got myself into due to OS X deciding that filenames are case-insensitive, and git knowing that they are not...
I have had funny experiences copying files from Linux to a NTFS partition, because NTFS is actually case-sensitive, but Windows itself is not, so you suddenly end up with two files that differ only by case and you can't delete or rename them (but funnily enough they show fine on Explorer).
Statecharts (also called hierarchical state machines) are essentially generalized state machines which allow for nesting and parallel composition of states. The 'nesting' part is my favourite, since it allows one to delegate event handling logic shared by multiple states to a 'parent' state, reducing code duplication.
The great thing about this paper is that you can glean most of its key ideas by just looking at the diagrams.
Exactly. UML looked like over-complicated crap when I saw it after reading on Statecharts and Yourdon. The latter are still in use on occasion in high-assurance with Tenix's Dats Diode being an example.
"Because USB keyboards don't support arbitrary numbers of keys being pressed at once."
There is actually nothing in the USB or HID specifications preventing USB keyboards from supporting n-key rollover (when using the report protocol -- keyboards using the boot protocol are limited to a 6-key rollover). The reason most don't is simply to reduce cost and complexity. A sufficiently motivated person could build a USB-compliant keyboard that supported an arbitrary number of simultaneoue keypresses, and some do (e.g. http://www.maxkeyboard.com/max-keyboard-nighthawk-x9-red-bac...).
Unfortunately, specifications are great, but in actuality you have to take a look at what is implemented as opposed to what is supposed to be implemented.
In particular, if you try to go over 6-key rollover, good luck. You end up having to, and I'm not making this up, emulate a USB hub connected to multiple keyboards. It's absurd. And all because of the following:
"However, the compatibility version of HID that all present systems implement limits USB keyboards to reporting a mere six regular keys together with four modifiers. Additional keys pressed beyond the limit will generally cause some of the other keys to be dropped." [http://deskthority.net/wiki/Rollover,_blocking_and_ghosting#...]
(Effectively, instead of doing make:key / break:key packets, the compatibility version of HID does current_keys_pressed:[array of 6 keys]. Why they didn't stick with the make/break of the PS/2 protocol is beyond me.)
Apparently there are all kinds of interesting bugs out there in the wild that you run into if you actually build a USB keyboard with full n-key rollover - enough that most manufacturers just emulate two keyboards and call it a day.
[0] http://bactra.org/notebooks/nn-attention-and-transformers.ht...