Live data from Hacker News

A Love Letter to Tinkerable Software

trevoragilbert.com

31–40 of 80 posts

Re: A Love Letter to Tinkerable Software

#31

One of the reasons why I love open source software is that I can maintain personal patches. I'll upstream changes when it makes sense to do so, but mostly, I keep local branches. Some of these tweaks are simple. Others are significant rewrites. But, the point is that I can approach computing on my own terms, and that's pretty neat.

I really appreciate how easy Nix makes this. It’s relatively straightforward to overlay a package in your configuration to add a patch - meaning I get to apply my own patches and also get updates from upstream - at least until my patch doesn’t apply cleanly.

Re: A Love Letter to Tinkerable Software

#32
post #30

I'm currently playing with Pharo Smalltalk and everything is very accessible. I wonder why Smalltalk Environments did not catch on as operating systems, let alone just as languages, where everything can be tinkered with and modified on the fly. Apple sounds like the kind of company that would successfully build a smalltalk device, yet they go the opposite way of locking down their devices hard.

Version control. Small talk is amazing, but dumping the binary to distribute is so scary. Did I unload my email client? Are my credentials in there? Gah. Scary.

Re: A Love Letter to Tinkerable Software

#33

As a young child with only the scarcest grasp of programming, I spent endless hours using ResEdit to crack open and customize every application on my mac. Every game and utility was filled with its own surprises; graphics I could edit, tables of strings to pore over, dialogs to rearrange, menus to customize, and so much more. I never had a manual, but everything was so straightforward and clear I learned everything I…

Me too -- same exact story with using ResEdit as a kid to customize menus, dialogs, graphics! Then one day I found a "Super ResEdit" which did all the same things as the original but also disassembled a program's binary code into the 68k assembly.

It took a while for me to understand that I could do anything with that (or might want to do anything with that), but eventually I realized that there were descriptive names for sections (function names!), and that there were patterns in the list of opaque words like "CMP" was usually followed by a "BEQ" or "BNE", and hovering over one of the latter two would pop up an arrow to another line, just like if I hovered over a "BRANCH" -- aha, "CMP" must be "compare" and then "BEQ" is branch-if-equal, and "BNE" is branch-if-not-equal!

That was approximately the first time I realized that computer programs weren't magic, that they were complicated things built out of simpler things, and that it was possible in principle to see and understand the simpler things.

Then I realized I could change how it worked, just like changing the menu bar or graphics, by changing the corresponding hex codes next to the words! First time was to find a section like "checkIfRegistrationCodeIsValid" and notice a "CMP" followed by a "BEQ", and change that to a "BRANCH"...

Re: A Love Letter to Tinkerable Software

#34
This is totally off topic, but this made me think of it for some reason... Remember when computers had turbo buttons? What a fun concept. I wish my MacBook Pro had a physical button on there to knock it into ass-kicking mode.

I think the world would be a more perfect place if everything had turbo buttons. Internet too slow? Hit the turbo link button to 10x your download speeds for 30 seconds. ChatGPT prompt sucks and just isn’t getting it? Turbo that sucker and watch it prompt you instead. Food is taking too long at the restaurant? That’s right, turbo. JVM takes too long to spin up? Probably no turbo there, that’s never gonna get solved.

Re: A Love Letter to Tinkerable Software

#36
I've learned pixel art by messing with Sim City 2000 files! I found out that I could just change the sprites, so I started modding the game, and learning how tiles and palette animation works. Now, on every game I make or work on, I try to keep atlas and files exposed and unencrypted, so people can play around with it.

Re: A Love Letter to Tinkerable Software

#37
Thinking about tinkerable software, this is one of the promises that crypto offers in my opinion, as it decouples the front end from the back end in a very clean way.

This gives the ability for anyone to add a different front end to any pure crypto back end.

Re: A Love Letter to Tinkerable Software

#38

This is totally off topic, but this made me think of it for some reason... Remember when computers had turbo buttons? What a fun concept. I wish my MacBook Pro had a physical button on there to knock it into ass-kicking mode. I think the world would be a more perfect place if everything had turbo buttons. Internet too slow? Hit the turbo link button to 10x your download speeds for 30 seconds. ChatGPT prompt sucks and…

I believe the intention of those was that it was actually a "slow down" button just with enhanced marketing. But when you played an old game which was designed with no frame limit cap, you could slow the game down to a playable speed with the button.

Unfortunately, I had no such button on the family computer, so many games were unplayable because of our speedy 486SX33

Re: A Love Letter to Tinkerable Software

#39

Earlier quoted context omitted.

Since you're here: I love Decker, it's exactly the sort of thing I want to get my kids playing around with. It's clearly a labor of love, keep up the good work!! But how in the hell do you read that source code. I've seen some gnarly C in my time but man what even is that. How are you able to maintain this? It's beyond me. Please explain!

It's just dense. I use a handful of macros to abstract out repetitive patterns (EACH is a for-loop that iterates over all the elements of a lil list/dict), very short names for the most frequently-used utility functions (lin: lil-is-number? lil: lil-is-list? lmn: lil-make-number, lml: lil-make-list, etc), and typically aim for one idea/process per line, rather than one statement. I find most C code dreadfully verbose…

I’m curious: How many spaces is the tab size in your editor?

Re: A Love Letter to Tinkerable Software

#40

As a young child with only the scarcest grasp of programming, I spent endless hours using ResEdit to crack open and customize every application on my mac. Every game and utility was filled with its own surprises; graphics I could edit, tables of strings to pore over, dialogs to rearrange, menus to customize, and so much more. I never had a manual, but everything was so straightforward and clear I learned everything I…

It was a different world back then. To become “online”, you dialed a number. Then it was the time to search and download files, and to save pages for offline use. You probably also turned off images and JavaScript and accidentally learned HTML by looking at the text source of that broken layout.

The rest was an offline experience. You tinkered with the precious downloaded files. You knew how to change bytes with a hex editor, even if you knew nothing about the format.

Post reply on HN