Как стать автором
Обновить
0
0
Антон Чехов @eugenios

Пользователь

Отправить сообщение

Эксперименты с бит-реверсными паттернами в двумерных аддитивных клеточных автоматах

Время на прочтение17 мин
Количество просмотров15K
Как-то я экспериментировал с клеточными автоматами. С одномерными и двумерными. Придумывал на каком исходном состоянии применить какое-то правило. Когда, в качестве исходного состояния двумерного клеточного автомата я начал использовать бит-реверсивную перестановку диагональной линии, то после применения автомата получались своеобразные узоры. Время от времени среди узоров появлялись явно выраженные характерные паттерны. Я выделил эти паттерны и немного с ними поэкспериментировал. С тем, что мне удалось выяснить, я делюсь в этой статье.

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

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

Надеюсь, что статья развлечет вас, хотя я буду писать четко и по делу.
Осторожно! Чтение может привести к квантовому реверсу сознания...
Всего голосов 49: ↑44 и ↓5+39
Комментарии11

Hexapod-робот под управлением ROS

Время на прочтение10 мин
Количество просмотров140K


Робот гексапод — это платформа, использующая для передвижения шесть ног. После просмотра множества видео в интернете, стало ясно, что очень интересно наблюдать за передвижением подобных роботов. И тут возникло желание сделать что-то похожее, но с одноплатным компьютером BeagleBone Black (далее BBB) на борту, потому что подобных проектов еще не было. Информацию о таких роботах было найти непросто, особенно, что касается программной составляющей. Некоторое время было непонятно с чего начинать, но вскоре было решено начать с изготовления конструктива робота — шасси и электронной составляющей, а затем заняться программированием того, что получилось.
Читать дальше →
Всего голосов 130: ↑128 и ↓2+126
Комментарии42

Диагностика ошибки Heartbleed в OpenSSL. (Окончательный диагноз ещё не поставлен, хотя лечение уже идёт вовсю)

Время на прочтение5 мин
Количество просмотров26K
Предисловие переводчика
Начиная переводить данную статью, я предполагал, что её автор разобрался в проблеме.
Однако, как правильно показали некоторые пользователи Хабра (спасибо VBart), не всё так просто и упоминание автором malloc, mmap и sbrk ещё более его запутало.
В связи с эти статья представляет больше исторический интерес, нежели технический.
Update Автор обновил свой пост в том же ключе, в котором шло обсуждение в коментариях к этому переводу.


Когда я писал об ошибке в GnuTLS, я сказал, что это не последняя тяжелая ошибка в стеке TLS, которую мы увидим. Однако, я не ожидал, что всё будет так плачевно.

Ошибка в Heartbleed — это особенно неприятный баг. Она позволяет злоумышленнику читать до 64 Кб памяти, и исследователи в области безопасности говорят:

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

Как это могло случиться? Давайте почитаем код и узнаем.
Всего голосов 61: ↑58 и ↓3+55
Комментарии25

8 ловушек программирования

Время на прочтение13 мин
Количество просмотров224K


Эта статья содержит те ловушки программирования, в которые я попадал сам, продолжаю попадать и возможно никогда не прекращу, а также те, в которых я находил своих товарищей.

Однако я верю в то, что их можно избежать, если знать в какие ловушки можно попасть и как из них выбираться. Возможно эта вера — очередная ловушка.
Читать дальше →
Всего голосов 276: ↑256 и ↓20+236
Комментарии83

Теплый ламповый звук

Время на прочтение7 мин
Количество просмотров329K
Как-то случайно обратил внимание, что 90% статей на хабре с тегом «теплый ламповый» рассказывают о чем угодно, но только не о ламповой технике. В то же время, немногие публикации о ламповых устройствах собирают множество лайков восхищенных комментариев.



Я уже не помню как и когда в моей голове поселилась эта странная идея — собрать ламповый усилитель. Зачем тоже не совсем понятно — меломаном я не являюсь, домашними кинотеатрами давно и быстро переболел, на память об этом времени остались напольные колонки Wharfedale Diamond 8.4, последние годы использовавшиеся исключительно как декоративная подставка для цветов. Как бы то ни было, мысль настолько глубоко поселилась в моей голове, что началось неспешное изучение профильных ресурсов, чтение форумов, поиск схем ламповых усилителей «для чайников» и т.д. и т.п. Отсутствие какого-либо опыта общения с ламповой техникой (самый современный гаджет, который я помню — это ч/б телевизор в студенческой общаге в начале 90-х годов прошлого века) отпугивало и привлекало одновременно.
Подробности
Всего голосов 286: ↑273 и ↓13+260
Комментарии118

РОБОТ на базе: android, arduino, bluetooth. Рефлексный. Часть 2

Время на прочтение21 мин
Количество просмотров112K
В прошлой статье РОБОТ на базе: android, arduino, bluetooth. Начало была предложена общая схема робота и представлена технология передачи и приема данных между андроидом и ардуино. А в ее завершении приведен список заказанных деталей и модулей. Детали получены (рис.1), комментарии учтены, приступим к созданию первого робота – рефлексного робота.

Рисунок 1
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии12

Грандиозная битва в EVE Online, кто потерял 300000$ и что же всё-таки там произошло

Время на прочтение15 мин
Количество просмотров390K
Несколько дней назад в интернете появилась новость о самой масштабной битве в игре EVE Online, в которой было уничтожено кораблей на 300000 долларов. Многим оказалось интересно, как в какой-то битве в онлайн игре можно потерять столько денег. Но, большинство текстов про эту эпических масштабов битву написано языком, в котором не играющему в EVE Online человеку понятны лишь предлоги и матерные слова. Пару дней назад я наткнулся на очень интересную статью, где всё произошедшее описано очень простым и понятным языком.

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


Читать дальше
Всего голосов 328: ↑305 и ↓23+282
Комментарии312

Стражи ночи

Время на прочтение9 мин
Количество просмотров81K
Будучи высококвалифицированным исследователем, я потратил немало времени на продвижение науки вперёд. Но я родился на Юге и искренне убеждён, что прогресс — это выдумка, и что нужно готовиться к Судному дню, к жатве того, что мы посеяли и к появлению быстрых зомби, медленных зомби, и даже вежливых зомби, которые обращаются к вам «сэр» или «мадам», но в итоге пытаются съесть ваш мозг дабы заполучить ваши навыки. Когда нагрянет революция, нужно быть готовым; поэтому в моменты тишины и покоя, когда я не произвожу очередной прорыв в науке, я размышляю над тем, что же я буду делать, когда прогноз погоды изменится на «РЕКИ КРОВИ ЦЕЛЫЙ ДЕНЬ ДО СКОНЧАНИЯ ВРЕМЁН».

В основном я думаю о тех, кто будет прикрывать мою спину, поскольку шансы на выживание в постапокалиптическом мире напрямую зависят от размера и качества того сброда, который вы будете называть своей командой. Очевидно, мне понадобятся: слесарь (чтобы двери вскрывать), эксперт‐подрывник (если уж у слесаря закончатся идеи) и конечно же тот парень, что отловит, выдрессирует и затем будет швырять змей в моих врагов (потому что в мире умершей надежды бросок змеёй — это разумный способ урегулирования разногласий). В сией антиутопии они помогут мне прослыть воинствующим философом.

Но! Но… Самым важным членом моей банды будет системный программист, ибо в гоббсовском кошмаре невероятных масштабов умеющему отладить драйвер устройства или распредёленную систему человеку можно доверять; системный программист видел ужасы Вселенной и понимает безысходность бытия. Системный программист писал драйверы для устройств, прошивку которых создавал то ли пьяный ребёнок, то ли трезвый карась. Системный программист отлавливал проблему с сетью через восемь машин, три часовых пояса и с дружеским визитом в Омск, откуда ее перенаправили в левое переднее копыто той лошади, что избавила Трою от перенаселения.1 Системный программист читал исходники ядра для лучшего понимания процессов мироздания и видел комментарий «И ЭТО РАБОТАЕТ ЛОЛ» в коде планировщика, и не смеялся он, но плакал; и отправил он патч ядра для восстановления баланса Силы и устранения инверсии приоритетов, что приводила к зависанию MySQL. Системный программист знает, что делать, когда общество падёт, потому что он уже живет в мире, где царит беззаконие.
Читать дальше →
Всего голосов 157: ↑136 и ↓21+115
Комментарии50

Десятка лучших консольных команд

Время на прочтение2 мин
Количество просмотров198K
imageВ данном посте я расскажу о наиболее интересных командах, которые могут быть очень полезны при работе в консоли. Однозначных критериев определения какая команда лучше другой — нет, каждый сам для своих условий выбирает лучшее. Я решил построить список команд на основе наиболее рейтинговых приемов работы с консолью от commandlinefu.com, кладовой консольных команд. Результат выполнения одной из таких команд под Linux приведен на картинке. Если заинтересовало, прошу под кат.
Узнать больше
Всего голосов 382: ↑346 и ↓36+310
Комментарии215

Never Gonna Give Your Terminal

Время на прочтение1 мин
Количество просмотров16K
Rick Astley — Never Gonna Give Your Up теперь и в вашем мобильном терминале!

curl -s https://raw.github.com/keroserene/rickrollrc/master/roll.sh | bash

Используется видео, которое было сконвертировано в ASCII 256-color, и звук в wav или raw, в зависимости от системы.
Для вывода «видео» используется python.
Имеется функция встраивания в .bashrc ;)

Работает на Linux, Mac OS и Cygwin

Репозиторий на github
Всего голосов 72: ↑57 и ↓15+42
Комментарии48

Фетиш-ориентированное программирование

Время на прочтение3 мин
Количество просмотров43K

За то время, что я занимаюсь программированием, я видел не мало проектов, загнувшихся, благодаря фанатичному следованию различным модным правилам и практикам. Это может быть что-то увлекшее всю команду, например OOP или TDD, или что-то, на чем настоял отдельный разработчик, например: табы против пробелов, или определенный стиль фигурных скобок. Даже программист работающий в одиночестве, может саботировать проект, выбрав фетиш в ущерб продуктивности.
Вот немного вещей, отнимающих часы, а то и дни программистского времени:
Читать дальше →
Всего голосов 129: ↑92 и ↓37+55
Комментарии77

Haskell в продакте: Отчёт менеджера проекта

Время на прочтение7 мин
Количество просмотров64K
Я давно обещался написать статью о том, как себя показал Haskell в реальных задачах в продакте.

Для тех, кто не уследил — его в начале 2012 пролоббировали и с энтузиазмом начали внедрять программисты в Селектеле. Тогда же я обещал опубликовать отчёт о том, насколько «это всё» можно использовать.

Продакт в коммерческом проекте — это не в маленькая песочница «для себя», не академический эксперимент в области Computer Science. Это бесконечная борьба за «линию партии», когда вокруг ад, ужас и погибель, а оно всё равно должно работать. Int64 в XML-RPC кодируется строкой (потому что int'ы в XML-RPC signed int32), openssl при чтении нескольких сертификатов из файла читает только первый из них, в bool надо писать либо «1», либо «0», но иногда — «2», ибо только так придумали закодировать третий режим — и т.д. и т.п. В этих условиях требования к языку постепенно перерастают в требования к его экосистеме, инфраструктуре, готовности адаптироваться к реальному миру.

Я буду писать о Haskell с позиций product owner'а, менджера проекта, системного администратора, но никак не программиста. Так что не ожидайте от меня задушевных восторгов о том, как изящно через монадки можно сделать семигрупоид и как здорово выводить типы через типы с помощью типов.

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

Начнём с потребительских свойств.
Читать дальше →
Всего голосов 199: ↑191 и ↓8+183
Комментарии125

Темное программирование

Время на прочтение7 мин
Количество просмотров139K
imageПредлагаю перейти на сторону зла, на темную сторону программирования. Ситхи сильнее джедаев. И печенек хватит на всех. Предупреждаю, прежде чем начнете читать далее. Характер при переходе на темную сторону портится.
Прошу под кат
Читать дальше →
Всего голосов 257: ↑203 и ↓54+149
Комментарии212

Вы опасно некомпетентны в криптографии

Время на прочтение7 мин
Количество просмотров142K
От переводчика: Хоть посыл статьи Najaf Ali, переведённой ниже, и носит слегка рекламный оттенок («оставьте криптографию нам, экспертам»), но описанные в ней примеры показались мне довольно интересными и заслуживающими внимания.
Кроме того, никогда не будет лишним повторить прописную истину: не придумывайте свою крипто-защиту. И эта статья отлично иллюстрирует почему.

Читать дальше →
Всего голосов 181: ↑168 и ↓13+155
Комментарии143

Как хвост виляет собакой. Азбука пропаганды

Время на прочтение4 мин
Количество просмотров210K
Чем доступнее информация, тем больше её вокруг. Чем быстрее она распространяется, тем меньше остаётся времени на то, чтобы её проверить. Постепенно информационная среда превращается в некое подобие «белого шума». Всё труднее строить внутри себя новые информационные фильтры, чтобы отсеять лишнее: убрать в сторону лозунги, агитацию, пропаганду, а оставить только то, что на самом деле кроется за ними. А манипулировать нашими мыслями пытаются постоянно, и я говорю не о 25-ом кадре (он не работает), а о более земных вещах — приёмах пропаганды, которые так умело (а зачастую — очень топорно) используют политики, рекламщики и вообще, все, кому не лень. Об этих приёмах и пойдёт речь в статье.

Хвост виляет собакой. ("Wag the dog") — чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
Примеры таких вопросов: Отмена перехода на зимнее время, российское гражданство Депардье, поездка Путина или Саши Грей на Ладе Калине по России, полёты со стерхами и т.д.
Своё название этот приём получил в честь английского выражения tail wagging the dog, который, в свою очередь, появился из следующего народного пассажа:
— Почему собака виляет хвостом?
— Потому, что собака умнее, чем хвост. Если бы хвост был умнее, он вилял бы собакой.

Ещё 7 приёмов - под катом
Всего голосов 402: ↑352 и ↓50+302
Комментарии183

Как стать хозяином своего времени: приемы джедая

Время на прочтение4 мин
Количество просмотров182K
Article translated from Oliver Emberton blog abetterlife.quora.com
Перевод статьи abetterlife.quora.com/How-to-master-your-time-1

Секрет тайм менеджмента прост: приемы джедая



Представьте, что Вы мастер джедай по имени Роман. Любовь Вашей жизни – принцесса Татьяна заключена в горящем здании и Вам хотелось бы очень поспешить, чтоб ее спасти.

image

Можете думать о Татьяне как о воплощении Вашей мечты, Вашего вдохновения – пусть это самое важное в Вашей жизни.

Читать дальше →
Всего голосов 111: ↑94 и ↓17+77
Комментарии30

Идеальные часы

Время на прочтение15 мин
Количество просмотров230K
Идеальные часы для дома: честные и точные, простые и сложные, умные и чуткие, не большие и не маленькие, с волшебной настройкой под желания любого человека без кнопок и запутанных алгоритмов настройки, скромные и не требующие внимания, комфортно видимые днем и ночью, имеющие универсальное питание, легко меняющие цвет корпуса и индикации под окружающую обстановку и настроение, не бьющиеся при падении, легкие в изготовлении, белые.

Получилось?


Читать дальше →
Всего голосов 160: ↑151 и ↓9+142
Комментарии121

Обзор исходного кода Quake 3: Архитектура (Часть 1)

Время на прочтение5 мин
Количество просмотров105K
Так как у меня была одна неделя до моего следующего контракта, я решил закончить мой цикл статей id. После Doom,Doom Iphone, Quake1, Quake2, Wolfenstein iPhone и Doom3, я решил изучить код, который я еще не рассматривал: idTech3 — 3D движок Quake III и Quake Live.
Читать дальше →
Всего голосов 157: ↑152 и ↓5+147
Комментарии27

Компьютерное преступление: тогда и теперь

Время на прочтение6 мин
Количество просмотров47K
Я уже описывал моё коротенькое юношеское баловство с незаконной стороной информатики в её виде на конец 1980-ых. Но было ли это преступлением? Был ли я настоящим преступником? Не думаю. Говоря начистоту, я не был достаточно одарен, чтобы представлять хоть какую-нибудь угрозу, да и сейчас не представляю.

Есть две классические книги, описывающие деятельность обладавших уникальным талантом хакеров в конце 80-ых, талантом, который поднимал их опасность до признания в качестве криминальной угрозы.
Читать дальше →
Всего голосов 85: ↑78 и ↓7+71
Комментарии22

Информация

В рейтинге
Не участвует
Откуда
Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность