Programming Leftovers
-
Rlang ☛ Mastering the grep() Function in R: Using OR Logic
For R programmers, mastering the built-in functions is key to efficient data manipulation. One such powerful tool is the grep() function, which is commonly used for pattern matching within character vectors. While many are familiar with its basic uses, leveraging the OR logic within grep() can significantly enhance your data processing capabilities. Here’s how you can do it.
-
Rlang ☛ PLANES: Plausibility Analysis of Epidemiological Signals
-
Rlang ☛ Boost your shiny app with sparkling data visualizations: a deep dive into Chart.js JavaScript library
-
Rlang ☛ Our Experience at posit::conf 2024
-
Rlang ☛ Create and use a custom roxygen2 tag
-
Rlang ☛ Five ways to improve your chart axes
When it comes to crafting visualisations, people often put a lot of thought into what type of plot they’re going to make and what colour scheme they’re going to use.
-
Rlang ☛ GxP Validation in Software Development starts from the Definition of Done
GxP validation can be a complex and often misunderstood process, with each company implementing their own unique approach.
-
Karl Seguin ☛ Zig's @memcpy, copyForwards and copyBackwards
In most cases, you'll end up using @memcpy. Thankfully, if it ever gets called with overlapping memory, you'll get a runtime panic (I say thankfully, because a runtime panic is better than an undefined behavior). Still, unless you're copying into newly allocated memory, it's probably worth spending a few seconds to consider whether the source and destination could overlap and, if so, whether std.mem.copyForwards (or, less likely in my experience std.mem.copyBackwars) is the correct choice.
Beyond that, for the sake of readability and simplicity aliasing is something worth minimizing. Some guidelines use the word "avoid", but I've settled on merely being more mindful of it (at least for now); maybe now and again I manage to limit the scope where two variables reference the same memory.
-
Chris ☛ Sample Unit Engineering
One of the coolest techniques I learned from Deming (and I have learned many cool techniques from Deming) comes not from his more popular books, but from Some Theory of Sampling11 Some Theory of Sampling; Deming; John Wiley & Sons; 1950. Deming never gives the technique a name, because to him it’s just an obvious part of being a one of the best industrial statisticians in history. I want to highlight this one technique specifically. To be able to talk about it, I’m going to call it sample unit engineering.
In this article, I aim to give you an intuition of what sample units are, and how they affect the precision of a sample. This lets us do sample unit engineering. We care a lot about sampling because it lets us count things at a fifth of the cost of a full count – and this saves hours of effort both at work and personally.
-
Nicholas Tietz-Sokolsky ☛ Reasons to write design docs
Sometimes I joke that as a principal engineer, my main programming language is English. It's half true, though, since my job is as much about people and communication as it is about technology. Probably more, actually.
Writing is useful at all levels of software engineering. It's not just something for tech leads, architects, and principal engineers. We write all the time, whether it's comments in code, descriptions in Jira, messages in Slack, or design documents in a wiki. We don't do this because it's fun; most engineers I've met don't love writing1. We do it because it's useful.
I've generally run into four main ways that writing design docs ends up being useful for me and the teams I'm on. There may be more, and there are also ways they're not useful. Here they are with pithy summaries of how they're useful or not, with links to the full sections.
-
Daniel Lemire ☛ Compressing floating-point numbers quickly by converting them to brain floats
We sometimes have to work a large quantity of floating-point numbers. This volume can be detrimental to performance. Thus we often want to compress these numbers. Large-language models routinely do so.
-
Godot Engine ☛ About Official Console Ports
With this post we aim to address the community’s questions about the lack of official console ports through the Godot Foundation.
-
Ruby 3.3.5 Released
Ruby 3.3.5 has been released.
This is a routine update that includes minor bug fixes. We recommend upgrading your Ruby version at your earliest convenience. For more details, please refer to the GitHub release notes.
-
Chris ☛ Sample Unit Engineering
-
Perl / Raku
-
Perl ☛ Roles and metadata in open source supply-chains | security.metacpan.org
Some aspects of this document – specifically those related to the role of Open Source Stewards and the role of OSS Attestations – are presented as suggestions, proposals or visions of a possible future.
Motivation
Originally, this document stems from the main author’s frustration with the lack of a clear Open Source perspective in current SBOM documentation (as of 2023). This brought him to the SBOM devroom at FOSDEM 2024 to offer a rant about what he perceived as a less-than-ideal state of affairs.
Furthermore, this document is also an attempt to explore and map out the consequences that the EU Cyber Resilience Act (CRA) is likely have for Open Source Ecosystems. The CRA is the first regulation that has language that explicitly affects Open Source ecosystems. This law introduces a new entity – the Open Source Software Steward – with obligations to them (and other Roles) to improve the state of Cybersecurity throughout Open Source Supply-chains. This shown us that there’s a need to map out what Open Source Supply-chains actually look like, and spell out what Roles can be found throughout it, and more. This document therefore also represents the author’s exploration of this topic, and could be considered as “public notes” on the matter. Still, the author hopes this document also can be useful for others than himself and the CPAN Security Group.
-
Perl ☛ CPAN Security Group | security.metacpan.org
Welcome to the CPAN Security Group. This is a community effort for supporting and responding to security incidents on CPAN – the Comprehensive Perl Archive Network.
This group also cares about security-related topics around CPAN distributions, the CPAN/PAUSE infrastructure, and about tooling and the ecosystem in general. Over time, we aim to improve supply chain security, make CPAN a more secure and trustworthy publishing platform, and more.
-
Perl ☛ Reading list | security.metacpan.org
[!CAUTION] This is the CPAN Security Group recommended reading list. If you have any additions or improvements, please open an issue, citing this page.
-
Perl ☛ Glossary of Terms | security.metacpan.org
Some aspects of this document – including those related to the role of Open Source Stewards, the Cyber Resilience Act and CE Marking – are presented as suggestions, proposals or visions of a possible future.
-
[Old] Stonehenge Consulting Services ☛ Mirroring your own mini-CPAN (Nov 02)
Although there's nearly always a good fast CPAN archive nearby when you are connected to the net, sometimes you're connected to the net at different speeds (like quickly at work, but slowly at home or vice versa), or not at all. And what do you do then when you're like me, at 30,000 feet jetting off to yet another conference or customer site, and you realize you need a module that you haven't yet installed on your laptop? (This is especially an issue when a deadline for a magazine column looms close.)
-
Perl ☛ London Perl & Raku Workshop 2024 | Perl workshop and training in London
The London Perl & Raku Workshop (LPW) is a free one-day technical conference in Central London, United Kingdom. This year LPW will celebrate its 20th year.
• WHEN: Saturday 26th October 2024
• WHERE: The Trampery, 239 Old Street, London EC1V 9EY (more detail)
-
-
Python
-
Simon Willison ☛ Python Developers Survey 2023 Results
25% of survey respondents had been programming in Python for less than a year, and 33% had less than a year of professional experience.
37% of Python developers reported contributing to open-source projects last year - a new question for the survey. This is delightfully high!
-
Chris ☛ Python Programmers' Experience
This has fun consequences for hiring, of course. Since a growth rate in that range implies the workforce doubles in size every four years, it means half the applicants to any Python position will have less than four years of experience. Always!
It’s a shame the report results did not highlight this, because it’s such a clear relationship when choosing the right type of visualisation.
-
-
Slackware
-
Eric Hameleers ☛ How I setup cgit for a browsable liveslak repository
I received a request to document how I configured the backend for https://git.liveslak.org/ . This is where my git repository for liveslak is accessible and browseable using cgit as the engine.
-