Tux Machines

Programming Leftovers

Posted by Roy Schestowitz on Jan 23, 2023

=> Videos: SteamOS, Stadia, Artwork, GNU World Order, and More | Open Hardware: RP2040, Raspberry Pi for Teaching, and Ham Radio

Dirk Eddelbuettel: Rcpp 1.0.10 on CRAN: Regular Update

=> ↺ Dirk Eddelbuettel: Rcpp 1.0.10 on CRAN: Regular Update

The Rcpp team is thrilled to announce the newest release 1.0.10 of the Rcpp package which is hitting CRAN now and will go to Debian shortly. Windows and macOS builds should appear at CRAN in the next few days, as will builds in different Linux distribution and of course at r2u. The release was prepared a few days ago, but given the widespread use at CRAN it took a few days to be processed. As always, our sincere thanks to the CRAN maintainers Uwe Ligges and Kurt Hornik. This release continues with the six-months cycle started with release 1.0.5 in July 2020. As a reminder, we do of course make interim snapshot ‘dev’ or ‘rc’ releases available via the Rcpp drat repo and strongly encourage their use and testing—I run my systems with these versions which tend to work just as well, and are also fully tested against all reverse-dependencies.
Rcpp has become the most popular way of enhancing R with C or C++ code. Right now, around 2623 packages on CRAN depend on Rcpp for making analytical code go faster and further, along with 252 in BioConductor. On CRAN, 13.7% of all packages depend (directly) on CRAN, and 58.7% of all compiled packages do. From the cloud mirror of CRAN (which is but a subset of all CRAN downloads), Rcpp has been downloaded 67.1 million times.

BH 1.81.0-1 oon CRAN: New Upstream, New Library, sprintf Change

=> ↺ BH 1.81.0-1 oon CRAN: New Upstream, New Library, sprintf Change

Boost is a very large and comprehensive set of (peer-reviewed) libraries for the C++ programming language, containing well over one hundred individual libraries. The BH package provides a sizeable subset of header-only libraries for (easier, no linking required) use by R. It is fairly widely used: the (partial) CRAN mirror logs (aggregated from the cloud mirrors) show over 32.6 million package downloads.
Version 1.81.0 of Boost was released in December following the regular Boost release schedule of April, August and December releases. As the commits and changelog show, we packaged it almost immediately and started testing following our annual update cycle which strives to balance being close enough to upstream and not stressing CRAN and the user base too much. The reverse depends check revealed about a handful of packages requiring changes or adjustments which is a pretty good outcome given the over three hundred direct reverse dependencies. So we opened issue #88 to coordinate the issue over the winter break during which CRAN also closes (just as we did before), and also send a wider ‘PSA’ tweet as a heads-up. Our sincere thanks to the two packages that already updated, and the four that likely will soon. Our thanks also to CRAN for reviewing the package impact over the last few days since I uploaded the package earlier this week.

Setting a new focus for my blog

=> ↺ Setting a new focus for my blog

Since writing this, I have been considering what exactly the essential subject of my dissatisfaction with my writing has been. I may have found the answer: I lost sight of my goals. I got so used to writing that I would often think to myself, “I want to write a blog post!”, then dig a topic out of my backlog (which is 264 items long) and write something about it. This is not the way; much of the effort expended on writing in this manner is not spent on the subjects I care about most, or those which most urgently demand an expenditure of words.
The consequences of this misalignment of perspective are that my writing has often felt dull and rote. It encourages shallower takes and lends itself to the rants or unthoughtful criticisms that my writings are, unfortunately, (in)famous for. When I take an idea off of the shelf, or am struck by an idea that, in the moment, seemingly demands to be spake of, I often end up with a disappointing result when the fruit of this inspiration is published a few hours later.
Over the long term, these issues manifest as demerits to my reputation, and deservedly so. What’s more, when a critical tone is well-justified, the posts which utilize it are often overlooked by readers due to the normalization of this tone throughout less important posts. Take for instance my recent post on Rust in Linux. Though this article could have been written with greater nuance, I still find its points about the value of conservatism in software decision-making accurate and salient. However, the message is weakened riding on the coat-tails of my long history of less poignant critiques of Rust. As I resume my writing, I will have to take a more critical examination of myself and the broader context of my writing before reaching for a negative tone as a writing tool.

Fully Autonomous Real-World Reinforcement Learning with Applications to Mobile Manipulation - The Berkeley Artificial Intelligence Research Blog

=> ↺ Fully Autonomous Real-World Reinforcement Learning with Applications to Mobile Manipulation - The Berkeley Artificial Intelligence Research Blog

Training this multi-level policy was not only more efficient than learning both skills at the same time but it allowed for the grasping controller to inform the navigation policy. Having a model that estimates the uncertainty in its grasp success (Ours above) can be used to improve navigation exploration by skipping areas without graspable objects, in contrast to No Uncertainty Bonus which does not use this information. The model can also be used to relabel data during training so that in the unlucky case when the grasping model was unsuccessful trying to grasp an object within its reach, the grasping policy can still provide some signal by indicating that an object was there but the grasping policy has not yet learned how to grasp it. Moreover, learning modular models has engineering benefits. Modular training allows for reusing skills that are easier to learn and can enable building intelligent systems one piece at a time. This is beneficial for many reasons, including safety evaluation and understanding.

The Premature Obituary of Programming [Ed: Confronting Microsoft "HEY HI" propaganda and plagiarism in new clothing]

=> ↺ The Premature Obituary of Programming

Deep learning (DL) has arrived, not only for natural language, speech, and image processing but also for coding, which I refer to as deep programming (DP). DP is used to detect similar programs, find relevant code, translate programs from one language to another, discover software defects, and to synthesize programs from a natural language description. The advent of large transformer language models10 is now being applied to programs with encouraging results. Just like DL is enabled by the enormous amount of textual and image data available on the Internet, DP is enabled by the vast amount of code available in open source repositories such as GitHub, as well as the ability to reuse libraries via modern package managers such as npm and pip. Two trail-blazing transformer-based DP systems are OpenAI's Codex8 and Deepmind's AlphaCode.18 The former is used in the Github Copilot project14 and integrates with development environments to automatically suggest code to developers. The latter generates code to solve problems presented at coding competitions. Both achieve amazing results. Multiple efforts are under way to establish code repositories for benchmarking DP, such as CodeXGLUE19 and CodeNET.20

ShinyProxy vs Posit Connect: Benchmark Test for Scaling Shiny Apps - R programming, Shiny for Python

=> ↺ ShinyProxy vs Posit Connect: Benchmark Test for Scaling Shiny Apps - R programming, Shiny for Python

Shiny is a web framework for R (and now Python) users. With it, you can build a working dashboard for your analytics in a relatively short time. While it is easy to start developing dashboards without programming experience, the challenge comes with scaling. The quality and interactive method of data delivery will mean greater adoption and more users.
There are many solutions to optimize dashboard performance for a single user. This includes examples like promises for non-blocking access and profvis to identify bottlenecks. However, to scale a Shiny application for a large number of users, the deployment environment plays a significant role.

Learn Hadoop for Data Science - Data Science Tutorials

=> ↺ Learn Hadoop for Data Science - Data Science Tutorials

Learn Hadoop for Data Science, Are you wondering why learning Hadoop is necessary for data science? You are on the appropriate page.
You can read more about why Hadoop is essential for data scientists here. This article’s conclusion will include a case study showing how Marks & Spencer Company uses Hadoop to meet its data science needs.

Profiling and Optimizing an Interpreter — Andrew Healey

=> ↺ Profiling and Optimizing an Interpreter — Andrew Healey

In my last post, I added for loops to my interpreter for the nodots programming language. Today, I'm profiling and optimizing the same interpreter.

Junichi Uekawa: Working through crosvm dependencies in Debian.

=> ↺ Junichi Uekawa: Working through crosvm dependencies in Debian.

Working through crosvm dependencies in Debian. intrusive-collections Debian package went in. Next up is argh. I think most of them is there now and the next challenge is getting crosvm to build with the newer dependencies.

O_RDONLY, O_WRONLY and O_RDWR Flags in C Language

=> ↺ O_RDONLY, O_WRONLY and O_RDWR Flags in C Language

In programming, file management allows us to store and access any type of information whether in user-created databases, system files for running programs, executable files, and so on.
The C language provides, among other things, the open() function to create or open files. This function opens or creates a file specified in the input arguments by its absolute or relative path.
When we use this function, we have the possibility to specify via flags the attributes that the file to be opened or created must have, for example. whether it should be read-only, read-write or both.
In this Linux Hint article, you will learn how to specify the read and write attributes of files using the O_RDONLY, O_WRONLY, and O_RDWR flags.
We will look at a theoretical description of these flags and then implement their use in examples that include code snippets and images where we set read and write attributes with these flags.

parallelly 1.34.0: Support for CGroups v2, Killing Parallel Workers, and more

=> ↺ parallelly 1.34.0: Support for CGroups v2, Killing Parallel Workers, and more

With the recent releases of parallelly 1.33.0 (2022-12-13) and 1.34.0 (2023-01-13), availableCores() and availableWorkers() gained better support for Linux CGroups, options for avoiding running out of R connections when setting up parallel-style clusters, and killNode() for forcefully terminating one or more parallel workers.

{reactable} Podium - How to Build a Leaderboard in R Shiny - R programming

=> ↺ {reactable} Podium - How to Build a Leaderboard in R Shiny - R programming

{reactable} is pretty powerful in itself given just how many features are available in it. But its real power is in how we can tinker with it. In one of our R Shiny projects, we needed a leaderboard of sorts. So, we figured, why not make things interesting and add a podium on top? This blog post walks you through a similar example using the same technique.

Kaggle January Playground Series - Tidymodels - Sport Data Science

=> ↺ Kaggle January Playground Series - Tidymodels - Sport Data Science

Hello, hope you have your Yorkshire tea ready this is going to be a new series on the blog in which each month I am going to be tackling Kaggles monthly playground series.

i18n-format for Rust - Hubert Figuière

=> ↺ i18n-format for Rust - Hubert Figuière

A quick announcement for i18n-format, a Rust crate to help with string localization. While it's not GNOME specific as it is only about gettext, I wrote it for GNOME applications.
The goal is to allow the use of gettext! and ngettext! while xgettext can still extract the strings.

Four benefits from Red Hat and Microsoft for Azure Red Hat OpenShift customers [Ed: Red Hat works with Microsoft instead of competing with Microsoft]

=> ↺ Four benefits from Red Hat and Microsoft for Azure Red Hat OpenShift customers

=> gemini.tuxmachines.org

Proxy Information
Original URL
gemini://gemini.tuxmachines.org/n/2023/01/23/Programming_Leftovers.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en-GB
Capsule Response Time
141.423286 milliseconds
Gemini-to-HTML Time
1.69321 milliseconds

This content has been proxied by September (ba2dc).