Pull to refresh
159
2

Копаю глубоко и упорно

Send message

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M

Level of difficultyMedium
Reading time43 min
Views11K

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

Статья предполагает, что читатель имеет базовые знания программирования bare-metal систем и языка С++, в том числе и современных стандартов. Это означает, что совсем базовые пояснения выходят за рамки этой статьи.

Читать далее
Total votes 63: ↑62 and ↓1+72
Comments28

Duke Nukem 3D – герой нашей юности

Level of difficultyEasy
Reading time18 min
Views8.2K
image

Время, когда компьютерные игры были настоящим искусством, оставило нам множество шедевров, каждый из которых по-своему уникален, и я отчетливо помню, как новые релизы вызывали настоящий ажиотаж. В те дни, когда интернет еще не был столь повсеместен, мы ждали очередной номер игрового журнала как праздник и обсуждали последние новости и слухи во дворе или в школьных коридорах. Одним из тех проектов, что произвели фурор в 90-х, был Duke Nukem 3D. В отличие от большинства своих конкурентов он привлекал внимание не только графикой и геймплеем, но и своим неординарным героем – Дюком Нюкемом, который впечатлял харизмой и острыми фразочками. Итоговый результат сделал студию 3D Realms настоящей рок-звёздой индустрии тех лет, а персонаж их игры до сих пор является одним их самых узнаваемых героев видеоигр и символом эпохи.

Для меня, как и для многих других геймеров, знакомство с Duke Nukem 3D началось не с покупки заветного диска, а с рассказов друзей и статей в игровых журналах. Полноценно сыграть я смог лишь спустя годы, но мне всё равно удалось получить удовольствие и дозу первобытного адреналина в момент расправы над ордами инопланетных захватчиков.
Очень надеюсь, что сегодня я подарю вам удовольствие и прилив ностальгии не только от чтения строк о любимой игре юности, но и позволив самостоятельно прикоснуться к культовому проекту прошлого, ведь вас ждут несколько сборок этой культовой игры (ссылку для скачивания ищите в конце статьи), благодаря чему вы сможете как повторить свой старый игровой опыт, так и получить новый за счёт улучшенной графики и прочих модернизаций.
Читать дальше →
Total votes 38: ↑38 and ↓0+52
Comments29

А где она, очередь за забором?

Reading time4 min
Views95K

Есть ли так самая «очередь за забором» или нет? Есть ли на рынке кадровый голод? Ответ и да, и нет одновременно.

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

Читать далее
Total votes 229: ↑204 and ↓25+223
Comments849

Город в бутылке — движок Raycasting всего на 256 байт

Reading time8 min
Views16K

Привет любителям микро-кодирования. Вот вам кое-что невероятное: крошечный движок raycasting (метод “бросания лучей”) и генератор городов, который помещается в отдельный 256-байтовый HTML-файл.

Читать далее
Total votes 65: ↑57 and ↓8+65
Comments12

Шпаргалка по безопасной сборке Docker-образов

Reading time17 min
Views16K

Каждый контейнер Docker основан на образе, который обеспечивает базу для всего, что вы когда-либо будете развертывать и запускать. Если злоумышленник как-то повлияет на сборку образа и изменит Dockerfile, то сможет совершить навредить вашим системам. Например, добавить вредоносный код, получить доступ к секретным данным сборки или атаковать хост-компьютер. Поэтому защита начинается уже во время подготовки образа, с первой инструкции.

Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. Под катом расскажу, как настроить сборку образов, обеспечить безопасность и добавить сканирование в пайплайн.
Читать дальше →
Total votes 53: ↑51 and ↓2+67
Comments7

Вы все еще пишете многопоточку на C++ с ошибками синхронизации?

Level of difficultyMedium
Reading time11 min
Views25K
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации.

Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).

Сразу хочу оговориться, что тема многопоточности — очень большая и серьезная. И эта статья — не полноценный анализ проблем многопоточки, а только частНЫе (но довольно частЫе) кейсы, когда мы вынуждены использовать мьютексы.
Читать дальше →
Total votes 53: ↑47 and ↓6+57
Comments148

Представляем планировщик Go: Вы никогда не смотрели на горутины с этой стороны

Level of difficultyMedium
Reading time7 min
Views12K

Вероятно, вы слышали о планировщике Go раньше, но насколько хорошо мы знает о том как он работает? Как он связывает горутины с потоками?

Разберем по очереди операции, которые выполняет планировщик.

Читать далее
Total votes 30: ↑27 and ↓3+30
Comments1

TOTP без смартфона

Level of difficultyEasy
Reading time5 min
Views17K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

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

Очередное пособие по рынку труда, или где же вы 300к находите. Март 2024

Level of difficultyHard
Reading time16 min
Views66K

Ответ на статью Снижение зарплат в ИТ

— Сколько я показываю пальцев, Уинстон?
— Четыре.
— А если партия говорит, что их не четыре, а пять, — тогда сколько?..

Читать далее
Total votes 142: ↑87 and ↓55+45
Comments310

Что будет, если выйти из IT?

Level of difficultyEasy
Reading time3 min
Views84K

Размышляя на тему минусов IT, я вспомнил историю моего знакомого Сергея, который работал на позиции Senior Java Developer в одном российском банке. В какой-то момент его настолько припекло, что он решил выйти из IT. «Прощай, немытое айти! Страна рабов, страна господ!», — браво повторял он, когда увольнялся. Как думаете, что из этого вышло?

Читать далее
Total votes 159: ↑100 and ↓59+66
Comments469

Советские и постсоветские НИИ и КБ как конвейер уничтожения ресурсов развития

Level of difficultyEasy
Reading time11 min
Views81K

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

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

В 2008 году я устроился ведущим инженером в НИИ Физических измерений, г. Пенза.

Для меня работа в этом НИИ была более чем знакома, я там работал с середины 80-х по середину 90-х. НИИФИ с момента своего создания было сосредоточено на создании датчиков и специализированной измерительной аппаратуры для космической отрасли.

Начало 2000-х характеризовалось тем, что цены на нефть поползли вверх, в государстве появились какие-то деньги, но одновременно стала происходить череда ярких и красочных неудач с нашими ракетами. И вопрос – а что же там происходит с нашими ракетами – создал на НИИФИ фокус ощутимого финансового потока.

Поскольку в этой организации работает куча людей, связанных между собой родственными связями, то, помимо официального молчания по всем щепетильным вопросам, организация была пронизана слухами, что у нас общий бюджет НИИ достиг сначала 0,7 (примерно 2008–2009), далее 0,9; потом 1,3; 2,1 и 2,7 (2012) миллиарда рублей.

Здесь можно задаться очень простым вопросом – а вот кто будет делать интеллектуальное наполнение проектов под эти в общем-то огромные финансовые потоки.

Читать далее
Total votes 250: ↑220 and ↓30+247
Comments512

Information

Rating
1,129-th
Registered
Activity

Specialization

System Software Engineer