Programming Leftovers
-
Evolving Challenges in Software Security
Despite the broad use of open source, the large majority of software is still delivered and consumed in binary form. There are a few reasons for this, but the most obvious is that the sheer size and complication of code bases combined with the limited availability of expertise and time within consuming organizations makes the use of the source to manage risk impractical.
At the same time, it’s clear this issue is not new, for example in 1984, Ken Thompson, in his Turing Award Lecture, mentioned, “No amount of source-level verification or scrutiny will protect you from untrusted code”. This statement has been partially vindicated recently, as intelligent code analysis agents, although faster ways to produce code, have been found to exert downward pressure on code quality while also reducing the developer’s understanding of the code they produce — a bad combination.
-
How to Check if a Column is a Date in R: A Comprehensive Guide with Examples
As an R programmer, you may often encounter datasets where you need to determine whether a column contains date values. This task is crucial for data cleaning, manipulation, and analysis. In this blog post, we’ll explore various methods to check if a column is a date in R, with a focus on using the lubridate package and the ts_is_date_class() function from the healthyR.ts package.
-
Strings do too many things
(The line between "structured data" and "grammar" is really fuzzy; is a CSV data or grammar? Maybe making a distinction isn't useful, but they feel different to me)
When you see a string in code, you want to know what kind of string it is. We use these strings for different purposes and we want to do different things to them. We might want to upcase or downcase identifiers for normalization purposes, but we don't split or find substrings in them. But you can do those operations anyway because all operations are available to all strings. It's like how if you store user ids as integers, you can take the average of two ids. The burden of using strings properly is on the developer.
-
An intuition for distributed consensus in OLTP systems
I've been thinking about the basics of distributed consensus recently. There has been a lot to digest and characterize. And I'm only beginning to get an understanding.
This post is an attempt to share some of the intuition built up reading about and working in this space. Originally this post was also going to end with a walkthrough of my most recent Raft implementation in Rust. But I'm going to hold off on that for another time.
-
Dev snapshot: Godot 4.3 dev 3
A month's worth of development means a lot of new features to test, such as single-threaded web exports and Wayland support!
-
Introducing Qtips - Boost Your Workflow
-
Revisiting A Z80 Game From 1990
Back in the days of 8-bit computers, like no doubt many readers of similar age, we wrote little games. First in BASIC, then augmented with little machine code speed-ups. We didn’t come close to [Óscar Toledo Gutiérrez] though, who’s reverse engineering a 2K all-machine-code game he wrote back in 1990. As a tale of software archaeology it’s fascinating.
-
Looking ahead to Emacs 30
EmacsConf 2023 was, like its recent predecessors, an online conference with lots of talks about various aspects of the Emacs editor—though, of course, it is way more than just an editor. Last year's edition was held in early December. One of the talks that looked interesting was on Emacs development, which was given live by John Wiegley. In it, he briefly described some of the biggest features coming in Emacs 30, which is the next major version coming for the tool.
-
Announcing Google Season of Docs 2024
Google Season of Docs provides direct grants to open source projects to improve their documentation and gives professional technical writers an opportunity to gain experience in open source. Together we raise awareness of open source, of docs, and of technical writing.
-
Google announces 2024 season of docs
On February 2, Google announced this year's "Season of Docs", a program complementing its Summer of Code program by providing funding to open source projects to hire technical writers to improve their documentation. Interested projects have until April 2 to apply.
-
Python
-
CPython 3.12.2 is SBOM-ified!
CPython 3.12.2 is the first release that has SBOMs for source artifacts 🥳 There's an announcement for the PSF blog, so go read that first!
-
-
Rust
-
Defining the Rust 2024 edition
In December, the Rust project released a call for proposals for inclusion in the 2024 edition. Rust handles backward incompatible changes by using Editions, which permit projects to specify a single stable edition for their code and allow libraries written in different editions to be linked together. Proposals for Rust 2024 are now in, and have until the end of February to be debated and decided on. Once the proposals are accepted, they have until May to be implemented in time for the 2024 edition to be released in the second half of the year.
-
-
Education
-
Successful double CodeJam in Wroclaw and Warsaw
I'm at Warsaw airport on my journey home after a great few days in Poland. My first flight is already delayed so I have a bit of time at the gate to write up some notes.
-
Whether And How To Trust A New Maintainer
How should we think about trust when it comes to adding new maintainers to a project? Another way of saying that is: if I'm an existing project maintainer, considering whether to entrust you with co-maintainership, what kind of trust am I placing in you?
It's worth thinking about this beyond the obvious.
-