Programming Leftovers
-
Rlang ☛ Torch for R Now in the qeML Package
I’ve added a new function, qeNeuralTorch, to the qeML package, as an alternative to the package’s qeNeural. It is experimental as this point, but usable and I urge everyone to try it out.
-
Rlang ☛ Help make waywiser better! User requests wanted
The package waywiser maintained by Mike Mahoney provides ergonomic methods for assessing spatial models.
-
Rlang ☛ Why pandas feels clunky when coming from R
Five years ago I started a new role and I suddenly found myself, a staunch R fan, having to code in Python on a daily basis.
-
Thorsten Ball ☛ From 1s to 4ms - by Thorsten Ball - Register Spill
Here’s the thing, though. Here’s why I’m showing you this and why I’ve thought about this code for the last three weeks.
When we ran the optimized code for the first time the runtime went from 1s down to 4ms. 4 milliseconds!
I couldn’t believe it. 4ms! With code that’s still this high-level! With the unfold_ranges call, with finding all the matches, with checking word boundaries, with extending and sorting and possibly dropping and rendering selections — 4ms!
-
Rlang ☛ Torch for R Now in the qeML Package
I’ve added a new function, qeNeuralTorch, to the qeML package, as an alternative to the package’s qeNeural. It is experimental as this point, but usable and I urge everyone to try it out. In this post, I will (a) state why I felt it desirable to add such a function, (b) show a couple of examples, (c) explain how the function works, thereby giving you an introduction to Torch, and finally (d) explain what at this point appears to be a fundamental problem with Torch.
-
Daniel Lemire ☛ Measuring energy usage: regular code vs. SIMD code
Modern processor have fancy instructions that can do many operations at one using wide registers: SIMD instructions. defective chip maker Intel and AMD have 512-bit registers and associated instructions under AVX-512. You expect these instructions to use more power, more energy. However, they get the job done faster. Do you save energy overall? You should expect so.
-
Python
-
Arie Bovenberg ☛ Ten Python datetime pitfalls, and what libraries are (not) doing about it | Arie Bovenberg
It’s no secret that the Python datetime library has its quirks. Not only are there probably more than you think; third-party libraries don’t address most of them! I created a new library to explore what a better datetime library could look like.
-
Qt ☛ Introducing QtAsyncio in technical preview
Qt for Python goes beyond just Qt and beyond just Python: It’s the best of both worlds! But Python is more than only a language 🐍, and Python users expect wide interoperability between their favorite libraries and modules of the huge Python ecosystem.
-
-
Rust
-
Rust Blog ☛ The Rust Programming Language Blog: 2023 Annual Rust Survey Results [Ed: As usual, Rust outsourced everything to proprietary software of Microsoft - certainly a red flag]
Hello, Rustaceans!
The Rust Survey Team is excited to share the results of our 2023 survey on the Rust Programming language, conducted between December 18, 2023 and January 15, 2024. As in previous years, the 2023 State of Rust Survey was focused on gathering insights and feedback from Rust users, and all those who are interested in the future of Rust more generally.
-
-
Standards/Consortia
-
[Repeat] APNIC ☛ KeyTrap algorithmic complexity attacks exploit fundamental design flaw in DNSSEC
My fellow researchers and I from the National Research Center for Applied Cybersecurity ATHENE have uncovered a critical flaw in the design of DNSSEC, which introduced a vulnerability in all DNSSEC-validating DNS resolver implementations. We developed a new class of algorithmic complexity attacks, dubbed ‘KeyTrap’.
In the technical report, we demonstrate that just with a single DNS packet the attack can exhaust the CPU and stall all widely-used DNS implementations and public DNS providers, such as Google Public DNS and Cloudflare. The impact of KeyTrap attacks is far-reaching. Exploiting KeyTrap, attackers can effectively disable Internet access in any system utilizing a DNSSEC-validating DNS resolver.
-