news
Programming Leftovers
-
APNIC ☛ Building Unitel LLC's custom API security monitoring system
Reports such as index.dev (2024) indicates that over 90% of modern applications rely on APIs, meaning any weakness in an API can expose entire systems to compromise.
API security is no longer optional, it’s a fundamental requirement for protecting data, users, and business operations.
-
Connor Tumbleson ☛ Helping out Open Source
All in all any of those options incur an amount of tech debt. Does anyone really want their project to have a ton of dependencies all pointing to specific commits of random engineer's copies?
In some situations maybe the dependency you depend on is so important to your project you have no choice but to fork it and support it. You can look back at the years prior and wonder - "If I needed this package so bad, why didn't I support this project?". These are all questions that eat at you for every single dependency choice.
-
Ivan Sagalaev ☛ Pet project restart
So what happened was, I have developed my shopping list to the point where it got useful to me, after which I lost interest in working on it. You know, the usual story… It was however causing me enough annoyances to still want to get back to it eventually. So a few weeks ago, after not having done any programming for a year, I finally broke through the dread of launching my IDE again and started on slowly fixing the accumulated bitrot. And through the last several days I was on a blast implementing some really useful stuff and feeling the familiar thrill of being in the flow.
-
Tomasz Wisniewski ☛ Experimenting with Robin Hood hashing
In general, collisions in hash tables are handled using either linear probing (meaning that the colliding element will be inserted in next available slot in the table if the one that it’s hashed to is already occupied) or element chaining, in which case, the elements with the same hash are just chained together into a linked list.
Robin Hood hashing is a technique applied to implementations using linear probing that aims to minimise the probing sequence length to optimise lookups. So, based on that, it’s safe to assume it’s optimising read-heavy applications.
-
LWN ☛ Improving GCC Buffer Overflow Detection for C Flexible Array Members (Oracle)
The Oracle blog has a
lengthy article on enhancements to GCC to help detect overflows of
flexible array members (FAMs) in C programs.
-
LWN ☛ Racket 9.0 released
The Racket programming language
project has released Racket
version 9.0. Racket is a descendant of Scheme, so it is part of the Lisp family of languages. The headline feature in the release is parallel
threads, which adds to the concurrency tools in the language: "While
Racket has had green threads for some time, and supports parallelism via
futures and places, we feel parallel threads is a major addition."