Live data from Hacker News

Malleable software: Restoring user agency in a world of locked-down apps

inkandswitch.com

81–90 of 117 posts

Re: Malleable software: Restoring user agency in a world of locked-down apps

#81
post #34

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.

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

#82

Give 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…

[dead]

Re: Malleable software: Restoring user agency in a world of locked-down apps

#84

Earlier 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.

eBPF for apps?

Re: Malleable software: Restoring user agency in a world of locked-down apps

#85
I hope you're looking carefully at COM/OLE Automation, which achieved pretty much all of those things.

- 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

#88
In my experience, people yearn for coding and modding. Given the tools a whole bunch of people will do domain-specific miracles using macros and other tools. I'm almost convinced that teaching programming is easier than teaching software development boilerplate.

I 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

#89
I made an app that lets you build one-off desktop utilities: https://viberunner.me

https://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

#90

I 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…

I would swap and place assembly or C before the erlang, etc step
Post reply on HN