Pull to refresh
13
0.1
Дмитрий Земсков @SADKO

Overqualified

Send message

Загадочное происхождение настольной игры про взлом кодов Mastermind

Reading time12 min
Views18K

Она стала мировой сенсацией. Её использовали в Fallout. Она помогла созданию отрасли кибербезопасности. Но откуда же она взялась?

«Это неинтересно», — думал Дэн Тейтел.

В Fallout 3 есть куча компьютерных терминалов, и если игрок хотел взломать один из них, ему нужно было победить в мини-игре, абстрактно представляющей процесс хакинга. Тейтел, работавший в 2007 году программистом Fallout в компании Bethesda, отвечал за реализацию дизайна этой мини-игры, и он считал, что игроки её возненавидят. «В ней использовались появляющиеся на экране буквы и таймер обратного отсчёта — ещё одна мини-игра, которую геймеры бы назвали скучной и назойливой. Я не был гейм-дизайнером, но считал своим долгом каким-то образом усовершенствовать эту идею».

Спустя несколько дней, по-прежнему не сумевший придумать ничего лучшего Тейтел получил электронное письмо от своего друга Боба. «Оно показалось мне потрясающим даром богов… я открыл письмо с сообщением „Привет, помнишь это?“ и ссылкой на онлайн-версию игры Mastermind».

Тейтел был на седьмом небе от счастья. Mastermind станет интересной игрой.


В этом году настольной игре Mastermind, посвящённой взлому кодов, исполняется 50 лет. Но на самом деле она старше, и никто не знает, насколько. Иронично то, что это игра про взлом кодов, источники происхождения обнаружить не удалось.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments10

Я есть root. Разбираемся в повышении привилегий ОS Linux

Reading time9 min
Views57K

Первый квартал 2020 года я провел за подготовкой к экзамену OSCP. Поиск информации в Google и множество «слепых» попыток отнимали у меня все свободное время. Особенно непросто оказалось разобраться в механизмах повышения привилегий. Курс PWK уделяет этой теме большое внимание, однако методических материалов всегда недостаточно. В Интернете есть куча мануалов с полезными командами, но я не сторонник слепого следования рекомендациям без понимания, к чему это приведет.


Мне хочется поделиться с вами тем, что удалось узнать за время подготовки и успешной сдачи экзамена (включая периодические набеги на Hack The Box). Я испытывал сильнейшее ощущение благодарности к каждой крупице информации, которая помогала мне пройти путь Try Harder более осознанно, сейчас мое время отдать должное комьюнити.


Я хочу дать вам мануал по повышению привилегий в OS Linux, включающий в себя разбор наиболее частых векторов и смежных фишек, которые вам обязательно пригодятся. Зачастую сами механизмы повышения привилегий достаточно несложные, трудности возникают при структурировании и анализе информации. Поэтому я решил начать с «обзорной экскурсии» и далее рассматривать каждый вектор в отдельной статье. Надеюсь, я сэкономлю вам время на изучение темы.


Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments26

Как добавить уведомления в реальном времени в Laravel с помощью Pusher

Reading time14 min
Views19K
Перевод статьи подготовлен специально для студентов курса «Framework Laravel».




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

К счастью, с Laravel и Pusher реализация этого функционала довольно проста.

Уведомления в реальном времени


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

Лучшим подходом является использование возможностей WebSockets и получение уведомлений в момент их отправки. Это именно то, что мы собираемся реализовать в этой статье.
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments5

Снегоходы, пиво и деривативы на погоду

Reading time8 min
Views11K

Хендрик Аверкамп. Сцена на льду. ок. 1615–1630 г. Музей Тейлора, Харлем.

Канадская компания Bombardier, известная нам своими самолётами, помимо всего прочего производит и снегоходы. Собственно, со снегоходов всё и началось, когда в 30-е годы прошлого века Жозеф‑Арман Бомбардье разработал первые серийные образцы.

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

Казалось бы, ничего не поделаешь. Погода — совершенно непредсказуемая штука, повлиять на которую не под силу ни самой Bombardier, ни тем более розничным покупателям. Остаётся только читать пугающие новости о глобальном потеплении и готовиться к тому, что дальше будет только хуже. На помощь пришла финансовая инновация, последний писк моды — деривативы на погоду, то есть контракты, платежи по которым зависят от метеоусловий.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments34

Backblaze — статистика жестких дисков за 2019

Reading time4 min
Views30K


На 31 декабря 2019 г. у нас 124 956 работающих жестких дисков. Из них 2 229 загрузочных и 122 658 с данными. В данном обзоре мы рассмотрим статистику по отказам среди жестких дисков с данными. Также рассмотрим 12 и 14 TB версии дисков и новые 16 TB, которые мы активно используем с начала четвертого квартала 2019 года.


Статистика за 2019 год


На конец 2019 года мы мониторили 122 658 жестких дисков, использующихся для хранения данных. Мы убрали из расчета диски, которые использовались для тестирования, и диски, у которых нет наработки ~5 000 диско-дней (на модель) в течение четвертого квартала. Таким образом, мы собрали данные на основе 122 507 жестких дисков. Таблица ниже отображает нашу статистику:

Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments21

FOSS News №2 — обзор новостей свободного и открытого ПО за 3-9 февраля 2020 года

Reading time9 min
Views5.6K


Всем привет!

Продолжаю обзор новостей свободного и открытого ПО (и немного железа). В этот раз постарался брать не только российские источники, но и англоязычные, надеюсь получилось интереснее. Кроме того, кроме собственно новостей, добавлено немного ссылок на вышедшие за прошедшую неделю обзоры и руководства, относящиеся к FOSS и показавшиеся мне интересными.

В выпуске №2 за 3-9 февраля 2020 г.:

  1. конференция FOSDEM 2020;
  2. код WireGuard войдёт в Linux;
  3. Canonical предоставляет дополнительные возможности для сертифицированных поставщиков оборудования;
  4. Dell анонсировал новую версию топового ультрабука на Ubuntu;
  5. проект TFC предлагает «параноидально» защищённую систему обмена сообщениями;
  6. суд поддержал разработчика, выступившего в защиту GPL;
  7. ведущий японский hardware вендор подключается к Open Invention Network;
  8. стартап привлёк 40 миллионов долларов инвестиций для упрощения доступа к облачным Open Source проектам;
  9. открыт исходный код платформы контроля за промышленным интернетом вещей;
  10. в ядре Linux решена проблема 2038-го года;
  11. ядро Linux получит возможность решить проблему разделённых блокировок;
  12. в чём венчурный капитал видит привлекательность Open Source;
  13. CTO IBM Watson заявил о критической необходимости Open Source для динамически растущей области «периферийных вычислений»;
  14. использование Open Source утилиты fio для оценки производительности дисков;
  15. обзор лучших открытых Ecommerce платформ в 2020;
  16. обзор FOSS решений для работы с кадрами.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments2

Реверс-инжиниринг домашнего роутера с помощью binwalk. Доверяете софту своего роутера?

Reading time10 min
Views63K


Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.


Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.


Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? Как правило производители не сильно заботятся о поддержке своих роутеров и со временем софт устаревает, появляются уязвимости и так далее, в общем вы поняли. Поэтому я предпочитаю хорошо поддерживаемую сообществом open-source прошивку OpenWRT.


Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.

Читать дальше →
Total votes 57: ↑56 and ↓1+55
Comments16

Linux. Настройка клавиатуры

Reading time7 min
Views96K

Для чего вообще специально настраивать клавиатуру?


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


Почему я захотел изменить свою клавиатуру?


Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC. Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем :, а в vim разница стала более явной.


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

Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments63

Веб тренды 2020, которые стоит попробовать

Reading time5 min
Views28K


Последние несколько лет мы наблюдаем множество изменений в мире веб технологий. В 2020 году, я хочу обратить ваше внимание на два основных тренда/цели которые есть у веб комьюнити: расширяемость и совместимость.


Расширяемость (Extensibility)


Расширяемость это когда вы можете взять технологию и расширить ее для своих нужд. На протяжении нескольких лет мы используем компоненты повсюду, как в качестве разработки приложений (компоненты на React, Vue, Svelte) так и в качестве разработки дизайна (дизайн системы).


На данный момент мы пытаемся сделать эти компоненты более уникальными и удобными для использования. Расширяемость в вебе позволяет нам использовать платформу (браузеры, html/css/js движки) для собственных нужд и экспериментов, разумеется для получения большей выгоды.

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments4

Выявляем процессы с дисковой активностью в Linux

Reading time13 min
Views75K
TL;DR: статья рассказывает об удобном, быстром и надежном способе определения Linux-программ, записывающих данные на диск, что помогает в выявлении большой или аномально частой нагрузки на дисковую подсистему, а также позволяет оценить накладные расходы файловой системы. Это особенно актуально для SSD в ПК, EMMC и Flash-памяти в одноплатных компьютерах.
В ходе написания статьи обнаружилось, что запись нескольких килобайт данных на файловую систему BTRFS приводит к записи 3 мегабайт реальных данных на диск.

Введение

«Ой, ерунда, ячейки памяти на современных SSD выйдут из строя через десятки лет обычного использования, не стоит об этом беспокоиться, и уж тем более переносить swap, виртуальные машины и папку профиля браузера на HDD» — типичный ответ на вопрос о надежности твердотельных накопителей c гарантированными ≈150 TBW. Если прикинуть, сколько типичное ПО может писать данных, то кажется, что 10-20 ГБ в сутки — уже большая цифра, пусть будет максимум 40 ГБ, куда уж больше. При таких цифрах ответ вполне разумен — нужно 10 лет, чтобы достичь гарантированных значений по количеству перезаписи ячеек, при 40 ГБ записанных данных ежедневно.
Однако за 6 лет я пользуюсь уже третьим SSD: у первого вышел из строя контроллер, а второй начал перемещать данные между ячейками несколько раз в день, что оборачивалось 30-секундными задержками в обслуживании записи.

После 7 месяцев использования нового SSD я решил проверить количество записанных данных, как их сообщает сам диск через SMART.
19.7 ТБ.
Всего за 7 месяцев я использовал 13% от гарантированного количества записанных данных, притом, что он настроен в соответствии с рекомендациями по выравниваю разделов и настройке ФС, swap у меня почти не используется, диски виртуальных машин размещены на HDD!
Читать дальше →
Total votes 119: ↑117 and ↓2+115
Comments90

Методы наименьших квадратов: текст, написанный программистом для программистов

Reading time19 min
Views36K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

Итак, задача на сегодня: научиться простейшей обработке геометрии, чтобы, например, суметь преобразовать мою голову в истукана с острова Пасхи:


Читать дальше →
Total votes 84: ↑80 and ↓4+76
Comments13

BlessRNG или проверяем ГСЧ на честность

Reading time10 min
Views11K


В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределение).

Тогда в детали углубляться не стали — хватило того, что переход на System.Random исправил все проблемы. Сейчас решили разобраться подробнее и провести небольшое исследование: насколько «предвзяты» или предсказуемы ГСЧ, и какой выбрать. Тем более, я не раз слышал противоречивые мнения об их «честности» — попробуем разобраться, как реальные результаты соотносятся с заявленными.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments20

Смотрим китайскую микросхему novatek NT78820

Reading time2 min
Views18K
Попала ко мне неисправная ТВ приставка для цифрового телевидения. В результате диагностики была выявлена микросхема, которая была неисправна и замыкала питающее её напряжение на землю.

Появилась идея посмотреть как устроена микросхема внутри и как её собрали друзья китайцы. Об этом и хочу рассказать и показать. Это может быть интересно и тем, кто работает в сфере корпусирования кристаллов или просто интересуется как выглядит ИМС внутри. Также хочется послушать мнение знающих в этой сфере людей.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments20

Почему топовые физики не любят многомировую интерпретацию

Reading time7 min
Views52K

Последнее время из каждого утюга слышатся хвалебные высказывания о многомировой интерпретации квантовой механики и негативные в сторону Копенгагенской. Вот, например, относительно недавняя статья на Хабре. Приверженцев идей отцов-основателей (Нильса Бора, Вернера Гейзенберга, Пола Дирака, Вольфганга Паули) теперь считают динозаврами, отказывающимися принять современную (1957 год) многомировую трактовку.

Читать дальше →
Total votes 127: ↑90 and ↓37+53
Comments588

Интеллектуальное реле управления вентилятором охлаждения двигателя

Reading time8 min
Views96K
Прочитав пост mrsom о пересадке микроконтроллерной начинки в ретротахометр от Жигулей, решил рассказать об одной своей давней микроконтроллерной разработке (2006 год), сделанной для плавного управления электровентилятором охлаждения двигателей переднеприводных моделей ВАЗа.

image

Надо сказать, что на тот момент уже существовало немало разнообразных решений — от чисто аналоговых до микроконтроллерных, с той или иной степенью совершенства выполняющих нужную функцию. Одним из них был контроллер вентилятора компании Силычъ (то, что сейчас выглядит вот так, известной среди интересующихся своим автоматическим регулятором опережения зажигания, программно детектирующим детонационные стуки двигателя. Я некоторое время следил за форумом изготовителя этих устройств, пытаясь определить, чтов устройстве получилось хорошо, а что — не очень, и в результате решил разработать свое.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments15

Современный метод измерения импульсной характеристики и нелинейных искажений

Reading time4 min
Views6.6K
В 2000 году профессор Пармского университета Анджело Фарина предложил оригинальный метод одновременного измерения импульсной характеристики и нелинейных искажений с помощью гармонического сигнала экспоненциально изменяющейся частоты (далее ESS – exponential sine sweep).

Для получения этих характеристик необходимо записать воздействие ESS-сигнала на испытуемое устройство и найти взаимную корреляционную функцию записанного сигнала с исходным ESS-сигналом, но промодулированным по амплитуде (подробнее об этом можно узнать в публикациях А.Фарина).
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments14

Эволюционирующие клеточные автоматы

Reading time22 min
Views37K


Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →
Total votes 130: ↑129 and ↓1+128
Comments34

Случайные поверхности скрывают в себе замысловатый порядок

Reading time5 min
Views7.8K

Математики доказали, что случайный процесс в применении к случайной поверхности неизменно порождает определённые закономерности



В оригинале статьи это трёхмерное изображение, которое можно покрутить

В фильме про поиски потерянного Ковчега Индиане Джонсу пришлось искать потайную комнату, скрывавшую легендарный Ковчег Завета. Для определения его точного местоположения Индиане нужно было найти особую карту, видимую только тогда, когда солнце светит через особый кристалл в определённой комнате в определённое время дня.

Подобная идея – что важнейшую информацию можно раскрыть только при точном совпадении определённых обстоятельств – встречается во многих мифах. Встречается она и в математике, иногда в неожиданных ситуациях. Вот теперь три математика доказали, что если очень точно настроить определённый тип случайности, то на свет появляются замысловатые геометрические фигуры – будто карта с кладом на обычном полу.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments9

Sampler. Консольная утилита для визуализации результата любых shell команд

Reading time5 min
Views84K

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


Sampler


Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Читать дальше →
Total votes 298: ↑297 and ↓1+296
Comments54

Создаю глобальную базу знаний по элементам питания

Reading time2 min
Views27K
Тестирую элементы питания на профессиональном оборудовании. Цель охватить большую часть рынка элементов питания Европы и России.

На данный момент протестированы более 230 аккумуляторов и батареек. Сделано более 1000 тестов. Израсходовано 4 ящика батареек и несколько месяцев жизни.

Результатом проделанной работы стала база знаний по аккумуляторам и батарейкам. Под катом рассказываю почему я решил создать базу знаний и как это было сделано.


Читать дальше →
Total votes 139: ↑139 and ↓0+139
Comments81

Information

Rating
2,808-th
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity