Как стать автором
Обновить
583
22
Андрей Карпов @Andrey2008

Директор по маркетингу

Отправить сообщение

Конструкции ферритовых запоминающих устройств (часть первая)

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

Куб Soemtron 381
Много текста и фотографий
Всего голосов 129: ↑129 и ↓0+129
Комментарии141

ML SAST. Часть 1: как работают инструменты SAST и какие проблемы может решить применение машинного обучения?

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

Машинное обучение (ML) в сфере анализа безопасности приложений SAST (Static Application Security Testing) — это область, которая с каждым годом становится все более актуальной в мире разработки ПО. Многие компании активно исследуют ее, а некоторые уже внедряют машинное обучение в продукты для анализа кода. УЦСБ разрабатывает собственную платформу по непрерывному анализу защищенности приложений и занимается внедрением моделей машинного обучения в качестве рекомендательной системы при поиске и верификации проблем безопасности. В серии статей, посвященной этой теме, планируем рассказать о потенциале внедрения машинного обучения в инструменты SAST и пошагово разработать модель анализа кода.

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

Детектор Судного дня или как я разработал датчик радиации для Home Assistant

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


С чего всё началось


В начале 2023 года, во многих СМИ появилась информация, что стрелки часов Судного дня перевели на десять секунд. Сейчас они замерли на отметке 90 секунд до полуночи, и теперь часы показывают самый высокий уровень риска ядерной катастрофы за всю историю проекта. Эта информация побудила меня создать устройство для мониторинга фоновой радиации — мог бы написать я, но на самом деле, всё началось гораздо раньше и об этом расскажу далее.
Читать дальше →
Всего голосов 46: ↑45 и ↓1+44
Комментарии31

Svace: фича-реквесты для отечественного статического анализатора

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

В прошлом году многие российские компании стали оперативно сертифицировать разрабатываемое ПО. Так я познакомилась со статическим анализатором Svace.

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

Вот наша история использования Svace в 2022 году.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Комментарии19

SAST для самых маленьких. Обзор open-source инструментов поиска уязвимостей для C/C++

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


Привет, Хабр!


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

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии8

Как айтишнику издать свою книгу. Часть 5. Сколько получают авторы

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

Можно ли прожить IT-шнику без привычных зарплат, а подавшись, скажем, в авторы? Материалы для разработчиков востребованы, да и зарабатывать своим хобби — чем не мечта.
С другой стороны, все мы откуда-то слышали, что писатели — Пелевина не берем — получают копейки.

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

Считаем деньги
Всего голосов 45: ↑43 и ↓2+41
Комментарии60

Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ

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

Объектно-ориентированное программирование — чрезвычайно плохая идея, которая могла возникнуть только в Калифорнии.

— Эдсгер Вибе Дейкстра

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

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

Многие люди и раньше обсуждали проблемы ООП, и в конце этого поста я приведу список своих любимых статей и видео. Но прежде я хочу поделиться собственным взглядом.
Читать дальше →
Всего голосов 194: ↑131 и ↓63+68
Комментарии1280

C++20. Coroutines

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

В этой статье мы подробно разберем понятие сопрограмм (coroutines), их классификацию, детально рассмотрим реализацию, допущения и компромиссы, предлагаемые новым стандартом C++20.


image

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Комментарии27

Как мы искали в компанию человека с инвалидностью

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


Даже выбирая заголовок для этой статьи пришлось столкнуться с дилеммой относительно правильности использованной терминологии. «Инвалид», «Человек с ограниченными возможностями», «Человек с инвалидностью», «Человек с ограничениями по здоровью» или «Человек с особыми потребностями», как правильно?

Например, Комитет ООН по правам инвалидов рекомендует использовать определение «человек с инвалидностью». Сами же люди с инвалидностью термин «инвалид» недолюбливают.

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

За мировой стандарт принято правило «people-first language» ─ когда говорят о ком-то, первым делом называют его человеком, а уже затем говорят про его болезни или особенности. Таким образом, сегодня в ходу нейтральное выражение – «people with special needs» (люди с особыми потребностями) или люди с инвалидностью.

При этом, пару лет назад Минтруду РФ пришлось даже опровергать в прессе новости о том, что они планируют исключить употребление термина «инвалид».

Под катом краткий рассказ о том, как мы искали в нашу компанию людей с этими самыми особыми потребностями.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии141

Основываясь на статистике: неофициальное предложение Топ-10 OWASP 2021

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

image


Многим из нас встречался список угроз Топ-10 OWASP. А некоторые даже знают, что он обновляется каждые 3-4 года. И срок следующего обновления уже подошел. Но процесс создания списка угроз OWASP плохо документирован, поэтому нам захотелось предложить прозрачный, основанный на статистике рейтинг для тех же категорий угроз.
Мы проанализировали 2 миллиона различных отчетов о безопасности из 144 открытых источников. Под катом вы найдете наш вклад в анализ Топ-10 угроз OWASP на 2021 год. При этом каждый из читающих сможет воспроизвести результаты на основе понятных метрик.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

Гугл-программисты. Как идиот набрал на работу идиотов

Время на прочтение4 мин
Количество просмотров172K
В стародавние времена я, на постоянной основе, занимался техническими собеседованиями – отбирал кандидатов на должность программиста в компанию. У меня была простая, понятная, шикарная методика (не мной придуманная). Чувак сначала проходил длинное собеседование по куче разнообразных вопросов, потом решал несколько задач. На бумаге, как мы делали в ВУЗе.

Оглядываясь назад, понимаю – отбор действительно работал шикарно. Все, кого я тогда отобрал, стали уважаемыми в нашей деревне специалистами. Больше половины из них давно открыли собственный it-бизнес, в самых разных сферах – от 1С до разработки CRM-систем.

Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
Читать дальше →
Всего голосов 386: ↑297 и ↓89+208
Комментарии648

Линукс-порт Far Manager: прогресс за 4 года

Время на прочтение5 мин
Количество просмотров68K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


Читать дальше →
Всего голосов 236: ↑235 и ↓1+234
Комментарии585

От Threat Modeling до безопасности AWS: 50+ open-source инструментов для выстраивания безопасности DevOps

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

Привет, Хабр! Я консультант по информационной безопасности в Swordfish Security по части выстраивания безопасного DevOps для наших заказчиков. Я слежу за тем, как развивается тенденция развития компаний в сторону DevSecOps в мире, пытаюсь транслировать самые интересные практики в русскоговорящее сообщество и помогаю выстраивать этот процесс с нашей командой у заказчиков. За последние 2 года тема DevSecOps стала привлекать все больше внимания. Новые инструменты не успевают стать частью быстро растущего набора практик, из-за чего у меня появилось желание поставить некоторую контрольную точку в виде списка инструментов. Отправной точкой стал выход статьи коллег из Mail.ru, где отдельно был выделен раздел по безопасности Kubernetes. Я решил расширить этот список, охватив другие этапы жизненного цикла SDLC и приведя пару новых инструментов.

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии12

Burn Out IT-специалистов: 4 истории от управленца, разработчика, продакта и админа. И рецепт от Southbridge

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

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


Знакомьтесь, если ещё не встречались. Это синдром профессионального выгорания.


В IT-сфере около 50% специалистов испытали на себе профессиональное выгорание. Этот синдром опасен самому сотруднику, и проекту, над которым он работает, и всей компании. Более 60% выгоревших сотрудников увольняются. А затраты на найм новых, обучение и онбординг чугунной гирей ложатся на бюджет. И время — оно вообще бесценно.


Раньше burn out не воспринимали всерьёз — считалось, что это способ особо хитроумных сотрудников поменьше делать и побольше отдыхать. Постепенно в наших пампасах культура психологический гигиены в бизнесе доросла хотя бы до признания, что профессиональное выгорание и депрессия — это реальные проблемы.



На митапе «День Техдира» Даниил Подольский, руководитель разработки MTGroup, сделал доклад по профессиональному выгоранию. Мне его выступление было интересно тем, что это взгляд управленца на проблему, а не просто рассказ рядового сотрудника о своём личном примере выгорания.


Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии35

Шпаргалка по аббревиатурам C++ и не только. Часть 1: C++

Время на прочтение20 мин
Количество просмотров54K
Когда-то я собеседовался на должность C++ разработчика в одну приличную и даже известную контору. Опыт у меня тогда уже кое-какой был, я даже назывался ведущим разработчиком у тогдашнего своего работодателя. Но на вопросы о том, знаком ли я такими вещами, как DRY, KISS, YAGNI, NIH, раз за разом мне приходилось отвечать «Нет».

Собеседование я с треском провалил, конечно. Но упомянутые аббревиатуры потом загуглил и запомнил. По мере чтения тематических статей и книг, подготовок к собеседованиям и просто общения с коллегами я узнавал больше новых вещей, забывал их, снова гуглил и разбирался. Пару месяцев назад кто-то из коллег небрежно упомянул в рабочем чате IIFE в контексте C++. Я, как тот дед в анекдоте, чуть с печки не свалился и опять полез в гугл.


Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии29

Не работайте в плохих проектах

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

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


Читать дальше →
Всего голосов 220: ↑197 и ↓23+174
Комментарии574

Open source не приносит денег, потому что не создан для этого

Время на прочтение4 мин
Количество просмотров17K
Лучший способ что-то сделать — хотя бы попробовать

Все знают, что на open source невозможно заработать, верно?

Я сейчас размышляю на эту тему, потому что Mozilla хочет в ближайшие несколько лет диверсифицировать доходы, но у нас одно ограничение — все разработки обязательно публикуются в open source. Это десятки (сотни?) успешных проектов с открытым исходным кодом. Многие пытались хоть что-то заработать, некоторые очень пытались. Результаты так себе.

Я и сам прямо сейчас пытаюсь запустить в Mozilla коммерческую инициативу (если написание планов и отправку их в эфир можно считать «запуском»), и мне часто задают вопрос: можно ли продать что-то с открытым исходным кодом?
Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии116

Пробуем контрактное программирование С++20 уже сейчас

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


В С++20 появилось контрактное программирование. На текущий момент ни один компилятор ещё не реализовал поддержку этой возможности.


Но есть способ уже сейчас попробовать использовать контракты из C++20, так как это описано в стандарте.

Заинтересовавшихся прошу под кат
Всего голосов 61: ↑60 и ↓1+59
Комментарии54

Внедряйте статический анализ в процесс, а не ищите с его помощью баги

Время на прочтение10 мин
Количество просмотров21K
Написать эту статью меня сподвигло большое количество материалов о статическом анализе, всё чаще попадающихся на глаза. Во-первых, это блог PVS-studio, который активно продвигает себя на Хабре при помощи обзоров ошибок, найденных их инструментом в проектах с открытым кодом. Недавно PVS-studio реализовали поддержку Java, и, конечно, разработчики IntelliJ IDEA, чей встроенный анализатор является на сегодня, наверное, самым продвинутым для Java, не могли остаться в стороне.

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

Но волшебных эликсиров не бывает. Я хотел бы поговорить о том, о чём обычно не говорят в постах вида «вот какие штуки может найти наш робот»: чего не могут анализаторы, в чём их реальная роль и место в процессе поставки софта, и как внедрять их правильно.


Храповик (источник: википедия).
Читать дальше →
Всего голосов 76: ↑75 и ↓1+74
Комментарии32

Машинное обучение для поиска ошибок в коде: как я стажировался в JetBrains Research

Время на прочтение7 мин
Количество просмотров6K
Недавно мы рассказывали о том, как попасть на стажировку в Google. Помимо Google наши студенты пробуют свои силы в JetBrains, Яндекс, Acronis и других компаниях.

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


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии8
1
23 ...

Информация

В рейтинге
260-й
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
C++
C
Software development