The alpha version of my new book "Optimal Transport
for Machine Learners" is out, with in particular an online version with interactive figures
gpeyre.com/ot4ml/
Ayoub Bouaddi is one of the standout talents at the World Cup 🇲🇦
The Moroccan midfielder had an impressive debut vs Brazil (stood tall against Casemiro, Fabinho & Paquetá).
Lille tied him down until 2029, but Premier League clubs are now circling. Big summer ahead!
A free MIT course breaking down fundamental math concepts in computer science: bit.ly/4kXuqQ6
Here, MIT prof. Erik Demaine breaks down state machines (Lecture 4).
v/@MITOCW
One of the aha moments I went through with Verilog HDL is that you're not writing a program, but describing a circuit. Took me time to develop intuition about what hardware my code was synthesising to on FPGA. Here's a classic example with blocking vs. non-blocking assignments:
If you're starting with FPGAs, take a look at implementing I2S - a simple, useful protocol to read data from an I2S mic or generate digital audio and send to an I2S amp. The spec provides reference circuits you can follow, or you can take the behavioral modeling approach. Spec:
switching from x86 to ARM: ISE and iMPACT work well in QEMU, with FPGA build and JTAG working fine, although not as fast as a native x86! maybe it's because of the shared file system, not sure, I need to investigate more... 🤔
In FPGA designs you will sometimes need a one clock pulse (called a strobe) at a lower frequency. Eg. baud rate generator for UART, I2S clock, etc. ZipCPU has a great technique for this which I have used many times: The Fractional Clock Divider. Read about it here:
AI sucking the joy out of programming is making me turn to retro computers🙂. Here's an interesting 2004 student project from MIT:
The Design and Implementation of the Nintendo Entertainment System.
CPU PPU VGA implemented on FPGAs. PDF link:
Integration by parts turns products of functions into simpler integrals.
If u(x) and v(x) are continuously differentiable, then ∫u dv = uv − ∫v du.
Use the ILATE rule to pick u: Inverse, Logarithmic, Algebraic, Trigonometric, Exponential.
Example: ∫(log x)⋅1 dx = x log x − x C.
Engineers rely on it to compute work from variable forces in physics and to solve signals in electrical and mechanical systems.