Remember the "One Laptop Per Child" project, that developed a low-cost computer for children in developing countries?
-
Good that the Powershell and dotNET teams already kinda split and opensourced themselves to avoid that

-
Remember the "One Laptop Per Child" project, that developed a low-cost computer for children in developing countries? I was always amazed by a certain feature: The "View Source" button.
When you pressed it, the source code for the currently running application would open. This was supposed to encourage tinkering with the software on your device!

I've been pondering what it would take to build that button on modern machines. Has anyone seen something like that?
(Prototype in next toot.)
@blinry That would bring up a million of lines, linked to a dozen of larger libraries, that in the end work only in a properly configured virtual environment.
IMHO any fun and clear didactics has ended since almost thirty years. -
Good that the Powershell and dotNET teams already kinda split and opensourced themselves to avoid that

Oh and if you've done anything with REST-APIs or transforming file formats (aka mapping objects and such) then PowerShell is definitely killing it.
That's where it shines and even outperforms python in my eyes. Everything else it is kinda on-pair with python. Except you actually get working explicit typing (should you want to explicitly type something)
+ interop with unmanaged code is easier.
-
@agowa338 @blinry Wasn't C# simply a MS repackage of MS J++, the MS version of Java, because they were sued by Sun?
Years ago I used to peer inside Java "jars" on XP and Ubuntu.I found C# far better than VB.net, but both inferior to VB6 for quick GUIs on SQL or simulating keypad and LCD of a microcontroller and prototyping the code.
Then I went back to RF design and mostly abandoned programming apart from JAL on PIC18.
But view source is very niche. You only want the overhead on a Dev's PC.@raymaccarthy @agowa338 @blinry not simply a repackage, it was a redesign from the ground up, trying to improve on the things Java aimed for but didn’t really achieve - and with some success
-
@blinry That would bring up a million of lines, linked to a dozen of larger libraries, that in the end work only in a properly configured virtual environment.
IMHO any fun and clear didactics has ended since almost thirty years.@luc0x61 My prototype later in the thread has been somewhat useful to me already!
But I agree that this can get really hairy, depending on the application.
-
Good that the Powershell and dotNET teams already kinda split and opensourced themselves to avoid that

@agowa338 @raymaccarthy @blinry the open sourcing of dotNET was largely due to the Mono project, an independent reimplementation that started out as a way to run Silverlight (dotNET browser extensions) on Linux, and grew into a company that could compile C# for iOS, which Microsoft bought, and incrementally merged the Mono and dotNET
-
@agowa338 @raymaccarthy @blinry the open sourcing of dotNET was largely due to the Mono project, an independent reimplementation that started out as a way to run Silverlight (dotNET browser extensions) on Linux, and grew into a company that could compile C# for iOS, which Microsoft bought, and incrementally merged the Mono and dotNET
@ShadSterling @raymaccarthy @blinry
Well not just that. The community also for long asked for it and the development team also eyed with breaking out of the corporate Microsoft release cycle if I recall correctly.
-
@raymaccarthy @agowa338 @blinry not simply a repackage, it was a redesign from the ground up, trying to improve on the things Java aimed for but didn’t really achieve - and with some success
@ShadSterling @agowa338 @blinry
Yes, J++ was. The C# (2004?) was very much a repackage of J++, but I tried both and stuck with VB6. I had used C++ from 1987.
Later I did some cross platform Java designed to maintain look & feel of what ever theme of XP or Vista used, whichever desktop + theme on Linux and for Mac, though I didn't personally test the Mac. Baffles me how badly Mozilla does; should know better. The Java app talked to a device driver for a PCMCIA based 4G card (not LTE or Wimax). -
@agowa338 @raymaccarthy @blinry the open sourcing of dotNET was largely due to the Mono project, an independent reimplementation that started out as a way to run Silverlight (dotNET browser extensions) on Linux, and grew into a company that could compile C# for iOS, which Microsoft bought, and incrementally merged the Mono and dotNET
@ShadSterling @agowa338 @blinry
Except I couldn't get Silverlight to run on any browser on Linux. The company I was advising did most of their work online using Silverlight.
Ironically MS was even then depreciating it! -
@ShadSterling @agowa338 @blinry
Except I couldn't get Silverlight to run on any browser on Linux. The company I was advising did most of their work online using Silverlight.
Ironically MS was even then depreciating it!@raymaccarthy @ShadSterling @blinry
Because Silverlight was shit, even when compared with Flash and Java browser plugins. But all three got replaced by HTML5 (and when apple denied them on iOS)
-
For myself, ideally, the script would set up a #Nix flake with all dependencies in it, and activate it using direnv. Which would probably mean transforming the nixpkgs package into a flake?
The script could also give you some aliases to run the nixpkgs phases like configure, patch, or build, from your current shell – I like using the fish shell, but the stdenv assumes bash. I haven't found a reasonable way to invoke the phases "in a subshell"… Getting errors like this: https://github.com/NixOS/nix/issues/15282
@blinry in the Old Days, one could attach a debugger to any running process, and step through it … if the debug symbols were where the debugger could find them, you would step though the source, if not, the machine code … I gather GDB and LLDB can do similar today, tho maybe only in text mode; I’d think a distro could package everything with debug symbols and make some of that much more accessible, even adding a version-specific repo link to the debug info
-
@blinry
Is it possible to find out what shared library is responsible for some windows? I often wonder which project is actually behind the file browser or print dialog that I'm using and whether I can change it. My understanding is that these are usually delegated to an SO?@TerryHancock @blinry that sounds like information a window manager (widget manager?) would have, tho I have no idea how discoverable it is
-
@HeptaSean Yeah, that doesn't really seem possible to figure out. For non-web applications, maybe the button could show you the tree of processes that are involved in your "current application", and allow you to pick?
For expert users, I guess they could provide the name of the desired component directly.
@blinry @HeptaSean for web applications, I wonder if there’s something equivalent to the debug symbols for WASM
-
Or have the entire system built around being interpreted like Python or C#. Maybe C# would even be a better option as it's JIT compiler is better in my eyes. And it integrates better with that XML based GUI definition language Microsoft had.
Edit: WPF XAML was it.
@agowa338 @blinry I used to have the dream of a runtime that worked like a dynamic language interpreter, but rather than being specific to one language each call could invoke a different interpreter for whichever language was needed for the method being called. My original goal was to not have to recreate every library in every language, but the more I thought about it the more other potential benefits I saw. Even wrote my undergraduate thesis about how it might be done
-
@korenchkin Oh cool, that would speed things up a bit for sure!

@blinry @korenchkin some other unsolicited advise: if the directory already exists and you decide not to delete it, change to it.
-
@agowa338 @blinry I used to have the dream of a runtime that worked like a dynamic language interpreter, but rather than being specific to one language each call could invoke a different interpreter for whichever language was needed for the method being called. My original goal was to not have to recreate every library in every language, but the more I thought about it the more other potential benefits I saw. Even wrote my undergraduate thesis about how it might be done
Sounds like you'd want to write a JIT compiler for C tbh...
-
Remember the "One Laptop Per Child" project, that developed a low-cost computer for children in developing countries? I was always amazed by a certain feature: The "View Source" button.
When you pressed it, the source code for the currently running application would open. This was supposed to encourage tinkering with the software on your device!

I've been pondering what it would take to build that button on modern machines. Has anyone seen something like that?
(Prototype in next toot.)
@blinry oh oh oh talk to @EndlessAccess folks about this! They hold a defensive patent (which is usable by open source projects) for “Flip to Hack” which was this idea taken to the extreme as far as coolness goes.
I imagine @wjt, @ramcq, and maybe @chergert (because I think it used GNOME Builder?) could share some pointers to the history.
-
@ShadSterling @agowa338 @blinry
Yes, J++ was. The C# (2004?) was very much a repackage of J++, but I tried both and stuck with VB6. I had used C++ from 1987.
Later I did some cross platform Java designed to maintain look & feel of what ever theme of XP or Vista used, whichever desktop + theme on Linux and for Mac, though I didn't personally test the Mac. Baffles me how badly Mozilla does; should know better. The Java app talked to a device driver for a PCMCIA based 4G card (not LTE or Wimax).@raymaccarthy @agowa338 @blinry yeah, J++ was an attempt to EEE Java, especially for “applets” in IE, that got shut down by the court ruling. dotNET and C# were the subsequent attempt to build a better mousetrap, which largely succeeded in terms of capabilities, but failed to replace Java in adoption because it was closed-source and windows-only
-
@blinry oh oh oh talk to @EndlessAccess folks about this! They hold a defensive patent (which is usable by open source projects) for “Flip to Hack” which was this idea taken to the extreme as far as coolness goes.
I imagine @wjt, @ramcq, and maybe @chergert (because I think it used GNOME Builder?) could share some pointers to the history.
@blinry @EndlessAccess @wjt @ramcq @chergert here is a video of the effect I found: https://xcancel.com/jonobacon/status/817059475437879305
-
@luc0x61 My prototype later in the thread has been somewhat useful to me already!
But I agree that this can get really hairy, depending on the application.
@blinry I just share my dark vision of software development's future
️