Обновить

Как я сделал senior-стол за $1000

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели29K

Я решил сделать стол из дубового слэба толщиной 10 см и весом 340 кг. С точки зрения сложности: это senior стол. Вот мои выводы, ошибки, инженерные решения и расходы.

Читать далее

Я вернулся в 2000-й и поймал ILOVEYOU

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели59K

Хочу перенестись в нулевые, чтобы рассказать и показать, как работал ILOVEYOU. Для этого запускаю машину времени и рассказываю:

Что бы случилось с моим компом в нулевые.
Как вирус взломал 45 миллионов компьютеров?
Почему Windows 2000 оказалась особенно уязвимой?
Как автор избежал наказания?

Читать и отправиться в 2000-й

Keycloak: как упростить аутентификацию и не сойти с ума?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели28K

Я Диана, системный аналитик в Clevertec и экс-преподаватель. В этой нескучной лекции расскажу:

Что такое Keycloak и для чего он нужен?

Как Keycloak помогает с межсистемной аутентификацией?

Какие плюсы и минусы у Keycloak при использовании в продакшене?

Какие альтернативы есть у Keycloak?

Начать лекцию

Как перестать гадать, что сегодня /dev/ttyUSB0: стабильная работа с USB в Linux Ubuntu

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели15K

Если вы работаете с роботом под Linux, то знаете эту боль: сегодня лидар — /dev/ttyUSB0, завтра — /dev/ttyUSB1, а камеры внезапно меняются местами.

В статье разобран надёжный способ привязать USB-устройства к физическим портам через by-path, создать стабильные имена в /dev и перестать править конфиги после каждой перезагрузки.

Подходит для роботов (да и не только), Linux (проверено на Ubuntu Server) и ROS2.

Читать далее

Docker изнутри: исчерпывающее руководство. Механизмы контейнеризации + примеры, эксперименты и реализация

Уровень сложностиСредний
Время на прочтение33 мин
Охват и читатели54K

Docker — не магия, а грамотное применение механизмов Linux. Разбираем инструмент, который пугает своей сложностью не меньше блокчейна. Показываем на пальцах как работают: Namespaces, Cgroups, OverlayFS – основные компоненты любого контейнера, и как стандарт OCI объединяет их в единую экосистему. Об этом и не только в статье.

Читать далее

Ну всё, пора закапывать UTF-8

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели26K

Здравствуйте, меня зовут Дмитрий Карловский и я... серийный убийца устоявшихся стандартов. Сегодня я выследил и нанёс критический урон UTF-8. И сейчас я расскажу, как я его переиграл и уничтожил новым стандартом кодирования текста — Unicode Compact Format.

No, God! Please, No, NO!

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

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели3.4K

Привет, Хабр! Эта статья посвящена тестированию точности библиотек математических функций (libm). Мы обсудим, где эти библиотеки используются, почему они должны быть не только высокопроизводительными, но и высокоточными. Поймем, откуда в корректных, на первый взгляд, вычислениях берутся ошибки и как их избежать. Узнаем, как устроено большинство тестов в стандартных математических библиотеках и почему они не всегда работают. И наконец, ответим на вопрос, как одним тестом полностью покрыть код математической функции. Без воды, регистрации и громоздких формул.

Читать далее

Managed K8S в Yandex Cloud — экономим без потери производительности

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.2K

Как и большинство компаний мы активно используем kubernetes, а поскольку находимся в Облаке, то для удобства перешли на management k8s. После полного переезда именно куб стал основной статьей расхода в биллинге Yandex Cloud. Поэтому стало актуально найти способ снизить стоимость без потери в производительности.

Читать далее

Нобелевский лауреат Леонид Канторович и его вклад в IT

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели1.8K

В 1951 году в ЛГУ была создана кафедра вычислительной математики, одним из первых сотрудников которой стал профессор кафедры матанализа ЛГУ Леонид Канторович. «Вычислительной» в современном понимании назвать эту кафедру в первые годы ее существования затруднительно. В Советском Союзе в год ее создания была только одна ЭВМ «МЭСМ» в единственном экземпляре. Для сравнения: по данным Российского государственного архива новейшей истории, в США в 1950 году было 15 типов ЭВМ общим числом около 170 штук, в 1953 году — 76 типов мейнфреймов общим числом 1156 штук, а у нас в том же году — ЭВМ 4-х типов в количестве 4 штук. В последующие годы этот разрыв довольно быстро стал уменьшаться. 

Читать далее

Изучаем транспорт для ShadowSocks/XRAY: от «голубиной почты» до туннеля по WebRTC

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели12K

В компьютерных сетях (как и, в принципе, при любой передаче информации) есть и всегда будут существовать две задачи:

конфиденциальность (confidentiality) - я отправляю письмо Маше, это всем известно, но что в этом письме - можем прочитать только мы с Машей

анонимность (anonymity) - все могут прочитать содержимое письма, но от кого оно и куда - непонятно (понимаем только мы с Машей)

Соответственно, имея те или иные цели есть множество решений этих задач.

Итак, хорошо. Вот я подключаюсь к своему любимому серверу, и делаю я это по SSH. В целом - мне не так важно, что кто-то узнает, что именно Я подключаюсь именно к ЭТОМУ серверу, больше меня беспокоит, чтобы никто не прочитал мои пароли, мой трафик, и влез таким образом в мои дела. Т.е. в данном случае речь идёт о конфиденциальности. Если бы я делал это по старому доброму Telnet, то увы, здесь я полностью под вашей властью - и по IP меня можно вычислить, и все передаваемые данные в открытом виде.

Читать далее

«План любой ценой»: Почему российский менеджмент превратил работу в выживание и можно ли с этим бороться

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели58K

Краткий разбор системных ошибок управления, которые годами тормозят развитие российского бизнеса (и не только в IT) 

Если вы работали в российской компании — от крупного холдинга до небольшого стартапа — вы, возможно, сталкивались с этим. Не везде, но такое, наверняка случалось. Авралы по выходным, KPI, которые невозможно выполнить, приказы, противоречащие здравому смыслу, и вечное «надо выкручиваться». И наше любимое — всем сейчас и так плохо, нужно затянуть пояса. Это не отдельные недочеты, а симптомы глубокой системной болезни, которую можно назвать «постсоветский управленческий синдром». Он проявляется в нескольких взаимосвязанных паттернах, которые годами кочуют из компании в компанию. О них сегодня и расскажу.

Читать далее

Perfetto в Android-разработке: когда профайлера уже недостаточно

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели6.6K

Perfetto показывает те проблемы с производительностью приложения, которые другой профайлер просто не заметит. И не важно, занят ли процессор системными задачами, когда поток готов работать, или GC блокирует UI на 50 миллисекунд — Perfetto всё подсветит.

Ещё не знаете об этом крутейшем инструменте? Тогда эта статья для вас. Привет! Меня зовут Андрей Гришанов. Расскажу вам, что такое Perfetto и как использовать его максимально эффективно.

Познакомиться с топовым профайлером

Пальмовый след. Правда ли, что молочная отрасль всё чаще меняет сливочный жир на растительный?

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели16K

С Новым годом, дорогие друзья! Не знаем, как у вас, но у нашей команды на столах мы насчитали: салаты с майонезом, Наполеон и хачапури из слоёного теста на маргарине, сыры всех видов и марок, включая плавленые и лёгкие, тарталетки на спреде и песочные пирожные на сливочном масле, заводской хлеб и выпечку всех видов, конфеты, вафли, а ещё бутерброды с икрой, на которые было намазано ТОЧНО сливочное масло, из‑под коровы, забранное у хозяйки не в очень аккуратной упаковке, а в пергаменте в мятом и не особо эстетичном, но вкусном комке. А остальное — НЕ ТОЧНО? Что с мифами о пальмовом жире в начале 2026 года? Разбираемся с аппетитом.

Читать далее

Горе от ума – почему рост знаний приводит к росту страданий

Время на прочтение19 мин
Охват и читатели65K

Психика – довольно парадоксальная вещь, которая подчиняется иной логике, нежели к которой мы привыкли. Несмотря на то, что главная функция психики – это обеспечение выживания индивида, на основе «субъективного отражения объективной реальности», иногда она работает против этой цели. И я говорю сейчас не про экстремальные варианты, вроде появления сверхидеи о питании солнечным светом и не про религиозные суициды во благо вечной жизни. Нет, я говорю об… учёбе, саморазвитии и познании мира.

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

Я достаточно давно изучаю особенности психики и личности как IT-специалистов, так и людей «от головы» в целом. И про особенности их личности писал ряд статей (часть 1, часть 2, часть 3, часть 4). Но сейчас, когда выборка стала больше и количество наблюдений кратно возросло, мне хочется копнуть чуть глубже и посмотреть не просто на личностные особенности, а на механизмы формирования этих особенностей у людей, обладающих эрудицией, интеллектом и способностью к абстрактному мышлению на более высоком уровне, чем в «среднем по больнице».

Взгрустнуть с пользой

Beyond Zero Tolerance: постигая тайну невышедшего сиквела

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели8K

Первой игровой консолью моего детства, как и у многих моих сверстников, была “Денди”. Несмотря на то, что я был слишком мал, тем не менее запомнил, как с энтузиазмом старался победить противников в файтинге Yie Ar Kung‑Fu или педантично собирал, как мы их называли, “кучки” в игре Lode Runner, даже и не подозревая, что на самом деле это был золотой песок. Но в более осознанном возрасте на смену 8 битной консоли ко мне пришла Sega Mega Drive. Конечно, же на тот момент оригинальных 16‑битных консолей практически ни у кого не было, но мы об этом даже и не догадывались – для нас эти приставки были самыми что ни на есть официальными.

Читать далее

Как протестировать криптосистему на замкнутость?

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели7.7K

Является ли DES группой? В статье [2] было показано, что DES не является группой. Остановимся более подробно на вероятностном тесте MCT(meet-in-the-middle closure test), предложенном в [2] и основанном на атаке meet in the middle, и вычислим вероятность нахождения совпадения.

Читать далее

Чем заняться в выходные? Как я собрал домашнюю виртуализацию в контейнерах за 34 500 рублей

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели16K

Как собрать домашний кластер виртуализации с нуля и зачем это вообще нужно? Автор делится личным опытом: от первых экспериментов с контейнерами и осознания их ограничений до построения полноценной инфраструктуры на мини-ПК.

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

Читать далее

Избавляемся от ошибок Segmentation fault из-за переполнения стека в С++

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели9.3K

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

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

Существует ли хотя бы теоретическая возможность защититься от ошибок переполнения стека и сделать из нее обычную ошибку (исключение), которую можно поймать (обработать) в самом приложении, чтобы была возможность продолжить выполнение программы без боязни последующей ошибки сегментации (segmentation fault) или повреждения стека (stack smashing)?

Читать далее

Законы логики для начинающих программистов

Уровень сложностиПростой
Время на прочтение23 мин
Охват и читатели15K

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

Читать далее

Игры из эфира: как радио сделало гейминг доступным каждому

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели13K

«Хочешь заценить какую-нибудь новую игру? Ну так скачай её по радио!»
Звучит как бред сумасшедшего, не так ли? Но ещё почти полвека назад это было реальностью!

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

Читать далее