news
Programming Leftovers
-
It's FOSS ☛ Git Isn’t Just for Developers. It Might Be the Best Writing Tool Ever
Plain Text, Git, and the Long Afterlife of Written Work.
-
Isoken Ibizugbe: Post Outreachy Activities
It’s been about a month since I wrapped up my Outreachy internship, but my journey with Debian is far from over. I planned to keep contributing and exploring the community, and these past few weeks have been busy
-
Facundo Olano ☛ What is this and Why is it here?
As I worked on my programming style guide, channeling my inner code reader, recalling what it is like to dive into an unfamiliar codebase—to look for clues in its components and effectively extract knowledge from them—a particular formulation came to mind: what is this and why is it here?. I realized that looking for answers to those questions, and supplying them myself, makes up a large part of my work on software projects. These questions apply to artifacts of all sizes, from humble functions to entire projects, from a pull request description to the user story that it (hopefully) originated from. Behold yet another hyperbolic definition of the software development process: to answer what is this and why is it here, over and over.
-
Unmitigated Risk ☛ Confidential Computing’s Inconvenient Truth
Confidential computing has a vulnerability record that grows every year, an attestation infrastructure that does not work at scale, and a hardware root of trust with a demonstrated shelf life. This piece explains why.
-
[Old] Imperial College London ☛ A Conversation with Alan Kay
When you want to gain a historical perspective on personal computing and programming languages, why not turn to one of the industry’s preeminent pioneers? That would be Alan Kay, winner of last year’s Turing Award for leading the team that invented Smalltalk, as well as for his fundamental contributions to personal computing.
-
[Old] Imperial College London ☛ How To Write Unmaintainable Code
In the interests of creating employment opportunities in the Java programming field, I am passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes. Further, if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code.
-
R / R-Script
-
Rlang ☛ One interface, (Almost) Every Classifier: unifiedml v0.2.1
This post contains advanced examples of use of unifiedml for classification, with ranger and xgboost. More examples have been added to the package vignettes too.
-
-
Shell/Bash/Zsh/Ksh
-
[Old] Chris Zietlow ☛ Tmux
Working from neovim and writing go code I find myself often cycling through multiple terminal windows while working on projects. This cycles between iterm and ghostty terminal and splits within neovim itself depending on my environment. Often resulting in a cacophony of windows, panes, and red yarn connecting the dots... There has to be a better way. Or moreover I'm tired of relying on a different set of application keybindings, alt-tab, and my mouse. The overall design of my workflow is to keep laser focus by keeping everything within a single window, and reducing the amount of time switching between different programs or reaching for the mouse. Tmux has always been the obvious answer for improvement.
-
-
Java/Golang
-
Chris Zietlow ☛ Go JSON Unmarshaling
When working with an API that returned json with inconsistent types, json.Unmarshal would fail because it was mapped to a matching Go type via tags in the struct. The solution was to create a new type to support any permutation of data the API might return, and have that type implement Unmarshaler or UnmarshalerFrom interfaces to add the logic to decode this correctly.
-
-
Rust
-
Alexander Bokovoy: kurbu5: MIT Kerberos plugins in Rust
For a couple of years, Andreas Schneider and I have been working on a project we call the ‘local authentication hub’: an effort to use the Kerberos protocol to track authentication and authorization context for applications, regardless of whether the system they run on is enrolled into a larger organizational domain or is standalone. We aim to reuse the code and experience we got while developing Samba and FreeIPA over the past twenty years.
-
Rust Blog ☛ The Rust Programming Language Blog: Changes to WebAssembly targets and handling undefined symbols
Rust's WebAssembly targets are soon going to experience a change which has a risk of breaking existing projects, and this post is intended to notify users of this upcoming change, explain what it is, and how to handle it. Specifically, all WebAssembly targets in Rust have been linked using the
--allow-undefinedflag towasm-ld, and this flag is being removed.
-