Несколько лет назад я забавы ради прикрутил детектор к вебкамере в нашей столовой, чтобы построить график длины очереди и выявить часы пик. Но я тогда и не подумал, что рядом есть комплементарная ниша — народ собирает open-source DIY-проекты с себестоимостью порядка $10 для замера интенсивности использования офисных туалетов. Вот проект команды APSL с Пальма-де-Мальорки, а вот более старый проект от Made by Many.
Также: попробуйте первый quake на OpenGL шейдерах, посмотрите на карты меандрирования Миссиссиппи или почитайте про word2vec для старославянского.
Также: попробуйте первый quake на OpenGL шейдерах, посмотрите на карты меандрирования Миссиссиппи или почитайте про word2vec для старославянского.
This media is not supported in your browser
VIEW IN TELEGRAM
Давно не было рубрики "странные роботы", исправляюсь: товарищ Tobias Kuhn в своём блоге уже несколько лет публикует свой прогресс по направлению к созданию чего-то вроде механического жонглёра. На данный момент у него получился классный Octo-Bouncer, умеющий набивать теннисный шарик разными способами. Ардуино, четыре шаговых движка, обработка 120 FPS.
На волне новостей про жизнь на Венере вспомнил, как в детстве читал в древних подшивках советских журналов дивные проекты венерианских дирижаблей. Как верно пишут коллеги, в адской атмосфере Венеры есть слой на высоте около 50км от поверхности, где условия относительно сносные. Посему храбрые советские учёные пытались спроектировать парящие станции на базе хитроумных аэростатов — с ходу я вспомнил и нашёл пару статей некоего Г. Москаленко.
В первой, из журнала "Авиация и космонавтика" за 1973, автор разбирает плюсы и минусы применения разных типов летательных аппаратов в условиях Венеры. Во второй, из Науки и Жизни за 1981 год, он уже предлагает более подробное описание дирижабля с двумя рабочими газами с разными температурами конденсации, что должно позволить производить вертикальные манёвры за счёт разницы во внешних плотности и температуре.
А пока я это искал, наткнулся на удивительную страницу Евгения Шиховцева с расчётами геометрии и физики аэростатов под атмосферы разных планет.
В первой, из журнала "Авиация и космонавтика" за 1973, автор разбирает плюсы и минусы применения разных типов летательных аппаратов в условиях Венеры. Во второй, из Науки и Жизни за 1981 год, он уже предлагает более подробное описание дирижабля с двумя рабочими газами с разными температурами конденсации, что должно позволить производить вертикальные манёвры за счёт разницы во внешних плотности и температуре.
А пока я это искал, наткнулся на удивительную страницу Евгения Шиховцева с расчётами геометрии и физики аэростатов под атмосферы разных планет.
Есть такой учёный в Стенфорде, Терри Виноград, известный специалист по человеко-машинным интерфейсам. В его честь названа Winograd Schema Challenge (альтернатива теста Тьюринга), а в молодости Терри прославился созданием программы SHRDLU. Она была результатом его диссертации в MIT AI Lab и представляла собой систему управления виртуальной средой с помощью команд на английском языке. На экране отображалось пространство, содержащее разные объекты (кубы, шары, конусы, ...), и оператор мог отдавать команды вида "возьми большой шар" и "положи его на синий куб". Система отвечала на вопросы о расположении блоков, обрабатывала команды перемещения, сносно справлялась с разрешением анафор по контексту, отвечала на вопросы о предыдущих действиях, отрабатывала базовую физику — что на чём может лежать и т.п.. (SHRDLU можно считать первым примером interactive fiction, жанра, о котором я уже как-то писал.) Всю эту магию Терри опубликовал в конце шестидесятых, чем вызвал хайп вокруг исследований в области AI и NLP, обернувшийся позже некоторым разочарованием. Оно во многом было связано с тем, что в SHRDLU так хорошо были выбраны параметры среды (типы объектов, их характеристики, словарь команд), что система легко справлялась с редуцированным пространством задач и воспринималась, как универсальная, но все попытки как-то развить её и сделать что-то более полезное, чем пирамидки на кубиках, проваливались. Чуть ли не с этого началась первая AI winter, а сам Виноград, разочаровавшись, решил заниматься человеко-машинными интерфейсами в более широком смысле.
Код SHRDLU был написан на языке Micro-Planner, реализованным на MacLisp на компьютере DEC PDP-6 с ОС ITS. Язык Плэнер разрабатывался тем же самым Виноградом и его коллегами, и представлял из себя смесь Лиспа с некоторыми идеями, которые позднее вошли в Пролог. (Успех SHRDLU стал основой для распространения Плэнера, по слухам оказавшего определённое влияние на авторов Пролога). Страшнее зверя, чем этот Плэнер, лично я среди языков, пожалуй, не встречал. Кроме того, как было принято в те лихие времена, SHRDLU был самомодифицирующимся, т.е. при обработке команды он мог переписывать и перезапускать свой код. Но самое главное, в классическом ночном угаре перед сдачей диссера Терри пришлось внести несколько патчей прямо в машинный код своего интерпретатора Лиспа. В итоге получилось, что выполнить код SHRDLU можно было только этим конкретным модифицированным бинарником, для которого не было исходного кода. Это никого не напрягало, и программа разошлась в народе более чем десятком копий (а в мире было всего 23 компьютера PDP-6). Но по мере того, как операционная система ITS обновлялась, совместимость этого модифицированного бинарника с осью постепенно терялась, и по воспоминаниям Дейва Макдональда (студента Терри Винограда) через несколько лет SHRDLU совсем перестал работать — код сохранился, но не было железа+OS, чтобы его запустить. Сохранилось видео работы, сохранился также транскрипт диалога с программой, использованного в диссертации ("SHRDLU demo"). С тех пор люди время от времени пытаются восстановить работу алгоритма, существует много довольно похожих на оригинал клонов, но ни один из них не даёт в точности те же ответы, что приведены в SHRDLU demo.
О названии Терри пишет, что хотел выбрать "ненастоящую" аббревиатуру, и первое, что пришло в голову, было слово SHRDLU, которое он в юности встречал в журналах типа Mad Magazine, где оно использовалось для обозначения бессмыслицы. Эта традиция пришла со времён, когда наборщики на линотипах заполняли этими буквами ошибочные строки — кнопки backspace на линотипе не было, и, сделав ошибку, проще было забить строку до конца мусором, чтобы её потом отбраковал корректор; иногда, однако, корректоры пропускали такие строки и SHRDLUSHRDLUSHRDLU попадало в печать. Почему именно эти буквы? Кнопки на линотипе были отсортированы по частоте использования в английском языке (а не как в истории с QWERTY), первый ряд был ETAOIN, а второй — SHRDLU. Вот такая история.
Код SHRDLU был написан на языке Micro-Planner, реализованным на MacLisp на компьютере DEC PDP-6 с ОС ITS. Язык Плэнер разрабатывался тем же самым Виноградом и его коллегами, и представлял из себя смесь Лиспа с некоторыми идеями, которые позднее вошли в Пролог. (Успех SHRDLU стал основой для распространения Плэнера, по слухам оказавшего определённое влияние на авторов Пролога). Страшнее зверя, чем этот Плэнер, лично я среди языков, пожалуй, не встречал. Кроме того, как было принято в те лихие времена, SHRDLU был самомодифицирующимся, т.е. при обработке команды он мог переписывать и перезапускать свой код. Но самое главное, в классическом ночном угаре перед сдачей диссера Терри пришлось внести несколько патчей прямо в машинный код своего интерпретатора Лиспа. В итоге получилось, что выполнить код SHRDLU можно было только этим конкретным модифицированным бинарником, для которого не было исходного кода. Это никого не напрягало, и программа разошлась в народе более чем десятком копий (а в мире было всего 23 компьютера PDP-6). Но по мере того, как операционная система ITS обновлялась, совместимость этого модифицированного бинарника с осью постепенно терялась, и по воспоминаниям Дейва Макдональда (студента Терри Винограда) через несколько лет SHRDLU совсем перестал работать — код сохранился, но не было железа+OS, чтобы его запустить. Сохранилось видео работы, сохранился также транскрипт диалога с программой, использованного в диссертации ("SHRDLU demo"). С тех пор люди время от времени пытаются восстановить работу алгоритма, существует много довольно похожих на оригинал клонов, но ни один из них не даёт в точности те же ответы, что приведены в SHRDLU demo.
О названии Терри пишет, что хотел выбрать "ненастоящую" аббревиатуру, и первое, что пришло в голову, было слово SHRDLU, которое он в юности встречал в журналах типа Mad Magazine, где оно использовалось для обозначения бессмыслицы. Эта традиция пришла со времён, когда наборщики на линотипах заполняли этими буквами ошибочные строки — кнопки backspace на линотипе не было, и, сделав ошибку, проще было забить строку до конца мусором, чтобы её потом отбраковал корректор; иногда, однако, корректоры пропускали такие строки и SHRDLUSHRDLUSHRDLU попадало в печать. Почему именно эти буквы? Кнопки на линотипе были отсортированы по частоте использования в английском языке (а не как в истории с QWERTY), первый ряд был ETAOIN, а второй — SHRDLU. Вот такая история.
This media is not supported in your browser
VIEW IN TELEGRAM
Симпатичная визуализация движения миланских автобусов в пространстве и времени от команды Ito World. Тот же ролик с приятным звуком на Vimeo.
Также: онлайн редактор реалтайм глитч-эффектов на видео-потоке с вебкамеры.
Также: онлайн редактор реалтайм глитч-эффектов на видео-потоке с вебкамеры.
Сегодня рубрика "уголок скучающего нерда" в гостях у рубрики "кибернекрофилия": случайно узнал об удивительном фестивале Vector Hack, который в этом году скоро пройдёт в Хорватии и Словении. Там какое-то ламповое безумие типа рисования демок на осциллографах и проведения светомузыкальных шоу на самодельных лазерных установках, картинки завораживают.
А раз уж пошла такая хтонь, помяну заодно:
- пост про реверс-инжиниринг древнего чипа 76477, на котором работал звук в первых компьютерных игровых автоматах (начиная со Space Invaders),
- свежую статью про флопотроны -- проигрывание музыки с помощью звуков, создаваемых при передвижении головок старых дисководов,
- студенческий проект экзоскелета в виде шагающего T-Rex,
- и рисование картинок с помощью Stack Trace дампов.
А раз уж пошла такая хтонь, помяну заодно:
- пост про реверс-инжиниринг древнего чипа 76477, на котором работал звук в первых компьютерных игровых автоматах (начиная со Space Invaders),
- свежую статью про флопотроны -- проигрывание музыки с помощью звуков, создаваемых при передвижении головок старых дисководов,
- студенческий проект экзоскелета в виде шагающего T-Rex,
- и рисование картинок с помощью Stack Trace дампов.
Внимание!
Други, мне сегодня поступают сигналы, что некий упырь зарегистрировал аккаунт с очень похожим на мой никнейм названием, подделал аватарку и пытается продавать рекламу на этом канале.
Рекламу я не продаю и не покупаю, мошеннику желаю гореть в аду, а у вас хотел спросить, вдруг кто знает, куда можно такие вещи эффективно репортить? (если я знаю юзернейм упыря)
Други, мне сегодня поступают сигналы, что некий упырь зарегистрировал аккаунт с очень похожим на мой никнейм названием, подделал аватарку и пытается продавать рекламу на этом канале.
Рекламу я не продаю и не покупаю, мошеннику желаю гореть в аду, а у вас хотел спросить, вдруг кто знает, куда можно такие вещи эффективно репортить? (если я знаю юзернейм упыря)
Жалкие низкочастотники pinned «Внимание! Други, мне сегодня поступают сигналы, что некий упырь зарегистрировал аккаунт с очень похожим на мой никнейм названием, подделал аватарку и пытается продавать рекламу на этом канале. Рекламу я не продаю и не покупаю, мошеннику желаю гореть в аду…»
Опять нет времени писать, так что отделаюсь картинками:
* вверху слева — история цветового распределения постеров к кинофильмам за 100 лет;
* внизу слева — история объёма продаваемых LEGO-деталек по цветам за 50 лет;
* вверху справа — цвета автомобилей по годам производства за 30 лет (на данных польских сайтов по продаже авто);
* внизу справа — основные цвета на картинах за период в 200 лет (на данных архива BBC).
* вверху слева — история цветового распределения постеров к кинофильмам за 100 лет;
* внизу слева — история объёма продаваемых LEGO-деталек по цветам за 50 лет;
* вверху справа — цвета автомобилей по годам производства за 30 лет (на данных польских сайтов по продаже авто);
* внизу справа — основные цвета на картинах за период в 200 лет (на данных архива BBC).
Как я и предсказывал, этой осенью вышла куча ошибочных новостей про якобы 50-летний юбилей игры Жизнь — на самом деле юбилей был год назад, читайте подробности в моём прошлогоднем посте. Но, раз уж пошла волна интереса, напомню про великий проект Life Tetris Processor: команда энтузиастов использовала паттерн OTCA metapixel, чтобы собрать нужные вентили, затем построила на них RISC процессор, написала компилятор под него и запустила на нём тетрис. Проект занял пару лет, и в итоге получился Life-паттерн из 2,940,928 x 10,295,296 клеток, почитать общее описание проекта можно тут, а посмотреть на сам итоговый паттерн тут.
С другой стороны, не за горами другой настоящий юбилей — исполняется 30 лет первой игре серии Monkey Island, в связи с чем Рон Гилберт делает livestream, в которой обещают срыв покровов, разбор сырцов и демонстрацию контента, не попавшего в игру.
А если вам не интересно всё это старьё, посмотрите, как товарищи из Lancaster University замораживают фигурки LEGO до 0.004 градуса Кельвина. Лет семь назад в Манчестере мы с одним из них хотели заморозить себе виски для намазывания на бутерброды, но у них тогда сломалась установка и пришлось отложить.
С другой стороны, не за горами другой настоящий юбилей — исполняется 30 лет первой игре серии Monkey Island, в связи с чем Рон Гилберт делает livestream, в которой обещают срыв покровов, разбор сырцов и демонстрацию контента, не попавшего в игру.
А если вам не интересно всё это старьё, посмотрите, как товарищи из Lancaster University замораживают фигурки LEGO до 0.004 градуса Кельвина. Лет семь назад в Манчестере мы с одним из них хотели заморозить себе виски для намазывания на бутерброды, но у них тогда сломалась установка и пришлось отложить.
Товарищ Jaume Sanchez Elias из Deepmind сделал красивый js-рендерер заузленных торов, стилизованный под грубую ручную штриховку. Интерактив тут, а код здесь. Выглядит очень лампово, особенно в динамике, и я всё думал, что это мне напоминает.
В итоге вспомнил — в студенчестве мой товарищ Вольдемар притащил отличную книжку Франсиса Джорджа К. под названием "Книжка с картинками по топологии: Как рисовать математические картинки", пример картинки из неё справа внизу. На Озоне она давно кончилась, но если поискать, в сети можно найти pdf. Кстати, следы прочтения этой книжки можно наблюдать на аватарке этого канала.
В итоге вспомнил — в студенчестве мой товарищ Вольдемар притащил отличную книжку Франсиса Джорджа К. под названием "Книжка с картинками по топологии: Как рисовать математические картинки", пример картинки из неё справа внизу. На Озоне она давно кончилась, но если поискать, в сети можно найти pdf. Кстати, следы прочтения этой книжки можно наблюдать на аватарке этого канала.
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшая подборка на тему дня:
Анимация из GAN-а, обученного на фото хэллоуинских тыкв, от твиттер-аккаунта ak92501. У него там же есть ещё несколько статических галерей.
Бесплатный PDF с раскрасками про Ктулху; они очень милые, я во время рабочих встреч в зуме иногда использую для успокоения.
И ещё одна GAN, делающая интерполяцию между жуками и человеческими лицами, мне кажется, такое надо сразу в тату салон продавать.
Анимация из GAN-а, обученного на фото хэллоуинских тыкв, от твиттер-аккаунта ak92501. У него там же есть ещё несколько статических галерей.
Бесплатный PDF с раскрасками про Ктулху; они очень милые, я во время рабочих встреч в зуме иногда использую для успокоения.
И ещё одна GAN, делающая интерполяцию между жуками и человеческими лицами, мне кажется, такое надо сразу в тату салон продавать.
Сегодня начинается ежегодный challenge по автоматической генерации текста, NaNoGenMo, в рамках которого надо за месяц написать и опубликовать код, генерирующий литературный текст длиной не менее 50К слов (чтобы исключить cherry-picking). Я ещё не решил, буду ли пробовать в этом году, но в прошлом году я поучаствовал и сейчас расскажу, что из этого вышло, просто чтоб закрыть гештальт.
Я тогда подал на конкурс комбинацию из двух нейросеток: первая — GPT-генератор с обуславливанием, предобученный на всяком киберпанке, афоризмах и непростых текстах вроде Кафки и Руми. Вторая — BERT-фильтр, отбраковывающий скучные и корявые фразы и оставляющий годные набросы. Этот фильтр я обучил на разметке, основную часть которой мне помог сделать Ваня Ямщиков (с тех пор он такой, шутка). Получился, в итоге, довольно годный генератор кибер-параноидального бреда на английском. Назвал я его Paranoid Transformer, если вы понимаете.
NaNoGenMo тихо закончился, но в середине декабря мне написал Augusto Corvalan, шеф-редактор эзотерического журнала DEAD ALIVE и предложил поучаствовать этим же проектом в их конкурсе. Я решил, что скучно использовать одно и то же два раза, и добавил следующий твист: взял готовую рекуррентную сетку для генерации рукописного текста, организовал зависимость "нервности" почерка от эмоциональности конкретного предложения (определяемого sentiment анализом) и "написал" весь текст "от руки". Получилось довольно атмосферно, так, что в конце января я даже занял первое место по итогам того конкурса (сколько всего было конкурсантов, я не знаю:).
В феврале мне, как победителю конкурса, предложили издать этот текст в их же издательстве. Я согласился, но снова решил, что не очень интересно использовать одну поделку несколько раз без изменений, и добавил ещё несколько штук: сделал генерацию дат для разделов, как в настоящем дневнике, добавил круглые следы от кружки кофе там и сям, а Дима Кузнецов подсказал мне идею рисунков на полях, и я собрал аналог Sketch-RNN, предобученный на гугловом Quick, Draw! Dataset, так что каждый раз, как в тексте появлялось слово из категорий датасета, на полях появлялись каракули, этому слову соответствующие. Товарищи из издательства вычитали сгенерированный текст целиком (sic!) и прислали мне список потенциально оскорбительных высказываний (много!). Я решил, что совсем удалять их не так интересно, и прикрутил вместо этого эвристику, которая агрессивно зачёркивает такие участки прямо в тексте, что добавило эмоции.
Тем временем Ваня Ямщиков и Яна Агафонова помогли мне с написанием гонзо-статьи "Paranoid Transformer: Reading Narrative of Madness as Computational Approach to Creativity", которая в сентябре попала на конференцию International Conference on Computational Creativity 2020, а буквально неделю назад её расширенная версия вышла в журнале Future Internet.
На этапе поиска авторов на предисловие и послесловие к книге мне пришлось несладко. Борислав Козловский дал мне спонтанный мастер-класс по написанию "холодных" запросов незнакомым знаменитостям, так чтоб они хотя бы отвечали на письмо, и теперь у меня в почтовом ящике есть вежливые отказы от кучи удивительных людей (например, от Дэвида Дойча, Ричарда Столлмана и Дугласа Хофштадтера). Затем я успокоился и запросил отзывы у пары действительно правильных людей: Любы Эллиотт, продюссера проектов в области креативного AI, и Ника Монтфорта, поэта и профессора цифровых медиа в MIT. Их рецензии и вошли в итоговую книгу. Обложку с генеративным паттерном нарисовал Augusto Corvalan.
Сама книга Paranoid Transformer сейчас доступна к предзаказу на сайте издательства, рассылку обещают начать в декабре. Хочу предупредить, что за продажу книги я ответственности не несу, а пересылка бумажной книги из Нью-Йорка в Россию может занимать довольно много времени (особенно в период карантинов). Судя по сигнальной копии, что есть у меня на руках, книжка получилась достаточно добротной, и следующим сообщением я дам несколько фотографий и картинок из неё.
Я тогда подал на конкурс комбинацию из двух нейросеток: первая — GPT-генератор с обуславливанием, предобученный на всяком киберпанке, афоризмах и непростых текстах вроде Кафки и Руми. Вторая — BERT-фильтр, отбраковывающий скучные и корявые фразы и оставляющий годные набросы. Этот фильтр я обучил на разметке, основную часть которой мне помог сделать Ваня Ямщиков (с тех пор он такой, шутка). Получился, в итоге, довольно годный генератор кибер-параноидального бреда на английском. Назвал я его Paranoid Transformer, если вы понимаете.
NaNoGenMo тихо закончился, но в середине декабря мне написал Augusto Corvalan, шеф-редактор эзотерического журнала DEAD ALIVE и предложил поучаствовать этим же проектом в их конкурсе. Я решил, что скучно использовать одно и то же два раза, и добавил следующий твист: взял готовую рекуррентную сетку для генерации рукописного текста, организовал зависимость "нервности" почерка от эмоциональности конкретного предложения (определяемого sentiment анализом) и "написал" весь текст "от руки". Получилось довольно атмосферно, так, что в конце января я даже занял первое место по итогам того конкурса (сколько всего было конкурсантов, я не знаю:).
В феврале мне, как победителю конкурса, предложили издать этот текст в их же издательстве. Я согласился, но снова решил, что не очень интересно использовать одну поделку несколько раз без изменений, и добавил ещё несколько штук: сделал генерацию дат для разделов, как в настоящем дневнике, добавил круглые следы от кружки кофе там и сям, а Дима Кузнецов подсказал мне идею рисунков на полях, и я собрал аналог Sketch-RNN, предобученный на гугловом Quick, Draw! Dataset, так что каждый раз, как в тексте появлялось слово из категорий датасета, на полях появлялись каракули, этому слову соответствующие. Товарищи из издательства вычитали сгенерированный текст целиком (sic!) и прислали мне список потенциально оскорбительных высказываний (много!). Я решил, что совсем удалять их не так интересно, и прикрутил вместо этого эвристику, которая агрессивно зачёркивает такие участки прямо в тексте, что добавило эмоции.
Тем временем Ваня Ямщиков и Яна Агафонова помогли мне с написанием гонзо-статьи "Paranoid Transformer: Reading Narrative of Madness as Computational Approach to Creativity", которая в сентябре попала на конференцию International Conference on Computational Creativity 2020, а буквально неделю назад её расширенная версия вышла в журнале Future Internet.
На этапе поиска авторов на предисловие и послесловие к книге мне пришлось несладко. Борислав Козловский дал мне спонтанный мастер-класс по написанию "холодных" запросов незнакомым знаменитостям, так чтоб они хотя бы отвечали на письмо, и теперь у меня в почтовом ящике есть вежливые отказы от кучи удивительных людей (например, от Дэвида Дойча, Ричарда Столлмана и Дугласа Хофштадтера). Затем я успокоился и запросил отзывы у пары действительно правильных людей: Любы Эллиотт, продюссера проектов в области креативного AI, и Ника Монтфорта, поэта и профессора цифровых медиа в MIT. Их рецензии и вошли в итоговую книгу. Обложку с генеративным паттерном нарисовал Augusto Corvalan.
Сама книга Paranoid Transformer сейчас доступна к предзаказу на сайте издательства, рассылку обещают начать в декабре. Хочу предупредить, что за продажу книги я ответственности не несу, а пересылка бумажной книги из Нью-Йорка в Россию может занимать довольно много времени (особенно в период карантинов). Судя по сигнальной копии, что есть у меня на руках, книжка получилась достаточно добротной, и следующим сообщением я дам несколько фотографий и картинок из неё.
Отличная история: ребята заметили, что на новостных съёмках с полицейского вертолёта есть фоновый сигнал, немного похожий на звук модема; решили, что это может быть телеметрия и декодировали её. По ссылке подробное пошаговое описание процесса, от поиска частоты, через декодирование частотной модуляции и до дешифровки ASCII-содержимого пакетов и превращения в KML-файл для отображения положения вертолёта на карте. (Покопавшись, я нашёл более ранний аналогичный проект от финской хакерши Oona Räisänen, о которой писал в прошлом году, но там поменьше деталей).
This media is not supported in your browser
VIEW IN TELEGRAM
Железнодорожная стрелка на Pilatus Railway, дороге с самым большим уклоном в мире, ведущей на гору Пилатус в Швейцарии. Нашёл в твиттере.