Search
Write a publication
Pull to refresh
3
0
Обидин Михаил @mrsantak

User

Send message

Операционные системы с нуля; Уровень 0

Reading time11 min
Views136K

Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

Читать дальше →

Пишем операционную систему. Часть 1. Загрузчик

Reading time3 min
Views46K
Всем привет! Сегодня мы напишем загрузчик, который будет выводить «Hello World» и запустим его на VirtualBox. Писать будем на ассемблере FASM. Скачать его можно отсюда. Также нам понадобится собственно VirtualBox и UltraISO. Перед тем как писать код, разберемся как загружаются операционные системы.

Итак, когда мы нажимаем большую кнопку включения на нашем компьютере запускается система, которая есть на любом компьютере — BIOS (Basic Input/Output System или базовая система ввода/вывода). Задача BIOS это:

Читать дальше →

ДИТ Москвы при проверке пропуска получает разрешение на отправку рекламы на следующие 10 лет

Reading time8 min
Views180K
Одна из вещей, которые никогда не делают пользователи — это чтение до конца лицензионных соглашений. Тем временем, читать их стоит, даже если, казалось бы, в контексте конкретного сервиса их содержание представляется очевидным.

К таким «очевидным» сервисам относится, например, сервис проверки цифрового пропуска https://i.moscow/covid. Если раньше он позволял проверить только организацию по ИНН, то с недавних пор ДИТ Москвы стал массово аннулировать пропуска горожанам за якобы предоставление неверных сведений о месте работы — и отсылать их для подтверждения места работы на указанный сервис.

При нажатии на «Если у Вас заблокировали цифровой пропуск, перейдите по ссылке» сервис выдаёт просьбу ввести сначала номер паспорта, а потом ИНН компании, сопровождаемую непримечательной галочкой:


Абсолютное большинство людей проставят её, не читая сопутствующий документ — и очень зря.

Если говорить коротко, все граждане, попавшие на этот сервис, подписываются на передачу абсолютно всех данных, которые сервис в принципе способен о них собрать — от IP-адреса до номера паспорта и названия работодателя — любым третьим лицам с практически любыми целями, включая рассылку рекламы, на срок в 10 лет.

Читать дальше →

Как регистратор доменов «Регистратор Р01» сдает своих клиентов

Reading time4 min
Views38K


После регистрации домена в зоне .ru собственник-физическое лицо, проверяя его на whois сервисе, видит запись: 'person: Private Person', и на душе становится тепло и надежно. Private — это звучит серьезно.


Оказывается, эта защищенность иллюзорна — по крайней мере, когда дело касается третьего по величине в России регистратора доменных имен ООО "Регистратор Р01". И твои личные данные у него очень легко может узнать абсолютно любой человек.

Читать дальше →

Отложенные ретраи силами RabbitMQ

Reading time7 min
Views29K

Меня зовут Алексей Казаков, я техлид команды Клиентских коммуникаций в ДомКлике. В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ


rabbit_retry
Читать дальше →

Маленькие секреты геймдизайнеров, заставляющие игрока ненавидеть вашу игру чуточку меньше

Reading time8 min
Views46K
Три года назад ведущий геймдизайнер ArenaNet Дженнифер Шойрле завела в Твиттере очень интересный тред на тему «отличных игровых механик, скрытых от глаз игрока с целью достижения определенного эмоционального эффекта, реакции или поведения», где любой геймдизайнер мог поделиться своими внутриигровыми «фишками».

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

  • В Hellblade предупреждение перед игрой было тщательно продумано, чтобы заставить игроков поверить, будто в игре срабатывает система permadeath в случае, если игрок умирает слишком часто, хотя на самом деле ее там нет.
  • Pacman может огибать углы более резко, чем это делают призраки, тем самым наделяя игрока небольшим преимуществом.
  • Во многих шутерах последние очки здоровья стоят больше всей остальной шкалы, чтобы усилить чувство «выживания на грани». С той же целью в System Shock последняя пуля нанесет урон в 4 раза более сильный, чем остальные.
  • И, напротив, Shadow of Mordor слегка увеличивает здоровье некоторых врагов, чтобы бои длились дольше.
  • В Bioshock и Devil May Cry, находясь за спиной игрока, противники замедляют свою атаку.
  • В Xcom, если промахнуться много раз подряд, игрок получит скрытый бонус для последующих выстрелов. Кроме того, если игроки остаются пассивными слишком долго, враги усиливают свою агрессивность.
  • Похоже, что в Heartstone есть pity timers ― таймеры жалости. Многие другие игры позорно использовали их в более ранние годы.
  • В Resident Evil 4 после слишком большого количества смертей заспавнится меньше врагов, чтобы дать игроку больше шансов пройти трудный для него эпизод.
  • В любой гоночной игре реализован адаптивный ИИ, чтобы сделать соревнование более жестким.

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

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


Читать дальше →

[Вопрос] В России запрещено порно?

Reading time4 min
Views238K

По закону порнографией может быть признано что угодно: литература, предметы, программный код, аудио, танцы, хлебобулочные изделия

Я взрослый человек. Могу ли я легально смотреть порно, сохранять порно на компьютер, снимать домашнее порно или стримить его через веб-кам сервисы, находясь в России? Удивительно, но однозначного ответа на этот вопрос нет.

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

Вы смотрите порно? Чувствуете себя преступником?

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

Знакомьтесь: арифмометр «Феликс»

Reading time5 min
Views45K
Привет! На связи Музей Яндекса.

Во время режима социальной изоляции мы, как и многие коллеги по музейному делу, скучаем по посетителям:



Знакомьтесь, «Феликс» — арифмометр, один из самых популярных экспонатов нашего музея. Мало кому удаётся пройти мимо и не попытаться разобраться, как он работает. А я — Александр Шмелёв, сотрудник Музея. Под катом покажу как устроен наш «Феликс», немного первых арифмометров и много видео!
Читать дальше →

Почему разработчики такие медленные: распространенные проблемы и их решения

Reading time15 min
Views15K
Привет, Хабр! Представляю вашему вниманию перевод статьи Why Development Teams are Slow: Common Software Jams and Solutions автора Эрика Эллиота.



Если вы больше любите слушать, чем читать, то в аудио формате перевод доступен на Яндекс.Музыке и в Apple Podcasts

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

  • Нереалистичные ожидания
  • Слишком много открытых тикетов
  • Неконтролируемый объем задач
  • Накопление код ревью
  • Плохая подготовка
  • Выгорание разработчиков
  • Баги
  • Текучка кадров

Медлительность разработчиков — не корень проблемы. Это симптом других перечисленных проблем. В 100% случаев, если команда разработки работает слишком медленно — это вина руководителя. Но хорошая новость заключается в том, что вы в силах это исправить. Давайте рассмотрим каждый из пунктов подробнее, чтобы разобраться, что мы можем с каждым из них сделать.
Читать дальше →

6 приложений для занятий спортом дома

Reading time7 min
Views82K
image

В России бушует COVID-19, и лучший способ борьбы с ним — сидеть дома и стараться не высовываться. Задача несложная, но из-за отсутствия движения многие (и мы тоже!) начали обрастать жирком, а в зал уже не сходишь и даже на пробежку не выйти. Редакция Хабра неделю пробовала приложения для занятий спортом дома, каждое утро запуская новые.
Читать дальше →

Коронавирус: опасная иллюзия неопасности

Reading time4 min
Views77K

Развитые страны прошли пик смертей, можно понемногу расслабляться? Увы, два долгожданных и три недавних результата делают картину мрачнее. Что показывают свежие исследования на антитела, подсчёт отбираемых вирусом лет жизни и "потерянных" статистикой смертей, анализ картины заболевания и графики роста заражений в России?


image


Тесты на антитела указывают на высокую летальность

Читать дальше →

Знаменитые дизайнеры vs научные исследования про читаемость шрифтов

Reading time6 min
Views71K
Я работаю дизайнером около 10 лет. В дизайне не очень много объективных и проверяемых законов, и когда мне нужно было что-то выяснить, я искала информацию в профессиональных книгах, блогах крутых ребят, спрашивала у знакомых арт-директоров и приставала к людям в коридорах.

А потом узнала, что ученые уже сто лет как выяснили то, про что до сих пор спорят дизайнеры.

Мы в Тинькофф сравнили мнение знаменитых дизайнеров и ученых о том, какие шрифты легче читать: антикву(с засечками) или гротески(без засечек).


Читать дальше →

Маски сброшены

Reading time7 min
Views74K
image

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

За примерами далеко ходить не надо. Можно вспомнить теракты в московском метро в 2010 году, когда одни водители бросали свои дела и отвозили людей в больницы бесплатно, а другие взвинчивали цены за услуги такси в 10 и более раз.

Что-то подобное происходит и сейчас. На волне всеобщей изоляции резко возрос спрос на товары, которые раньше мало кого интересовали. Возьмем, к примеру, медицинские маски. За три месяца с октября по декабрь 2019 года было зарегистрировано чуть более 2300 доменных имен с частицей *mask*. Как вы думаете, сколько из этих ресурсов предназначалось для продажи медицинских масок?..

Ноль… Ни одного… К слову, в аптеках маски продавались в среднем по цене от 7 до 15 рублей за штуку.

Наступил 2020 год, а с ним коронавирус. Все резко изменилось. За те же 3 месяца с января по март в сети появилось 32 000 доменных имен с частицей *mask*, 80 процентов из которых эксплуатировали тематику уже именно медицинских масок. Далее все развивалось двумя путями. Часть ресурсов была предназначена для реальной продажи масок, только вот их стоимость маски возросла в среднем до 60-рублей за штуку. Другие же сайты носили откровенно мошеннический характер.
Читать дальше →

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы

Reading time7 min
Views53K
Привет Хабр.

Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не специалисты, в это увы, верят. В итоге, после 10го ответа очередному юзеру на очередное сообщение «коронавирус не хуже гриппа», возникла идея создать FAQ на который можно просто давать ссылку, где бы понятным простым языком развенчивались наиболее популярные мифы.

КДПВ не будет, картинка с вирусом уже наверно и так всем надоела.

Статья рассчитана на широкую аудиторию, те кто всё это уже знают, могут не тратить свое время, вряд ли они найдут что-то новое. Я знаю, что многим не нравятся статьи формата «для чайников», но готов рискнуть. Тех кому интересно, приглашаю под кат. Как хабрабонус, в конце будет Python-код для желающих поэкспериментировать с графиками самостоятельно.
Читать дальше →

Коронавирус: опасная иллюзия смертности

Reading time12 min
Views1M
Безответственная пресса начинает заполнять наше информационное поле новостями о погибших от коронавируса, хотя таких сведений не озвучивает ни лечащий врач, ни ВОЗ. Из-за своей невнимательности журналисты де-факто самостоятельно называют причины смерти. И эта маленькая неточность в формулировке имеет колоссальное значение для общества. Сегодня крайне важно не путать общую смертность людей с подтверждённым коронавирусом и смертность непосредственно от коронавируса.

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

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

В своей предыдущей статье «Коронавирус: как мы себя обманываем» я уже демонстрировал разницу между смертностями на примере демографических данных Италии по одной возрастной группе. А сейчас я хочу поделиться свежим графиком Дэвида Шпигельхальтера, именитого статистика из Университета Кембриджа. В его распоряжении был полный объём данных по Великобритании от Имперского колледжа Лондона.

Таблица с данными + те же значения на логарифмической шкале
Читать дальше →

О плохих работодателях хороших сотрудников: страсти по нерабочей неделе

Reading time6 min
Views57K
Кто хочет жить, кто весел, кто не тля,
Готовьте ваши руки к рукопашной!
А крысы пусть уходят с корабля —
Они мешают схватке бесшабашной.
В. Высоцкий

Честно говоря, у меня сейчас нет времени на пост для Хабра — я троекратно впахиваю на удалёнке, чтобы компания, в которой я работаю, выжила. Однако происходящее вокруг повергло меня в какой-то несвойственный моему организму ступор — нет, не от странной нерабочей недели с неясным горизонтом продолжения, а от отношения окружающих к ситуации. Я читал комментарии на Хабре и в социальных сетях, разговаривал с друзьями, знакомыми и бывшими коллегами с Очень Большой Компании и приходил в ужас: они безумно радуются внеплановым каникулам и… строчат жалобы на своих руководителей, которые попросили удалённо поработать. Ребята, сейчас не время рамсить! Давайте по аргументам.

Мы его, можно сказать, на помойке нашли, отмыли, очистили от очисток, а он нам фигвамы рисует...
Читать дальше →

Права человека и алгоритма: брутфорс авторского права не сработает в США, Австралии, России и ЕС

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



Хочу отметить, что первоочередными будут ответы на вопросы относительно законодательных документов, на основании которых я сформировал свою точку зрения, то есть я постараюсь сделать упор на законодательную базу, определяющую авторское право в различных странах мира и примеры из юридической практики.

Напомню, что в предыдущей статье я высказал суждение о том, что брутфорс, при помощи которого удалось создать 68 млрд. комбинаций нот, не решает т.н. “проблему идентичных мелодий”. Использование факта идентичности сочетания звуков определенной частоты, не будет работать в судах, как доказательство нарушения авторского права. Итак, под катом ответы на наиболее значимые и интересные вопросы по поводу предыдущей статьи.
Читать дальше →

Методы борьбы с legacy-кодом на примере GitLab

Reading time14 min
Views11K
Можно бесконечно холиварить о том, является ли GitLab хорошим продуктом. Лучше посмотреть на цифры: по итогам раунда инвестирования оценка GitLab составила 2,7 млрд долларов, в то время как предыдущая оценка была $1,1 млрд. Это означает бурный рост и то, что компания будет нанимать все больше и больше фронтенд-разработчиков.

Так выглядит история появления фронтенда в GitLab.



Это график количества фронтендеров в GitLab, начиная с 2016 года, когда их не было вообще, и заканчивая 2019-м, когда их стало уже несколько десятков. Но сам GitLab существует 7 лет. Значит, до 2017 года основной код на фронтенде писали бэкенд-разработчики, хуже того, бэкенд-разработчики на Ruby on Rails (ни в коем случае никого не хотим обидеть и ниже поясним, о чем идет речь).

За 7 лет любой проект, хотите вы того или нет, устаревает. В какой-то момент рефакторинг становится невозможно больше откладывать. И начинается полный приключений путь, конечный пункт которого никогда не достигнуть. О том, как это происходит в GitLab, рассказал Илья Климов.

OAuth 2.0 простым и понятным языком

Reading time7 min
Views891K
Логотип OAuth 2.0

На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.

Что такое OAuth 2.0


OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.

Читать дальше →

Почему мы испортили индикаторные светодиоды и что нужно менять

Reading time4 min
Views51K


Ах, этот скромный индикаторный светодиод. Он есть практически у всей домашней электроники, у всех интегральных модулей, и вообще у всего, что потребляет электричество. В стародавние времена скромный индикатор неярко светился с задней части панели, и всё было нормально. Но потом настали 1990-е, и всё полетело к чертям.

Дело не в технологиях, а в том, как вы их используете.


С большой яркостью приходит и большая ответственность.

В 90-х было много хорошего: Nirvana, Linux, и, конечно же, голубой светодиод. Как и Teen Spirit, последним слишком быстро начали злоупотреблять: технология быстро стало символом всего нового и крутого, вплоть до боли в глазах покупающей публики.
Читать дальше →

Information

Rating
10,662-nd
Location
München, Bayern, Германия
Date of birth
Registered
Activity

Specialization

Backend Developer
Java