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

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

https://habr.com/ru/companies/yandex/articles/961658/

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

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

Что такое код-гольф? Это соревнование, в котором надо решить задачу по программированию (как правило, несложную), используя наименьшее количество символов. Соревнование довольно известное. Можно...

Хабр

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!

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

Allowing indented code for `-c`

Jon Crall posted this feature proposal on the Ideas mailing list and a GitHub issue in April. It needs wider discussion, so I’m re-posting it here. I’ll add my own comment below. The Python CLI should automatically dedent the argument given to “-c”. I raised this issue on the Python-Ideas mailing list and it got some positive feedback, so I’m moving forward with it here and in a proof-of-concept PR. Pitch I have what I think is a fairly low impact quality of life improvement to suggest for t...

Discussions on Python.org

Yo Dawg! I heard you may want to #print a #poker #card sized version of a minimal #balatro like #javascript #game #sourcecode. So you can poker while you poker. #baatato #codegolf #deadmeme

More here: https://github.com/kesiev/baatato

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: https://github.com/kesiev/baatato
Play here: https://www.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.)

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: https://developer.mozilla.org/fr/docs/Web/CSS/::details-content

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

::details-content - CSS | MDN

Le pseudo-élément CSS ::details-content représente le contenu extensible/collapsible d'un élément <details>.

MDN Web Docs
🤦‍♂️ 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! ☕️🔧
https://sanixdk.xyz/blogs/the-weird-concept-of-branchless-programming #branchlessprogramming #codegolf #CPUoptimizations #caffeineinduced #HackerNews #ngated
THE WEIRD CONCEPT OF BRANCHLESS PROGRAMMING

32-bit #NASM equivalent:

BITS 32 GLOBAL _start SECTION .text _start: dec esp dec ecx dec esp dec ecx push esp dec eax pop esp mov eax, 4 mov ebx, 1 mov ecx, nope mov edx, nope_len int 0x80 xor eax, eax inc eax mov bl, 0 int 0x80 SECTION .data nope: db "Nothing to see here...",10,0 nope_len: equ $-nope
Make:
nasm -f elf32 -o program.o program.asm && ld -nostdlib -s -n -m elf_i386 -o program program.o
For those wondering what exactly is going on, the screenshot further explains and reveals it.

#steganography #hiddenmessage #assembly #code #asmcode #programming #codegolf #occult

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

Exactly 13 DAYS left to start #js13k 2025!

https://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