Pull to refresh
21
0
Севко Роман @apple_rom

AWS DevOps Consultant

Send message

Разработка BIOS на языках высокого уровня

Level of difficultyHard
Reading time11 min
Views23K
Ничего лишнего: материнская плата, видеокарта и ROM-BIOS

Меня давно волнует вопрос, как подступиться к разработке на голом железе, на чистом си. Хотелось понять, каким же образом идёт запуск BIOS, u-boot, grub и прочих первичных загрузчиков. Ведь необходимо перейти от ассемблера к тёплому ламповому си и соблюсти условие, собрать всё это в линукс любимым компилятором gcc.

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

Здесь я хочу свести основные моменты разработки BIOS в одном месте и разобраться обо всех проблемах, которые я получил во время своих опытах в разработке (первая и вторая части).
Читать дальше →
Total votes 134: ↑133 and ↓1+132
Comments58

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views150K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 126: ↑123 and ↓3+120
Comments114

Старение неумолимо

Reading time2 min
Views72K
Когда я подростком только начинал бегать, помню как меня удивила вот такая таблица в спортзале:


Я не мог понять почему с возрастом так неумолимо снижается максимальный пульс на который способно наше сердце. Неужели это происходит даже у постоянно тренирующихся спортсменов? Не может быть! Хотя бы между 20 и 40 человек, ведущий здоровый образ жизни и регулярно занимающийся спортом, наверняка может сохранять свои физические показатели на том же уровне — думал наивный чукотский юноша.

И вот прошло уже более 20 лет, и я на собственной шкуре понимаю, что — увы — нет. Ухудшить можно. Замедлить нет. Именно поэтому в профессиональном спорте практически нет 35-летних спринтеров или 40-летних футболистов, а пиковый возраст пловцов вообще 21 год. Вот отличный график, показывающий возрастное замедление и спринтеров, и стайеров:
Читать дальше →
Total votes 56: ↑52 and ↓4+48
Comments617

Невыжившие в IT

Reading time7 min
Views194K

Этот текст я пишу из лучших побуждений, безо всякой иронии, снобизма и насмешки. Хочу сберечь время и нервы тем, кто поддался на «войти в айти» и прямо сейчас учится сортировать массивы, парсить строки и верит в «да-да, этим ты и будешь заниматься на работе».

Есть такое понятие – ошибка выжившего. Грубо говоря, о явлении, тенденции или событии судят по людям, которые прошли его успешно – выжили. Совершенно игнорируя информацию о тех, кто успеха не достиг. В результате случайная удача интерпретируется как устойчивая вероятность. Если интересна мат.часть – почитайте Нассима Талеба или Даниэля Канемана. Их книги существенно дешевле курсов по ИТ.

Я опишу типичные ошибки тех, кто не выжил. И, соответственно, не вошёл в ИТ. Всё из опыта личных наблюдений.

Да, если «тут всё неправда», «а вот мой друг Коля успешно…» или «а у меня получилось» - прекрасно, текст не про вас и не для вас. Вы и ваш друг Коля – выжившие.

Читать далее
Total votes 362: ↑349 and ↓13+336
Comments445

Разбираемся с передачей видео в разрешении 4К на 60 Гц через хаб USB-C

Reading time6 min
Views95K


USB-C предлагает новые потрясающие возможности, включая подключение внешних мониторов по USB-порту. Распространены недорогие конвертеры USB-C на DisplayPort и HDMI. Также часто встречаются хабы USB-C с поддержкой внешних мониторов, однако попытки разобраться в их возможностях и ограничениях могут сильно вас запутать. Некоторые из них совместимы с Mac, некоторые – нет. Некоторым нужны драйвера. Очень сильно разнится поддержка разрешений и частоты обновления. Некоторые рекламируются как «не предназначенные для игр». Делаются упоминания об альтернативных режимах, дуальных режимах, и прочем. Цены разнятся от $20 до $300+, причем функции у тех и других очень похожи. Что вообще происходит?

Это инструкция по передаче видео высокого разрешения по USB-C, которую я хотел бы в своё время иметь. Если вы хотите подключить монитор высокого разрешения к своему компьютеру, имеющему выход USB-C, читайте далее.
Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments50

Как и зачем проходить сертификацию AICPA SOC 2 и 3. Опыт Яндекс.Паспорта

Reading time10 min
Views11K
Привет! На связи Аня Зинчук. Я работаю в Службе информационной безопасности. Мы сопровождаем ключевые сервисы Яндекса на всех этапах жизненного цикла от дизайна и проектирования до реализации в коде: анализируем архитектуру новых решений, ищем потенциальные риски, проводим анализ кода на уязвимости и расследуем инциденты, если они возникают.

Одно из наших больших начинаний последнего времени — аудиты сервисов Яндекса независимой стороной на предмет соответствия мировым стандартам безопасности. Расскажу, как Яндекс.Паспорт проходил сертификацию AICPA SOC: для чего она нужна, почему это важно и что мы сделали ради соответствия стандарту. Яндекс стал одной из первых компаний в России, кто решился на такой шаг, и единственный выбрал сертификацию сразу по трём направлениям: безопасность, конфиденциальность и доступность. Подробности — в статье.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments9

Начинаю тест старения батареек

Reading time3 min
Views13K
На разных батарейках пишут срок хранения от трёх до двенадцати лет. Я решил проверить, как на самом деле батарейки теряют ёмкость при хранении и имеет ли значение, насколько свежие батарейки покупать.

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

5 стадий неизбежности принятия ISO/IEC 27001 сертификации. Гнев

Reading time6 min
Views4.9K
Вторая стадия эмоционального реагирования на изменения – гнев. Этому соответствует наша стадия борьбы со сложностями начальной подготовки к сертификации – чему и посвящён наш сегодняшний рассказ.

image
Читать далее
Total votes 3: ↑3 and ↓0+3
Comments2

5 стадий неизбежности принятия ISO/IEC 27001 сертификации. Отрицание

Reading time5 min
Views8K

В случае принятия любого стратегически важного решения для компании сотрудники проходят базовый защитный механизм, хорошо известный под названием 5 стадий реагирования на изменения (автор Э. Кюблер–Росс). Выдающийся психолог когда-то описала эмоциональные реакции, выделив 5 ключевых стадий эмоционального реагирования: отрицание, гнев, торг, депрессия и, наконец, принятие. Мы подготовили цикл статей, посвященных сертификации по ISO 27001, где рассмотрим каждую из стадий. Сегодня мы расскажем о первой из них – отрицание.


image

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments5

Сертификация ISO27001

Reading time7 min
Views20K
Однажды мой хороший друг сказал мне: «вся индустрия аудита основана на том, что люди друг другу врут». Это как нельзя лучше отражало истинную причину почему банкам и другим финансовым институтам нужно получать заключение внешних аудиторов каждый год – для того, чтобы другие институты верили их финансовой отчетности. 



Похожая ситуация в ИТ. Любая компания может сказать: «мы защищаем свои системы и следим за безопасностью передачи данных. Но так ли это? И насколько хорошо защищают?  Cертификация ISO 27001 отвечает на эти вопросы за вас, и позволяет сэкономить время на доказательствах. Под катом пример подготовки к сертификации ISO 27001 одной маленькой, европейской ИТ компании. 
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments15

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time15 min
Views597K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Total votes 127: ↑127 and ↓0+127
Comments73

Наш рецепт отказоустойчивого Linux-роутера

Reading time10 min
Views44K

В высоконагруженных проектах всегда повышенные требования к избыточности и надежности. Одним из важнейших звеньев инфраструктуры является маршрутизатор, потому что от его устойчивости зависит доступность сети в целом. Именно на таких узлах мы используем одну из схем реализации отказоустойчивого виртуального роутера на базе GNU/Linux с использованием iproute2, NetGWM, keepalived, ISC DHCPD, PowerDNS. Как мы всё это настраиваем, читайте в этой статье.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments31

Система управления Ansible

Reading time25 min
Views236K


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

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

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

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

В этой статье мы бы хотели подробно рассказать о его возможностях этого инструмента управления конфигурациями и поделиться собственным опытом его использования.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments49

Тестируем Chef cookbook

Reading time9 min
Views16K


Концепция infrastructure as code позволяет нам применять к инфраструктуре решения из мира разработки. Отдельные компоненты инфраструктуры в проектах часто повторяются. При интеграции таких компонентов наиболее удобный вариант – общие кукбуки. Код кукбуков постоянно меняется, фиксятся баги, появляется новый функционал. С помощью тестирования мы отслеживаем регрессии, контролируем обратную совместимость и внедряем новые фичи быстрее.
В этой статье мы познакомимся с инструментами для тестирования, напишем простой кукбук и тест к нему.

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

Deep Learning: Сравнение фреймворков для символьного глубокого обучения

Reading time5 min
Views29K
Представляем вам перевод серии статей посвященных глубокому обучению. В первой части описан выбор фреймворка с отрытым кодом для символьного глубокого обучения, между MXNET, TensorFlow, Theano. Автор подробно сравнивает преимущества и недостатки каждого из них. В следующих частях вы узнаете о тонкой настройке глубоких сверточных сетей, а также о сочетании глубокой сверточной нейронной сети с рекуррентной нейронной сетью.


Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments12

Chatbot на базе рекуррентной нейронной сети своими руками за 1 вечер/6$ и ~ 100 строчек кода

Reading time10 min
Views109K
В данной статье я хочу показать насколько просто сегодня использовать нейронные сети. Вокруг меня довольно много людей одержимы идеей того, что нейронки может использовать только исследователь. И что бы получить хоть какой то выхлоп, нужно иметь как минимуму кандидатскую степень. А давайте на реальном примере посмотрим как оно на самом деле, взять и с нуля за один вечер обучить chatbot. Да еще не просто абы чем а самым что нинаесть ламповым TensorFlow. При этом я постарался описать все настолько просто, что-бы он был понятен даже начинающему программисту! В путь!

image
Читать дальше →
Total votes 57: ↑54 and ↓3+51
Comments26

Создайте свой сервер AWS S3 с открытым кодом

Reading time4 min
Views60K


Amazon S3 (Simple Storage Service, сервис простого хранилища) — очень мощный онлайн сервис файлового хранилища, предоставляемого Amazon Web Services. Думайте о нем, как об удаленном диске, на котором вы можете хранить файлы в директориях, получать и удалять их. Компании, такие как DropBox, Netflix, Pinterest, Slideshare, Tumblr и многие другие, полагаются на него.

Хоть сервис и отличный, его код не открыт, поэтому вы должны доверять Amazon свои данные, и хоть они предоставляют доступ к бесплатному инстансу на год, вы все равно должны ввести информацию о кредитной карте для создания аккаунта. Т.к. S3 должен знать каждый инженер-программист, я хочу, чтобы мои студенты приобрели опыт работы с ним и использовали его в своих веб-приложениях, и еще я не хочу, чтобы они за это платили. Некоторые студенты также работают во время поездок, что означает медленное Интернет-соединение и дорогой трафик, либо вообще полное отсутствие Интернета.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments12

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Bash-скрипты, часть 10: практические примеры

Reading time9 min
Views180K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

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



Главная ценность этих примеров для тех, кто изучает bash, заключается в методике разработки. Когда перед программистом встаёт задача по автоматизации чего бы то ни было, его путь редко бывает прямым и быстрым. Задачу надо разбить на части, найти средства решения каждой из подзадач, а потом собрать из частей готовое решение.
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments5

ИБ по-американски. Часть 1. Что такое NIST 800-53 и как выглядят контроли безопасности?

Reading time9 min
Views44K

*Виновен в разглашении конфиденциальной информации! Ваш ТЕЛЕФОН говорит только то, что говорите ВЫ...*

В последний раз я освещал вопрос обеспечения ИБ в США почти год назад в материале, посвящённом разработке Фреймворка управления рисками ИБ. Настало время более подробно рассказать о том, как устроена ИБ в Америке. По крайней мере на бумаге, изданной вполне авторитетной организацией NIST.
Стоит обратить отдельное внимание на то, что дальше речь пойдет о теоретической ИБ, так называемых best practices, которые, как известно большинству специалистов по практической безопасности, в жизни встречаются редко. Однако это не умаляет их значимости при построении реальной системы обеспечения ИБ.

Ссылки на все части статьи:
ИБ по-американски. Часть 1. Что такое NIST 800-53 и как выглядят контроли безопасности?
ИБ по-американски. Часть 2. А можно поподробнее о NIST 800-53 и причём тут управление рисками?
ИБ по-американски. Часть 3. Что из себя представляет базовый набор контролей и как определять критичность систем?
ИБ по-американски. Часть 4. Разбираемся с «подгонкой» и «перекрытиями» и завершаем этот обзор
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments6

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity