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.
A Love Letter to Tinkerable Software
31–40 of 80 posts
Re: A Love Letter to Tinkerable Software
#32I'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.
Re: A Love Letter to Tinkerable Software
#33As 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 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
#34I 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
#35Re: A Love Letter to Tinkerable Software
#36Re: A Love Letter to Tinkerable Software
#37This gives the ability for anyone to add a different front end to any pure crypto back end.
Re: A Love Letter to Tinkerable Software
#38This 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…
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
#39Earlier 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…
Re: A Love Letter to Tinkerable Software
#40As 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…
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.