Skip to content

Files

Latest commit

abbradarpurplesyringarozetkinrobotksixtyDaniil Novoselov
and
Feb 11, 2024
50ab499 · Feb 11, 2024

History

History

thescenicroute

If a tree falls in a forest

purplesyringa, ppc 400

— Слышен ли звук падающего дерева в лесу, если рядом никого нет? — спросил Вована явно подвыпивший сисадмин. Странно, что несмотря на пиво, такие идеи ему вообще могли прийти в голову. Видать, пик Балмера правда существует…

— Так слышен или нет? — не мог угомониться Толик.

И что только Толик делает на корпоративе? Кто за графаной следит, интёрны, что ли? — рассудок Вована на секунду прояснился, но алкоголь тут же вернул себе по праву полученный контроль над разумом.

— Нет конечно… — еще раз попытался собраться с мыслями бедный программист.

— Мамой клянешься? Уверен?

Да чем хочешь, отвали уже… — чуть не выкрикнул Вован. Возненавидел Толика он еще с тех пор, как тот не дал ему поставить на ноутбук Nix. Но это еще простить можно: безопасность, все дела, да и администрировать неудобно… Вот лезть на отдыхе — это уже чересчур. Но насиженное место все-таки дороже…

— Да хоть про *ик* дом… — пошел ва-банк Вован.

— Ты ж никсер, вроде? — прищурился Толик, — Сайд-эффекты не любишь, за воспроизводимую сборку ратуешь? Так скажи мне, на что влияет запуск чистой функции?

Да вроде ни на что… Странный тип этот Толик. Всегда с ним так: вроде пургу мелет, а вроде и слова какие-то умные. Почему он так странно смотрит… А за серваками почему не следит? Надеется, что проблем не будет и его не прижмут? Или не надеется, а уверен? Так джуны там сидят или скрипты?..

— Ну тыкал никс, тыкал… Ф-функция? Да ни на что она не влияет…

— Ага, то есть, если в API выставить интерпретатор функции без сайд-эффектов и подать ей аргументом ключ от своего аккаунта, ничего страшного не будет?

Вован отпил еще глоток. Странно, странно. Опасный тип.

— Да нормально все будет, чё ты несешь… Тащи ноут сюда, дай закоммичу твою фигню.

Толик протянул старенький Lenovo. На таком железе далеко не уедешь… Да и голова подбаливает… Но ничего, накалякать интерпретатор Лиспа можно и во сне. Парсер не нужен, тут yaml хватит… JIT не нужен, какая разница, тут и так сойдет…

 [master 186ce41] LISP
 1 file changed, 186 insertions(+), 3 deletions(-)

— Доволен? — спросил Вован Толика, но того и след простыл.

Странный, странный тип…

lisp.py
https://thescenicroute.q.2024.ugractf.ru/token

Write-up

If a tree falls in a forest

purplesyringa, ppc 400

“Can you hear the sound of a falling tree in the forest if there’s no one around?” asked Vovan, the visibly tipsy sysadmin. Oddly enough, despite the beer, such ideas could still cross his mind. Looks like the Ballmer peak really exists…

“So can you hear it or not?” Tolik couldn’t let it go.

What is Tolik even doing at the corporate party? Who’s monitoring Grafana? Interns? Vovan’s reasoning briefly cleared for a moment, but alcohol promptly reclaimed its rightful control over his mind.

“No, of course not…" the poor programmer tried to gather his thoughts once again.

“Swear by all you hold dear? Are you sure?"

For heaven’s sake, just drop it already… Vovan almost shouted. He had loathed Tolik ever since he wouldn’t let him install Nix on the laptop. But that could be forgiven: security concerns and all, plus it’s inconvenient to administrator… But intruding on vacation? That’s too much. But a comfortable workplace is still more valuable…

“Even by prod- *hiccups* -uction…" Vovan went all in.

“Aren’t you a Nixer, though?" Tolik squinted, “You don’t like side effects, you advocate for reproducible builds. So tell me, what does launching a pure function affect?"

Well, seemingly nothing… Tolik was a strange character. Always like this with him: seems like he’s just babbling nonsense, but then he says something smart. Why is he looking at me like that… And why isn’t he keeping an eye on the servers? Hoping there won’t be any issues and he won’t get pinned down? Or is he not hoping, but being certain? So, are there juniors sitting there or just scripts?..

“Yeah, I’ve played with Nix, I did… F-function? Well, it doesn’t affect anything…"

“Uh-huh, so if you expose a function interpreter in the API without side effects and feed it an argument like your account key, nothing bad will happen?"

Vovan took another sip. Strange, strange. A dangerous type.

“It’ll be fine, why are you rambling… Bring your laptop here, let me commit your nonsense."

Tolik handed over his old Lenovo. Not getting far with that hardware… And his head was throbbing… But no worries, you can code a Lisp interpreter in your sleep. No need for a parser, yaml will do here… No need for JIT, what’s the difference, it’ll be fine anyway…

 [master 186ce41] LISP
 1 file changed, 186 insertions(+), 3 deletions(-)

“Satisfied?” Vovan asked Tolik, but he was already gone.

Strange, strange character…

lisp.py
https://thescenicroute.q.2024.ugractf.ru/token