Links
Useful links that I’ve collected and wish to share or remember for the future. Everything from Internet culture, useful pieces of wisdom, other blogs, and more.
Arguing and Debate
Business
- Doordash and Pizza Arbitrage - More evidence of the unsustainable, ridiculous business models behind food delivery startups.
- Why Mastodon and the fediverse are “doomed to fail”
- Killed by Google - A list of things (apps, services, etc.) created/owned then killed by Google.
- Killed by Mozilla - A list of things (apps, services, etc.) created/owned then killed by Mozilla.
- Life After Lifestyle - "The era of lifestyle brands has passed. The world is organizing around a new model: profitable cultural belief systems that produce 'types of guy.' As leaders and community members, we have no choice but to understand and adapt to this new landscape."
- Be good-argument-driven, not data-driven
- Don't Go Pro! - "Pro" doesn't mean "professional", it really means "proprietary". Proprietary software encourages dependence and an attitude of consumption compared to FOSS which encourages independence, learning, and creation.
Computing
- Tech’s Masturbatory Historiography - A criticism of the way we look at the history of technology.
- Permacomputing - "A collection of random thoughts regarding the application of permacultural ideas to the computer world."
- Permacomputing - XXIIVV - A good jumping off point for a lot of thoughts about The Collapse, permacomputing, sustainable living, and related topics.
- The Missing Semester of Your CS Education - A great resource on the things that are really helpful as a programmer and computer scientist but which school glosses over and expects you to figure out on your own. Things like making effective use of the terminal, using tools like vim, and version control.
- Bring back the ease of 80s and 90s personal computing - Desktop computer systems, especially those based on Linux, are way more complicated than typical personal computers in the 80s and 90s. We can learn by looking back. Can we make a friendly Libre Desktop operating system with focus on simplicity, minimalist elegance, and usability?
- Old Is the New New • Kevlin Henney • GOTO 2018 - Everything is changing. Everything is new. Frameworks, platforms and trends are displaced on a weekly basis. Skills are churning. And yet... Beneath this seemingly turbulent flow there is a slow current, strong and steady, changing relatively little over the decades.
- Computers That Can Run Backwards (Reversible Computing) - "Reversible computations—which can, in principle, be performed without giving off heat—may be the future of computing."
- Ancient Computers - An exploration of ancient accounting and engineering computing mechanisms and devices.
- Damaged Earth Catalog - A collection of information about various technological projects and philosophies working towards a healthier future.
- "We Really Don't Know How to Compute!" - Gerald Sussman - Though we have been building and programming computing machines for about 60 years and have learned a great deal about composition and abstraction, we have just begun to scratch the surface. [...] New design principles and new linguistic support are needed. I will address this issue and show some ideas that can perhaps get us to the next phase of engineering design.
- Handmade Dev Show - Ink & Switch (2022) - A discussion with the head of independent research lab Ink & Switch, Peter van Hardenberg, about how today's computing platforms are working against the needs of professionals.
- Local-first Software - A new generation of collaborative software that allows users to retain ownership of their data.
- Use One Big Server - Using one big server instead of several tiny cloud container things or whatever is often cheaper, simpler to manage, less prone to incomprehensible failures, and just as if not more powerful and capable.
- Use plaintext email - An essential read regarding email communications.
- Email Etiquette - Another essential read regarding email communications.
- The ASCII Ribbon Campaign - One of the first movements shunning HTML email.
- The PGP Problem - Don't use PGP/GPG. Here's why.
- Stop Using Encrypted Email - Trying to make email an encrypted communications platform is a fools errand.
- What's the matter with PGP?
- GPG and Me - Discussing the author's personal relationship with and opinion about GPG. The author is Moxie Marlinspike, creator of Signal.
Fun
- Words and Buttons Online - A growing collection of interactive tutorials, guides and quizzes about things generally considered boring.
- Setting Up Your Own Tilde Club/Server
- Admin Scripts for tilde.institute - A helpful resource when combined with the above link.
Hacker & FOSS Culture
- Hacker Laws - "Laws, Theories, Principles and Patterns that developers will find useful."
- How To Ask Questions The Smart Way - An essential read for everyone seeking effective help from strangers on the Internet.
- How to ask good questions - An essential read for everyone seeking effective help from people they know.
- How to Become a Hacker - A valuable read for anyone wanting to become a programmer, wanting to contribute to free/open source projects, or anyone who is a self-proclaimed "hacker".
- Thoughts on the subject of ethical licenses
- How I do my computing - How Richard Stallman does his computing.
- unixgraybeard.com - What is a greybeard anyways?
- Conduct unbecoming of a hacker - Stop bikeshedding and flaming, start solving problems with patches.
- FOSDEM 2020 - The Selfish Contributor Explained - A talk about what motivates open source contributors and what can happen when people feel like they're being taken advantage of.
- BSD For Linux Users - The presenter attempts to explain the wacky and wonderful world of BSD in a Linux friendly way.
- Don't apologize, analyze - Reduce the blame-game for bugs and stop making people feel shameful for introducing them.
- Evan Czaplicki - The Hard Parts of Open Source - "As more people enter /r/elm and the Elm discourse, I have thought a lot about how "online communities" work. Patterns of conflict. Why those patterns exist. Structures that would diffuse that conflict in healthy ways. Initially I just wanted to get yelled at less, but I instead stumbled upon "a cultural history of open source" that may reveal a path to more civil and productive online communication in general."
Internet
- Should I Block Ads?
- Rediscovering the Small Web
- HTTP/2.0 — The IETF is Phoning It In - Why HTTP/2.0 is not a good successor to HTTP/1.1.
- The world in which IPv6 was a good design IPv6 is not actually a good solution. It's not well-designed for the world we live in today and suffers from, as usual, overcomplication.
- Why I left algorithm-based social media and what happened next
- The Dark Forest Theory of the Internet
- Beyond the Dark Forest Theory of the Internet
- The Expanding Dark Forest and Generative AI - "Proving you're a human on a web flooded with generative AI content."
- Chaotic Diversity - A multitude of protocols and platforms are necessary for the survival of the open and decentralised web.
- The Internet is Already Over
Programming and Software
- Composing Programs - A free online introduction to programming and computer science in the tradition of SICP.
- MIT SICP Lectures - Lectures by Hal Abelson and Gerald Jay Sussman at MIT on the Structure and Interpretation of Computer Programs
- Computers Can Be Understood
- What is a "Black Triangle" moment?
- Bjarne Stroustrup: “I Did It For You All...” - A transcript of an interview with C++ creator Bjarne Stroustrup from 1998. It's probably not real, but it sure feels like it could be.
- systemd, 10 years later: a historical and technical retrospective - A thorough retrospective and critique of systemd.
- All software sucks - Several examples of how complexity in software is the ultimate bane of computing.
- Software Disenchantment - A good read about the current state of software development.
- Where Did Software Go Wrong? - What happened to take software from what it was intended to be to what it is now?
- My favourite Git commit - A short story about a really good git commit.
- General-purpose OS, special-purpose OS, and now: vendor-purpose OS - We used to have OSes that would allow users to solve problems. Now we're seeing a rise in OSes designed around what vendors will allow users to do.
- The code I'm still ashamed of - A good lesson on thinking about the consequences of the code you right and why ethics are so important in programming.
- Etcd, or, why modern software makes me sad
- Problems with Systemd and Why I like BSD Init
- ‘Real’ Programming Is an Elitist Myth
- The Second-system effect
- Compilers in OpenBSD
- Semantic Versioning
- Built to Last - "When overwhelmed unemployment insurance systems malfunctioned during the pandemic, governments blamed the sixty-year-old programming language COBOL. But what really failed?"
- How to Make Package Managers Cry
- The Mediocre Programmer - A book about the journey of becoming a better programmer.
- Forth Methodology Applied to Programming
- The Lost Ways of Programming: Commodore 64 BASIC
- The Little Coder's Predicament Coding just isn't as accessible to the young coder of today as it used to be back in the 70's and 80's. This describes how a new language or ecosystem could be more accessible to the burgeoning young programmer.
- How Did REST Come To Mean The Opposite of REST? - Almost everybody is misusing the term REST at best and at worst just not doing REST APIs properly.
- Against Division of Labour in Software
- Criteria for What Makes a "Real Operating System"
- Ligatures in Programming Fonts: Hell No - "Ligatures in programming fonts—a misguided trend I was hoping would collapse under its own illogic. But it persists. Let me save you some time—Ligatures in programming fonts are a terrible idea."
- The invisible problem with fairytale experiences - Oftentimes a little friction in the user experience is a good thing.
- Assembly Nights - Setting the right environment for some good learning and some good coding can make all the difference.
- An app can be a home-cooked meal - Not all apps have to be professional endeavours that appeal to a wide audience.
- Clean Coders Hate What Happens to Your Code When You Use These Enterprise Programming Tricks - Kevlin Henney talks about programming anti-patterns and cargo cult programming.
- "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022) - Most new programming languages are accidentally designed to be backwards compatible with punchcards. This talk argues that it would be better to focus on building new live programming environments that can help us solve the problems of the future.
- ITT 2016 - Kevlin Henney - Seven Ineffective Coding Habits of Many Programmers - "Habits help you manage the complexity of code. You apply existing skill and knowledge automatically to the detail while focusing on the bigger picture. But because you acquire habits largely by imitation, and rarely question them, how do you know your habits are effective? Many of the habits that programmers have for naming, formatting, commenting and unit testing do not stand up as rational and practical on closer inspection."
- PHP: a fractal of bad design - "PHP is an embarrassment, a blight upon my craft. It’s so broken, but so lauded by every empowered amateur who’s yet to learn anything else, as to be maddening. It has paltry few redeeming qualities and I would prefer to forget it exists at all."
- Simplicity and Survival - Small languages survive, big languages are doomed to eventually die. Why?
- Little Languages Are The Future Of Programming
- The cloudy layers of modern-day programming" - A lot of modern programming can be aptly summed up by the obnoxious term VendorOps, in which your average programmer does little more than glue together pre-made pieces of software or libraries, rarely ever writing anything unique or interesting or challenging on their own. Little real Engineering goes on in most Software Engineering jobs.
- features are faults redux - A recount of a talk given by Ted Unangst about how adding additional features to software leads to unintended consequences and hard-to-diagnose bugs.
- Slow Software - What it means for software to be fast, and why most software is not.
- Programming Modern Systems Like It Was 1984 - "Imagine you were a professional programmer in 1984, then you went to sleep and woke up 30 years later. How would your development habits be changed by the ubiquitous, consumer-level supercomputers of 2014?"
- Computer Science Courses that Don't Exist, But Should
- Just for Fun. No, Really. - Send this link to anyone who asks questions like "what's the point of this?" whenever you're showing off something that you built just for fun.
- What makes a good developer by Christin Gorman
- So You're Using A Weird Language - How to effectively use a weird (or unpopular) programming language.
- Vibe Driven Development
- Slow Software Development
Society
- I’m a psychologist – and I believe we’ve been told devastating lies about mental health - Society’s understanding of mental health issues locates the problem inside the person – and ignores the politics of their distress
- In Praise of Idleness by Bertrand Russel
- We used to get excited about technology. What happened?
- Chelsea Manning: ‘I struggle with the so-called free world compared with life in prison’
- Jonathan Blow - Preventing the Collapse of Civilization - Discussing the very real risk of knowledge loss in the software industry with historical context and a look at the direction the industry is heading.
- Forgetting The Asbestos. - How we lose knowledge and technologies and what we can do about it.
- Can You Rely on Your Neighbor? - Small Community Living - What skills can you offer your local community? A discussion about the disappearance of local communities and supply chains.
- Food Storage: Not Just For Preppers - Everyone should have an amount of food stored up. Not because we are worried about society collapsing overnight, but because being prepared for things like supply chains breaking or panic buying habits of others in a time of crisis is prudent.
- "I accept scientific consensus — and you prob should too" - A short video on the value of trusting the scientific consensus despite the fact that we get things wrong sometimes. Read the top pinned comment for additional information.
- What is Right to Repair? An introduction for curious people - A simple, clear explanation of what Right to Repair is from respected repair technician and business owner Louis Rossmann.
- An Elegy to All My Crap - "My local Montana landfill is full of the remains of short-lived coffee grinders, pens, peelers, laptops. After Christmas, I’ll need to reserve a bigger plot."
- Fighting Disinformation: We're Solving The Wrong Problems - "Tackling disinformation and misinformation is a problem that is important, timely, hard… and, in no way new. Throughout history, different forms of propaganda, manipulation, and biased reporting have been present and deployed — consciously or not; maliciously or not — to steer political discourse and to goad public outrage. The issue has admittedly become more urgent lately and we do need to do something about it. I believe, however, that so far we’ve been focusing on the wrong parts of it."
- No Faith in People
- A Hundred and Nineteen Things a Punkist Should Know
- Emergency Supplies - A very helpful page all about supplies that might be needed in an emergency.
- That which is unique, breaks - and why this is a good thing.
- What Can a Technologist Do About Climate Change?
- Why the Past 10 Years of American Life Have Been Uniquely Stupid; It’s not just a phase
- The Anarchist Library - An archive focusing on anarchism and anarchist texts
- I Disconnected From the Electric Grid for 8 Months—in Manhattan
- We Live In The Age of The Bullshitter - "The great mystery of our times: Why does anyone take seriously people who are so obviously full of it?"
- Anarchism Isn't What You Think It Is
Tools and Cheatsheets
- 256-Color Cheat Sheet - "List of 256 colors for Xterm prompt (console). Contains displayed color, Xterm Name, Xterm Number, HEX, RGB and HSL codes."
Vim
- Vim anti-patterns - A writeup of some of the traps people can fall into when using vim and how to get out of them (I know I'm guilty of a few).
- vimways.org - A collection of some good tips and tricks for using vim more efficiently/effectively.
- vimcasts.org - A collection of useful tutorials and webcasts on using vim.
- How to Do 90% of What Plugins Do (With Just Vim)
Web Accessibility Tools and Resources
- Against Access by John Lee Clark
- Huetone Colour Picker
- Tanaguru Contrast Finder
- Toptal Colour Blind Filter
- Viewable with Any Browser
- WebAIM Contrast Checker
- Website Accessibility Checklist
- W3 Introduction to Accesibility
- W3 Page Structure Explanation
- WAVE Web Accessibility Validation Tool
- EXPERTE Web Accessibility Checking Tool
- Inclusively Hidden
- WebPageTest
- WebPageTest's Lighthouse Test (run Lighthouse without Google Chrome)
Web Design
- Website Fidelity - Why you should build websites in layers of fidelity, not layers of technology.
- CO2 emissions on the web - All about the hidden impact of our websites and Internet traffic. Every byte counts.
- Website Carbon Calculator - See the estimated impact your website is having on the environment.
- The Website Obestiy Crisis - A detailed overview of the current crisis regarding the size of modern websites and the issues arising from this "obesity crisis".
- How to fix the broken web as a site owner and web developer - Tips on how to make the experience of browsing your website more privacy and user friendly.
- Guidelines for Brutalist Web Design - Describing the brutalist web design philosophy.
- Page Weight Matters - The story of how a YouTube developer was able to make YouTube accessible to far more people by slimming down the codebase.
- Obese websites and planet-sized metronomes - Building a web-based metronome in under 1KB of code to prove the point that websites need not be 8 times the size of Jupiter.
- Dither Me This - Reduce the file size of images but in an old-school, stylistic way.
- Visual design rules you can safely follow every time
Workplace
- The Unspoken Truth About Managing Geeks - A valuable read for anyone managing a technical group of people.
- Libraries - how companies do not understand open spaces - "Working in a library with an open space of 400 seats is nothing unheard of, but such a huge open space at work is doomed to fail. Is it? Let's take a look at what we all can learn from hundreds of years old reading rooms."
- Are tech interviews broken — or is the cruelty the point? - "Hiring managers say that coding challenges are the easiest way to find the best developers, but I'm not convinced."
- No!Spec - About the unethicality of unpaid work given as a "test" of one's skill.
- The Case Against Collaboration - How certain forms of collaboration can hinder good ideas and progress.
- Quality is Systemic - "Software quality is more the result of a system designed to produce quality, and not so much the result of individual performance."
- A List of Questions for Potential Employers
Writing
- George Orwell's Essay: Politics and the English Language - A very compelling essay on how writers and speakers use the English language to say very little and what we should try to do in our writing to not succumb to these anti-patterns. Although this was written in 1946, it easily sounds like it could have been written today.
- Towards a Blogger Peer Review - How could online writing be able to be taken as seriously as writing published by an institution? What would that look like?
- So You Want To Write a Technical Book - Some pointers about publisher contracts, self-publishing, and what's involved in getting a book onto shelves.
- Documentation System - A guide to creating effective documentation depending on the end goal.
Blogroll
Below are a bunch of feeds that I follow. The content of any site below does not necessarily represent my views or opinions.
Blogs
- (lambda (x) (create x)) (feed)
- /dev/lawyer (feed)
- 0x19.org rss feed (feed)
- 13brane (feed)
- Alex Schroeder: Diary (feed)
- Alex's Gemlog (feed)
- alice's blog (feed)
- Analog Office (feed)
- andreinc (feed)
- apenwarr (feed)
- Arch Cloud Labs (feed)
- Atom Feed - Cambus.net (feed)
- avery.cafe blog (feed)
- axbom.com (feed)
- Ben Hoyt's technical writing (feed)
- bertrand fan (feed)
- BrixIT Blog (feed)
- captainepoch's log (feed)
- Carlos Fenollosa — Blog (feed)
- Causal Agency (feed)
- Cavelab blog (feed)
- cblgh.org - all (feed)
- chrismanbrown.gitlab.io (feed)
- chötrin's wiki. (feed)
- CJ Eller (feed)
- Codemadness (feed)
- D00k (feed)
- Daemonic Dispatches (feed)
- degrowther (feed)
- devever.net/~hl (feed)
- Doing stupid things (with packets and OpenBSD) (feed)
- Drew DeVault's blog (feed)
- Dusty Phillips Codes (feed)
- elly.town (feed)
- Erin Kissane's internet website lol (feed)
- fabiensanglard.net (feed)
- flak (feed)
- Hundred Rabbits (feed)
- icyphox's blog (feed)
- In a stream of Random Thoughts .. (feed)
- Infrequently Noted (feed)
- j3s.sh (feed)
- Jeff Geerling's Blog (feed)
- Jim Nielsen’s Blog (feed)
- Jim Nielsen’s Notes (feed)
- Jimmy Miller’s Blog (feed)
- Jonathan Crowe (feed)
- joshua stein (feed)
- Ken Shirriff's blog (feed)
- macwright.com (feed)
- Maggie Appleton (feed)
- Mastering the Web - Roman Zolotarev (feed)
- metasyn.pw (feed)
- Michael W Lucas (feed)
- micheal@ecliptik.com (feed)
- Milo Land (feed)
- Muezza.ca Thoughts (feed)
- N O D E (feed)
- NetworkProfile.org (feed)
- null program (feed)
- nutcroft (feed)
- Oatmeal (feed)
- oddblog (feed)
- orib.dev (feed)
- paritybit.ca (feed)
- Pointers Gone Wild (feed)
- Vladh’s Microblog (feed)
- Posts on fribbledom's Journal (feed)
- protodrew (feed)
- Raptitude.com (feed)
- Ratfactor Feed (feed)
- rebeccatoh.co (feed)
- Robin Sloan (feed)
- Rohit Kumar (feed)
- Ru (feed)
- Secluded.Site (feed)
- Signs of Triviality (feed)
- Solene'% (feed)
- Songs on the Security of Networks (feed)
- Subpixel Space (feed)
- System Stack (feed)
- texts.martinmch.com (feed)
- That grumpy BSD guy (feed)
- The only good system is a sound system (feed)
- The Spicy Web (feed)
- thesephist (feed)
- Tomas Petricek - Languages and tools, open-source, philosophy of science and F# coding (feed)
- tonsky.me (feed)
- ~ajroach42.com (feed)
- Übermotive (feed)
News
News about various software projects (releases, security fixes, etc.).
- Debian Security (feed)
- Official Project Gemini news feed (feed)
- OpenBSD Errata (feed)
- OpenBSD Journal (feed)
- OpenBSD Webzine (feed)
- Rakudo Weekly News (feed)
- Release notes from jitsi-videobridge (feed)
- Release notes from lagrange (feed)
- Roundcube Webmail Project News (feed)
- The Linux Mint Blog (feed)
Podcasts
Mostly tech-related but with some other stuff mixed in too.
- 2.5 Admins (feed)
- Analog Office (feed)
- Bad Voltage » Ogg Vorbis (feed)
- BSD Now (feed)
- CoRecursive: Coding Stories (feed)
- Darknet Diaries (feed)
- Eric Normand Podcast (feed)
- Future of Coding (feed)
- Late Night Linux All Episodes (feed)
- Linux Lads (feed)
- Live Like the World is Dying (feed)
- Minding the Brain (feed)
Publications
- Free Games Finders RSS Feed (feed)
- Klara Inc (feed)
- Krebs on Security (feed)
- LOW-TECH MAGAZINE (feed)
- Merveilles - Local (feed)
- Merveilles Forum (feed)
- Phoronix (feed)
- Varia (feed)
YouTube Channels
Largely a mix of woodworking, gardening, tech, and repair channels.
- Aging Wheels (feed)
- Andreas Kling (feed)
- Atomic Shrimp (feed)
- Back to Reality (feed)
- Ben Eater (feed)
- Gamer's Nexus (feed)
- Gosforth Handyman (feed)
- Hardware Haven (feed)
- jdh (feed)
- Martijn Doolaard (feed)
- MikeTech (feed)
- Rag 'n' Bone Brown (feed)
- RED Gardens (feed)
- Sebastian Lague (feed)
- Shifter (feed)
- Tech Tangents (feed)
- Technology Connections (feed)
- The Post Apocalyptic Inventor (feed)
- ThinMatrix (feed)
- Under Dunn (feed)
- wortheffort (feed)
These sites don't have a feed or are inactive, but I still want to include them:
The blogroll listing is generated by exporting from yarr and running the exported file through the following command:
grep "xmlUrl" static/subscriptions.opml | sed 's/.*text=\"\(.*\)\" xmlUrl=\"\(https\?:\/\/[^\/]*\/\)\(.*\)\" .*/<li><a href=\"\2\">\1<\/a> (<a href=\"\2\3\">feed<\/a>)<\/li>/g'
(I know it doesn’t correctly link to things like YouTube channels directly or work for sites using services like FeedBurner, but that doesn’t matter too much to me as long as the personal sites are easy to navigate to.)