home.social

#embed — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #embed, aggregated by home.social.

  1. CW: a quine in C23

    // quine.c
    // compile with -std=c23
    #include <stdio.h>
    int main() {
    char src[] = {
    #embed "quine.c"
    ,0
    };
    printf("%s", src);
    return 0;
    }

  2. @ireneista something we did not notice until we had to look back at tools such as this is that we've collectively made tremendous progress in... "binutils"

    borland's toolchain is built around extending OMF (Object Module Format) which dates back to *8-bit* machines

    see also: rust and modern c++ hairballs regularly running into msvc link.exe limitations, or thephd.dev spending all that effort trying to make #embed work, which we didn't understand at all until we tried to convert a binary file into an object file for something that didn't use ELF (wasm iirc?)

  3. @ireneista something we did not notice until we had to look back at tools such as this is that we've collectively made tremendous progress in... "binutils"

    borland's toolchain is built around extending OMF (Object Module Format) which dates back to *8-bit* machines

    see also: rust and modern c++ hairballs regularly running into msvc link.exe limitations, or thephd.dev spending all that effort trying to make #embed work, which we didn't understand at all until we tried to convert a binary file into an object file for something that didn't use ELF (wasm iirc?)

  4. @ireneista something we did not notice until we had to look back at tools such as this is that we've collectively made tremendous progress in... "binutils"

    borland's toolchain is built around extending OMF (Object Module Format) which dates back to *8-bit* machines

    see also: rust and modern c++ hairballs regularly running into msvc link.exe limitations, or thephd.dev spending all that effort trying to make #embed work, which we didn't understand at all until we tried to convert a binary file into an object file for something that didn't use ELF (wasm iirc?)

  5. @ireneista something we did not notice until we had to look back at tools such as this is that we've collectively made tremendous progress in... "binutils"

    borland's toolchain is built around extending OMF (Object Module Format) which dates back to *8-bit* machines

    see also: rust and modern c++ hairballs regularly running into msvc link.exe limitations, or thephd.dev spending all that effort trying to make #embed work, which we didn't understand at all until we tried to convert a binary file into an object file for something that didn't use ELF (wasm iirc?)

  6. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  7. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  8. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  9. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  10. Zijn er mensen die een video van hun Peertube platform hebben ingesloten, #embed , op een WordPress website? Het is mij niet gelukt, vandaar. #peertube #embed #video #fediverse #dtv #website

  11. Zijn er mensen die een video van hun Peertube platform hebben ingesloten, #embed , op een WordPress website? Het is mij niet gelukt, vandaar. #peertube #embed #video #fediverse #dtv #website

  12. Zijn er mensen die een video van hun Peertube platform hebben ingesloten, #embed , op een WordPress website? Het is mij niet gelukt, vandaar. #peertube #embed #video #fediverse #dtv #website

  13. Zijn er mensen die een video van hun Peertube platform hebben ingesloten, #embed , op een WordPress website? Het is mij niet gelukt, vandaar. #peertube #embed #video #fediverse #dtv #website

  14. Zijn er mensen die een video van hun Peertube platform hebben ingesloten, #embed , op een WordPress website? Het is mij niet gelukt, vandaar. #peertube #embed #video #fediverse #dtv #website

  15. If you don't want to depend on the name of the original file, replace the #embed line with
    ```
    #embed __FILE__
    ```

  16. If you don't want to depend on the name of the original file, replace the #embed line with
    ```
    #embed __FILE__
    ```

  17. If you don't want to depend on the name of the original file, replace the #embed line with
    ```
    #embed __FILE__
    ```

  18. If you don't want to depend on the name of the original file, replace the #embed line with
    ```
    #embed __FILE__
    ```

  19. If you don't want to depend on the name of the original file, replace the line with
    ```
    __FILE__
    ```

  20. Thanks to the #c23 #embed macro, I may have written the world's shortest #quine.
    ```c
    #include<stdio.h>
    int main(){puts((char[]){
    #embed"q.c"
    ,0});}
    ```
    (I doubt that I'm the first to do this)
    We just need to politely ignore the extra `\n` injected by `puts`. Otherwise, replace `puts` with `printf`.

  21. Thanks to the #c23 #embed macro, I may have written the world's shortest #quine.
    ```c
    #include<stdio.h>
    int main(){puts((char[]){
    #embed"q.c"
    ,0});}
    ```
    (I doubt that I'm the first to do this)
    We just need to politely ignore the extra `\n` injected by `puts`. Otherwise, replace `puts` with `printf`.

  22. Thanks to the #c23 #embed macro, I may have written the world's shortest #quine.
    ```c
    #include<stdio.h>
    int main(){puts((char[]){
    #embed"q.c"
    ,0});}
    ```
    (I doubt that I'm the first to do this)
    We just need to politely ignore the extra `\n` injected by `puts`. Otherwise, replace `puts` with `printf`.

  23. Thanks to the #c23 #embed macro, I may have written the world's shortest #quine.
    ```c
    #include<stdio.h>
    int main(){puts((char[]){
    #embed"q.c"
    ,0});}
    ```
    (I doubt that I'm the first to do this)
    We just need to politely ignore the extra `\n` injected by `puts`. Otherwise, replace `puts` with `printf`.

  24. Thanks to the macro, I may have written the world's shortest .
    ```c
    <stdio.h>
    int main(){puts((char[]){
    "q.c"
    ,0});}
    ```
    (I doubt that I'm the first to do this)
    We just need to politely ignore the extra `\n` injected by `puts`. Otherwise, replace `puts` with `printf`.

  25. @fasterthanlime ICYMI, if you can require a modern enough compiler, you can use thephd.dev/finally-embed-in-c23

  26. Learn what embedded software is, how it works, key characteristics, types, benefits, and real examples in modern devices and IoT systems today.

    intechfy.com/embedded-software

    #computer #software #embed #tech #technology

  27. Learn what embedded software is, how it works, key characteristics, types, benefits, and real examples in modern devices and IoT systems today.

    intechfy.com/embedded-software

    #computer #software #embed #tech #technology

  28. Learn what embedded software is, how it works, key characteristics, types, benefits, and real examples in modern devices and IoT systems today.

    intechfy.com/embedded-software

    #computer #software #embed #tech #technology

  29. Learn what embedded software is, how it works, key characteristics, types, benefits, and real examples in modern devices and IoT systems today.

    intechfy.com/embedded-software

    #computer #software #embed #tech #technology

  30. Learn what embedded software is, how it works, key characteristics, types, benefits, and real examples in modern devices and IoT systems today.

    intechfy.com/embedded-software

    #computer #software #embed #tech #technology

  31. Hey, wanna try out Zorn on your website, but don't use Astro? No worries, you'll now be able to embed Zorn on your non-Astro website using the all new Zorn Embed Generator. Please note that it's in beta, Zorn alone is not even stable but usable in most environments.

    zorn.embed.sudovanilla.org/cre

    The compatibility list of features and browsers has been updated for the Zorn documentation.

    zorn.docs.sudovanilla.org/get-

    #development #opensource #embed astro #compatibility

  32. Hey, wanna try out Zorn on your website, but don't use Astro? No worries, you'll now be able to embed Zorn on your non-Astro website using the all new Zorn Embed Generator. Please note that it's in beta, Zorn alone is not even stable but usable in most environments.

    zorn.embed.sudovanilla.org/cre

    The compatibility list of features and browsers has been updated for the Zorn documentation.

    zorn.docs.sudovanilla.org/get-

    #development #opensource #embed astro #compatibility

  33. Okay, hear me out.

    The game hardcodes all of its game data into .c files, but it still has an in-game editor: when the edits are saved, the game serializes the updated data out into C code -- or alternatively some data file that is #embed'd into the source -- effectively overwriting the existing hardcoded data.

    This is stupid as hell, right?

    (I'm gonna do it anyway.)

  34. Okay, hear me out.

    The game hardcodes all of its game data into .c files, but it still has an in-game editor: when the edits are saved, the game serializes the updated data out into C code -- or alternatively some data file that is #embed'd into the source -- effectively overwriting the existing hardcoded data.

    This is stupid as hell, right?

    (I'm gonna do it anyway.)

  35. Okay, hear me out.

    The game hardcodes all of its game data into .c files, but it still has an in-game editor: when the edits are saved, the game serializes the updated data out into C code -- or alternatively some data file that is 'd into the source -- effectively overwriting the existing hardcoded data.

    This is stupid as hell, right?

    (I'm gonna do it anyway.)

  36. Okay, hear me out.

    The game hardcodes all of its game data into .c files, but it still has an in-game editor: when the edits are saved, the game serializes the updated data out into C code -- or alternatively some data file that is #embed'd into the source -- effectively overwriting the existing hardcoded data.

    This is stupid as hell, right?

    (I'm gonna do it anyway.)

  37. Okay, hear me out.

    The game hardcodes all of its game data into .c files, but it still has an in-game editor: when the edits are saved, the game serializes the updated data out into C code -- or alternatively some data file that is #embed'd into the source -- effectively overwriting the existing hardcoded data.

    This is stupid as hell, right?

    (I'm gonna do it anyway.)

  38. Very fun reading comments like "Björkus is just trying to C++-ify C" and the evidence presented is a bunch of C-exclusive things I'm doing that C++ doesn't have.

    Fun to see accusations of not tamping down on undefined behavior when there's an entire "Slay Earthly Demons" series. I am even writing papers to do things like stop relying on implementation-defined/undefined behavior of the builtins for bit intrinsics (all accepted into C23 and C2y now), I am only person who's trying to stop spreading the array-style undefined behavior to more places (we recently accepted a proposal to add that undefined behavior into _Generic match now and I have to retroactively fix it) and I stood my ground against several vendors when they wanted Undefined Behavior in #embed if it didn't get used inside of an array initializer to prevent more UB from showing up during preprocessing.

    At some point I just have to realize that the attitude of C is detached from the actual work we're doing in C. Maybe I can write an article to correct those perceptions but it's a lot of work and damn I've got a lot of stuff to do, constantly trying to just say "no that's wrong, man, are you even paying attention?" is kind of annoying.

  39. Very fun reading comments like "Björkus is just trying to C++-ify C" and the evidence presented is a bunch of C-exclusive things I'm doing that C++ doesn't have.

    Fun to see accusations of not tamping down on undefined behavior when there's an entire "Slay Earthly Demons" series. I am even writing papers to do things like stop relying on implementation-defined/undefined behavior of the builtins for bit intrinsics (all accepted into C23 and C2y now), I am only person who's trying to stop spreading the array-style undefined behavior to more places (we recently accepted a proposal to add that undefined behavior into _Generic match now and I have to retroactively fix it) and I stood my ground against several vendors when they wanted Undefined Behavior in #embed if it didn't get used inside of an array initializer to prevent more UB from showing up during preprocessing.

    At some point I just have to realize that the attitude of C is detached from the actual work we're doing in C. Maybe I can write an article to correct those perceptions but it's a lot of work and damn I've got a lot of stuff to do, constantly trying to just say "no that's wrong, man, are you even paying attention?" is kind of annoying.

  40. Very fun reading comments like "Björkus is just trying to C++-ify C" and the evidence presented is a bunch of C-exclusive things I'm doing that C++ doesn't have.

    Fun to see accusations of not tamping down on undefined behavior when there's an entire "Slay Earthly Demons" series. I am even writing papers to do things like stop relying on implementation-defined/undefined behavior of the builtins for bit intrinsics (all accepted into C23 and C2y now), I am only person who's trying to stop spreading the array-style undefined behavior to more places (we recently accepted a proposal to add that undefined behavior into _Generic match now and I have to retroactively fix it) and I stood my ground against several vendors when they wanted Undefined Behavior in #embed if it didn't get used inside of an array initializer to prevent more UB from showing up during preprocessing.

    At some point I just have to realize that the attitude of C is detached from the actual work we're doing in C. Maybe I can write an article to correct those perceptions but it's a lot of work and damn I've got a lot of stuff to do, constantly trying to just say "no that's wrong, man, are you even paying attention?" is kind of annoying.

  41. Very fun reading comments like "Björkus is just trying to C++-ify C" and the evidence presented is a bunch of C-exclusive things I'm doing that C++ doesn't have.

    Fun to see accusations of not tamping down on undefined behavior when there's an entire "Slay Earthly Demons" series. I am even writing papers to do things like stop relying on implementation-defined/undefined behavior of the builtins for bit intrinsics (all accepted into C23 and C2y now), I am only person who's trying to stop spreading the array-style undefined behavior to more places (we recently accepted a proposal to add that undefined behavior into _Generic match now and I have to retroactively fix it) and I stood my ground against several vendors when they wanted Undefined Behavior in #embed if it didn't get used inside of an array initializer to prevent more UB from showing up during preprocessing.

    At some point I just have to realize that the attitude of C is detached from the actual work we're doing in C. Maybe I can write an article to correct those perceptions but it's a lot of work and damn I've got a lot of stuff to do, constantly trying to just say "no that's wrong, man, are you even paying attention?" is kind of annoying.

  42. I just sat down to implement yet another "png2h" utility when I remembered that I'm using clang and C23 and that I can just use #embed and holy hell that's nice.

    Happy New Year, specifically to @thephd !

  43. I just sat down to implement yet another "png2h" utility when I remembered that I'm using clang and C23 and that I can just use #embed and holy hell that's nice.

    Happy New Year, specifically to @thephd !

  44. I just sat down to implement yet another "png2h" utility when I remembered that I'm using clang and C23 and that I can just use and holy hell that's nice.

    Happy New Year, specifically to @thephd !

  45. I just sat down to implement yet another "png2h" utility when I remembered that I'm using clang and C23 and that I can just use #embed and holy hell that's nice.

    Happy New Year, specifically to @thephd !

  46. I just sat down to implement yet another "png2h" utility when I remembered that I'm using clang and C23 and that I can just use #embed and holy hell that's nice.

    Happy New Year, specifically to @thephd !