Если программист хорошо знаком только с высокоуровневыми языками, например PHP, то ему не так просто освоить некоторые идеи, свойственные низкоуровневым языкам и критичные для понимания возможностей информационно-вычислительных процессов. По большей части причина в том, что в низко- и высокоуровневых языках мы решаем разные проблемы.
Но как можно считать себя профессионалом в каком-либо (высокоуровневом) языке, если даже не знаешь, как именно работает процессор, как он выполняет вычисления, эффективным ли способом? Сегодня автоматическое управление памятью становится главной проблемой в большинстве высокоуровневых языков, и многие программисты подходят к её решению без достаточной теоретической базы. Я уверен, что знание низкоуровневых процессов сильно помогает в разработке эффективных высокоуровневых программ.
Рассказывая про технологическую сторону блокчейна в статьях из цикла «Погружение в технологию блокчейн» мы столкнулись с вопросами: «Зачем это нужно? Какие проблемы решает? Как использовать?» Поэтому этот материал решили посвятить ответам на них на примере emcSSL – системы идентификации пользователей WWW на основе подсистемы NVS криптовалюты EmerCoin и децентрализованных клиентских SSL-сертификатов.
Рождественские календари очень популярны в западных странах. Обычно это специальная доска с окошками, соответствующими дням с 1 по 24 декабря, в каждом из которых лежит конфета или мелкий сувенир. В данном же случае, каждый день открывается по задачке на программирование, состоящей из двух частей — попроще и посложнее. Отличный повод размять мозги или выучить новый язык.
Прошлогодняя турнирная таблица Хабра по-прежнему активна, восемь человек в ней уже участвуют в этом году. Всем остальным можно присоединиться, введя код:
Иногда проводишь день в попытках без использования терминов «рекурсивный вызов» и «идиоты» объяснить главному бухгалтеру, почему на самом деле простое изменение учетной системы затягивается почти на неделю из-за орфографической ошибки, допущенной кем-то в коде в 2009 году. В такие дни хочется пооборвать руки тому умнику, который сотворил этот мир, и переписать все с ноля.
TL;DR
Под катом история о том, как я в качестве практики для изучения Python разрабатываю свою библиотеку для агентного моделирования с машинным обучением и богами.
Ссылка на github. Для работы из коробки нужен pygame. Для ознакомительного примера понадобится sklearn.
Дэвид Хан (David Hahn) прославился, как человек, который пытался построить самодельный ядерный реактор-размножитель у себя дома. Точнее, создание объекта велось не в самом доме (строение располагалось на окраине Детройта), а в сарае неподалеку.
Изначально Хан просто увлекался химией. Его настольной книгой, как утверждается, была «Золотая книга химических экспериментов». Он очень хотел получить все элементы из периодической таблицы Менделеева для своей коллекции, причем в их число входили и радиоактивные элементы. Кроме того, Хан стал скаутом, и начал зарабатывать значки. Один из значков, которые были доступны для получения скаутом — символ знатока ядерной энергии. Его-то мальчик и решил получить.
Представляем первую статью в серии, задуманной, чтобы помочь быстро разобраться в технологии глубокого обучения; мы будем двигаться от базовых принципов к нетривиальным особенностям с целью получить достойную производительность на двух наборах данных: MNIST (классификация рукописных цифр) и CIFAR-10 (классификация небольших изображений по десяти классам: самолет, автомобиль, птица, кошка, олень, собака, лягушка, лошадь, корабль и грузовик).