Category: it

Category was added automatically. Read all entries about "it".

moose, transparent

еще про кубики

В дополнение к предыдущей записи про прекрасную головоломку "кубики Сома".

Прочитал статью, в которой программным путем находят все возможные решения, в 1985-м году на Фортране. Там это сводят к чистой линейной алгебре, проблема оптимизации.

Внутри статьи забавная цитата из Джона Конвея (изобретателя игры "Жизнь", одного из моих персональных героев) за 1961 год: "For a puzzle the size of Soma, it's an admission of defeat to use a computer. If you find the right way of organizing the material, it should take less time to do the whole thing by hand than it does to program the machine." Поскольку именно это я и сделал - не решил вручную и запрограммировал компьютер - ощущаю, что меня строго отчитали через пространство в 48 58 лет. Тем временем и жена, и зашедший в гости друг решили ее вручную минуты за три, и тем самым отчитали меня через пространство в два метра.

В комментариях указали на несколько интересных вариантов: набор всех тетракубов, из которых можно сложить макро-версию каждого тетракуба. Rhoma - вариант этой головоломки с скособоченными фигурами и только одним решением.

Я добавил в свой код определение всех уникальных решений (с точностью до поворотов и зеркальных отражений). Как и ожидалось, он находит 240 разных решений (после того, как находил больше и я подчистил несколько багов).
moose, transparent

код для кубиков

Взял со стола у сослуживца головоломку на составление куба 3x3x3 из семи частей. Позже прочитал, что она знаменита, но как-то мне не приходилось решать раньше. Долго тупил и не мог составить.



Наконец это меня так разозлило, что написал сегодня код, который находит решение.

Если кому-то интересно, вот он. Около 50 строк. Если вы программист, то перед чтением кода подумайте несколько минут о том, как бы вы сами такое написали, составьте хотя бы в уме план. Если вы знаете, как это сделать заметно короче и/или элегантнее, чем у меня, расскажите, мне любопытно. У меня получилось заметно проще, чем то, как думал вначале сделать (хранить фигуры как множества из 3 или 4 трехмерных точек, получать варианты вращением и двигать туда-сюда, пересекая с целочисленной решеткой точек куба), но не то чтобы нравится.

P.S. Он находит все решения, включая повороты и отражения; при желании можно додавить, чтобы находил только уникальные, но мне уже лень было.
moose, transparent

куда вы удалились

Синим цветом - продолжение, написанное нейронной сетью, натренированной на корпусе русской литературы. Особенно удачный пример, по-моему:



Можете сами попробовать на чем угодно. seminarist увлекся вот.
moose, transparent

компьютерные ссылки

  1. Ultimate list of all tools we used to create a hit HTML5 game on Steam. Интересно. Можно игру целиком написать в современном джаваскрипте, упаковать с Электроном и распространять через Steam. В обсуждении на HN тоже много полезного.

  2. Interfaces Generally Belong With Users. Хорошее объяснение того, почему полезно иметь duck typing в языке (как в Go и Typescript: объект подходит под тип интерфейса, если воплощает задекларированные в интерфейсе функции; упоминать само название интерфейса и даже знать о его существовании объекту не нужно). Не уверен, что это целиком и полностью добро, но как минимум один весьма полезный тип примеров здесь описан.

  3. The New Illustrated TLS Connection: Every byte explained and reproduced. Исключительно удобное оформление, полезный материал.

    P.S. Да, разумеется, каждый поток TLS 1.3 притворяется потоком TLS 1.2 и даже версию 1.2 указывает в заголовках. А как вы думали эта индустрия работает?

    "Client Version: A protocol version of "3,3" (meaning TLS 1.2) is given. Because middleboxes have been created and widely deployed that do not allow protocol versions that they do not recognize, the TLS 1.3 session must be disguised as a TLS 1.2 session. This field is no longer used for version negotiation and is hardcoded to the 1.2 version. Instead version negotiation is performed using the "Supported Versions" extension below."

  4. Recording Audio from the User. Записывать звук с микрофона внутри веб-приложения стало совсем легко. Я думаю воспользоваться этим для простой системы домашних заданий для ребенка, поэтому искал эту информацию. Пользователь получает подсказку и должен согласиться на запись, это не вопрос прайвеси.

  5. New Tricks for an Old Z-Machine, Part 3: A Renaissance is Nigh Длинная, но очень интересная ностальгическая запись о корнях текстовых интерактивных игр, системы Inform в 90-х, Z-Machine в 80-х итд. Может понравиться и тем, кто не знаком с темой текстовых интерактивных игр (а познакомиться стоит, кстати).
moose, transparent

рекомендации струструпа

Ух ты, оказывается, у Бьярна Стрaуструпа (создателя языка программирования C++) отличный литературный вкус. На его сайте есть список рекомендаций не-технической литературы. Просто-таки душа радуется: Реймонд Чендлер, Достоевский, Камю, Джеймс Хэрриот (!!!), Умберто Эко, и в качестве особенно приятного сюрприза - серия про Обри/Мэтьюрина Патрика О'Брайана.

Настолько впечатляет, что немедленно тянет добавить в свой список для чтения 2-3 книги из его списка, о которых я не слышал.
moose, transparent

ссылки

  1. AllSides.com - любопытная попытка представить рядом новости слева и справа, по разным актуальным темам (в основном американским).
    Это лучше, чем читать только новости слева, или только новости справа. Но есть вариант еще лучше: не потреблять новости вообще. Я не следую этому совету, но это лишь потому, что я слаб и поддаюсь соблазнам. Может, эти статьи помогут вам не быть, как я:

    Mr Money Moustache: The Low Information Diet
    Rolf Dobelli: Avoid News

  2. Евреи Биробиджана. Интересный репортаж с фотографиями.

  3. Scoop: A command-line installer for Windows. Интересная попытка дать пользователям Windows нечто похожее на apt-get Убунту/Дебиан. Судя по всему, очень удобно для беспроблемой установки многих полезных программ прямо из командной строки.

    P.S. Я узнал об этом проекте из документации Restic - программы для бэкапов, тоже выглядит интересно; под Windows она устанавливается через Scoop.

  4. Lists of mountains and hills in the British Isles.

    Потрясающая воображение система категоризации холмов в Британии, с названиями типа "Marilyns", "Murdos", "Simms" и "Grahams".

  5. How Life Sciences Actually Work: Findings of a Year-Long Investigation. Очень интересно; об устройстве научной работы в больших лабораториях, о проблемах с качеством исследований и кризисом воспроизведения, и о многом другом.

  6. Hard Comp-Fi Reading List & HN discussion.

    Список художественной литературы, в которой играют важную роль программирование или информатика. Обсуждение на HN интереснее самого списка, но и там и там есть заслуживающие внимания рекомендации.
moose, transparent

вычислить все

Идея для интервью для программистов (не совсем всерьез):

Кандидат получает распечатку команды "man dc" в Линуксе, а также строку

echo 1234 | dc -e '1sm[q]sQ[dlm=Qdlm-lFx*]dsF?rxp'


Через какое-то время кандидат рассказывает интервьюеру, что эта команда напечатает и как именно (в подробностях) это происходит.
moose, transparent

о черных ящиках



Эта фотография сделана фундус-камерой (специальной камерой, фотографирующей глазное дно). Она из прошлогодней статьи, в которой исследователи из Гугла показали, что методами глубокого обучения можно предсказывать некоторые факторы риска сердечных заболеваний на основании таких вот снимков.

Но в процессе работы над данными они также попробовали предсказать другую информацию о больных, например, возраст и пол. И оказалось, например, что их нейронная сеть может с точностью 97% предсказать, это глазное яблоко мужчины или женщины, при том, что врач-офтальмолог не может этого сделать вообще (точность 50-50).

Это очень яркий пример того, как современные методы глубокого обучения дают нам добиться потрясающих результатов, но часто не дают нам возможности понять и объяснить их. На картинке выделены зеленым цветом те участки фотографии, которые нейронная сеть особенно активно использовала для установления пола - это мы можем сделать. Но что именно в этих участках указывает на мужчин или на женщин, исследователям установить не удалось, несмотря на довольно интенсивную работу в сотрудничестве с медиками-специалистами в данной области.

Так это и осталось на данный момент черным ящиком. Дай ему фотографию - он тебе скажет пол и возраст с большой точностью, а как - никто не знает.
moose, transparent

о трансформере

the transformer … “explained”? (англ.)

Хорошее объяснение для неспециалистов того, как устроена - очень в общих чертах - архитектура нейронной сети Transformer, которая лежит в основе предсказателя текста GTP-2 и других впечатляющих результатов последнего времени. Особенно интересно сравнение с конволюционными и рекуррентными сетями.
moose, transparent

забавное

  1. Тюлень дает пощечину каякеру осьминогом:



    Вообще этот твиттер-аккаунт потрясающий, можно часами листать.

  2. Гитлер не любит функциональное программирование (это только для программистов, извините):



  3. Пятьдесят оттенков волков воют на закате: