Programming Leftovers
-
James G ☛ Tools and time
What is essential for this interface? is a question I have been thinking about in designing new digital interfaces and tools. Another way of framing this is “what do I really need?” When I went to re-design this website, those two questions were at the forefront of my mind. As I looked at the old version of my website, I realised that I could make my words stand out more by having less on the page.
-
Chris Wellons ☛ Deep list copy: More than meets the eye
I recently came across a take-home C programming test which had more depth and complexity than I suspect the interviewer intended. While considering it, I also came up with a novel, or at least unconventional, solution. The problem is to deep copy a linked list where each node references a random list element in addition to usual linkage — similar to LeetCode problem 138. This reference is one of identity rather than value, which has murky consequences.
-
Rlang ☛ Multistart nonlinear least squares fitting with {gslnls}
In an attempt to reduce the dependence of the NLS algorithm on a single set of (poorly selected) starting values, this post demonstrates a new multistart procedure available1 in R-package gslnls, which can be useful when we only have limited knowledge regarding the expected parameter values or when we wish to automate nonlinear model fits across multiple different datasets.
-
Rlang ☛ Split a Vector into Chunks in R
Split a Vector into Chunks in R can be a useful technique for manipulating and analyzing data.
In this article, we’ll explore how to use the split() function in R to split a vector into chunks.
-
Rlang ☛ Mastering String Conversion to Lowercase in R
In data analysis and manipulation, handling text data is a common task. One of the essential operations you might need to perform is converting strings to lowercase.
-
Federal News Network ☛ DoD has a new marketplace for the latest agile software tools
The military runs on software and many units have adopted the latest techniques for continuous delivery of secure code. One program for supporting so-called DevSecOps pipelines is known as Platform One. Platform one has launched an online marketplace at which vendors make 5-minute pitch videos. More now on the Federal Drive with Tom Temin from Platform One’s chief acquisition officer, Steven Groenheim.
-
Tony Finch ☛ tolower() small string performance – Tony Finch
I’m pleased that so many people enjoyed my previous blog post on tolower() with AVX-512. Thanks for all the great comments and discussion!
One aspect that needed more work was examining the performance for small strings. The previous blog post had a graph for strings up to about 1000 bytes long, mainly because it illustrated some curious behaviour – but that distracted me from what I really care about, which is strings up to about 100 bytes long, 10x smaller.
Eventually I managed to get some numbers that I think are plausible.
-
Python
-
University of Toronto ☛ We may want /usr/bin/python to be Python 3 sooner than I expected
For historical reasons, we still have a '/usr/bin/python' that is Python 2 on our Ubuntu 22.04 machines. Yes, we know, Python 2 isn't supported any more, but our users have had more than a decade where /usr/bin/python was Python 2 and while Ubuntu continued to ship a Python 2, we didn't feel like breaking their '#!/usr/bin/python' lines in scripts by either removing /usr/bin/python or making it Python 3. That option ran out in Ubuntu 24.04, which doesn't ship any Python 2 packages and so provides no native way to have a Python 2 /usr/bin/python (you can make a symlink to your own version of Python 2, if you really insist). In my entry on the state of Python in Ubuntu 24.04, I speculated that we might wind up with /usr/bin/python existing and being Python 3 in Ubuntu 26.04. With more time and more water under the bridge, I think we're fairly likely to do that or even move faster, partly because there are forces pushing reasonably strongly in that direction.
-
-
Rust
-
OpenSSF (Linux Foundation) ☛ How to Make Programming Language Package Repositories More Secure
Open source package repositories (like npm, PyPI, RubyGems, and others) serve out billions of packages per day. Most of the software we all use includes packages from these repositories, making them a critical part of securing software.
-
-
Education
-
[Repat] APNIC ☛ Event Wrap: APIGA 2024
APNIC participated in the 2024 Asia Pacific Internet Governance Academy (APIGA 2024) in Busan, South Korea from 8 to 12 July 2024.
The event focuses on developing future Internet leaders and welcomed 39 participants who took part in skill-building exercises to deepen their understanding of the Internet ecosystem, Internet governance and policy. View the program for more information.
-