Tux Machines

Programming Leftovers

Posted by Roy Schestowitz on May 06, 2023

=> 8 Best Free and Open Source Terminal-Based Internet Radio Apps | today's howtos

AgonLight Weekend Programming Challenge – ISSUE 2

=> ↺ AgonLight Weekend Programming Challenge – ISSUE 2

The code must run on AgonLight. There are no restriction how you will code your solution: Assembler, Forth, C, BBC Basic, Turbo Pascal for CP/M any tool is possible. If your tool need special installation you should provide brief note how to do it so we can verify your solution.

How To Survive Your Project's First 100,000 Lines

=> ↺ How To Survive Your Project's First 100,000 Lines

In 2021, I came across the same code.
"That's odd," I said, "This really should be simpler," and I started refactoring.
Then I proceeded to run into that same wall. It was only then that I remembered my first attempt.
This is why we leave comments!

HTMX is the Future

=> ↺ HTMX is the Future

Five years ago, I wrote The Web I Want, where I bemoaned the spiralling costs of SPAs. It was originally prompted by watching my partner's 2-year-old ChromeBook grind to a halt on a popular website that really could've been static HTML. In the article, I discussed how I wished more of the web stuck to the basic hypermedia approach, rendering HTML on the server and using progressive enhancement to improve the experience. Reading back on this has made me very relieved the likes of HTMX have arrived.

Stop Using Hamburger Menus

=> ↺ Stop Using Hamburger Menus

The biggest headache when coming across these menus on the web is the complete disregard for accessibility. Performance and solid user experience is almost always thrown out the window in favour of a "prettier" design layout. You might have made the overall design "cleaner" for your users, but you sacrificed all usability to do so.
I challenge you to visit a webpage or web app with a hamburger menu and try to navigate solely with your keyboard and screen-readers (or better yet - try these screen readers on mobile!). Within seconds you will find a whole mess of issues. Now try the same test with JavaScript disabled... Yikes.
"But I Have No Choice!"
I see this argument pop-up frequently when taking to design leaders or developers. I call bullshit on this excuse. You absolutely have the choice to avoid implementing bad designs - that's your job! Either you're not fighting hard enough against those pushing for it, or you're just trying to build a "pretty" portfolio.

When to prefer inheritance to composition

=> ↺ When to prefer inheritance to composition

First of all, new blog post: Somehow AutoHotKey is kinda good now. AHK’s been a core part of my toolkit for years now and the new, backwards incompatible version is a whole lot better. But most of the article is about how much v1 sucked, which is more entertaining and more useful to non-AHKers. You think Javascript is bad? Javascript’s nothing compared to v1.
I wanted to write a newsletter that was topical to the post, but none of my ideas really gelled, so instead here’s something else on my mind: when is OOP inheritance better than composition? I’ll assume you’ve all heard “prefer composition to inheritance”, which is generally good advice, and I’m interested in where the advice doesn’t apply.

CVE as JSON

=> ↺ CVE as JSON

It started as just a test to see if I could use the existing advisory data we have for all curl CVEs to date and provide that as JSON. Maybe, I thought, if we provide it good enough it can be used to populate other databases automatically or even get queried easier by tools.

=> gemini.tuxmachines.org

Proxy Information
Original URL
gemini://gemini.tuxmachines.org/n/2023/05/06/Programming_Leftovers.1.gmi
Status Code
Success (20)
Meta
text/gemini;lang=en-GB
Capsule Response Time
141.04115 milliseconds
Gemini-to-HTML Time
0.803996 milliseconds

This content has been proxied by September (ba2dc).