Programming Leftovers
-
Dirk Eddelbuettel ☛ 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
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 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
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
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
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 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.
-
Rlang ☛ 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
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
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
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*'
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: [...]
-