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

    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
                                    • blinry@chaos.socialB blinry@chaos.social

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

                                      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
                                      #24

                                      @blinry
                                      Well, I have never actually tried it, but supposedly it's there.

                                      I do see the point in trying to port the "view source" feature to a more conventional DE. It seems unlikely that I could commit to using Sugar as a general purpose environment, but it would be cool for some of the ideas to get around.

                                      1 Antwort Letzte Antwort
                                      0
                                      • terryhancock@realsocial.lifeT terryhancock@realsocial.life

                                        @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 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
                                        #25

                                        @TerryHancock I've sometimes used `ldd` to show the linked libraries of a binary; but trying that on some examples the list seems to be either under- or overwhelming! 😄

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

                                          siguza@infosec.spaceS This user is from outside of this forum
                                          siguza@infosec.spaceS This user is from outside of this forum
                                          siguza@infosec.space
                                          schrieb zuletzt editiert von
                                          #26

                                          @blinry my immediate thought was: step 1, write an accurate decompiler 😐

                                          suiseiseki@freesoftwareextremist.comS 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