По волне моей памяти

Вот так, бывало, едешь в таксо, а там играет какое-то отвратительное дорожное радио (я-то сам радио не слушаю примерно с тех пор, как закрыли SNC)… И вдруг среди обычной белиберды звучит отличная песня, которой я никогда не слышал. И не что-нибудь, а отменный арт-рок на русском языке и с классным вокалом. Казалось бы, оксюморон. А потом, погуглив, я выясняю, что это песня Давида Тухманова на стихи некого кубинского поэта. Оказывается, человек, написавший кучу советских эстрадных шлягеров, в 1975 году записал настоящий концептуальный арт-роковый альбом «по волне моей памяти». И я до сих пор ничего об этом не знал. Ну и вы тоже послушайте:

Чего вы не знаете о медведях и китах

whale
Платону 2 года и ни одного месяца. Я читаю ему один из вариантов «теремка», в котором с воза упал горшок, и в нём поселились сначала муха с комаром, а потом и прочие чудовища вплоть до волка. И вот дело доходит до заселения медведя. Я читаю:

— Сел медведь на горшок-теремок и сломал его.

А Платон добавляет:

— И пописал.

Логика! А что ещё-то делать, когда сел на горшок?

А то вот ещё показываю ему картинку с китом и рассказываю, что у кита на лбу ноздря, и когда он выныривает, он даёт из ноздри фонтан. В следующий раз, видя картинку с китом, Платон рассказывает:

— Кит выныривает и даёт соплю!

Логично, правда? Что же ещё можно давать из ноздри?

Conway’s Life как шейдер

Однажды я по приколу сделал Conway’s Life на WebGl. Нынче захожу туда, а оно не работает. Оказалось, что теперь размеры текстур должны быть степенями двойки. Поправил, и оно заработало:

Двигайте мышку, чтобы перемещать круг. Клик, чтобы перезапустить с начала.
Вот оно на WebGL playground.

Короткой фразой

Порою хочется написать в блог что-то очень короткое и каламбурное, но делать это простым текстом как-то беспонтово. Поэтому я буду делать вот так:
Глазки закрывал, баю-бал.

Платон любопытствует

Платону 2 года. Чтобы усыпить его, я пою ему песенку «в далёкий край товарищ улетает». По поводу каждой строчки Платон любопытствует:

— А где далёкий край? — он ещё не спрашивает «что такое?», он спрашивает «а где?», но смысл вопроса тот же. Я говорю, что «далёкий край» — это другой город.

— А где товарищ улетает? — я говорю, что товарищ приходит в аэропорт, садится на самолёт и летит в другой город.

— А где любимый город? — я предполагаю, что это город, в котором товарищ живёт. Вот мы живём в Санкт-Петербурге, и, наверное, это наш любимый город. Так ведь?

— А где в синей дымке тает? — я довольно долго объясняю, что товарищ смотрит в окно самолёта, как город удаляется и пропадает в тумане. Платон спрашивает ещё раз. Тогда я объясняю, что «туман» и «дымка» это разные слова, но значат они одно и то же. «Ага,» — говорит Платон: он понял.

— А где видеть сны? — тут я его спрашиваю, видит ли он что-то, когда закрыл глаза и спит. Платон отвечает утвердительно. Я говорю, что это и есть сны. «Ага,» — говорит Платон, — «а где они?»

И это, оказывается, совсем не простой вопрос для меня. Я отвечаю, что это сложно сказать, но когда ты спишь, то сны есть, а когда не спишь, то их нет. Вроде, Платон более-менее удовлетворился таким ответом, но скорее всего не до конца, и будет ещё любопытствовать. А что ответить на такой, казалось бы, простой вопрос по существу?

Безотказная форма подписки на рассылку

Только что на одном сайте ко мне применили дешёвый НЛП-шный трюк. Я читаю статью, вдруг в середине мне показывают небольшой диалог с цитатой и спрашивают, согласен ли я с этой цитатой. Цитата оказалась неплохая, я нажал «согласен». После этого появилась форма подписки на рассылку: типа, раз согласны, тогда введите свой е-мейл, и мы вам ещё пришлём. Но я не из тех парней.

И вот я подумал, а зачем вообще спрашивать у меня е-мейл? Сейчас все регистрируются одной кнопкой при помощи гугля, фейсбука, твиттера и иже с ними. Сайт после этого уже знает мой адрес почты. А форма подписки на рассылку должна быть такая: под кнопочкой регистрации галочка «Отписаться от рассылки потом». Тогда вообще никто не откажется.

абсолютно чёрное тело

Почему ты в нужде как рыба в воде?
Я не стану топить другого.
На шаре так много возможных дел —
Я искал, я ищу, я скован.

Разве так многого мы хотели?
Разного — да. Оставили всё на потом.
Солнце же в абсолютно чёрном теле
Хрустнуло под ногой нежданным сверчком.

И пятки горят, и в карманах гуляет ветер,
И сеть небесную силятся отключить
Серьёзно в игре запутавшиеся дети.
Только не говори, что лучше знаешь, как жить

Современная системная ржавчина

Смейтесь сколько хотите, но мне с детства нравится изучать разные языки программирования. Особенно когда они хорошо задизайнены или хотя бы иллюстрируют какую-нибудь любопытную парадигму. Ещё лучше, если их потом доведётся с пользой применить.

Вот и теперь к раструбу моего перископа ветром прилепило немного ржавчины. Ещё неделю назад я и слыхом не слыхивал про Rust, а ведь это современный системный язык, вышедший на свет из тайных лабораторий Mozilla, чтобы кованой пятой попрать C/C++ и исподволь захватить вселенную.

Почему он меня заинтересовал? Потому что это современная альтернатива C/C++. Тут всё изначально заточено под кроссплатформу, включая браузеры и мобилки, интернет-технологии, подцепление пакетов прямо из сети, github и всякое прочее новомодное, и в то же время под низкий уровень, скорость и оптимизацию.

Читаю теперь туториал, и видно, как авторы не в меру гордятся своей разработкой, которая выглядит как си, в который замешали много хаскеля и некоторое количество питона. Скажем, типичные хаскелевские приколы с pattern matching и type inference, хотя и слегка урезанные. И типичные питоновские итераторы.

В общем, очень любопытно. Я только начал читать, но выглядит многообещающе.