WTF is this manual?
27 subscribers
174 photos
40 videos
78 files
690 links
Obscure IT and graphs of...what?
Download Telegram
❤‍🔥1
Forwarded from Why is the Rum Gone?
(Будет интересно только #программистам)

Нередко слышу: “ридер-макросы малополезны”.

Сегодня в одном лиспочате человек спросил, как ему быстро логировать значения отдельных форм, так, чтоб минимально менять запись. Например, если у него (+ 1 2 3 (+ 3 4 5)), то он хочет, дополнив код до такого ?(+ 1 2 3 ?(+ 3 4 5)), получать при вычислении 12 и 18 в стандартный вывод, а писать вызов функции не хочет. Ну и ему тут же ответили
(defun question-mark-print (stream char)
(declare (ignore char))
(list 'print (read stream t nil t)))

(set-macro-character #\? #'question-mark-print)

(Это делает в точности то, что он хотел.)

Но это ладно, невелика беда писать (? (+ 3 4 5)) (впрочем, это сломается, если в текущем пакете есть другая функция, названная “?”). А у меня был такой случай: мой знакомый читал книгу On Lisp, копировал код из pdf'а, а тот не работал. Дело в том, что свёрстано было хреново, и вместо апострофов ' в тексте была какая-то кавычка — наверное, ; не помню уж. Ну и я объяснил, в чём дело (сам сталкивался с этой проблемой в этом тексте), и предложил код, похожий на тот, что в примере выше, который добавляет правило чтения этой кавычки, чтоб она читалась так же, как читается апостроф. Так стало возможно брать примеры из этого текста и не чертыхаться на каждом шагу.

Не говорю уже про мою любимую тему — возможность читать код из файла, где всё записано в какой-нибудь популярной разметке. Компилятор даже будет прокидывать к определению правильно — ему пофиг, из какого именно файла определение он прочёл, и в каком синтаксисе оно там было записано. Точно так же, если определение было надиктовано голосом, прокинул бы на момент, где определение произносилось. (Тут я немножко лукавлю: Common Lisp не имеет стандартного ввода по аудио, но по-моему в CLIM такое есть.)

В Лиспе немало фич, с которыми мэйнстримный программист никогда не имел дела, и, думаю, реакция “малополезно” часто проистекает от того, что не было привычки думать, как такие фичи использовать. Программируемый ридер — типичный пример.
Forwarded from У меня лапки
This media is not supported in your browser
VIEW IN TELEGRAM
Сделал идеальную штуку для рабочих чатов, работает локально! (llama)

Выделяешь написанный текст в ЛЮБОМ приложении, нажимаешь кнопку, и в зависимости от хотелки текст переписывается.

Можно сделать переводчик, можно сокращатель, исправитель ошибок, или добавлятор вежливости (как на видео).
😁1
Forwarded from Никита Фурин
Никогда не пробовал JAX, но выглядит как очень понятная простая pythonic штука. Берём обычные функции питона и вычисляем по ним градиент. Ну круто же
Forwarded from Commander Asdasd
https://docs.python.org/release/
Документация на самый старый питон - 1.4, за 1996 год.
34 года дяде.
Даже прочитать из археологического интереса захотелось.
Forwarded from Кооператив "Озеро" Плюс
Forwarded from Open Source
This media is not supported in your browser
VIEW IN TELEGRAM
ngrrram

ngrrram — это инструмент командной строки, позволяющий вам практиковаться в наборе ngrams для повышения скорости набора текста и изучения новых раскладок клавиатуры.

Установку можно выполнить с помощью предварительно скомпилированных выпусков или сборки из исходного кода.

Параметры настройки включают выбор размера ngram, наиболее часто используемых ngram, количества ngrams в уроке и многое другое.

Варианты эмуляции макета включают Qwerty, Colemak, Dvorak и многие другие раскладки.

https://github.com/wintermute-cell/ngrrram
Обнаружена компьютерная игра Turing Complete, с помощью которой можно за пару вечеров, особо не напрягаясь, с нуля изучить архитектуру компьютера. По ощущениям, 30..40 часов игры могут дать больше, чем 2..3 года изучения Computer Science по традиционным ВУЗовским курсам (не думаю, что это преувеличение).

Статья об игре:
romanavr.notion.site/74af54b441cd4fad99fd0afdf0fee7c2

Трейлер игры:
https://www.youtube.com/watch?v=-YY73ejihZo