schmonz.com is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.

This server runs the snac software and there is no automatic sign-up process.

Search results for tag #C

[?]Thalia Archibald » 🌐
@thalia@discuss.systems

A cursed feature of C in 1972: Labels and functions were reassignable (i.e., lvalues)!

For example, this is a clever way to initialize once:

goto init;
init:
ouptr = oubuf;
init = init1;
init1:

which is compiled to:

jmp *4120
mov 4136,4144
mov 4122,4120

Note the indirect jump and assignment to that address. All gotos used indirect jumps. This apparently would have also worked with functions.

    [?]hubertf » 🌐
    @hubertf@mastodon.social

    code.fail: C Version with x86+ARM shellcode

    Here is an exploit written in C for the the copy.fail (copy.fail/, CVE-2026-31431) vulnerability. The embedded shellcode works on other CPUs than X86, with ARM as a primary target.

    Code: github.com/huberteff/copy-fail
    Technical writeup: feyrer.de/redir/copy.fail-C-ve

      [?]hubertf » 🌐
      @hubertf@mastodon.social

      C version of copy.fail? Sure:

      % head -1 cfc.c
      // C version of copy.fail by Hubert 'hubertf' Feyrer
      % make cfc
      gcc cfc.c -o cfc -I/usr/include/node -L/home/feyrer/pkg10/lib -lz
      % ./cfc && su
      Starting XFRM IPSec tunnel simulation...
      Decompressed size: 160 bytes
      First few bytes: 7f 45 4c 46...
      Processed 0/160 bytes
      Done processing 160 bytes
      Executing su...
      # id
      uid=0(root) gid=42(feyrer) groups=42(feyrer),27(sudo)
      #

        [?]Mason Loring Bliss [he, him, his] » 🌐
        @mason@partychickens.net

        I just saw some C++ posted, and it made me think:

        Write in C!

        youtube.com/watch?v=H4YRPdRXKF

          [?]Aptivi » 🌐
          @officialaptivi.wordpress.com@officialaptivi.wordpress.com

          Running .NET 10.0 on FreeBSD 15.0

          Our projects have always been designed with cross-platform support in mind, with C# being the primary chosen language because our flagship project, Nitrocid, was released in 2018. Currently, we are using the modern .NET 10.0 framework released last year to power our projects, but our most recent project, which is Aptivi Development Toolkit (ADT), used Python for its purpose.

          But, are you aware that .NET 10.0 works on FreeBSD? We have done our minimal test on a brand new PKGBASE-based system using FreeBSD 15.0 as the version that was released last year, and the answer is below.

          First of all, we have taken a look at a FreeBSD port for dotnet, and saw that it’s still not updated to utilize the latest .NET 10.0 framework, as it’s still in .NET 9.0 with version v9.0.14, according to

          distinfo

          file’s commit logs.

          As we are targeting .NET 10.0 instead of 9.0, we went into an alternative method, which is to use a GitHub repository that provided .NET 10.0 SDK binaries for FreeBSD 15.0. We have chosen .NET v10.0.102, because builds for FreeBSD 15.0 were available. The repository and the release we’ve used can be found in the below button.

          Repository

          Release v10.0.102

          As we have virtualized a FreeBSD 15.0 system for AMD64 architecture, we have used this file to get the SDK binaries, which is

          dotnet-sdk-10.0.102-freebsd-x64.tar.gz

          .

          First of all, we have created a new directory in the home directory, called

          dotnet

          , which will store the SDK binaries. Then, we traversed to that directory and downloaded the above file using

          wget

          , which can be installed using

          pkg install wget

          as root.

          aptivi@fbsd-apt:~/dotnet $ wget https://github.com/sec/dotnet-core-freebsd-source-build/releases/download/10.0.102-vmr/dotnet-sdk-10.0.102-freebsd-x64.tar.gz

          --2026-04-07 13:27:59-- github.com/sec/dotnet-core-fre

          Resolving github.com (github.com)... 140.82.121.3

          Connecting to github.com (github.com)|140.82.121.3|:443... connected.

          HTTP request sent, awaiting response... 302 Found

          Location: release-assets.githubuserconte [following]

          --2026-04-07 13:28:00-- release-assets.githubuserconte

          Resolving release-assets.githubusercontent.com (release-assets.githubusercontent.com)... 185.199.108.133, 185.199.110.133, 185.199.111.133, ...

          Connecting to release-assets.githubusercontent.com (release-assets.githubusercontent.com)|185.199.108.133|:443... connected.

          HTTP request sent, awaiting response... 200 OK

          Length: 654226171 (624M) [application/octet-stream]

          Saving to: ‘dotnet-sdk-10.0.102-freebsd-x64.tar.gz’

          dotnet-sdk-10.0.102 100%[===================>] 623.92M 824KB/s in 15m 44s

          2026-04-07 13:43:45 (677 KB/s) - ‘dotnet-sdk-10.0.102-freebsd-x64.tar.gz’ saved [654226171/654226171]

          After that, we’ve extracted the archive file to the current directory, and verified that the binary files actually exist.

          aptivi@fbsd-apt:~/dotnet $ tar xf dotnet-sdk-10.0.102-freebsd-x64.tar.gz

          aptivi@fbsd-apt:~/dotnet $ ls

          LICENSE.txt metadata

          ThirdPartyNotices.txt packs

          dnx sdk

          dotnet sdk-manifests

          dotnet-sdk-10.0.102-freebsd-x64.tar.gz shared

          host templates

          library-packs

          Before running .NET, we’ve made sure that the dependencies that .NET needs have been installed to the FreeBSD 15.0 system, which can be found here. Alternatively, you can make out a list of dependencies that

          pkg install dotnet

          will give you, and install them manually, but don’t install the

          dotnet

          port itself.

          After that, we’ve traversed back to the home directory, and made sure that the full path to .NET is included in

          .profile

          to append it to the

          $PATH

          variable, as in:

          export PATH=$PATH:/home/aptivi/dotnet

          Afterwards, we’ve sourced the file using

          . .profile

          . Then, we’ve verified that .NET works by running

          dotnet

          :

          aptivi@fbsd-apt:~ $ dotnet

          Usage: dotnet [path-to-application]

          Usage: dotnet [commands]

          path-to-application:

          The path to an application .dll file to execute.

          commands:

          -h|--help Display help.

          --info Display .NET information.

          --list-runtimes [--arch <arch>] Display the installed runtimes matching the host or specified architecture. Example architectures: arm64, x64, x86.

          --list-sdks [--arch <arch>] Display the installed SDKs matching the host or specified architecture. Example architectures: arm64, x64, x86.

          Then, we’ve made sure that both

          --list-sdks

          and

          --list-runtimes

          work as expected:

          aptivi@fbsd-apt:~ $ dotnet --list-sdks

          10.0.102 [/home/aptivi/dotnet/sdk]

          aptivi@fbsd-apt:~ $ dotnet --list-runtimes

          Microsoft.AspNetCore.App 10.0.2 [/home/aptivi/dotnet/shared/Microsoft.AspNetCore.App]

          Microsoft.NETCore.App 10.0.2 [/home/aptivi/dotnet/shared/Microsoft.NETCore.App]

          That’s great! The above command output shows that .NET has found an SDK, which is found under the

          dotnet

          directory we’ve set up, with version 10.0.102. Additionally, both the ASP.NET and the .NET runtimes have shown up with version 10.0.2, which means that web apps like Blazor WebAssembly can run, alongside normal .NET apps.

          Now, let’s create a simple test console project, build it, and run it, to verify that even the most basic console applications, such as Hello World, can run.

          aptivi@fbsd-apt:~ $ mkdir dotnet_test

          aptivi@fbsd-apt:~ $ cd dotnet_test

          aptivi@fbsd-apt:~/dotnet_test $ mkdir console

          aptivi@fbsd-apt:~/dotnet_test $ cd console/

          aptivi@fbsd-apt:~/dotnet_test/console $ dotnet new console --use-program-main

          The template "Console App" was created successfully.

          Processing post-creation actions...

          Restoring /home/aptivi/dotnet_test/console/console.csproj:

          Restore succeeded.

          aptivi@fbsd-apt:~/dotnet_test/console $ dotnet build

          Restore complete (0.3s)

          console net10.0 succeeded (2.2s) → bin/Debug/net10.0/console.dll

          Build succeeded in 2.8s

          aptivi@fbsd-apt:~/dotnet_test/console $ dotnet run

          Hello, World!

          aptivi@fbsd-apt:~/dotnet_test/console $

          That’s great! The most simple .NET console application works under FreeBSD 15.0!

          This means that our experiment with .NET 10.0 on FreeBSD is successful! Stay tuned for more experiments on FreeBSD.

            [?]Dr. Michael Blume » 🌐
            @BlumeEvolution@digitalcourage.social

            Kenne & schätze Cemile noch aus ihrer Zeit als Bundestagsabgeordnete & Vorsitzende des (Bundesnetzwerk Integration) der . Als demokratische Muslimin verkörpert sie mehr religiöse & rechtsstaatliche - Werte als alle fossil-korrupten Rechtslibertären in der zusammen.

            Auch jetzt zeigt Cemile Haltung & Mut, wie ich mir das auch in der „Berliner Blase“ öfter wünschen würde…

            „Die Bundeszentrale für politische Bildung (bpb) gilt eigentlich nicht als Hort des radikalen Widerstands: Hier werden Demokratieprogramme gefördert, Broschüren über das Wahlrecht herausgegeben - eine Behörde, die nicht oft im Rampenlicht steht. Aber am 16. Januar probten die Beamten den Aufstand. Die Vizepräsidentin Cemile Giousuf, langjährige CDU-Politikerin, schickte einen Brandbrief an das Bundesinnenministerium, die vorgesetzte Behörde. Darin heißt es, der gute Ruf des Hauses stehe auf dem Spiel. Von mutmaßlich "rechtswidrigem" Handeln ist die Rede.“

            tagesschau.de/investigativ/rep

              [?]Dr. Michael Blume » 🌐
              @BlumeEvolution@digitalcourage.social

              @Der_zuversichtliche_Daniel

              Eskalierende & ständige Zerspaltungen haben auch international viel zum Niedergang linker & progressiver Anliegen beigetragen.

              Klar kommt mir das in & derzeit viel zu kurz & ich sage das auch.

              Mit oft arrogant wirkenden Belehrungen von links kann ich gerade auch auf aber wenig anfangen. Denn Linke zerfleischen sich ja auch immer wieder gegenseitig, erklären einander auch im für „nicht gut genug“.

              Anders formuliert: Ich lehne sowohl konservative wie auch progressive freundlich & klar ab. Wer damit nicht klar kommt, muss mich ja nicht lesen bzw. hören.

              @jasperb @camulus @rpolenz

              scilogs.spektrum.de/natur-des-

                [?]@pndc » 🌐
                @pndc@social.treehouse.systems

                I'm a software developer and sysadmin who could really use being .

                What I'd really like to do is Rust, but once you ignore the dubious crypto and AI stuff, there seems to be nothing out there. Prove me wrong with a counterexample!

                I've spent decades fixing Enterprise mudballs mostly written in . If you've got a crufty legacy system that everybody else is too scared to touch, I'm your man. I love fixing stuff like that.

                I've also done commerical , , /#C++, and although I don't usually admit it on my CV but these are now Trying Times when everything is on the table, even (the longest six months of my life).

                Perl naturally leads into Unix system administration and infrastructure. I've built and maintained mail clusters, VoIP systems, network monitoring, DNS management platforms, that sort of thing. If it's non-sexy but something which needs to be done, I'm there.

                Available immediately, for contract or permie, onsite in Amsterdam/Randstad or remote to anywhere.

                  Jay 🚩 :runbsd: boosted

                  [?]Eugene :freebsd: :emacslogo: [he/him] » 🌐
                  @evgandr@mastodon.bsd.cafe

                  And again @stefano outperformed me :drgn_blush_giggle: While I'm writing my home control system in for , he already preparing talk about his home control system for BSDCan :drgn_blush_giggle:

                  Thats the difference between North, with it's cold weather and low atmospheric pressure, and the South with humane environment :-D :drgn_cup_sleepy:

                  @bsdcan

                    [?]Mason Loring Bliss [he, him, his] » 🌐
                    @mason@partychickens.net

                    I'm a C fan, and I get a lot of resistance as a result. (I'm also a Lisp fan, so maybe that balances the scales?)

                    From @david_chisnall we can read about some of the problems with C. This is from queue.acm.org/detail.cfm?id=32

                    "C code provides a mostly serial abstract machine (until C11, an entirely serial machine if nonstandard vendor extensions were excluded). Creating a new thread is a library operation known to be expensive, so processors wishing to keep their execution units busy running C code rely on ILP (instruction-level parallelism). They inspect adjacent operations and issue independent ones in parallel. This adds a significant amount of complexity (and power consumption) to allow programmers to write mostly sequential code. In contrast, GPUs achieve very high performance without any of this logic, at the expense of requiring explicitly parallel programs."

                    "The quest for high ILP was the direct cause of Spectre and Meltdown. A modern Intel processor has up to 180 instructions in flight at a time (in stark contrast to a sequential C abstract machine, which expects each operation to complete before the next one begins). A typical heuristic for C code is that there is a branch, on average, every seven instructions. If you wish to keep such a pipeline full from a single thread, then you must guess the targets of the next 25 branches. This, again, adds complexity; it also means that an incorrect guess results in work being done and then discarded, which is not ideal for power consumption. This discarded work has visible side effects, which the Spectre and Meltdown attacks could exploit."

                    Today a colleague shared another article, digging deeper into the myth that a flat memory model is central to C:

                    carminatialessandro.blogspot.c

                    I'd love a similar analysis of branch prediction complexity for Scheme and/or Common Lisp if folks know of one. I'm also curious how code that comes out of, for instance, Chicken Scheme compares to typical C code with regard to branching complexity.