In my experience the biggest entropy generator with browser fingerprinting in system fonts. I ran Panopticlick against both my Firefox browser instance (running Ghostery, uBlock Origin, and Privacy Badger) against a Chromium instance running no plugins and both cases yielded 17 bits from browser fingerprinting. It makes me curious whether system fonts are a major source of privacy leakage.
In what ways do the database architecture change when one discards the assumption that I/O is the bottleneck? Does it obviate the relational model? I always found the relational model to fit working with data sets very well since it's nice and declarative. Does that turn out to be a bottlneck assuming fast I/O?
Joe Armstrong's passing is tragic. I never him, but he also inspired my own thinking as a software engineer. Even though Erlang is a language from the 1980s, it still feels like something from the future. I have only ever appreciated Erlang from afar, but it seems to embody what programming languages should be for building complex software systems. I enjoyed his talks quite a lot; he always brimmed with passion and life which I hope to maintain at his age. He was never old mentally or in attitude, which was infectious.
For the purposes of learning antenna theory at the level of Balanis's 'Antenna Theory', I think Jackson is severely overkill. It's also written for physicists rather than engineers, so the emphasis is different. On the other hand, Jackson's problems are quite excellent. There's all kinds of interesting stuff in there that is hard to find in most other places (plasma physics and MHD come to mind). Something like Griffiths or Cheng will be just right. I studied Computer Engineering in undergrad, and worked through several books on electrodynamics at the time (and did several courses in EM), including Jackson. I didn't study RF, but my classmates in RF were all using Balanis for their RF and Antenna design courses, which clearly comes before the level of EM where most people are working (suffering?) through Jackson, or Balanis's 'Advanced Engineering Electromagnetics'.
Thank you for your contributions to the Rust ecosystem over the years! I've tinkered with many novel programming languages over the years, and most of those come and go, but Rust is one of the ones I stick with. Rust is the first programming language I have encountered that shows that linear (affine) logic is more than just another PLT or mathematical logic curio that is a practical tool for good software engineering, and that systems programming can have the trappings of type safety and ergonomics just like its application counterparts. Best of luck on your next transition.
I also recommend Dawkins' follow-up book, "The Extended Phenotype." Dawkins' most popular writing may be on atheism and the critique of religion, but I think his greatest contributions were really found in this book plus The Selfish Gene. Though as a caveat, "The Extended Phenotype" requires some more technical sophistication in evolutionary biology than Selfish Gene.
This is one reason I wonder whether there is room in the world for a better C. Low complexity programming languages with a simple machine mental model along the lines of Go (or perhaps in future, Zig and Jai?) for doing systems programming, with a strong static type system, and a rock solid build system. Early in my career I did a lot of bare metal and embedded systems programming and the one thing I miss about C is the predictable assembly output. I primarily use Rust for this purpose right now but I wonder if there's a place for something simpler for doing really low level stuff (i.e. programming hardware directly, device drivers) that's better than C.
> I wonder if there's a place for something simpler for doing really low level stuff (i.e. programming hardware directly, device drivers) that's better than C.
Maybe a cleaned-up Pascal would do the trick? It was a great teaching language back when I was a student. Low complexity, strong static typing, compiled language, no GC, pretty fast. No pointer arithmetic, harder to shoot oneself in the foot, but still easy access to pointers and easy ability to manage memory.
edit: What I meant by "cleaned-up" Pascal was addressing some of Kernighan's criticisms as seen in https://www.lysator.liu.se/c/bwk-on-pascal.html
(also, the Pascal syntax is a bit bloated)
Freepascal pretty much is the cleaned up version you describe. Fast, free, multiplatform, and just plain sensible. Overdue for a resurgence of use. Maybe the foundation in charge could rename it Cpascal and it would suddenly lift in popularity.
Pascal was a language I learnt in 1982 and love it for its elegance. The only thing i dislike and is still around its the begin... End and only because I'm a lazy typist and lazy reader.For me is hard to find Begin-end blocks... Harder than looking for stupid squiggles used in other languages. Go figure.
I played Magic for about 12 years (1994 - 2006), and played competitively for a good chunk of that time. I am absolutely mind-blown at how expensive the old stuff has become. I remember when moxes were $100 cards and dual lands were $5 cards, compared to now. I played a lot of vintage back then, and while it was an expensive hobby, it was still possible to afford it with some diligence and effort. The best part about magic was that it simultaneously doubled as both a collector's hobby and a competitive outlet for me. The collecting aspect of it is too expensive now (for my particular tastes), but I do miss having a competitive gaming outlet. 5 color control ('The Deck') is still my favorite deck in the history of the game, even though it stopped being competitive in vintage around 2003. And to make things more fun my favorite variant of it is still Brian Weissman's creatureless Jester's Cap build where you pick your opponent's deck clean with Jester's cap and disruption and then either deck them with Stroke of Genius, or burn them out with Kaervek's Torch to finish.
How many software engineers had to study IEEE floating point in (any amount of) detail? Part of my formal education is in computer (hardware) engineering, and we studied hardware number representations and manipulations quite extensively in my microprocessors courses, so I developed some facility with the topic once upon a time.