Earlier quoted context omitted.
For anyone interested in this: Tsoding (Twitch and YouTube streamer of "recreational programming") demonstrates this in one of his projects, where he hot reloads a dynamic library without interrupting the main program, to test different functionality. https://youtu.be/Y57ruDOwH1g?si=feGioEeSZ5eborb3&t=84
This is cool and all, but the problem with doing this in C, is if you accidentally do a memory corruption bug while you're just messing about with the code, now you're forced to restart. Not a problem in a toy app, but in something like a huge program, it can be a PITA to reload everything and get back to where you were.
Malleable software: Restoring user agency in a world of locked-down apps
81–90 of 117 posts
Re: Malleable software: Restoring user agency in a world of locked-down apps
#82Give me Delphi. No, seriously, give me Delphi, but for the web and in a modern popular programming language. Python would be great, but I will not turn my nose away from TypeScript or Go or Lua. For those who don’t know, Delphi was (is?) a visual constructor for Windows apps that you outfitted with a dialect of Pascal. It was effing magic! Nowadays the web ecosystem is so fast-paced and so fragmented, the choice is p…
Re: Malleable software: Restoring user agency in a world of locked-down apps
#83You can tell when a platform is succeeding at this by looking at its adoption among non-programmers.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#84Earlier quoted context omitted.
This is cool and all, but the problem with doing this in C, is if you accidentally do a memory corruption bug while you're just messing about with the code, now you're forced to restart. Not a problem in a toy app, but in something like a huge program, it can be a PITA to reload everything and get back to where you were.
Yeah, C really does not support this as a language (or implementation) feature - it's something that can be hacked in, with a lot of difficulty, inconvenience, and loss of safety guarantees.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#85- In-process and cross-process language-agnostic API bindings.
- Elaborate support for marshalling objects and complex datastructures across process boundaries.
- Standardized ways to declare application and document object models that can be used by external applications, or internally by application add-ons.
- A standardized distribution system for application extensions, including opportunities for monetization.
- Standardized tools for binding application APIs to web services and database services.
- A default scripting engine (VBA) that can be embedded into applications.
- Admittedly primitive and mostly ill-advised support for dynamically typed objects, and composable objects.
And it provides opportunities for all of the levels of application customization you seem to be looking for.
- Trivial tiny customizations using in-app VBA.
- The ability to extend your application's behavior using addons downloadable from a marketplace WITHOUT trying to capture a percentage of licensing revenue from those who want to monetize their add-ons.
- The ability to write scripts that move data between the published document object models of various applications (and a variety of standard data formats).
- The ability to write fully custom code that lives within applications and interacts with the UI and with live documents within those application (i.e. write-your-own add-ons).
Plus it would be enormously fun to build the equivalent functionality of COM/OLE with the all the benefits of hindsight, and none of the cruft incurred by Visual Basic, with lessons in hand from some of the things COM didn't do well. (svg as a graphics transport, perhaps? A more organized arrangement of threading model options? Support for asynchronous methods? A standardized event mechanism?)
Questions that come to mind:
- What can you get away with not doing that COM does do? Not much, I think.
- How could you make it better? A bunch of ways!
Re: Malleable software: Restoring user agency in a world of locked-down apps
#86Re: Malleable software: Restoring user agency in a world of locked-down apps
#87Modders tweak and change games they like pretty much all the time, whether they are malleable or not.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#88I really love those customization power charts and really happy to see that my anecdote-based thoughts might actually have some grounding behind them.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#89https://news.ycombinator.com/item?id=44236729
Ultimately I think it’s too open ended. Users got overwhelmed with a chat interface and couldn’t think of something useful to build on the spot.
Maybe a slow burn approach works best.
Re: Malleable software: Restoring user agency in a world of locked-down apps
#90I wish that the first semester of programming class deliberately left code out of the material. IMHO students should start with something like this short list: FileMaker/Microsoft Access/HyperCard (no longer exists) Macromedia Flash (no longer exists) Spreadsheets (like Microsoft Excel, unfortunately Airtable isn't there yet?) Wix (maybe? surely there are better alternatives) Zapier (or an open source version) Then m…