Programming Leftovers
-
Rlang ☛ Parsing phone numbers with Rust and R
On my bucket list for 2024 is to learn a bit of Rust. After reading (well skimming…) THE BOOK and doing a few experiments, I wanted to give it a try to incorporate some Rust code in an R package. I chose to wrap the phonenumber crate to parse phone numbers into R, because I thought thats small enough of a task that I could manage. Note that there is already an R package for that, called dialr, which wraps Google’s libphonenumber Java library. For obvious reasons, my experimental package is called dialrs.
-
Uwe Friedrichsen ☛ Software - It's not what you think it is - Part 5
In the previous post, we discussed the value preservation dilemma of software. We have seen that software – opposed to almost all physical goods – needs to be changed and adapted to the ever-changing needs and demands of its environment to preserve its value.
In this post, we will look at the final two issues of software I would like to discuss in this blog series, the invisibility dilemma and the malleability curse. Let us start with the invisibility dilemma.
-
Trail of Bits ☛ Continuously fuzzing Python C extensions
By Matt Schwager Deserializing, decoding, and processing untrusted input are telltale signs that your project would benefit from fuzzing. Yes, even Python projects. Fuzzing helps reduce bugs in high-assurance software developed in all programming languages.
-
GamingOnLinux ☛ Cross-platform development library SDL3 gets a Vulkan Renderer and camera API
With development work ongoing for SDL3, some recent exciting improvements include a Vulkan Render backend and a camera API.
-
Rlang ☛ Recap: R Validation Hub Community Meeting
Join the R Validation Hub mailing list! The recent R Validation Hub Community meeting brought together around 50 participants to explore the concept of “validation” within the R programming ecosystem...
-
Rlang ☛ Rhino 1.7.0 Update on CRAN: Improved Linting and Automatic Reloading
It’s been almost a month since the last release of our framework for enterprise Shiny applications, so it’s time for Rhino 1.7! This version comes with new rules for the R linter, more consistent loading behavior, and automatic app reloading during development.
-
Gunnar Wolf ☛ Gunnar Wolf: 10 things software developers should learn about learning
As software developers, we understand the detailed workings of the different components of our computer systems. And–probably due to how computers were presented since their appearance as “digital brains” in the 1940s–we sometimes believe we can transpose that knowledge to how our biological brains work, be it as learners or as problem solvers. This article aims at making the reader understand several mechanisms related to how learning and problem solving actually work in our brains. It focuses on helping expert developers convey knowledge to new learners, as well as learners who need to get up to speed and “start coding.” The article’s narrative revolves around software developers, but much of what it presents can be applied to different problem domains.
The article takes this mission through ten points, with roughly the same space given to each of them, starting with wrong assumptions many people have about the similarities between computers and our brains. The first section, “Human Memory Is Not Made of Bits,” explains the brain processes of remembering as a way of strengthening the force of a memory (“reconsolidation”) and the role of activation in related network pathways. The second section, “Human Memory Is Composed of One Limited and One Unlimited System,” goes on to explain the organization of memories in the brain between long-term memory (functionally limitless, permanent storage) and working memory (storing little amounts of information used for solving a problem at hand). However, the focus soon shifts to how experience in knowledge leads to different ways of using the same concepts, the importance of going from abstract to concrete knowledge applications and back, and the role of skills repetition over time.
-
LWN ☛ Git 2.44.0 released
Version 2.44.0 of the Git
source-code management system has been released. There is a long list of
changes, including the git
replay command for faster, server-side rebasing, a number of
command-line completion improvements, and more.
-
Patrick Cloke: Synapse URL Previews
Matrix includes the ability for a client to request that the server generate a “preview” for a URL. The client provides a URL to the server which returns Open Graph data as a JSON response. This leaks any URLs detected in the message content to the server, but protects the end user’s IP address, etc. from the URL being previewed. [1] (Note that clients generally disable URL previews for encrypted rooms, but it can be enabled.)
-
Python
-
Mat Duggan ☛ Python Dependencies Are Fixable
Defaults are so important and I think so intimidating to change that this decision has been pushed back for years and years. If we have a better user experience for people and we know this is what they should be using, we should not expect users to discover that best way on their own. You have to make them opt out of the correct flow, not discover and opt in to the right way to do things. Change is scary though and maintainers don't have a massive corporate structure to hide behind. Whatever ire the change generates isn't directed at Faceless Corporation PR, it's directly at the people who make the decision.
-
The New Stack ☛ Python: How to Work with Basic Exception Handling
At some point, you’re going to create a Python program that generates an unexpected event...
-