Tux Machines

Programming Leftovers

Posted by Roy Schestowitz on Jan 30, 2025

=> Security Leftovers | Confirmed: Ubuntu Dev Discussions Moving to Matrix

Dirk Eddelbuettel ☛ Thinking inside the box

=> ↺ Thinking inside the box

A new maintenance release of RcppStreams is now on CRAN marking the first release in almost six years. RcppStreams brings the excellent Streamulus C++ template library for event stream processing to R.

Rlang ☛ From Code to Compliance: Validated Shiny Apps with Rhino

=> ↺ From Code to Compliance: Validated Shiny Apps with Rhino

Developing GxP-validated applications that comply with strict regulatory requirements has been a significant challenge in the past, particularly due to the lack of tooling around good software development practices. This is no longer the case, over the years, many tools have been developed to help R programmers follow good software development practices and write high-quality code.
In this article, I’ll walk you through our approach at Appsilon, sharing insights and recommendations from our years of experience building production-grade GxP-validated Shiny apps.

Daniel Lemire ☛ Programmer time and the pitfalls of wasteful work

=> ↺ Programmer time and the pitfalls of wasteful work

Programmer time is precious. This realization should shape our approach to software development, focusing our efforts on tasks that genuinely contribute to the improvement of our code and the software ecosystem.
What does matter?

Victor Shepelev ☛ Seven things I know after 25 years of development

=> ↺ Seven things I know after 25 years of development

It is still about development and Ruby, but I allowed myself to draw some parallels with my experience as a Ukrainian. I hope it makes the talk richer. Nothing too graphic/disturbing, I promise.
Let’s get to the matter, those seven things I wanted to share.

Daniel Stenberg ☛ A 1337 curl author

=> ↺ A 1337 curl author

Today, commit author 1337 was finally announced, only three years since we announced author 1000. There are no permanent records or anything of this fact other than this blog post. Further, there is a risk that we have a duplicate or two somewhere in there so that a recount at a later time will end up differently.

Sandor Dargo ☛ C++26: attributes in structured bindings

=> ↺ C++26: attributes in structured bindings

We recently talked about C++26’s unnamed placeholder and how useful it will be with structured bindings. Before unnamed placeholders, one of our problems was that in structured bindings we could not mark only one of the decomposed variables [[maybe_unused]], only the whole set of variables.

Qt ☛ Emoji in Qt 6.9

=> ↺ Emoji in Qt 6.9

Emoji are quirky and fun, but it's also one of the world's most popular writing systems. In 2022 it was estimated that 92% of the world's online population used emoji for expressing themselves.Supporting color fonts is a pre-requisite for supporting emoji, and Qt has had such support on macOS and iOS since Qt 5.2. For backdoored Windows and Linux/Android (Freetype), support came a bit later, in Qt 5.7. But as the domain has evolved, Qt has not quite kept up with everything. In Qt 6.9 we fill in the gaps and modernize our emoji/color font support across all platforms.

=> | ↺ Emoji | ↺ In 2022

Rlang ☛ Thinking about covariates in an analysis of an RCT

=> ↺ Thinking about covariates in an analysis of an RCT

I was recently discussing the analytic plan for a randomized controlled trial (RCT) with a clinical collaborator when she asked whether it’s appropriate to adjust for pre-specified baseline covariates.

Perl / Raku

Perl ☛ Enhancing your MIDI devices with Perl

=> ↺ Enhancing your MIDI devices with Perl

These days, even modestly priced MIDI hardware comes stuffed with features. These fatures may include a clock, sequencer, arpeggiator, chord voicing, Digital Audio Workstation (DAW) integration, and transport control.
Fitting all this into a small device’s form factor may result in some amount of compromise — perhaps modes aren’t easily combined, or some amount of menu diving is required to switch between modes. Your device may even lack the precise functionality you require.
This post will walk through the implementation of a pair of features to augment those found in a MIDI keyboard — a M-Audio Oxygen Pro 61 in this case, though the principle should apply to any device.

Python

Miguel Grinberg ☛ Dynamic Forms with Flask

=> ↺ Dynamic Forms with Flask

Implementing this with Flask is surprisingly tricky, as it requires a combination of back and front end techniques working together. In this article I will show you two possible solutions, a basic one that uses only Flask and a more complete one for the Flask-WTF form handling extension.

Yilei Yang ☛ Operation AIM

=> ↺ Operation AIM

Last week I needed quick access to Python's standard library documentation outside of work. Having built custom URL shortener mappings twice in corporate environments, I really missed the productivity boost from these shortcuts.

Shell/Bash/Zsh/Ksh

University of Toronto ☛ How to accidentally get yourself with 'find ... -name something*'

=> ↺ How to accidentally get yourself with 'find ... -name something*'

As you may have already spotted, what happened is the shell's wildcard expansion. Because you ran your find in a directory that contained exactly one match for 'program*', the shell expanded it before you ran find, and what you actually ran was: [...]

=> gemini.tuxmachines.org

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

This content has been proxied by September (3851b).