Mastodon Skip to content
  • Home
  • Aktuell
  • Tags
  • Über dieses Forum
Einklappen
Grafik mit zwei überlappenden Sprechblasen, eine grün und eine lila.
Abspeckgeflüster – Forum für Menschen mit Gewicht(ung)

Kostenlos. Werbefrei. Menschlich. Dein Abnehmforum.

  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?

Geplant Angeheftet Gesperrt Verschoben Uncategorized
95 Beiträge 40 Kommentatoren 1 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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.)

    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
    schrieb zuletzt editiert von
    #4

    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:

    https://codeberg.org/blinry/view-source-button

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

    agowa338@chaos.socialA blinry@chaos.socialB korenchkin@chaos.socialK heptasean@social.tchncs.deH terryhancock@realsocial.lifeT 7 Antworten Letzte Antwort
    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.)

      terryhancock@realsocial.lifeT This user is from outside of this forum
      terryhancock@realsocial.lifeT This user is from outside of this forum
      terryhancock@realsocial.life
      schrieb zuletzt editiert von
      #5

      @blinry
      Yeah, I've often wondered about that myself. I understand that you can install the Sugar DE on Linux, generally, and get that "view source" button. But it seems specifically designed to oppose multitasking, too.

      https://en.wikipedia.org/wiki/Sugar_(desktop_environment)

      blinry@chaos.socialB raymaccarthy@mastodon.ieR 2 Antworten Letzte Antwort
      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:

        https://codeberg.org/blinry/view-source-button

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

        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
        schrieb zuletzt editiert von
        #6

        @blinry

        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.

        raymaccarthy@mastodon.ieR S 2 Antworten Letzte Antwort
        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:

          https://codeberg.org/blinry/view-source-button

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

          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
          schrieb zuletzt editiert von
          #7

          So if you've been wondering why I'm into obscure bugs this week like:

          - Figuring out why I'm missing icons in pavucontrol https://chaos.social/@blinry/116081436255395069

          - Improving the man page of a Nix CLI helper https://github.com/nix-community/nh/pull/568

          - Reporting broken shortcuts in the Firefox DevTools https://bugzilla.mozilla.org/show_bug.cgi?id=2017113

          … it was testcases for tying out this "View Source Button". 😛

          blinry@chaos.socialB 1 Antwort Letzte Antwort
          0
          • agowa338@chaos.socialA agowa338@chaos.social

            @blinry

            The python IDE. Basically you'd have to make the entire system in an interpreted language. Whatever that may be.

            lanodan@queer.hacktivis.meL This user is from outside of this forum
            lanodan@queer.hacktivis.meL This user is from outside of this forum
            lanodan@queer.hacktivis.me
            schrieb zuletzt editiert von
            #8
            @agowa338 @blinry DWARF also includes information on where the source file is, so most binaries can also point to where the source code is.
            agowa338@chaos.socialA 1 Antwort Letzte Antwort
            0
            • lanodan@queer.hacktivis.meL lanodan@queer.hacktivis.me
              @agowa338 @blinry DWARF also includes information on where the source file is, so most binaries can also point to where the source code is.
              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
              schrieb zuletzt editiert von
              #9

              @lanodan @blinry

              Not familiar with DWARF, however a JIT language has the added benefit of being able to change it in real time.

              1 Antwort Letzte Antwort
              0
              • blinry@chaos.socialB blinry@chaos.social

                So if you've been wondering why I'm into obscure bugs this week like:

                - Figuring out why I'm missing icons in pavucontrol https://chaos.social/@blinry/116081436255395069

                - Improving the man page of a Nix CLI helper https://github.com/nix-community/nh/pull/568

                - Reporting broken shortcuts in the Firefox DevTools https://bugzilla.mozilla.org/show_bug.cgi?id=2017113

                … it was testcases for tying out this "View Source Button". 😛

                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
                schrieb zuletzt editiert von
                #10

                It's been fun, it feels like a new superpower to "quickly fix something and send a PR". It's also a super dangerous rabbit hole generator, because now that it's easy to fix stuff, it's very tempting to do so… 🐇

                My prototype has some rough edges:

                It clones the latest commit, which doesn't always compile using the #nixpkgs setup (but it seems reasonable to check whether the bug is still there).

                And invoking the phases of the nixpkgs stdenv manually can be tricky. https://nixos.org/manual/nixpkgs/stable/#sec-building-stdenv-package-in-nix-shell

                dwardoric@chaos.socialD blinry@chaos.socialB benrutter@mastodon.greenB 3 Antworten Letzte Antwort
                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:

                  https://codeberg.org/blinry/view-source-button

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

                  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
                  schrieb zuletzt editiert von
                  #11

                  @blinry Might I suggest using `nix eval --raw nixpkgs#$PKG --apply 'pkg: …'` to avoid repeatedly invoking `nix eval`?

                  blinry@chaos.socialB 1 Antwort Letzte Antwort
                  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.)

                    simulo@hci.socialS This user is from outside of this forum
                    simulo@hci.socialS This user is from outside of this forum
                    simulo@hci.social
                    schrieb zuletzt editiert von
                    #12

                    @blinry I guess that this idea was inspired by smalltalk, which usually comes with a combined desktop/IDE.

                    1 Antwort Letzte Antwort
                    0
                    • blinry@chaos.socialB blinry@chaos.social

                      It's been fun, it feels like a new superpower to "quickly fix something and send a PR". It's also a super dangerous rabbit hole generator, because now that it's easy to fix stuff, it's very tempting to do so… 🐇

                      My prototype has some rough edges:

                      It clones the latest commit, which doesn't always compile using the #nixpkgs setup (but it seems reasonable to check whether the bug is still there).

                      And invoking the phases of the nixpkgs stdenv manually can be tricky. https://nixos.org/manual/nixpkgs/stable/#sec-building-stdenv-package-in-nix-shell

                      dwardoric@chaos.socialD This user is from outside of this forum
                      dwardoric@chaos.socialD This user is from outside of this forum
                      dwardoric@chaos.social
                      schrieb zuletzt editiert von
                      #13

                      @blinry Everything in me currently screams "Smalltalk" 😉

                      korenchkin@chaos.socialK 1 Antwort Letzte Antwort
                      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:

                        https://codeberg.org/blinry/view-source-button

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

                        heptasean@social.tchncs.deH This user is from outside of this forum
                        heptasean@social.tchncs.deH This user is from outside of this forum
                        heptasean@social.tchncs.de
                        schrieb zuletzt editiert von
                        #14

                        @blinry Not sure if I'm thinking too complicated here, but doesn't it get ever more complicated what exactly to show there?

                        If I'm currently looking at a web app that shows some data retrieved from a server-side backend in a browser whose UI is written in (say) Python calling one of the dominant rendering engines and one of the dominant Javascript engines, which of the sources do I show on “View Source”?

                        It could be anything from the operating system kernel via the CPython or the Javascript runtime to the web app or its server-side counter-part that could be considered most interesting and answering the question: “Oh, I wonder how this works.”

                        blinry@chaos.socialB clew@ecoevo.socialC 2 Antworten Letzte Antwort
                        0
                        • dwardoric@chaos.socialD dwardoric@chaos.social

                          @blinry Everything in me currently screams "Smalltalk" 😉

                          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
                          schrieb zuletzt editiert von
                          #15

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

                          technomancy@hey.hagelb.orgT 1 Antwort Letzte Antwort
                          0
                          • blinry@chaos.socialB blinry@chaos.social

                            It's been fun, it feels like a new superpower to "quickly fix something and send a PR". It's also a super dangerous rabbit hole generator, because now that it's easy to fix stuff, it's very tempting to do so… 🐇

                            My prototype has some rough edges:

                            It clones the latest commit, which doesn't always compile using the #nixpkgs setup (but it seems reasonable to check whether the bug is still there).

                            And invoking the phases of the nixpkgs stdenv manually can be tricky. https://nixos.org/manual/nixpkgs/stable/#sec-building-stdenv-package-in-nix-shell

                            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
                            schrieb zuletzt editiert von
                            #16

                            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

                            quincy@chaos.socialQ S 2 Antworten Letzte Antwort
                            0
                            • blinry@chaos.socialB blinry@chaos.social

                              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

                              quincy@chaos.socialQ This user is from outside of this forum
                              quincy@chaos.socialQ This user is from outside of this forum
                              quincy@chaos.social
                              schrieb zuletzt editiert von
                              #17

                              @blinry this looks extremely useful / promising!

                              1 Antwort Letzte Antwort
                              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.)

                                snaums@toot.kif.rocksS This user is from outside of this forum
                                snaums@toot.kif.rocksS This user is from outside of this forum
                                snaums@toot.kif.rocks
                                schrieb zuletzt editiert von
                                #18

                                @blinry Well. Several idea pop up. The currently focused Application is easy to find. With something like apt-file you can find the package, download the source package and show that. That won't be much fun.

                                If you were to limit it to python-Apps, showing the directory of the python-file seems easy. Then you will want an overlay fs to not destroy the installed App, but write changes to "disk" and rerun the application from there.

                                blinry@chaos.socialB 1 Antwort Letzte Antwort
                                0
                                • heptasean@social.tchncs.deH heptasean@social.tchncs.de

                                  @blinry Not sure if I'm thinking too complicated here, but doesn't it get ever more complicated what exactly to show there?

                                  If I'm currently looking at a web app that shows some data retrieved from a server-side backend in a browser whose UI is written in (say) Python calling one of the dominant rendering engines and one of the dominant Javascript engines, which of the sources do I show on “View Source”?

                                  It could be anything from the operating system kernel via the CPython or the Javascript runtime to the web app or its server-side counter-part that could be considered most interesting and answering the question: “Oh, I wonder how this works.”

                                  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
                                  schrieb zuletzt editiert von
                                  #19

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

                                  S 1 Antwort Letzte Antwort
                                  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:

                                    https://codeberg.org/blinry/view-source-button

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

                                    terryhancock@realsocial.lifeT This user is from outside of this forum
                                    terryhancock@realsocial.lifeT This user is from outside of this forum
                                    terryhancock@realsocial.life
                                    schrieb zuletzt editiert von
                                    #20

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

                                    blinry@chaos.socialB S 2 Antworten Letzte Antwort
                                    0
                                    • korenchkin@chaos.socialK korenchkin@chaos.social

                                      @blinry Might I suggest using `nix eval --raw nixpkgs#$PKG --apply 'pkg: …'` to avoid repeatedly invoking `nix eval`?

                                      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
                                      schrieb zuletzt editiert von
                                      #21

                                      @korenchkin Oh cool, that would speed things up a bit for sure! 🙂

                                      foosel@chaos.socialF 1 Antwort Letzte Antwort
                                      0
                                      • terryhancock@realsocial.lifeT terryhancock@realsocial.life

                                        @blinry
                                        Yeah, I've often wondered about that myself. I understand that you can install the Sugar DE on Linux, generally, and get that "view source" button. But it seems specifically designed to oppose multitasking, too.

                                        https://en.wikipedia.org/wiki/Sugar_(desktop_environment)

                                        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
                                        schrieb zuletzt editiert von
                                        #22

                                        @TerryHancock Ohh, I didn't know it was still (kind of) maintained! 😮

                                        terryhancock@realsocial.lifeT 1 Antwort Letzte Antwort
                                        0
                                        • snaums@toot.kif.rocksS snaums@toot.kif.rocks

                                          @blinry Well. Several idea pop up. The currently focused Application is easy to find. With something like apt-file you can find the package, download the source package and show that. That won't be much fun.

                                          If you were to limit it to python-Apps, showing the directory of the python-file seems easy. Then you will want an overlay fs to not destroy the installed App, but write changes to "disk" and rerun the application from there.

                                          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
                                          schrieb zuletzt editiert von
                                          #23

                                          @snaums Yeah, I also thought this should work well with tools that do a "reverse lookup" from your binary to a software package!

                                          You mean it won't be fun because you can't easily modify the source code and then use it immediately? That's probably right…

                                          snaums@toot.kif.rocksS 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen



                                          Copyright (c) 2025 abSpecktrum (@abspecklog@fedimonster.de)

                                          Erstellt mit Schlaflosigkeit, Kaffee, Brokkoli & ♥

                                          Impressum | Datenschutzerklärung | Nutzungsbedingungen

                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Über dieses Forum