news
Programming Leftovers
-
Veit Heller ☛ Bitter Lessons and Premature Optimizations
Donald Knuth wrote “premature optimization is the root of all evil” in 1974, in a paper called “Structured Programming with go to Statements”. It’s high on the leaderboard of the most quoted sentences in our field, and I would wager that only a fraction of the people quoting it have read the paragraph it comes from.
Here it is, with the part I think is important but quite often missed: [...]
-
Philip Zucker ☛ Ghidra + CBMC = Assembly Model Checker
What I like about this is that it, like CBMC, is flexible for many use cases (standalone assembly verification, translation validation, linking to external assembly, C specs for assembly, DWARF debug data verification, patched assembly verification, decompilation verification) and actually a fairly small amount of glue C++ code for the main lifting tool itself (~1kLOC). GOTO and P-Code are pretty similar. Ultimately many of the questions we want to ask of assembly are about its interaction with C level concepts, or are more simply expressed / specced at something akin to C, so tight integration with CBMC is super useful.
-
Steinar H Gunderson ☛ Steinar H. Gunderson: Decompilation patterns, part 14: Strength increase
Let's look at the entire loop from yesterday: [...]
-
Perl / Raku
-
Perl ☛ Adventures in Real-Time MIDI
Since discovering Perl real-time MIDI and writing about creating async drums with it, I’ve dug deeper into what’s possible. I have a few music and MIDI modules on CPAN and like to put them to use in real time, now that I have been enlightened by zen master John Barrett. Ha :D
This will be a mostly commented-code illustration of real-time arpeggiation. It is maybe “just a hobby.” But the principles of asynchronous programming, periodic execution of a set of things, are generically applicable to other types of problems.
-
-
R / R-Script
-
Dirk Eddelbuettel ☛ Thinking inside the box: RcppArmadillo 15.6.2-1 on CRAN: New Upstream
Armadillo is a powerful and expressive C++ template library for linear algebra and scientific computing. It aims towards a good balance between speed and ease of use, has a syntax deliberately close to Matlab, and is useful for algorithm development directly in C++, or quick conversion of research code into production environments. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 1370 other packages on CRAN, downloaded 49.4 million times (per the partial logs from the cloud mirrors of CRAN), and the CSDA paper (preprint / vignette) by Conrad and myself has been cited 735 times according to Google Scholar.
-