







We all know that software deployment in a research environment can be a pain, but knowing this as a fact is not quite the same as experiencing it in reality. Over the last days, I spent way more time that I would have imagined on what sounds like a simple task: installing a scientific application written in Python on a Linux machine for use by a group of students in a training session. Here is an outline of the difficulties, in the hope that it will (1) help others who face similar problems and (2) contributes a little bit to improving the situation.
Python Tutorial | Learn Python Programming Language - GeeksforGeeks
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.

Ten quick tips to SNIFF out sustainable and secure scientific software
Modern computational biology depends heavily on open-source software tools, analysis pipelines, and containerized workflows developed and shared by the research community. While there is extensive guidance (including Quick Tips and Simple Rules articles) on how to build robust and sustainable scientific software, far less has been written for researchers in the role of software users evaluating whether an existing tool is reliable, secure, and sustainable enough for their work. Here we present ten quick tips to help researchers critically assess the tools they adopt. Our tips are organized around a framework that centers on key evaluation features: source, network, interaction, fit, and fragility (SNIFF). These dimensions prompt researchers to consider who maintains a tool and why, whether it is embedded in a broader ecosystem, how actively its developers and users engage, whether it matches the intended use case and licensing requirements, and how robust its dependencies and security practices are. By applying these tips, researchers can make more informed decisions, reduce the risk of relying on abandoned or insecure software, and contribute to a more sustainable scientific software ecosystem.
marimo | a next-generation Python notebook
Explore data and build apps seamlessly with marimo, a next-generation Python notebook.

“As a Windows user, it’s a very surreal way to install a program.” – Unsung
A blog about software craft and quality

Linking the world's research to the code it runs on - OpenAlex blog
Research relies on software. Software written by scientists, for science, runs through the entire modern research stack: NumPy and SciPy, R and ggplot2, Jupyter, BLAST, ImageJ, AlphaFold. Yet in the scholarly record, that software is nearly invisible. Software is not usually cited formally in publications and is usually just mentioned in the text, which means […]

uv is the best thing to happen to the Python ecosystem in a decade - Blog - Dr. Emily L. Hunt
Released in 2024, uv is hands-down the best tool for managing Python installations and dependencies. Here's why.

SpaceDucking — Practice software testing
Duck-themed practice apps full of deliberate bugs, plus a members-only bug database.

A Research Lab for Open Source ✸ Software Stewardship Lab
Today, we're launching a world-class research lab dedicated to Open Source sustainability with a team of some of the most experienced people in the world.

The Story of Python and how it took over the world | Python: The Documentary
How to SNIFF out Good Scientific Software
New PLOS Computational Biology paper: "Ten Quick Tips to SNIFF Out Sustainable and Secure Scientific Software"

Cracks in Containerized Development
Nerd rants about developing software in isolation from the home system; toolbx, distrobox, devcontainers, nix, etc
Weathering Software Winter

PRISM: Capturing the Invisible Art of Scientific Practice
A New Tool for Recording and Scaling Laboratory Expertise


psf (@psf@oldbytes.space)
In their article ["Malleable Software"](https://www.inkandswitch.com/essay/malleable-software), Ink & Switch list various ways that modern software applications fail to serve the user: - Software is too rigid: users can’t tailor it to suit their workflow, except by entering the role of programmers. - Software applications are overspecialized "avocado slicers", not general tools like "knives", so their lack of tailorability is keenly felt. - Software doesn’t provide a reasonable learning curve from beginner to expert; in other words, time spent learning an application doesn’t unlock tailorability, instead the end user must learn an unrelated skill like a markup/scripting language or even the tool’s implementation language. - Software applications are increasingly siloed, so sharing data between apps, let alone orchestrating cross-app workflows, is overly difficult. These are real problems. From what I can tell, Ink & Switch are software researchers, and view the problems from a highly technical perspective, focusing on novel infrastructure that enables end-user programmability. They pose questions such as "how do we ease users into programming?" and "instead of shipping a dead, static binary, can we ship a living image containing programming tools allowing it to be modified in arbitrary ways while still running?" These ideas are technologically exquisite, but they fail to provide a gentle learning curve. (cont'd) 🧵