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. A tale in 3 pictures.

A tale in 3 pictures.

Scheduled Pinned Locked Moved Uncategorized
programming
103 Posts 56 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.
  • citizen428@chaos.socialC citizen428@chaos.social

    The horrors:

    Link Preview Image
    C preprocessor abuse

    C preprocessor abuse. GitHub Gist: instantly share code, notes, and snippets.

    favicon

    Gist (gist.github.com)

    xilokar@mamot.frX This user is from outside of this forum
    xilokar@mamot.frX This user is from outside of this forum
    xilokar@mamot.fr
    wrote last edited by
    #41

    @citizen428

    So, it's some kind of chtml...

    (you'll definitively want to put the ```#define HTML``` in a .h.tml file included by abuse.c)

    1 Reply Last reply
    0
    • citizen428@chaos.socialC citizen428@chaos.social

      A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

      #c #programming

      prlg@mastodon.onlineP This user is from outside of this forum
      prlg@mastodon.onlineP This user is from outside of this forum
      prlg@mastodon.online
      wrote last edited by
      #42

      @citizen428 *points and snaps* Nord Theme.

      citizen428@chaos.socialC 1 Reply Last reply
      0
      • citizen428@chaos.socialC citizen428@chaos.social

        A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

        #c #programming

        justin@ribeiro.socialJ This user is from outside of this forum
        justin@ribeiro.socialJ This user is from outside of this forum
        justin@ribeiro.social
        wrote last edited by
        #43

        @citizen428 reminds me way way back in the late 1990s a long since defunct firm sold an e-commerce dev stack that they dubbed "WebC" that I recall was similarish concept—or crimes. Most definitely crimes. 🤣

        1 Reply Last reply
        0
        • citizen428@chaos.socialC citizen428@chaos.social

          A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

          #c #programming

          L This user is from outside of this forum
          L This user is from outside of this forum
          luc0x61@mastodon.gamedev.place
          wrote last edited by
          #44

          @citizen428 The fact you can jump off the window isn't a good reason to do it. And don't mention someone brave who did: they're on the ground floor, stupid.

          citizen428@chaos.socialC 1 Reply Last reply
          0
          • citizen428@chaos.socialC citizen428@chaos.social

            A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

            #c #programming

            aartaka@merveilles.townA This user is from outside of this forum
            aartaka@merveilles.townA This user is from outside of this forum
            aartaka@merveilles.town
            wrote last edited by
            #45

            @citizen428 yes, that’s a thing I built my website on, at some point <https://aartaka.me/this-post-is-cpp.html> (migrated to ed(1) since then.)

            citizen428@chaos.socialC 1 Reply Last reply
            0
            • citizen428@chaos.socialC citizen428@chaos.social

              A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

              #c #programming

              mirabilos@toot.mirbsd.orgM This user is from outside of this forum
              mirabilos@toot.mirbsd.orgM This user is from outside of this forum
              mirabilos@toot.mirbsd.org
              wrote last edited by
              #46

              @citizen428 ok, that’s a different kind of using cpp(1) as a webpage templating engine than what I did.

              Won’t escape, of course…

              citizen428@chaos.socialC 1 Reply Last reply
              0
              • citizen428@chaos.socialC citizen428@chaos.social

                The horrors:

                Link Preview Image
                C preprocessor abuse

                C preprocessor abuse. GitHub Gist: instantly share code, notes, and snippets.

                favicon

                Gist (gist.github.com)

                hannahk@floss.socialH This user is from outside of this forum
                hannahk@floss.socialH This user is from outside of this forum
                hannahk@floss.social
                wrote last edited by
                #47

                @citizen428 Glorious

                citizen428@chaos.socialC 1 Reply Last reply
                0
                • citizen428@chaos.socialC citizen428@chaos.social

                  A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

                  #c #programming

                  thepolishdispatch@mstdn.socialT This user is from outside of this forum
                  thepolishdispatch@mstdn.socialT This user is from outside of this forum
                  thepolishdispatch@mstdn.social
                  wrote last edited by
                  #48

                  @citizen428 chef's kiss

                  1 Reply Last reply
                  0
                  • tea@chaos.socialT tea@chaos.social

                    @citizen428 reminds me of the horrors me and @friz64 were up to, also serving an entire web page from an ESP32 as one big string iirc, base64 encoded images and all.

                    nyanpasu64@donotsta.reN This user is from outside of this forum
                    nyanpasu64@donotsta.reN This user is from outside of this forum
                    nyanpasu64@donotsta.re
                    wrote last edited by
                    #49
                    @tea @citizen428 @friz64 reminded of tue gbs-control building a webpage into a byte array and spitting it out at runtime, as well as saving and loading files in a flash filesystem
                    and the gazillion associated race conditions
                    1 Reply Last reply
                    0
                    • citizen428@chaos.socialC citizen428@chaos.social

                      A tale in 3 pictures. In which our hero wonders if he can and doesn't stop to ask if he should.

                      #c #programming

                      malwareminigun@infosec.exchangeM This user is from outside of this forum
                      malwareminigun@infosec.exchangeM This user is from outside of this forum
                      malwareminigun@infosec.exchange
                      wrote last edited by
                      #50

                      @citizen428 This is extra bad because cpp isn't specified in a way you can necessarily cough up matching text and different compilers resolve that problem in their preprocessed output in different ways...

                      citizen428@chaos.socialC 1 Reply Last reply
                      0
                      • crazyeddie@mastodon.socialC crazyeddie@mastodon.social

                        @Lemmus @citizen428 https://github.com/crazy-eddie/arduino_modern/blob/capacities/include/hardware/chip/atmega328p.hpp

                        adrianvovk@fosstodon.orgA This user is from outside of this forum
                        adrianvovk@fosstodon.orgA This user is from outside of this forum
                        adrianvovk@fosstodon.org
                        wrote last edited by
                        #51

                        @crazyeddie @Lemmus @citizen428 The HTML thing is mostly fine. The macros are being used basically as intended.

                        But this.......

                        1 Reply Last reply
                        0
                        • wonka@chaos.socialW wonka@chaos.social

                          Looks a bit like perlcgi.

                          @Lemmus @citizen428

                          citizen428@chaos.socialC This user is from outside of this forum
                          citizen428@chaos.socialC This user is from outside of this forum
                          citizen428@chaos.social
                          wrote last edited by
                          #52

                          @wonka @Lemmus I did (do?) have a soft spot for Perl 🙂

                          stefanct@chaos.socialS wonka@chaos.socialW 2 Replies Last reply
                          0
                          • crazyeddie@mastodon.socialC crazyeddie@mastodon.social

                            @Lemmus @citizen428 https://github.com/crazy-eddie/arduino_modern/blob/capacities/include/hardware/chip/atmega328p.hpp

                            citizen428@chaos.socialC This user is from outside of this forum
                            citizen428@chaos.socialC This user is from outside of this forum
                            citizen428@chaos.social
                            wrote last edited by
                            #53

                            @crazyeddie @Lemmus Is there a word for the combination of impressed and revolted? Because I definitely feel imvolted after seeing this 😉

                            1 Reply Last reply
                            0
                            • necrophcodr@layer8.spaceN necrophcodr@layer8.space

                              @citizen428 some slight modifications, and you can use cpp -E + that to make a static site generator using the preprocessor.

                              citizen428@chaos.socialC This user is from outside of this forum
                              citizen428@chaos.socialC This user is from outside of this forum
                              citizen428@chaos.social
                              wrote last edited by
                              #54

                              @necrophcodr Funny you'd say that, because this (`clang -I. -P -E`) but in another context is how this little side quest started.

                              necrophcodr@layer8.spaceN 1 Reply Last reply
                              0
                              • phantasus@fedi.atP phantasus@fedi.at

                                @leyrer @citizen428 I would say finally that the C pre-processor is nearing the realm of the mighty lisp macro systems.

                                citizen428@chaos.socialC This user is from outside of this forum
                                citizen428@chaos.socialC This user is from outside of this forum
                                citizen428@chaos.social
                                wrote last edited by
                                #55

                                @phantasus @leyrer If only. But nothing is stopping you from running a custom preprocessor like m4 as part of the build system. Though that seemed like overkill for what was supposed to be a half hour diversion.

                                1 Reply Last reply
                                0
                                • hannahk@floss.socialH hannahk@floss.social

                                  @citizen428 Glorious

                                  citizen428@chaos.socialC This user is from outside of this forum
                                  citizen428@chaos.socialC This user is from outside of this forum
                                  citizen428@chaos.social
                                  wrote last edited by
                                  #56

                                  @hannahk The things we do to avoid actual work, eh? 🙂

                                  1 Reply Last reply
                                  0
                                  • reiddragon@fedi.catto.gardenR reiddragon@fedi.catto.garden
                                    @citizen428 I mean, this is actually not *that* far off from what lispers do when generating sites in lisp
                                    citizen428@chaos.socialC This user is from outside of this forum
                                    citizen428@chaos.socialC This user is from outside of this forum
                                    citizen428@chaos.social
                                    wrote last edited by
                                    #57

                                    @reiddragon Sure, but compared to operating on an AST simple text substitution only gets you this far.

                                    1 Reply Last reply
                                    0
                                    • millihertz@oldbytes.spaceM millihertz@oldbytes.space

                                      @citizen428

                                      citizen428@chaos.socialC This user is from outside of this forum
                                      citizen428@chaos.socialC This user is from outside of this forum
                                      citizen428@chaos.social
                                      wrote last edited by
                                      #58

                                      @millihertz 10/10 emoji reaction.

                                      1 Reply Last reply
                                      0
                                      • tea@chaos.socialT tea@chaos.social

                                        @citizen428 reminds me of the horrors me and @friz64 were up to, also serving an entire web page from an ESP32 as one big string iirc, base64 encoded images and all.

                                        citizen428@chaos.socialC This user is from outside of this forum
                                        citizen428@chaos.socialC This user is from outside of this forum
                                        citizen428@chaos.social
                                        wrote last edited by
                                        #59

                                        @tea @friz64 I'd unironically like to learn more about this.

                                        1 Reply Last reply
                                        0
                                        • jwo@mastodonczech.czJ jwo@mastodonczech.cz

                                          @citizen428 That's called GNU M4.

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

                                          @jwo Technically it's called an ill-advised use of my time that should never have happened, but yeah.

                                          jwo@mastodonczech.czJ 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