TL;DRИгры от Zachtronics:TIS-100, EXAPUNKS, SHENZHEN I/OПро создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому. Подробности
Про это много кто говорит, но это очень важная тема для меня лично, потому что я сталкиваюсь и с продуктовым, и с олимпиадным программированием. Для начала объясню, что я подразумеваю под олимпиадным программированием. Олимпиадное программирование - это неоптимальное программирование, основное внимание в котором уделяется алгоритмам, а не возможности использования. С продуктовым программированием всё наоборот, оно более прикладное. Продолжение
От загрузчика к ядру Если вы читали предыдущие статьи, то знаете о моём новом увлечении низкоуровневым программированием. Я написал несколько статей о программировании на ассемблере для x86_64 Linux и в то же время начал погружаться в исходный код ядра Linux. Мне очень интересно…
Разработчик по имени Питер, как и многие из нас, попал на долгое время в ловушку карантина. У него появилось свободное время, причем много, и Питер решил разработать систему распознавания речи на базе Arduino Nano. Оборудование, как можно догадаться, не особо сложное. Основной компонент в этой системе — программное обеспечение. Питеру пришлось повозиться не только с обычным софтом, но и заняться низкоуровневым программированием контроллера. Читать дальше →