home.social

#codegolf — Public Fediverse posts

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

  1. The GitHub issues for the copyfail PoC script are fun, including this one, aptly titled "Golf Harder": github.com/theori-io/copy-fail

    #copyfail #codegolf

  2. The GitHub issues for the copyfail PoC script are fun, including this one, aptly titled "Golf Harder": github.com/theori-io/copy-fail

    #copyfail #codegolf

  3. The GitHub issues for the copyfail PoC script are fun, including this one, aptly titled "Golf Harder": github.com/theori-io/copy-fail

    #copyfail #codegolf

  4. The GitHub issues for the copyfail PoC script are fun, including this one, aptly titled "Golf Harder": github.com/theori-io/copy-fail

    #copyfail #codegolf

  5. The GitHub issues for the copyfail PoC script are fun, including this one, aptly titled "Golf Harder": github.com/theori-io/copy-fail

    #copyfail #codegolf

  6. "Ermitteln sie aus einem gegebenen Array von int-Werten die kleinste Zahl."

    import java.util.Arrays;

    void main(){
    int[] numbers = {11, 45, 28, 51, 72, 5, 3, 9, 19, 4, 12, 95, 4, 33, 8, 17};
    System.out.println(Arrays.stream(numbers).min().getAsInt());
    }

    #codegolf #java #stupidinterviewrequests

  7. "Ermitteln sie aus einem gegebenen Array von int-Werten die kleinste Zahl."

    import java.util.Arrays;

    void main(){
    int[] numbers = {11, 45, 28, 51, 72, 5, 3, 9, 19, 4, 12, 95, 4, 33, 8, 17};
    System.out.println(Arrays.stream(numbers).min().getAsInt());
    }

    #codegolf #java #stupidinterviewrequests

  8. "Schreiben sie ein Java-Programm, das die Zahlen von 1 bis 30 durchgeht. Ist der Wert durch 3 teilbar, soll statt der Zahl "Fizz" ausgegeben werden. Ist der Wert durch 5 teilbar, soll "Buzz" ausgegeben werden. Ist der Wert durch beide teilbar, geben sie "FizzBuzz" aus."

    Mein Code:

    void main(){IntStream.rangeClosed(1,30).forEach(i->System.out.println(i%3<1?"Fizz"+(i%5<1?"Buzz":""):i%5<1?"Buzz":i));}

    #codegolf #java #stupidinterviewrequests

  9. "Schreiben sie ein Java-Programm, das die Zahlen von 1 bis 30 durchgeht. Ist der Wert durch 3 teilbar, soll statt der Zahl "Fizz" ausgegeben werden. Ist der Wert durch 5 teilbar, soll "Buzz" ausgegeben werden. Ist der Wert durch beide teilbar, geben sie "FizzBuzz" aus."

    Mein Code:

    void main(){IntStream.rangeClosed(1,30).forEach(i->System.out.println(i%3<1?"Fizz"+(i%5<1?"Buzz":""):i%5<1?"Buzz":i));}

    #codegolf #java #stupidinterviewrequests

  10. Код-гольф в Яндексе: как нерды развлекаются

    Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно поиграть, например, на одноимённом сайте , есть целая секция на CodinGame , иногда такие соревнования публикует kaggle , была такая секция на HackerRank (сейчас её я не нашёл). В чём особенность таких задач? Низкий порог входа: решение можно написать с мобильника и оно будет занимать 10 строк. Но при этом есть большая сложность: чтобы избавиться от какого-то символа, в этом соревновании приходится идти на такие ухищрения, что мама не горюй. Некоторые конструкции очень неочевидные. Временами мы развлекаемся таким форматом. В какой-то момент на внутренних ивентах подняли свою платформу для соревнований, а потом она протекла и на внешние конференции. Эта статья — смесь разбора задач и истории появления соревнования по код-гольфу на конференциях Яндекса. Про нас и кодгольф

    habr.com/ru/companies/yandex/a

    #C++ #codingolf #codegolf #python #разработка #занимательные_задачи

  11. Код-гольф в Яндексе: как нерды развлекаются

    Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно поиграть, например, на одноимённом сайте , есть целая секция на CodinGame , иногда такие соревнования публикует kaggle , была такая секция на HackerRank (сейчас её я не нашёл). В чём особенность таких задач? Низкий порог входа: решение можно написать с мобильника и оно будет занимать 10 строк. Но при этом есть большая сложность: чтобы избавиться от какого-то символа, в этом соревновании приходится идти на такие ухищрения, что мама не горюй. Некоторые конструкции очень неочевидные. Временами мы развлекаемся таким форматом. В какой-то момент на внутренних ивентах подняли свою платформу для соревнований, а потом она протекла и на внешние конференции. Эта статья — смесь разбора задач и истории появления соревнования по код-гольфу на конференциях Яндекса. Про нас и кодгольф

    habr.com/ru/companies/yandex/a

    #C++ #codingolf #codegolf #python #разработка #занимательные_задачи

  12. Код-гольф в Яндексе: как нерды развлекаются

    Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно поиграть, например, на одноимённом сайте , есть целая секция на CodinGame , иногда такие соревнования публикует kaggle , была такая секция на HackerRank (сейчас её я не нашёл). В чём особенность таких задач? Низкий порог входа: решение можно написать с мобильника и оно будет занимать 10 строк. Но при этом есть большая сложность: чтобы избавиться от какого-то символа, в этом соревновании приходится идти на такие ухищрения, что мама не горюй. Некоторые конструкции очень неочевидные. Временами мы развлекаемся таким форматом. В какой-то момент на внутренних ивентах подняли свою платформу для соревнований, а потом она протекла и на внешние конференции. Эта статья — смесь разбора задач и истории появления соревнования по код-гольфу на конференциях Яндекса. Про нас и кодгольф

    habr.com/ru/companies/yandex/a

    #C++ #codingolf #codegolf #python #разработка #занимательные_задачи

  13. Код-гольф в Яндексе: как нерды развлекаются

    Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно поиграть, например, на одноимённом сайте , есть целая секция на CodinGame , иногда такие соревнования публикует kaggle , была такая секция на HackerRank (сейчас её я не нашёл). В чём особенность таких задач? Низкий порог входа: решение можно написать с мобильника и оно будет занимать 10 строк. Но при этом есть большая сложность: чтобы избавиться от какого-то символа, в этом соревновании приходится идти на такие ухищрения, что мама не горюй. Некоторые конструкции очень неочевидные. Временами мы развлекаемся таким форматом. В какой-то момент на внутренних ивентах подняли свою платформу для соревнований, а потом она протекла и на внешние конференции. Эта статья — смесь разбора задач и истории появления соревнования по код-гольфу на конференциях Яндекса. Про нас и кодгольф

    habr.com/ru/companies/yandex/a

    #C++ #codingolf #codegolf #python #разработка #занимательные_задачи

  14. Meet me and some #RetroComputing #hackers at the #VintageComputing assembly on this years #39C3 in Hamburg!

    We will present some historcial running machines #AnalogSynthesizer patching, #AnalogComputer tinkering (with a #Vectrex as an #oscilloscope), and #BASIC #CodeGolf and #RetroGame workshops!

  15. Meet me and some #RetroComputing #hackers at the #VintageComputing assembly on this years #39C3 in Hamburg!

    We will present some historcial running machines #AnalogSynthesizer patching, #AnalogComputer tinkering (with a #Vectrex as an #oscilloscope), and #BASIC #CodeGolf and #RetroGame workshops!

  16. Meet me and some #RetroComputing #hackers at the #VintageComputing assembly on this years #39C3 in Hamburg!

    We will present some historcial running machines #AnalogSynthesizer patching, #AnalogComputer tinkering (with a #Vectrex as an #oscilloscope), and #BASIC #CodeGolf and #RetroGame workshops!

  17. Meet me and some #RetroComputing #hackers at the #VintageComputing assembly on this years #39C3 in Hamburg!

    We will present some historcial running machines #AnalogSynthesizer patching, #AnalogComputer tinkering (with a #Vectrex as an #oscilloscope), and #BASIC #CodeGolf and #RetroGame workshops!

  18. Meet me and some #RetroComputing #hackers at the #VintageComputing assembly on this years #39C3 in Hamburg!

    We will present some historcial running machines #AnalogSynthesizer patching, #AnalogComputer tinkering (with a #Vectrex as an #oscilloscope), and #BASIC #CodeGolf and #RetroGame workshops!

  19. I've been annoyed by my lack of a way to put "multi-line one-liner" python code into my bash code with reasonable indentation.

    This discussion suggested a workaround: Make the first line `if 1:`, then you can indent all you like on the second line. Good enough for me!

    discuss.python.org/t/allowing-…

    #python #CodeGolf #PythonCodeGolf

  20. I've been annoyed by my lack of a way to put "multi-line one-liner" python code into my bash code with reasonable indentation.

    This discussion suggested a workaround: Make the first line `if 1:`, then you can indent all you like on the second line. Good enough for me!

    discuss.python.org/t/allowing-…

    #python #CodeGolf #PythonCodeGolf

  21. I've been annoyed by my lack of a way to put "multi-line one-liner" python code into my bash code with reasonable indentation.

    This discussion suggested a workaround: Make the first line `if 1:`, then you can indent all you like on the second line. Good enough for me!

    discuss.python.org/t/allowing-…

    #python #CodeGolf #PythonCodeGolf

  22. I've been annoyed by my lack of a way to put "multi-line one-liner" python code into my bash code with reasonable indentation.

    This discussion suggested a workaround: Make the first line `if 1:`, then you can indent all you like on the second line. Good enough for me!

    discuss.python.org/t/allowing-…

    #python #CodeGolf #PythonCodeGolf

  23. I've been annoyed by my lack of a way to put "multi-line one-liner" python code into my bash code with reasonable indentation.

    This discussion suggested a workaround: Make the first line `if 1:`, then you can indent all you like on the second line. Good enough for me!

    discuss.python.org/t/allowing-…

    #python #CodeGolf #PythonCodeGolf

  24. It's time for a new #javascript #opensource #codegolf thingie. #Baatato is a 2KB reinterpretation of the iconic Poker-inspired deck-building game we all know!

    Code here: github.com/kesiev/baatato
    Play here: kesiev.com/baatato/index.html

    (Resize your browser window to a square shape to see the full game screen. It should also be playable on portrait mobile devices.)

  25. It's time for a new #javascript #opensource #codegolf thingie. #Baatato is a 2KB reinterpretation of the iconic Poker-inspired deck-building game we all know!

    Code here: github.com/kesiev/baatato
    Play here: kesiev.com/baatato/index.html

    (Resize your browser window to a square shape to see the full game screen. It should also be playable on portrait mobile devices.)

  26. It's time for a new #javascript #opensource #codegolf thingie. #Baatato is a 2KB reinterpretation of the iconic Poker-inspired deck-building game we all know!

    Code here: github.com/kesiev/baatato
    Play here: kesiev.com/baatato/index.html

    (Resize your browser window to a square shape to see the full game screen. It should also be playable on portrait mobile devices.)

  27. It's time for a new #javascript #opensource #codegolf thingie. #Baatato is a 2KB reinterpretation of the iconic Poker-inspired deck-building game we all know!

    Code here: github.com/kesiev/baatato
    Play here: kesiev.com/baatato/index.html

    (Resize your browser window to a square shape to see the full game screen. It should also be playable on portrait mobile devices.)

  28. It's time for a new #javascript #opensource #codegolf thingie. #Baatato is a 2KB reinterpretation of the iconic Poker-inspired deck-building game we all know!

    Code here: github.com/kesiev/baatato
    Play here: kesiev.com/baatato/index.html

    (Resize your browser window to a square shape to see the full game screen. It should also be playable on portrait mobile devices.)

  29. So I've been trying to code-golf a JS-free menu bar from my website. The <details> HTML tag proves very useful to have a JS-free foldable menu in mobile mode, however I still need to duplicate the whole menu for desktop mode as I couldn't lock <details> to the open state in desktop mode even with media queries.

    The ::details-contents pseudo-element sounds promising though, let's see if it works! It's not widespread yet but just landed in Firefox 143: developer.mozilla.org/fr/docs/

    My bar for stability is at least some time in Firefox ESR, so it won't make it to my website for a year or two. #HTML #CSS #CodeGolf #NoJavaScript

  30. So I've been trying to code-golf a JS-free menu bar from my website. The <details> HTML tag proves very useful to have a JS-free foldable menu in mobile mode, however I still need to duplicate the whole menu for desktop mode as I couldn't lock <details> to the open state in desktop mode even with media queries.

    The ::details-contents pseudo-element sounds promising though, let's see if it works! It's not widespread yet but just landed in Firefox 143: developer.mozilla.org/fr/docs/

    My bar for stability is at least some time in Firefox ESR, so it won't make it to my website for a year or two. #HTML #CSS #CodeGolf #NoJavaScript

  31. So I've been trying to code-golf a JS-free menu bar from my website. The <details> HTML tag proves very useful to have a JS-free foldable menu in mobile mode, however I still need to duplicate the whole menu for desktop mode as I couldn't lock <details> to the open state in desktop mode even with media queries.

    The ::details-contents pseudo-element sounds promising though, let's see if it works! It's not widespread yet but just landed in Firefox 143: developer.mozilla.org/fr/docs/

    My bar for stability is at least some time in Firefox ESR, so it won't make it to my website for a year or two. #HTML #CSS #CodeGolf #NoJavaScript

  32. So I've been trying to code-golf a JS-free menu bar from my website. The <details> HTML tag proves very useful to have a JS-free foldable menu in mobile mode, however I still need to duplicate the whole menu for desktop mode as I couldn't lock <details> to the open state in desktop mode even with media queries.

    The ::details-contents pseudo-element sounds promising though, let's see if it works! It's not widespread yet but just landed in Firefox 143: developer.mozilla.org/fr/docs/

    My bar for stability is at least some time in Firefox ESR, so it won't make it to my website for a year or two. #HTML #CSS #CodeGolf #NoJavaScript

  33. So I've been trying to code-golf a JS-free menu bar from my website. The <details> HTML tag proves very useful to have a JS-free foldable menu in mobile mode, however I still need to duplicate the whole menu for desktop mode as I couldn't lock <details> to the open state in desktop mode even with media queries.

    The ::details-contents pseudo-element sounds promising though, let's see if it works! It's not widespread yet but just landed in Firefox 143: developer.mozilla.org/fr/docs/

    My bar for stability is at least some time in Firefox ESR, so it won't make it to my website for a year or two. #HTML #CSS #CodeGolf #NoJavaScript

  34. 🤦‍♂️ Welcome to the mystical land of branchless programming, where we #sacrifice #readability for the thrill of turning C code into an indecipherable mess. 🤯 It's like code golf for masochists who enjoy watching CPUs hyperventilate from all the caffeine-induced optimizations! ☕️🔧
    sanixdk.xyz/blogs/the-weird-co #branchlessprogramming #codegolf #CPUoptimizations #caffeineinduced #HackerNews #ngated

  35. 🤦‍♂️ Welcome to the mystical land of branchless programming, where we #sacrifice #readability for the thrill of turning C code into an indecipherable mess. 🤯 It's like code golf for masochists who enjoy watching CPUs hyperventilate from all the caffeine-induced optimizations! ☕️🔧
    sanixdk.xyz/blogs/the-weird-co #branchlessprogramming #codegolf #CPUoptimizations #caffeineinduced #HackerNews #ngated

  36. 🤦‍♂️ Welcome to the mystical land of branchless programming, where we #sacrifice #readability for the thrill of turning C code into an indecipherable mess. 🤯 It's like code golf for masochists who enjoy watching CPUs hyperventilate from all the caffeine-induced optimizations! ☕️🔧
    sanixdk.xyz/blogs/the-weird-co #branchlessprogramming #codegolf #CPUoptimizations #caffeineinduced #HackerNews #ngated

  37. 🤦‍♂️ Welcome to the mystical land of branchless programming, where we #sacrifice #readability for the thrill of turning C code into an indecipherable mess. 🤯 It's like code golf for masochists who enjoy watching CPUs hyperventilate from all the caffeine-induced optimizations! ☕️🔧
    sanixdk.xyz/blogs/the-weird-co #branchlessprogramming #codegolf #CPUoptimizations #caffeineinduced #HackerNews #ngated

  38. Using #GNU as Assembler (not Assembly, but the Assembler) and ld Linker to spit out a working BMP gradient image.

    Yeah, you read it right. I'm not using
    #Assembly to produce an image. I'm, instead, using Assembler directives and macros during compile-time to generate a binary file that happens to be a valid image (BMP) file.

    File: tonishing.s (GNU Assembly file)

    width = 320
    height = 240
    area = width * height
    _begin:
        .ascii "BM"
        .int fileSize
        .int 0
        .int (_rasterdata - .)
    
    _infoheader:
        .int infoheaderSize
        .int width     # width
        .int height    # height
        .short 1       # planes
        .short 24      # bitcount
        .int 0         # compression
        .int 0         # imagesize
        .int 11811     # xpixperm
        .int 11811     # ypixperm
        .int 0         # colorsused
        .int 0         # colorsimp
    
    infoheaderSize = (. - _infoheader)
    
    _rasterdata:
        n=area+1
        .rept height
            .rept width
                byten=((n*255)/area)&0xFF
                rn=(192*byten)/255
                gn=(64*byten)/255
                bn=(128*byten)/255
                .byte rn,gn,bn
                n=(n-1)
            .endr
        .endr
    
    fileSize = (. - _begin)

    File: run.sh (Shellscript)
    #!/bin/sh
    clear
    rm astonishing.bin
    rm tonishing.o
    as tonishing.s --64 -o tonishing.o
    # The pun is _astonishingly_ intended.
    strip -R .comment -R .note.gnu.property tonishing.o
    ld -n -x -s -N --oformat binary --unique=.note.gnu.property -o astonishing.bin tonishing.o
    magick identify -verbose astonishing.bin
    I run the whole thing with... wait for it... #nodemon!

    That's right: the tool intended for
    #Nodejs hot-reloading, is being leveraged for GNU Assembly, which is itself being leveraged for compile-time instructions to produce a whole BMP image.
    nodemon -e "s sh" --exec ./run.sh

    While I have a
    #Codeberg account, it's under my personal name where I published old projects from #GitHub, so I should do a second account for this pseudonym... but I'm not sure if this is against the Codeberg rules... So I'm posting the whole thing through a Calckey post instead.

    #programming #devlog #dev #devhacks #quirks #codegolf #experiments #surreal #absurd

  39. Using #GNU as Assembler (not Assembly, but the Assembler) and ld Linker to spit out a working BMP gradient image.

    Yeah, you read it right. I'm not using
    #Assembly to produce an image. I'm, instead, using Assembler directives and macros during compile-time to generate a binary file that happens to be a valid image (BMP) file.

    File: tonishing.s (GNU Assembly file)

    width = 320
    height = 240
    area = width * height
    _begin:
        .ascii "BM"
        .int fileSize
        .int 0
        .int (_rasterdata - .)
    
    _infoheader:
        .int infoheaderSize
        .int width     # width
        .int height    # height
        .short 1       # planes
        .short 24      # bitcount
        .int 0         # compression
        .int 0         # imagesize
        .int 11811     # xpixperm
        .int 11811     # ypixperm
        .int 0         # colorsused
        .int 0         # colorsimp
    
    infoheaderSize = (. - _infoheader)
    
    _rasterdata:
        n=area+1
        .rept height
            .rept width
                byten=((n*255)/area)&0xFF
                rn=(192*byten)/255
                gn=(64*byten)/255
                bn=(128*byten)/255
                .byte rn,gn,bn
                n=(n-1)
            .endr
        .endr
    
    fileSize = (. - _begin)

    File: run.sh (Shellscript)
    #!/bin/sh
    clear
    rm astonishing.bin
    rm tonishing.o
    as tonishing.s --64 -o tonishing.o
    # The pun is _astonishingly_ intended.
    strip -R .comment -R .note.gnu.property tonishing.o
    ld -n -x -s -N --oformat binary --unique=.note.gnu.property -o astonishing.bin tonishing.o
    magick identify -verbose astonishing.bin
    I run the whole thing with... wait for it... #nodemon!

    That's right: the tool intended for
    #Nodejs hot-reloading, is being leveraged for GNU Assembly, which is itself being leveraged for compile-time instructions to produce a whole BMP image.
    nodemon -e "s sh" --exec ./run.sh

    While I have a
    #Codeberg account, it's under my personal name where I published old projects from #GitHub, so I should do a second account for this pseudonym... but I'm not sure if this is against the Codeberg rules... So I'm posting the whole thing through a Calckey post instead.

    #programming #devlog #dev #devhacks #quirks #codegolf #experiments #surreal #absurd

  40. Using #GNU as Assembler (not Assembly, but the Assembler) and ld Linker to spit out a working BMP gradient image.

    Yeah, you read it right. I'm not using
    #Assembly to produce an image. I'm, instead, using Assembler directives and macros during compile-time to generate a binary file that happens to be a valid image (BMP) file.

    File: tonishing.s (GNU Assembly file)

    width = 320
    height = 240
    area = width * height
    _begin:
        .ascii "BM"
        .int fileSize
        .int 0
        .int (_rasterdata - .)
    
    _infoheader:
        .int infoheaderSize
        .int width     # width
        .int height    # height
        .short 1       # planes
        .short 24      # bitcount
        .int 0         # compression
        .int 0         # imagesize
        .int 11811     # xpixperm
        .int 11811     # ypixperm
        .int 0         # colorsused
        .int 0         # colorsimp
    
    infoheaderSize = (. - _infoheader)
    
    _rasterdata:
        n=area+1
        .rept height
            .rept width
                byten=((n*255)/area)&0xFF
                rn=(192*byten)/255
                gn=(64*byten)/255
                bn=(128*byten)/255
                .byte rn,gn,bn
                n=(n-1)
            .endr
        .endr
    
    fileSize = (. - _begin)

    File: run.sh (Shellscript)
    #!/bin/sh
    clear
    rm astonishing.bin
    rm tonishing.o
    as tonishing.s --64 -o tonishing.o
    # The pun is _astonishingly_ intended.
    strip -R .comment -R .note.gnu.property tonishing.o
    ld -n -x -s -N --oformat binary --unique=.note.gnu.property -o astonishing.bin tonishing.o
    magick identify -verbose astonishing.bin
    I run the whole thing with... wait for it... #nodemon!

    That's right: the tool intended for
    #Nodejs hot-reloading, is being leveraged for GNU Assembly, which is itself being leveraged for compile-time instructions to produce a whole BMP image.
    nodemon -e "s sh" --exec ./run.sh

    While I have a
    #Codeberg account, it's under my personal name where I published old projects from #GitHub, so I should do a second account for this pseudonym... but I'm not sure if this is against the Codeberg rules... So I'm posting the whole thing through a Calckey post instead.

    #programming #devlog #dev #devhacks #quirks #codegolf #experiments #surreal #absurd

  41. Using #GNU as Assembler (not Assembly, but the Assembler) and ld Linker to spit out a working BMP gradient image.

    Yeah, you read it right. I'm not using
    #Assembly to produce an image. I'm, instead, using Assembler directives and macros during compile-time to generate a binary file that happens to be a valid image (BMP) file.

    File: tonishing.s (GNU Assembly file)

    width = 320
    height = 240
    area = width * height
    _begin:
        .ascii "BM"
        .int fileSize
        .int 0
        .int (_rasterdata - .)
    
    _infoheader:
        .int infoheaderSize
        .int width     # width
        .int height    # height
        .short 1       # planes
        .short 24      # bitcount
        .int 0         # compression
        .int 0         # imagesize
        .int 11811     # xpixperm
        .int 11811     # ypixperm
        .int 0         # colorsused
        .int 0         # colorsimp
    
    infoheaderSize = (. - _infoheader)
    
    _rasterdata:
        n=area+1
        .rept height
            .rept width
                byten=((n*255)/area)&0xFF
                rn=(192*byten)/255
                gn=(64*byten)/255
                bn=(128*byten)/255
                .byte rn,gn,bn
                n=(n-1)
            .endr
        .endr
    
    fileSize = (. - _begin)

    File: run.sh (Shellscript)
    #!/bin/sh
    clear
    rm astonishing.bin
    rm tonishing.o
    as tonishing.s --64 -o tonishing.o
    # The pun is _astonishingly_ intended.
    strip -R .comment -R .note.gnu.property tonishing.o
    ld -n -x -s -N --oformat binary --unique=.note.gnu.property -o astonishing.bin tonishing.o
    magick identify -verbose astonishing.bin
    I run the whole thing with... wait for it... #nodemon!

    That's right: the tool intended for
    #Nodejs hot-reloading, is being leveraged for GNU Assembly, which is itself being leveraged for compile-time instructions to produce a whole BMP image.
    nodemon -e "s sh" --exec ./run.sh

    While I have a
    #Codeberg account, it's under my personal name where I published old projects from #GitHub, so I should do a second account for this pseudonym... but I'm not sure if this is against the Codeberg rules... So I'm posting the whole thing through a Calckey post instead.

    #programming #devlog #dev #devhacks #quirks #codegolf #experiments #surreal #absurd

  42. Using #GNU as Assembler (not Assembly, but the Assembler) and ld Linker to spit out a working BMP gradient image.

    Yeah, you read it right. I'm not using
    #Assembly to produce an image. I'm, instead, using Assembler directives and macros during compile-time to generate a binary file that happens to be a valid image (BMP) file.

    File: tonishing.s (GNU Assembly file)

    width = 320
    height = 240
    area = width * height
    _begin:
        .ascii "BM"
        .int fileSize
        .int 0
        .int (_rasterdata - .)
    
    _infoheader:
        .int infoheaderSize
        .int width     # width
        .int height    # height
        .short 1       # planes
        .short 24      # bitcount
        .int 0         # compression
        .int 0         # imagesize
        .int 11811     # xpixperm
        .int 11811     # ypixperm
        .int 0         # colorsused
        .int 0         # colorsimp
    
    infoheaderSize = (. - _infoheader)
    
    _rasterdata:
        n=area+1
        .rept height
            .rept width
                byten=((n*255)/area)&0xFF
                rn=(192*byten)/255
                gn=(64*byten)/255
                bn=(128*byten)/255
                .byte rn,gn,bn
                n=(n-1)
            .endr
        .endr
    
    fileSize = (. - _begin)

    File: run.sh (Shellscript)
    #!/bin/sh
    clear
    rm astonishing.bin
    rm tonishing.o
    as tonishing.s --64 -o tonishing.o
    # The pun is _astonishingly_ intended.
    strip -R .comment -R .note.gnu.property tonishing.o
    ld -n -x -s -N --oformat binary --unique=.note.gnu.property -o astonishing.bin tonishing.o
    magick identify -verbose astonishing.bin
    I run the whole thing with... wait for it... #nodemon!

    That's right: the tool intended for
    #Nodejs hot-reloading, is being leveraged for GNU Assembly, which is itself being leveraged for compile-time instructions to produce a whole BMP image.
    nodemon -e "s sh" --exec ./run.sh

    While I have a
    #Codeberg account, it's under my personal name where I published old projects from #GitHub, so I should do a second account for this pseudonym... but I'm not sure if this is against the Codeberg rules... So I'm posting the whole thing through a Calckey post instead.

    #programming #devlog #dev #devhacks #quirks #codegolf #experiments #surreal #absurd

  43. Exactly 13 DAYS left to start #js13k 2025!

    js13kgames.com

    We've added first batch of this year's Partners, Experts, and Prizes to the website and will be announcing them all in the coming days.

    #gamedev #gamejam #compo #competition #codegolf #challenge #JavaScript #HTML5 #indiedev #indiegames

  44. Exactly 13 DAYS left to start #js13k 2025!

    js13kgames.com

    We've added first batch of this year's Partners, Experts, and Prizes to the website and will be announcing them all in the coming days.

    #gamedev #gamejam #compo #competition #codegolf #challenge #JavaScript #HTML5 #indiedev #indiegames

  45. Exactly 13 DAYS left to start #js13k 2025!

    js13kgames.com

    We've added first batch of this year's Partners, Experts, and Prizes to the website and will be announcing them all in the coming days.

    #gamedev #gamejam #compo #competition #codegolf #challenge #JavaScript #HTML5 #indiedev #indiegames