Search
Write a publication
Pull to refresh
0
0
Send message

10 удивительно зрелищных простейших клеточных автоматов

Level of difficultyEasy
Reading time5 min
Views40K

Самое простое представление двумерного клеточного автомата основано на двух характеристиках: клетки имеют всего 2 состояния; правила изменения состояния зависят только от количества живых соседей из окрестности Мура первого порядка (8 окружающих).

Такая категория КА называется «Life-like», по названию самого известного автомата с такими характеристиками – «Conway's Game of Life». Игра «Жизнь» Конвея работает на правиле B3/S23, т.е. для рождения клетки требуется ровно 3 живых соседа, для выживания – 2 или 3. Во всех других случаях клетка умирает (или же остаётся пустой).

Всего в данной категории у нас существует 218 вариантов правил. Очень немногая часть из них получила в сообществе собственные названия, сверх обычного именования нотацией.

Сегодня взглянем на самых интересных представителей.

?

Made at Intel. Свой среди чужих, чужой среди своих

Reading time10 min
Views38K

2014-й стал переломным годом для моей карьеры в Интел. В начале 2013-го меня назначили генеральным директором по R&D в России – и мне казалось, что теперь все дороги будут открыты. От перспектив сделать что-то хорошее и для Интела и для России за спиной прямо-таки росли крылья. Но не тут-то было.

Год сразу начался по-дурацки — я полетел в Новосиб в легкой курточке и простудился на тамошнем морозе. В Сибири погода вообще коварная. У нас — минус 30 это адский ад из‑за высокой влажности. А там сухо, солнечно, тихо и ощущается как минус 10, в худшем случае минус 15. А на самом деле те же самые минус 30. И в результате вместо поездки на Олимпиаду в Сочи я сидел дома и болел две недели. Ну а потом началось — в конце февраля — начале марта Россия присоединила Крым, а в апреле начались бои на Донбассе. Нас обложили санкциями. Ну и на корпоративном фронте ситуация также резко накалилась. В том году я летал в Штаты 6 раз и провел там в общей сложности четыре месяца, уговаривая интеловый истеблишмент не закрывать бизнес в России. Дамоклов меч повис уже тогда, однако судьбе было угодно дать нам еще 8 лет...

Шок и трепет

Поначалу, как всегда, была паника и неразбериха. Никто не понимал, куда бежать и чего бояться. Вспоминается апрельский диалог с Биллом Сэвиджем – директором Developer Product Division, основным стейкхолдером Интел в России. На него тогда работало у нас человек, наверно, 700. Как сейчас помню, разговор этот состоялся в пятницу, часов в 6 вечера в санта‑кларовском офисе SC12. Обычно амеров в пятницу из офиса «сдувает» в половине 4го. Ну самый край в 4. Но Билл не уходит — переживает отчасти за Россию, но больше за свою карьеру. И мы уже несколько часов гоняем по кругу его страхи — фантомные и реальные.

Читать далее

Раскрываем секреты загрузочных ISO-образов

Reading time20 min
Views118K


В этой статье я хочу поговорить об ISO-файлах, на которых, как известно, распространяются дистрибутивы операционных систем. Начиная писать статью, я немного сомневался в её актуальности, так как я ассоциировал ISO-образы с оптическими дисками, которые, ввиду ряда причин, уходят в прошлое. У меня было стойкое понимание, что ISO-файлы в основном нужны только для хранения образов оптических дисков, которые содержат установщик операционной системы. Но, как оказалось, всё гораздо сложнее и интереснее, особенно применительно к современному железу.
Читать дальше →

Интернет-цензура и обход блокировок: не время расслабляться

Reading time10 min
Views178K

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

Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.

Читать далее

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Reading time6 min
Views58K

Многие из вас каждый день работают в терминале, так давайте улучшим это времяпровождение вместе. Существует множество полезных инструментов CLI, которые могут сделать вашу жизнь в командной строке проще, быстрее и в целом веселее.

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее

Если хоть раз мечтал написать crack или keygen

Reading time6 min
Views21K

Дня 3 назад заглянул на сайт crackmes.one попробовать силы во взломе защит. Просто наугад взялся за "hitTman's Kolay One!": просто по оценке Difficulty: 2.0 и Quality: 4.0. Не примитивно, но и не слишком сложно.

Оказалось, форма ввода пароля с подсказкой: текст кнопки "submit password" после нажатия меняется на число. Если попробовать разные символы пароля, заметно, что для одних и тех же символов число не меняется. Очевидно, пароль подается в хеш-функцию, а ее результат попадает на кнопку. Пробуя пары символов, легко узнать что число на кнопке - сумма чисел для символов пароля.

Читать далее

От взлома протокола в старом «железе» до разработки программ

Reading time4 min
Views9.1K

Нужно было "взломать" протокол передачи данных внутри торгового автомата. Встроить одноплатную ЭВМ Raspberry Pi, большой монитор, написать программу для связи с web сервером и сам web сервер. Далее рассказ об этом взломе и немного о модернизации.

Читать далее

Шахматы на C++

Reading time68 min
Views53K

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

Читать далее

STM32MP1 запуск Ubuntu 22.04

Reading time40 min
Views17K

Привет, Хабр!

Совсем недавно, компания Canonical, выпустила Ubuntu 22.04, "потыкав" ее на виртуалке, решил накатить апдейт на рабочий ноут, пока накатывались обновления, перебирал девкиты в полке, нашел запыленную STM32MP157c-DK2 отладучную платку от старого проекта, ну и подумал - почему бы и не попробовать запустить 22-ю убунту на этом CPU.

В интернете полно статей как собрать Yocto или Buildroot под данный процессор, но ни одной как собрать свой собственный дистрибутив, по крайней мере, я не встречал.

Читать далее

Примеры классического кода, ставшего Open Source

Reading time9 min
Views34K


В прошлом году NASA опубликовала список программного обеспечения, код которого они разрабатывали в течении долгих лет. NASA уже давно стала знаменита тем, что делится с общественностью своим кодом. Другие же разработчики не всегда готовы пойти на такое. По крайней мере не сразу. Давайте ознакомимся с некоторыми примерами классического кода, который теперь можно и посмотреть, и пощупать.
Читать дальше →

Как делают печатные платы: экскурсия на завод Технотех

Reading time13 min
Views215K
Сегодня мы выступим в немного непривычном для себя амплуа, будем рассказывать не о гаджетах, а о технологиях, которые стоят за ними. Месяц назад мы были в Казани, где познакомились с ребятами из Навигатор-кампуса. Заодно побывали на расположенном близко (ну, относительно близко) заводе по производству печатных плат — Технотех. Этот пост — попытка разобраться в том, как же все-таки производят те самые печатные платы.
image
Итак, как же все-таки делают печатные платы для наших любимых гаджетов?
Читать дальше →

Можно ли использовать С++ вместо Си для небольших проектов в микроконтроллерах

Reading time23 min
Views51K
Существует мнение, что использование С++ при разработке программного обеспечения для микроконтроллеров это как стрельба из пушки по воробьям. Мол код получается большого размера и неповоротливый, а мы привыкли бороться за каждый бит в ОЗУ или ПЗУ. И программное обеспечение для микроконтроллера может быть написано обязательно на Си. Действительно, ведь язык Си был задуман как альтернатива ассемблеру, код должен был быть такой же компактный и быстрый, а читаемость и удобство разработки позволять легко писать довольно большие программы. Но ведь когда-то и разработчики на ассемблере говорили тоже самое про Си, с тех пор утекло много воды и программистов, использующих только ассемблер, можно по пальцам пересчитать. Конечно, ассемблер еще играет важную роль в разработке кода для быстрых параллельных вычислений, написании ОСРВ, но это скорее исключение из правил. Так же как когда-то Си пробивал себе дорогу в качестве стандарта для встроенного ПО, так и язык С++ уже вполне может заменить Си в этой области. С++ стандарта С++14 и современные компиляторы имеют достаточно средств для того чтобы создавать компактный код и не уступать по эффективности коду, созданному на Си, а благодаря нововведениям быть понятнее и надежнее. Ниже приведен код поиска наименьшего числа в массиве из 5 целых чисел на двух языках Си и С++ на компиляторе IAR for ARM 8.20 с отключенной оптимизацией.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity