Programming Leftovers
-
Rakulang ☛ Rakudo Weekly: 2024.34 Steaming Ahead
Stefan Seifert has been very busy with RakuAST this week, fixing about 5 test-files a day! And getting closer to the point where we can think of setting a date for the release of language level 6.e! Good stuff!
-
Andy Wingo: javascript weakmaps should be iterable
Good evening. Tonight, a brief position statement: it is a mistake for JavaScript’s WeakMap to not be iterable, and we should fix it.
story time
A WeakMap associates a key with a value, as long as the key is otherwise reachable in a program. (It is an ephemeron table.)
When WeakMap was added to JavaScript, back in the ES6 times, some implementors thought that it could be reasonable to implement weak maps not as a data structure in its own right, but rather as a kind of property on each object. Under the hood, adding an key→value association to a map M would set key[M] = value. GC would be free to notice dead maps and remove their associations in live objects.
If you implement weak maps like this, or are open to the idea of such an implementation, then you can’t rely on the associations being enumerable from the map itself, as they are instead spread out among all the key objects. So, ES6 specified WeakMap as not being iterable; given a map, you can’t know what’s in it.
As with many things GC-related, non-iterability of weak maps then gained a kind of legendary status: the lore states that non-iterability preserves some key flexibility for JS implementations, and therefore it is good, and you just have to accept it and move on.
-
R
-
Rlang ☛ R For SEO Part 7: Loops
Welcome back to my R for SEO series. We’re in the home stretch now, with part seven.
-
Rlang ☛ Best Practices for Building Blazing-Fast Shiny Apps
Imagine your Shiny app – users are interacting seamlessly, data is processing swiftly, and visualizations update effortlessly. This dream becomes reality with a focus on performance optimization. We created a guide on profiling R/Shiny applications. Check it out to learn the right tweaks to speed up your application. z
-
Rlang ☛ Conformalized adaptive (online/streaming) learning using learningmachine in Python and R
Adaptive (online/streaming) learning with uncertainty quantification and explanations using learningmachine in Python and R
-
Rlang ☛ Violin Plots in R with ggplot2 | Comprehensive Guide
Ever wondered how to visualize complex data distributions in a way that’s both insightful and aesthetically pleasing? Use the violin plot.
-
Dirk Eddelbuettel ☛ Dirk Eddelbuettel: digest 0.6.37 on CRAN: Maintenance
Release 0.6.37 of the digest package package (with 70.8 million downloads just on the partial cloud mirrors
This release updates one of the different hashing source functions which, to remain close to their upstream, used
Free()
andCalloc()
(uppercased to use the R allocator) but not the prefixed stricter versionsR_Free()
andR_Calloc()
. R will switch to enforcing these in the next release next year. Kevin had noticed (while doing some other testing) that this now fails under R-devel (with a switch set), and prepares a very nice and clean PR to take care of it. As of today, CRAN is now sending ‘please fix, or else …’ notes so it was a good time to send this to CRAN. We also updated some remaining http URLs in the README.md to https, and switched to Author/Maintainer field to the now also mandatory Authors@R.
-
-
Python
-
Medevel ☛ 23 Projects and Frameworks to Build Python Data Apps for Data Scientists and Business Developers
Python is a top choice for building data applications due to its versatility, ease of use, and strong ecosystem of libraries.
-