news
Programming Leftovers
-
DataGeeek ☛ Breaking the Python Barrier: Building a Pure R-Native DeepAR Engine with LibTorch
Deep learning for time series forecasting in R has historically faced a major architectural hurdle: Python overhead. Frameworks like modeltime.gluonts provide interface wrappers around AWS GluonTS, but they rely on a complex execution chain passing through reticulate, virtual environments, Python serialization, and MXNet/PyTorch backends.
To overcome the performance bottlenecks and dependency friction of cross-language bridging, we engineered a pure R-native DeepAR forecasting engine. Powered by the C++ LibTorch backend via R’s torch package, this architecture offers lightweight, in-memory execution without any Python or reticulate dependencies.
-
Kyle Reddoch ☛ Build a Safe Cybersecurity Lab with Snapshots
Offensive techniques are useful to defenders when they reveal an attack path, the evidence it creates, and the control that interrupts it. The same tools become a problem when the target is a neighbor’s device, a workplace system outside an approved test, or an intentionally vulnerable application accidentally bound to a real network interface.
The first lab does not need a cluster. It needs one analysis system, one target, an explicit network design, and a reset that has been tested.
-
Buttondown LLC ☛ Vim wants you to control, VSCode wants you to consume • Buttondown
In other words, Vim gives you incredible programmatic control over the state of the editor. Want to make typing ;r paste from the clipboard? Easy. Want different setting options in normal and insert mode? Go ahead. Want to make "writing a file" do something different during a full moon? You could if you want. 4
Now, you can do some amount of customization in VSCode, especially with multicommands, but for the majority of complex stuff you need to write a plugin. And making a plugin in VSCode is a much heavier process than making one in Neo/Vim. If you want to make a command that prints the word count, you have to 1) learn TypeScript, 2) scaffold a special VSCode extension project, 3) define a wordcount function, 4) register the mycode.wordcount command, 5) add mycode.wordcount as a contributes record in the extension manifest, 6) package or publish your extension, and 7) import the extension. It's very clear that the plugin system is not meant to let you tweak in a bit of functionality, but rather to let specialists produce complete plugins for other developers to consume. And since so much of the advanced functionality of VSCode is only possible through plugins, this limits the control the average user has over their environment.
-
Jumping Rivers ☛ A Summer, Explained with R
This year, the UK weather hasn’t so much been unpredictable as relentlessly, record-breakingly hot. Which, if you’re a data person, is still a great excuse to explore.
-
Perl / Raku
-
Rakulang ☛ Rakudo Weekly 2026.33 All The Way To Infinity
Andrew Shitov has been very active the past week. First a blog post about Raku++ 3.14 (a brief overview of the most interesting parts), followed by part 1 of Raku – A Language That Counts To Infinity, the latter with built-in editable and runnable examples in the browser!
-
-
Python
-
Seth Michael Larson ☛ When str.lower() is a security vulnerability in Python
Some [Internet] standards only support ASCII characters, but the world uses much more than the Latin alphabet. Thus, a mapping from Unicode to ASCII for use in domain names is required.
-
Juha-Matti Santala ☛ P is for Python Enhancement Proposal (PEP) - Python A to Z
If you’re a developer, you should start reading PEPs (or equivalents proposals in your language if such exist). They are a wonderful lesson in writing proposals for changes in software, having discussions in good faith between people who have differing opinions and arguing for your viewpoint and recording those discussions into decisions. In your own work or hobby project, this might be done in a form of an architecture decision record (ADR).
-
-
Proprietary
-
Qt ☛ Qt 6.11.2 Released
Qt 6.11.2 is now available for download. As a patch release, Qt 6.11.2 doesn’t introduce new features, but it delivers around 400 bug fixes, security improvements, and quality enhancements on top of Qt 6.11.1.
-
Teleport Brings Infrastructure Identity to Linux Desktops
-