Как стать автором
Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Почему в EBCDIC буквы идут не подряд?

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

Стандарт ASCII был принят в 1963, и сейчас вряд ли кто-нибудь использует кодировку, первые 128 символов которой отличались бы от ASCII. Тем не менее, до конца прошлого века активно использовалась EBCDIC — стандартная кодировка для мейнфреймов IBM и их советских клонов ЕС ЭВМ. EBCDIC остаётся основной кодировкой в z/OS — стандартной ОС для современных мейнфреймов IBM Z.

То, что сразу бросается в глаза при взгляде на EBCDIC — то, что буквы идут не подряд: между I и J и между R и S остались неиспользованные коды (на ЕС ЭВМ по этим промежуткам распределили символы кириллицы). Кому могло придти в голову кодировать буквы с неравными пропусками между соседними буквами?

Читать далее
Всего голосов 63: ↑62 и ↓1+61
Комментарии71

Бразильские дальнобойщики и русские радиопираты: изучаем спутники SATCOM

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

2009 год. В журнале «Хакер» выходит статья «Хакерское радио: спутники армии США на службе пиратов», повествующая о спутниковом радиопиратстве в Бразилии. Сегодня мы вновь поднимем эту тему и посмотрим, изменилось ли что-то за 11 лет?

Когда речь заходит о спутниках SATCOM, мы сразу оговоримся, что речь пойдет о спутниковой группировке ВМС США — Navy Fleet Satellite Communication (FLTSATCOM). Началось все с корпорации Thompson Ramo Wooldridge Inc., ныне известной как TRW.Inc, руководившей разработкой первой межконтинентальной баллистической ракеты США. Планировалось, что группировка будет состоять из 8 спутников, обеспечивающих связью самолеты, корабли, подводные лодки и наземные станции с военным командованием.
Всего голосов 52: ↑51 и ↓1+50
Комментарии36

fork() может потерпеть неудачу: это важно

Время на прочтение1 мин
Количество просмотров26K
Эх, fork(). Одни процессы порождают другие. Кажется, у меня есть история об этом.

Форк может потерпеть неудачу. Понимаете? В самом деле, понимаете? Это очень серьёзно. Форк может завершиться с ошибкой. Так же, как и malloc. Нечасто, но когда такое происходит, нельзя просто взять и игнорировать это. Вы должны что-то предпринять в таком случае.

Похоже, всем известно, что fork возвращает дочернему процессу 0, а родителю некоторое положительное число — pid ребенка. Он выдаёт этот номер, который используется позже.

Угадайте, что происходит, когда вы не проверяете ответ на ошибку? Да, вы обработаете "-1" (ошибка форка) в качестве валидного pid.
Читать дальше →
Всего голосов 189: ↑169 и ↓20+149
Комментарии256

Пока все праздновали мой день рождения, я до утра чинил кластер — а разрабы валили на меня свои ошибки

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


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

Компания, которая написала, занималась аналитикой данных. Ежедневно она обрабатывала тысячи запросов. К нам они пришли со словами: ребят, у нас есть ClickHouse и мы хотим автоматизировать его настройку и установку. Хотим Ansible, Terraform, Докер и чтобы это все хранилось в гите. Хотим кластер из четырех нод по две реплики в каждой.

Стандартная просьба, каких десятки, и нужно такое же хорошее стандартное решение. Мы сказали «окей», и через 2-3 недели все было готово. Работу они приняли и начали переезжать на новый кластер Кликхауса с помощью нашей утилиты.
Читать дальше →
Всего голосов 129: ↑124 и ↓5+119
Комментарии68

Истории

Вторая жизнь Virtual Floppy Drive

Время на прочтение4 мин
Количество просмотров19K
Когда-то давно у меня была коллекция старинных версий Windows в виртуалках, и для переноса файлов между хост-машиной и этими виртуалками приходилось использовать дискету, потому что поддержка shared folders появилась только в Windows for Workgroups.

Перенос файлов через дискету был медленным и шумным, и моему восторгу не было предела, когда я нашёл драйвер Virtual Floppy Drive, позволяющий создать «виртуальный флопповод» и подключить его в VM как обычный. К сожалению, интерес автора к своему проекту угас в 2005, а в 2010 его сайт и емейл перестали существовать. С тех пор в мире Windows успело произойти много перемен:

  • Повсеместно стала использоваться 64-битная ОС, в которую невозможно загрузить 32-битный драйвер, скомпилированный в 2005;
  • Windows начиная с Vista SP1 стала требовать для загрузки драйверов либо цифровую подпись, либо муторные манипуляции, требующие перезагрузку системы;
  • Проект, написанный в Visual C++ 6, не собирается в современных версиях Visual Studio после автоматической конвертации.
Читать дальше →
Всего голосов 73: ↑73 и ↓0+73
Комментарии29

Ещё один велосипед: храним юникодные строки на 30-60% компактнее, чем UTF-8

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


Если вы разработчик и перед вами стоит задача выбора кодировки, то почти всегда правильным решением будет Юникод. Конкретный способ представления зависит от контекста, но чаще всего тут тоже есть универсальный ответ — UTF-8. Он хорош тем, что позволяет использовать все символы Юникода, не тратя слишком много байт в большинстве случаев. Правда, для языков, использующих не только латиницу, «не слишком много» — это как минимум два байта на символ. Можно ли лучше, не возвращаясь к доисторическим кодировкам, ограничивающим нас всего 256 доступными символами?

Ниже предлагаю ознакомиться с моей попыткой дать ответ на этот вопрос и реализацию относительно простого алгоритма, позволяющего хранить строчки на большинстве языков мира, не добавляя той избыточности, которая есть в UTF-8.
Читать дальше →
Всего голосов 92: ↑90 и ↓2+88
Комментарии85

Медленно, но верно: тайное влияние Яндекса на Рунет

Время на прочтение4 мин
Количество просмотров45K
Есть мнение, что Яндекс, занимая лидирующее положение на рынке интернет-поиска в России, не просто продвигает свои сервисы общедоступными способами. И что он с помощью «колдунщиков» задвигает на задние ряды сайты с поведенческими показателями лучшими, чем у собственных сервисов.

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

Разбираемся, так ли это. Пишите в комментарии, согласны ли вы с этим мнением.


Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии146

А давайте заставим пользователя использовать безопасный пароль

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

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

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

Если у вас есть пользователи и они авторизуются по паролю, я предлагаю еще раз посмотреть на свежие рекомендации от таких организаций как National Institute of Standards and Technologies и National Cyber Security Centre.

В частности, требовать ротации паролей уже не модно. И требовать определенных символов в лучших традициях анекдота про «1ГРЕБАНАЯрозоваяроза» тоже. Давайте пробежимся по основным тезисам и попробуем сделать пользователям удобнее и безопаснее.
Читать дальше →
Всего голосов 110: ↑107 и ↓3+104
Комментарии210

Скрипт настройки Windows 10. Часть II

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

Чуть больше года назад выкладывал свой скрипт по автоматизации настройки Windows 10. Давеча переписал Windows 10 Sophia Script в виде модуля на 10 000+ строк. Под катом — всегда самое интересное!

Читать далее
Всего голосов 60: ↑59 и ↓1+58
Комментарии143

Как мы проводили аудит Корпоративной Почты Mail.ru — нашего нового сервиса для крупного бизнеса

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


Корпоративные данные часто представляют собой коммерческую тайну. Их утечка может привести к удару по репутации, финансовым потерям или даже банкротству. Поэтому требования безопасности к B2B-продукту должны быть очень высокими. Создавая новый продукт — Корпоративную Почту Mail.ru — мы уделяли вопросу ее безопасности особое внимание.

Корпоративная Почта Mail.ru — on-premises версия знакомой всем B2C-почты Mail.ru. По сравнению с ней она содержит ряд модификаций для работы в новых условиях — контуре клиента.

Чтобы наши клиенты были уверены в безопасности, мы решили пройти аудит в сторонней компании и исправить все найденные недостатки до того, как предлагать продукт рынку. Для этого обратились к одной из самых авторитетных компаний в сфере информационной безопасности — Digital Security.

Результаты аудита — под катом.
Что удалось найти в процессе аудита
Всего голосов 53: ↑53 и ↓0+53
Комментарии8

Четыре простые настройки терминала Kubernetes, которые повысят вашу продуктивность

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

Я управлял эксплуатацией больших Kubernetes-кластеров более трёх лет, и хочу поделиться своим минималистичным подходом к настройке терминала kubectl terminal, которая доказала свою высокую эффективность в повседневной работе. Хорошо настроенный терминал с командной строкой может значительно повысить вашу продуктивность. Это как хлеб и масло — волшебное сочетание.

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

Вот четыре мои простых дополнения к терминалу kubectl. С этой конфигурацией я каждый день управляю 20 большими Kubernetes-кластерами на 400 машин.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии7

Что нового в ядре Linux

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

image


После всех этих лет, разработчики ядра Linux продолжают внедрять новшества. Новые версии будут быстрее и стабильнее.


Linux работает практически на всем: все 500 из 500 самых быстрых суперкомпьютеров мира; большинство общедоступных облаков, даже Microsoft Azure; и 74 процента смартфонов. Действительно, благодаря Android, Linux является самой популярной операционной системой для конечных пользователей, чуть обойдя Windows на 4 процента (39% против 35%).


Итак, что же будет дальше с Linux? После освещения Linux на протяжении всех 29 лет его истории и зная практически любого, кто хоть как-то связан с разработкой Linux, включая Линуса Торвальдса, я думаю, что у меня есть ответ на этот вопрос.

Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Комментарии62

Обзор операторов PostgreSQL для Kubernetes. Часть 1: наш выбор и опыт

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


Всё чаще от клиентов поступают такие запросы: «Хотим как Amazon RDS, но дешевле»; «Хотим как RDS, но везде, в любой инфраструктуре». Чтобы реализовать подобное managed-решение на Kubernetes, мы посмотрели на текущее состояние наиболее популярных операторов для PostgreSQL (Stolon, операторы от Crunchy Data и Zalando) и сделали свой выбор.

Эта статья — полученный нами опыт и с теоретической точки зрения (обзор решений), и с практической стороны (что было выбрано и что из этого получилось). Но для начала давайте определимся, какие вообще требования предъявляются к потенциальной замене RDS…
Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии27

Ближайшие события

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик

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


У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него.

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

В этой статье не будет уникальных открытий. Я просто постараюсь показать, что такое BPF, на что он способен и как может помочь лично вам. Также мы рассмотрим особенности, связанные с Go.

Я бы очень хотел, чтобы после прочтения моей статьи у вас зажглись глаза так, как зажигаются глаза у ребёнка, впервые прочитавшего книгу о Гарри Поттере, чтобы вы пришли домой или на работу и попробовали новую «игрушку» в деле.
Читать дальше →
Всего голосов 82: ↑79 и ↓3+76
Комментарии18

На данный момент 5G — плохая шутка

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

Думаете о покупке нового телефона для высокоскоростного 5G? Сделайте себе одолжение: не делайте этого.
Читать дальше →
Всего голосов 79: ↑68 и ↓11+57
Комментарии199

СХД, которая не устаревает. Никогда

Время на прочтение7 мин
Количество просмотров25K
image

Поначалу история звучит довольно просто: СХД хорошо работает три года на расширенной гарантии, относительно нормально живёт четвёртый, а на пятый покупается новая вместо устаревшей. Вендоры выжимают из вас деньги повышением стоимости поддержки и всякими платными фичами вроде поддержки VDI. Можно поломать эту схему? Наверное, да.

Компания вышла на рынок с интригующим предложением: железяка всегда работает, всегда делает это быстро, стоимость поддержки каждый год одна и та же, все фичи доступны сразу. Ну то есть просто взяли коробку и время от времени меняют в ней комплектующие так, что они устаревают примерно со скоростью замены. Раз в три года обновляются контроллеры, есть возможность замены старых дисков на более современные, т. е. занимаемое СХД в стойке место может не только расти, но и уменьшаться, при этом объём и производительность увеличиваются.

Собственно, первое, что вы видите в стойке — это ручки с названием модели, за которые можно и нужно дёргать контроллеры из массива.

image

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

Давайте посмотрим, что получилось и как получилось. Начнём с архитектуры.

Для начала — процедура работы с массивом не предусматривает кнопок питания. Совсем. Не понадобится. Для выключения достаточно просто выдернуть кабели из PDU.

image
Всего голосов 81: ↑78 и ↓3+75
Комментарии44

Как плохо спроектированный UX у теста на коронавирус чуть не посадил нас на самоизоляцию, но дырка в безопасности спасла

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

Это я, пишу скрипт по перебору параметров для POST запроса на gov.tr, сидя перед границей в Хорватию.

Как все начиналось


Мы с моей женой путешествуем по миру и работаем удаленно. Недавно переезжали из Турции в Хорватию (самая оптимальная точка, чтобы заехать в Европу). Чтобы не сесть на карантин в Хорватии, нужно иметь справку об отрицательном анализе на ковид, сделанном не позже 48 часов до въезда.

Выяснили, что относительно выгодно (2500 рублей) и быстро (всем результаты приходят в течение 5 часов) делают тест в аэропорту Стамбула, из которого мы как раз и вылетали.
Читать дальше →
Всего голосов 189: ↑188 и ↓1+187
Комментарии23

Дорогой Google Cloud, отказ от обратной совместимости тебя убивает

Время на прочтение20 мин
Количество просмотров19K
Чёрт возьми, Google, я не хотел снова писать в блог. У меня так много дел. Ведение блога требует времени, энергии и креатива, которые я мог бы использовать с пользой: мои книги, музыка, моя игра и так далее. Но ты меня достаточно разозлил, и придётся это написать.

Так что давай покончим с этим.

Начну с небольшой, но поучительной истории из тех времён, когда я только начал работать в Google. Знаю, что в последнее время я наговорил много плохого о Google, но меня расстраивает, когда родная компания регулярно принимает некомпетентные бизнес-решения. При этом нужно отдать должное: внутренняя инфраструктура Google действительно экстраординарная, можно смело утверждать, что сегодня нет ничего лучше. Основатели Google были гораздо лучшими инженерами, чем я когда-либо стану, и эта история только подтверждает данный факт.
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии49

Microsoft отчиталась об успешном проведении эксперимента по созданию подводного дата-центра

Время на прочтение5 мин
Количество просмотров22K
Летом 2018 года в рамках второй фазы испытаний проекта Natick по производству и эксплуатации экологичных и автономных сетевых систем, команда инженеров затопила в прибрежных водах Шотландии контейнер с небольшим дата-центром внутри.



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

Microsoft Project Natick — это многолетние исследование по изучению методов производства и эксплуатации экологически устойчивых предварительно укомплектованных ЦОД стандартизированного формата и размера, которые можно быстро развернуть и оставить на годы с «выключенным светом» на морском дне.

— Официальный блог проекта

Спустя два года команда проекта подняла со дна у Оркнейских островов контейнер с дата-центром внутри и отчиталась о результатах: эксперимент прошел более, чем успешно.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии126

Поддерживаю драйвер tp-link t4u для linux

Время на прочтение2 мин
Количество просмотров27K
Когда купил wifi адаптер, думал, что будет работать на моей ubuntu 20.04, потому что в числе поддерживаемых систем значился linux. Оказалось, что не работает. Попробовал решения, которые предлагают на форумах, но адаптер так и не заработал. Пришлось вчера и сегодня заняться поддержкой драйвера.
Читать дальше →
Всего голосов 108: ↑104 и ↓4+100
Комментарии52
12 ...
50