Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. Remember the "One Laptop Per Child" project, that developed a low-cost computer for children in developing countries?

Remember the "One Laptop Per Child" project, that developed a low-cost computer for children in developing countries?

Scheduled Pinned Locked Moved Uncategorized
88 Posts 34 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S shadsterling@mastodon.social

    @agowa338 @blinry what a nightmare that would be! Which AOT compiler would you target compatibility with? How would you handle ISA extensions? Allow specifying compiler options? Well, I might want a C interpreter+JIT for new code targeting that system, but for existing code with an established build process, I’d use the existing distributed machine code, so the language module used is minimal (until it gets run on future hardware with an incompatible ISA)

    agowa338@chaos.socialA This user is from outside of this forum
    agowa338@chaos.socialA This user is from outside of this forum
    agowa338@chaos.social
    wrote last edited by
    #60

    @ShadSterling @blinry

    Well it was your idea. I didn't even say it was possible to pull off. Your idea just sounded like JIT compiled C to me...

    Also anyone know what magic https://godbolt.org/ is using under the hood? I'd hope they're not actually running each of these compilers on their system each time you put something in there and somehow do it interpreted? Right?

    Then something like that may be able to help.

    S 1 Reply Last reply
    0
    • blinry@chaos.socialB blinry@chaos.social

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

      david_chisnall@infosec.exchangeD This user is from outside of this forum
      david_chisnall@infosec.exchangeD This user is from outside of this forum
      david_chisnall@infosec.exchange
      wrote last edited by
      #61

      @blinry

      It originally ran Sqeak. Sqeak is a modern Smalltalk (though Pharo is positioning itself as a replacement). It was also inspired by the DynaBook, which was another of Alan Kay's projects.

      Smalltalk environments all let you inspect both the source code and the state of running objects.

      For Étoilé, we built a persistent object model with some common interfaces and the UI framework exposed the same introspection APIs, so you could attach an inspector to any object and see it in a generic way, but then attach an inspector to the UI for the model object, and then to that in turn and have inspectors all the way down (or up, or something).

      1 Reply Last reply
      0
      • blinry@chaos.socialB blinry@chaos.social

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

        aburka@hachyderm.ioA This user is from outside of this forum
        aburka@hachyderm.ioA This user is from outside of this forum
        aburka@hachyderm.io
        wrote last edited by
        #62

        @blinry story time! I was volunteering in Ecuador doing a summer enrichment program in English and math skills for rural students. One summer we rolled up and discovered the school had a whole shelf of these OLPCs. Decided on the spot to include a computer class. Completely made it up as we went along, it was tons of fun. Some of the students had never touched a computer before.

        aburka@hachyderm.ioA 1 Reply Last reply
        0
        • aburka@hachyderm.ioA aburka@hachyderm.io

          @blinry story time! I was volunteering in Ecuador doing a summer enrichment program in English and math skills for rural students. One summer we rolled up and discovered the school had a whole shelf of these OLPCs. Decided on the spot to include a computer class. Completely made it up as we went along, it was tons of fun. Some of the students had never touched a computer before.

          aburka@hachyderm.ioA This user is from outside of this forum
          aburka@hachyderm.ioA This user is from outside of this forum
          aburka@hachyderm.io
          wrote last edited by
          #63

          @blinry The computers were pretty buggy. They hid the file system and instead stored stuff in a chronological "journal". But a few times the whole journal disappeared leaving students a bit distraught. I had a literal Jurassic Park "wait, it's a Linux system?" moment when I found out there was a terminal and I could go search for the missing files.

          aburka@hachyderm.ioA 1 Reply Last reply
          0
          • aburka@hachyderm.ioA aburka@hachyderm.io

            @blinry The computers were pretty buggy. They hid the file system and instead stored stuff in a chronological "journal". But a few times the whole journal disappeared leaving students a bit distraught. I had a literal Jurassic Park "wait, it's a Linux system?" moment when I found out there was a terminal and I could go search for the missing files.

            aburka@hachyderm.ioA This user is from outside of this forum
            aburka@hachyderm.ioA This user is from outside of this forum
            aburka@hachyderm.io
            wrote last edited by
            #64

            @blinry but back to the view source button! There was a kid with untreated vision issues, we thought he wasn't paying attention but he couldn't see the board etc etc. In a couple of the apps we use I was able to click that button, go in and increase the font size, and suddenly he could use the computer. He was so grateful for that.

            blinry@chaos.socialB 1 Reply Last reply
            0
            • aburka@hachyderm.ioA aburka@hachyderm.io

              @blinry but back to the view source button! There was a kid with untreated vision issues, we thought he wasn't paying attention but he couldn't see the board etc etc. In a couple of the apps we use I was able to click that button, go in and increase the font size, and suddenly he could use the computer. He was so grateful for that.

              blinry@chaos.socialB This user is from outside of this forum
              blinry@chaos.socialB This user is from outside of this forum
              blinry@chaos.social
              wrote last edited by
              #65

              @aburka Lovely story, thanks for sharing! ❤

              1 Reply Last reply
              0
              • agowa338@chaos.socialA agowa338@chaos.social

                @ShadSterling @blinry

                Well it was your idea. I didn't even say it was possible to pull off. Your idea just sounded like JIT compiled C to me...

                Also anyone know what magic https://godbolt.org/ is using under the hood? I'd hope they're not actually running each of these compilers on their system each time you put something in there and somehow do it interpreted? Right?

                Then something like that may be able to help.

                S This user is from outside of this forum
                S This user is from outside of this forum
                shadsterling@mastodon.social
                wrote last edited by
                #66

                @agowa338 @blinry I can see how it could sound that way; the mental model I landed on aims to run existing AOT-compiled software unchanged, to maximize compatibility.

                godbolt.org gives you a compiler picker and an options field, so each time you put something it actually runs just the compiler you pick - https://xania.org/202506/how-compiler-explorer-works

                1 Reply Last reply
                0
                • korenchkin@chaos.socialK korenchkin@chaos.social

                  @dwardoric @blinry I was thinking Lisp Machines, but, nevertheless, very cool project! :3

                  technomancy@hey.hagelb.orgT This user is from outside of this forum
                  technomancy@hey.hagelb.orgT This user is from outside of this forum
                  technomancy@hey.hagelb.org
                  wrote last edited by
                  #67

                  @korenchkin @dwardoric @blinry I mean, this is already pretty easy today if you use Emacs for everything 😃 C-h k gives you hyperlinks straight to the source of any command bound to a keystroke

                  the main problem is that sometimes your boss makes you use programs that aren't emacs =(

                  korenchkin@chaos.socialK 1 Reply Last reply
                  0
                  • technomancy@hey.hagelb.orgT technomancy@hey.hagelb.org

                    @korenchkin @dwardoric @blinry I mean, this is already pretty easy today if you use Emacs for everything 😃 C-h k gives you hyperlinks straight to the source of any command bound to a keystroke

                    the main problem is that sometimes your boss makes you use programs that aren't emacs =(

                    korenchkin@chaos.socialK This user is from outside of this forum
                    korenchkin@chaos.socialK This user is from outside of this forum
                    korenchkin@chaos.social
                    wrote last edited by
                    #68

                    @technomancy @dwardoric @blinry I'm lucky, I can use emacs all day :3

                    dwardoric@chaos.socialD 1 Reply Last reply
                    0
                    • cassidy@mastodon.blaede.familyC cassidy@mastodon.blaede.family

                      @blinry @EndlessAccess @wjt @ramcq @chergert I remember seeing this in @ptomato’s talk at GUADEC in 2018 (6:45) https://youtu.be/NF-hZ1aMIl0?t=405

                      wjt@mastodon.me.ukW This user is from outside of this forum
                      wjt@mastodon.me.ukW This user is from outside of this forum
                      wjt@mastodon.me.uk
                      wrote last edited by
                      #69

                      @cassidy @blinry @EndlessAccess @ramcq @chergert @ptomato I wasn't involved in implementing this, but: what makes it conceptually possible is that Flatpak apps (at least the ones on Flathub) can be built offline if you have the dependencies, which you can get from Flathub (org.gnome.Calculator.Sources for example). I think this worked by installing the .Sources extension for the running app, unpacking it and opening it in Builder, then window manager hacks to glue the two together.

                      1 Reply Last reply
                      0
                      • blinry@chaos.socialB blinry@chaos.social

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

                        sythys@chaos.socialS This user is from outside of this forum
                        sythys@chaos.socialS This user is from outside of this forum
                        sythys@chaos.social
                        wrote last edited by
                        #70

                        @blinry I incorporate this feature into my game engine right now. The game editor is built inside the game engine which is built with rust. You will be able to see the object components as well as the source code. And can effectively tinker on the editor as if it's a game that you can build with the engine.

                        1 Reply Last reply
                        0
                        • blinry@chaos.socialB blinry@chaos.social

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

                          ekaitz_zarraga@mastodon.socialE This user is from outside of this forum
                          ekaitz_zarraga@mastodon.socialE This user is from outside of this forum
                          ekaitz_zarraga@mastodon.social
                          wrote last edited by
                          #71

                          @blinry the display technology and the rotation and all... everything looked great!
                          I'd like to have one to tinker with.

                          1 Reply Last reply
                          0
                          • S shadsterling@mastodon.social

                            @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

                            viccie30@hachyderm.ioV This user is from outside of this forum
                            viccie30@hachyderm.ioV This user is from outside of this forum
                            viccie30@hachyderm.io
                            wrote last edited by
                            #72

                            @ShadSterling @blinry With debuginfod it's not even necessary to install the debug symbols anymore on most major Linux distributions, gdb or whatever program needs them can just download them on demand. At least Fedora also automatically downloads the matching source file. See https://sourceware.org/elfutils/Debuginfod.html

                            1 Reply Last reply
                            0
                            • blinry@chaos.socialB blinry@chaos.social

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

                              groxx@hachyderm.ioG This user is from outside of this forum
                              groxx@hachyderm.ioG This user is from outside of this forum
                              groxx@hachyderm.io
                              wrote last edited by
                              #73

                              @blinry dynamicland is an extreme version of this: https://dynamicland.org/

                              The site and explanations are generally so opaque to newcomers that I think it's significantly limiting things, but I suspect that's partly intentional.
                              If you haven't seen it before, I'd recommend searching YouTube for videos of people using it. It's pretty clear at a glance, the code printed on the paper *is* the code, interactions between things come from physical arrangement, etc: https://youtube.com/shorts/zsYFX_-J-rk

                              1 Reply Last reply
                              0
                              • cassidy@mastodon.blaede.familyC cassidy@mastodon.blaede.family

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

                                wjt@mastodon.me.ukW This user is from outside of this forum
                                wjt@mastodon.me.ukW This user is from outside of this forum
                                wjt@mastodon.me.uk
                                wrote last edited by
                                #74

                                @cassidy @blinry @EndlessAccess @ramcq @chergert Here is the patent: https://patents.google.com/patent/US11355030B2/en

                                1 Reply Last reply
                                0
                                • blinry@chaos.socialB blinry@chaos.social

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

                                  glyph@mastodon.socialG This user is from outside of this forum
                                  glyph@mastodon.socialG This user is from outside of this forum
                                  glyph@mastodon.social
                                  wrote last edited by
                                  #75

                                  @blinry @gvwilson amazing work! the lack of such a thing is one of my primary complaints about the so-called “open” operating systems, and the FLOSS movement generally. if we can’t put the actual control in users’ hands, then what’s the point? seeing an actual modern prototype of this is really encouraging. Particularly because it seems you have a scalable approach which won’t require work from every app? I wish you great luck in making it happen more broadly!

                                  1 Reply Last reply
                                  0
                                  • blinry@chaos.socialB blinry@chaos.social

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

                                    th@social.v.stT This user is from outside of this forum
                                    th@social.v.stT This user is from outside of this forum
                                    th@social.v.st
                                    wrote last edited by
                                    #76

                                    @blinry I think the OLPC project failed because they foolishly rejected my implementation suggestion

                                    Link Preview Image
                                    blinry@chaos.socialB 1 Reply Last reply
                                    0
                                    • blinry@chaos.socialB blinry@chaos.social

                                      You'd roughly need to:

                                      - Figure out which program is currently focused
                                      - Figure out the Git repo of this software
                                      - Clone it into a temporary directory
                                      - Set up the required tools to start hacking on it and compile it

                                      As a quick prototype, I wrote a li'l Bash script that does some of these things. It makes heavy use of #nix and #nixpkgs:

                                      Link Preview Image
                                      view-source-button

                                      view-source-button - A script that allows you to start tinkering with software

                                      favicon

                                      Codeberg.org (codeberg.org)

                                      I enters a "dev shell" with the required tools already in the PATH, and even sets up a Git remote to start contributing. 😄

                                      sounddrill@infosec.exchangeS This user is from outside of this forum
                                      sounddrill@infosec.exchangeS This user is from outside of this forum
                                      sounddrill@infosec.exchange
                                      wrote last edited by
                                      #77

                                      @blinry would be nicer to bundle the apps with the source itself in some way

                                      1 Reply Last reply
                                      0
                                      • blinry@chaos.socialB blinry@chaos.social

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

                                        ardubal@mastodon.xyzA This user is from outside of this forum
                                        ardubal@mastodon.xyzA This user is from outside of this forum
                                        ardubal@mastodon.xyz
                                        wrote last edited by
                                        #78

                                        @blinry Yes, see Lisp Machines, OpenGenera, Medley Interlisp, McCLIM, or almost any Smalltalk dialect. You can glimpse this in Emacs+SLIME »presentations«.

                                        The system is »live«, and you can inspect it directly. Typically, this goes down to individual widgets.

                                        »Modern« machines have lost the connection to their source, and trying to recover it with heuristics and remote repositories will necessarily be only a distant shimmer of that connection.

                                        1 Reply Last reply
                                        0
                                        • snaums@toot.kif.rocksS snaums@toot.kif.rocks

                                          @blinry If you limit it to python, it could be fun. C/C++ code has to be compiled and that can take _a while_. Maybe it would work better on something like Gentoo. Or maybe you'd have a system, where in a special environment, everything is built from package-source once, then can be edited and recompiled in seconds.

                                          schaf@netzkms.deS This user is from outside of this forum
                                          schaf@netzkms.deS This user is from outside of this forum
                                          schaf@netzkms.de
                                          wrote last edited by
                                          #79

                                          @snaums @blinry why not simply make a policy that every program must be a quine

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups