Programming Leftovers
-
The Forty-Year Programmer
I’m not going to tell you what language or framework to learn. If you’re good at the basics you can learn anything you want. Until then, you can be bad at whichever one you want. That’s what I did, anyway.
Instead I’ll talk about things that didn’t make sense to me when I started, and now they’re the guiding stars in my sky. That means it’s not about specific technologies. Technologies come and go. Languages come and go. They can’t be your sky.
Let’s start with this: software is young.
-
Libraries > Languages
What matters more? A programming language's ergonomics and features or the libraries available for that language? Libraries are often the reason why programmers adopt languages. Most programs contain much more third-party code than code you wrote Libraries create network effects, not languages
-
I'm leaving Github
I Am Using GitHub Under Protest
Github's decision to sponsor me is so recent that I haven't been able to cash out the $550 payment yet.
In spite of that, I can't leave the platform fast enough. I certainly do not have the spare-time to move hundreds of projects to a new home... but I'm getting started.
GitHub is a proprietary, trade-secret system that is not Free and Open Source Software (FOSS). I am deeply concerned about using a proprietary system like GitHub to develop FOSS projects.
-
"Writing an app is like coding for LaserDisc"
The web has none of that. The earliest websites are viewable on modern browsers3. Sure, sometimes they might render in unexpected ways. And you might hope the servers they run on have been updated with security patches. But a website from the 1990s still works three decades later.
An app released a single decade ago is unlikely to run.
Even if the OS had a compatibility mode, it still requires the developer to stay up to date with all the various changes to app store policies. App stores are a gatekeeper.
-
Build trust in continuous integration for your Rust library | Red Hat Developer
A demo of how to build trust into a Continuous Integration system for your Rust library. (Part 4 of 4 in the series covering Linux system libraries in Rust.)