news
Programming Leftovers
-
Great Lakes Consulting Services Inc ☛ Julia and MATLAB can coexist. Let us show you how.
I'm excited to share an announcement! At this year's JuliaCon, I will be speaking about a small but significant step you can take to start adding Julia to your MATLAB codebase.
Great news! You can transition to Julia smoothly without completely abandoning MATLAB. There's a straightforward method to embrace the best of both worlds, so you won't need to rewrite your legacy models from scratch.
I'll give my full talk in July, but if you don't want to wait, keep reading for a sneak peek!
-
Daniel Lemire ☛ Streamlined iteration: exploring keys and values in C++20
In C++, we have two standard key-value data structures: the std::map and the std::unordered_map. Typically, the std::map is implemented as a tree (e.g., a red-black tree) with sorted keys, providing logarithmic time complexity O(log n) for lookups, insertions, and deletions, and maintaining keys in sorted order. The std::unordered_map is typically implemented as a hash table with unsorted keys, offering average-case constant time complexity O(1) for lookups, insertions, and deletions. In the std::unordered_map, the hash table uses a hashing function to map keys to indices in an array of buckets. Each bucket is essentially a container that can hold multiple key-value pairs, typically implemented as a linked list. When a key is hashed, the hash function computes an index corresponding to a bucket. If multiple keys hash to the same bucket (a collision), they are stored in that bucket’s linked list.
-
Anton Zhiyanov ☛ Sandboxes
I'm a big fan of interactive playgrounds. So today I'm open sourcing 30+ sandboxes — from programming languages to databases to networking and CLI tools. You can use them to experiment locally, or embed interactive examples in your writing like this: [...]
-
Standards/Consortia
-
Ted Unangst ☛ trying out avif transcoding
In honor of YUV420 day, I thought it would be fun to transcode JPEG images to AVIF in honk, or anywhere. I got lost in the weeds a few times along the way, but eventually found all the eggs.
honk predates widespread AVIF support by a year or two, but after a look at browser support, I think it’s now worth evaluating the potential benefit and required effort.
-
-
Perl / Raku
-
Perl ☛ Building Map::Tube::<*> maps, a HOWTO: first steps
Mohammad Sajid Anwar’s post in last year’s Perl Advent Calendar about his Map::Tube module intrigued me. I decided I wanted to build such a map for the tram network in the city where I live: Hannover, Germany. Along the way, I thought it’d be nice to have a detailed HOWTO explaining the steps needed to create a Map::Tube map for one’s city of interest. Since I enjoy explaining things in detail, this got … long. So I broke it up into parts.
Welcome to the first post in a five-part series about how to create Map::Tube maps.
-
-
Python
-
HowTo Geek ☛ The Secret Inside Joke Developers Have Been Hiding in Plain Sight for Decades
For decades, software developers have been slipping jokes into their work. One of the most enduring, clever, and geekily satisfying inside jokes has been hiding in plain sight: the recursive acronym. It's grown from an obscure quirk to a cherished tradition—and still going strong today.
-
Cyble Inc ☛ Critical PyTorch Vulnerability CVE-2025-32434 Discovered
This critical vulnerability impacts all PyTorch versions up to and including 2.5.1, according to a security advisory published earlier this week. The issue has been addressed in version 2.6.0, which has been made available through pip.
-
Ned Batchelder ☛ Regex affordances
Python regexes have a number of features that bring new power to text manipulation. I’m not talking about fancy matching features like negative look-behinds, but ways you can construct and use regexes. As a demonstration, I’ll show you some real code from a real project.
-
Dave Peck ☛ Python's new t-strings
Template strings, also known as t-strings, have been officially accepted as a feature in Python 3.14, which will ship in late 2025. 🎉
I’m excited; t-strings open the door to safer more flexible string processing in Python.
-
-
Golang
-
Redowan Delowar ☛ Preventing accidental struct copies in Go
By default, Go copies values when you pass them around. But sometimes, that can be undesirable. For example, if you accidentally copy a mutex and multiple goroutines work on separate instances of the lock, they won’t be properly synchronized. In those cases, passing a pointer to the lock avoids the copy and works as expected.
Take this example, passing a sync.WaitGroup by value will break thing in subtle ways: [...]
-
Miguel Young de la Sota ☛ Cheating the Reaper in Go
These things mean that despite Go having a GC, it’s possible to do manual memory management in pure Go and in cooperation with the GC (although without any help from the runtime package). To demonstrate this, we will be building an untyped, garbage-collected arena abstraction in Go which relies on several GC implementation details.
-
[Old] Dmitry Frank ☛ Here's why I love Go
Many years ago, I've been waiting for a language like Go. Back then, I was primarily working with C (for microcontrollers), and C++/Java/Python/etc (for bigger machines). These are great tools, but still I was longing for compiled, statically typed, memory-safe (and garbage collected) language, which compiles for the target platform machine code, and has a big enough community.
-