Programming Leftovers
-
Dominic Szablewski ☛ Synthesizing Music from JSON
The heart of pl_synth is a loop that creates the raw PCM samples for a single note of an instrument. The instrument is defined by a bunch of parameters, most importantly the waveform (Sine, Square, Sawtooth or Triangle) and the frequency of two independent oscillators. The volume of those are defined by the envelope as three values: attack, sustain and release (how quickly that tone gets from 0% to 100% volume, how long it stays at 100% and how quickly it goes back to 0%). This all is directly adopted from the original Sonant C++ version.
-
Rlang ☛ Little useless-useful R functions – Vanishing sentences
Let’s play with some words. More in particular with vanishing words.
Using two packages: ggplot2 and gganimate we will construct a animation (looped), where sentences will be vanishing, word by word. A nice way to train the ggplot animations.
-
SICP ☛ Is software engineering a thing?
In the title I’m kindof punning on the word “a” (it’s my blog, and I get to do what I want). Is there a single thing, software engineering, that all people making software should (or could, or would find to be beneficial) do?
-
Keith Harrison ☛ Swift Parameterized Testing
Apple introduced Swift Testing at WWDC24. One of the interesting features is the ability to pass arguments to a test function.
-
Nicholas Tietz-Sokolsky ☛ Great things about Rust that aren't just performance
Nearly every line of code I write for fun is in Rust. It's not because I need great performance, though that's a nice benefit. I write a lot of Rust because it's a joy to write code in. There is so much else to love about Rust beyond going fast without segfaults.
Here are a few of my favorite things about it. Note that these are not unique to Rust by any stretch! Other languages have similar combinations of features.
-
[Old] Ray Gardner ☛ Parsing awk is tricky | An awk implementation
What is the grammar and meaning of awk code? Maybe a yacc expert could know.
If you only know what the Awk book (by A, K, & W, 1st or 2nd Ed.) says, you’d be missing some details. For example, the Awk book and many other documents say a for statement is: [...]
-
Sean Conner ☛ Security Theater
An aspect I think you are discounting is the effort required to implement the mitigations. While plege() and unveil() are simple to use, their implementation is anything but. Just from reading the man pages, it appears there are exceptions, and then exceptions to the exceptions, that must be supported. What makes Linux or OpenBSD different than other pieces of software, like openssl?
-
Perl / Raku
-
Jamie Zawinski ☛ Now I have two problems
Changing nearly any character, including the C before the G, or removing the parens, makes it match.
-
Alexander Schoch ☛ Advent of Code 2024 – 25 Languages
That said, if you like RegEx, you’re gonna love Perl. It feels like the type of language that is just great for quickly hacked together scripts that process text (which, if you’re using open formats and the command line, is pretty much anything). It has a few funny design choices, such as the my keyword to declare a variable.
-
Perl ☛ 2024-12-31 [Older] Please keep your information up-to-date
-
Perl ☛ 2025-01-02 [Older] This week in PSC (174) | 2025-01-02
-
Perl ☛ 2024-12-31 [Older] Good File Structure
-
-
Python
-
Juha-Matti Santala ☛ The ability to code sometimes feels like magic to me
I decided to take another approach. I wrote a custom Python script that did most of that for me.
-
-
Standards/Consortia
-
APNIC ☛ BGP updates in 2024
The first part of this annual report on BGP for 2024 looked at the routing table size and some projections of table growth for IPv4 and IPv6. However, the scalability of BGP as the Internet’s routing protocol is not just dependent on the number of prefixes carried in the routing table.
BGP protocol behaviour in the form of dynamic routing updates is also part of this story. If the update rate of BGP is growing faster than we can deploy processing capability to match, then the routing system will lose coherence, and at that point, the network will head into periods of instability. This report looks at the profile of BGP updates across 2023 to assess whether the stability of the routing system, as measured by the level of BGP update activity, is changing.
-
Wired ☛ HTML Is Actually a Programming Language. Fight Me
When haters deny HTML’s status as a programming language, they’re showing they don’t understand what a language really is. Language is not instructing an interlocutor what to do in a way that leaves no room for other interpretations; it is better and richer than that. Like human language, HTML is conversational. It is remarkably adept at adapting to context. It can take a different shape on any machine, from a desktop browser or an e-reader screen to a mobile app or a screen reader for the blind (so long as that device is built to present hypertext).
HTML is somehow simultaneously paper and the printing press for the electronic age. It’s both how we write and what we read. It’s the most democratic computer language and the most global. It’s the medium we use to connect with each other and publish to the world. It makes perfect sense that it was developed to serve as a library—an archive, a directory, a set of connections—for all digital knowledge.
-
Cassidy Williams ☛ How to make your RSS feed pretty
It’s day 15 of Blogvent, where I blog every day in December!
If you’ve seen an RSS feed link lately, you know that when you click on it, you’ll probably see a bunch of XML and might think, “eh, ugly, but at least I can pop it into my newsreader” and go about your day.
-