The screenshot shows a software called "WebSerial Audio Studio". I couldn't find it, only https://serial-studio.com/ which also looks great (and has an open source edition). Does anyone know if it is the same? Looks pretty handy. Microchip had something not so sophisticated years ago.
Yes, that brings back the memory of working through books by Andre LaMothe and implementing little games in DOS with C and a little bit of Assembler. I believe there was a very primitive graphics library included in Borland C, but it was not that useful for this task.
Andre LaMothe showed me the wonder of alternative graphics memory layout like Mode 13h and Mode Z. Though it confused teenage me at the time why you would have four memory segments each dealing with (offset %4) bytes in a line-oriented graphics buffer, it was magical when it worked and was one of the first times I had to let the code just work and move on.
Double buffering was an understandable neat trick and one that would have taken me a bit longer to discover on my own. He also had a custom controller wired through the printer port and some C+ASM for interfacing with it.
I had three of his books, I think the Black Art book was constantly on my desk in the 90s.
Abstract:
Rhombus is a new language that is built on Racket. It offers the same kind of language extensibility as Racket
itself, but using conventional (infix) notation. Although Rhombus is far from the first language to support
Lisp-style macros without Lisp-style parentheses, Rhombus offers a novel synthesis of macro technology that is
practical and expressive. A key element is the use of multiple binding spaces for context-specific sublanguages.
For example, expressions and pattern-matching forms can use the same operators with different meanings and
without creating conflicts. Context-sensitive bindings, in turn, facilitate a language design that reduces the
notational distance between the core language and macro facilities. For example, repetitions can be defined and
used in binding and expression contexts generally, which enables a smoother transition from programming
to metaprogramming. Finally, since handling static information (such as types) is also a necessary part of
growing macros beyond Lisp, Rhombus includes support in its expansion protocol for communicating static
information among bindings and expressions. The Rhombus implementation demonstrates that all of these
pieces can work together in a coherent and user-friendly language.
I liked the 32F746GDISCOVERY which is $56 at Digikey. It has a Cortex-M7 CPU, 1 MB built-in flash, 8 MB of SDRAM, and a 480x272-pixel touchscreen. Games can go on a microSD card. There's a USB OTG port you can use for input.
A low-res screen like this works well because the chip can't rescale its video output.
ST provides libraries for all the peripherals so it's pretty easy to jump in if you know C. I think microPython works on a lot of these boards, too.
I am curious why a curriculum in the US includes four courses on calculus. Why isn't this just part of maybe three analysis courses for undergraduate studies?
Those are practical courses, meant to prep for linear algebra and differential equations — and various STEM tracks. As I recall, there were some proofs (eg, limits showing derivative rules; limits showing sums for integral rules).
We covered all the proofs in real analysis 1 (derivatives; sequences) and 2 (integrals; measure).
Just to add to this that AD was also a game changer for the banks in terms of necessary computing power and the time it needs to do these calculations. Antoine Savine describes this well in "Modern Computational Finance: AAD and Parallel Simulations", if someone is interested in this topic.