Pull to refresh
587
103
Андрей Карпов @Andrey2008

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

Send message

ChatGPT как мутная ксерокопия Интернета

Reading time13 min
Views25K

В 2013 году сотрудники одной немецкой строительной компании заметили кое-какую странность в работе корпоративного аппарата Xerox. Всякий раз, когда копировалась планировка этажа в стоящемся здании, копия отличалась от оригинала в одном тонком, но в очень важном аспекте. В оригинальной версии планировки в доме различались три комнаты, и у каждой из них в прямоугольнике была подписана площадь этой комнаты: 14,13, 21,11 и 17,42 квадратных метра соответственно. Но на ксерокопии было написано, что все три комнаты имеют площадь по 14,13 квадратных метра. Компания обратилась к информатику Давиду Кризелю с просьбой, почему получается такой, казалось бы, немыслимый результат. Здесь требовалась именно консультация информатика, так как в современных аппаратах не применяется физический ксерографический процесс, впервые популяризованный в 1960-е. Вместо этого аппарат создаёт цифровую копию документа, а затем распечатывает полученный файл (изображение). При этом учтём, что для экономии дискового пространства почти все цифровые файлы изображений подвергаются сжатию — и разгадка этого таинственного случая начинает напрашиваться сама собой.

Читать далее
Total votes 66: ↑61 and ↓5+75
Comments75

17 вредных советов для тех, кто проверяет документацию и технические тексты

Reading time3 min
Views6.3K

Вы пишете документацию, статьи или другие тексты? Тогда наверняка у вас есть проверяющие. Я уверен, что вы нежно и трепетно любите своих проверяющих. Вы, скорее всего, с нетерпением ждёте, когда они пришлют вам свои правки и комментарии. Благоговейно изучаете и перечитываете крупицы мудрости, которыми проверяющие благосклонно поделились с вами. Лучшие из комментариев вы записываете в специальную тетрадочку или даже распечатываете и вешаете их на стену...

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

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

Читать далее
Total votes 23: ↑21 and ↓2+28
Comments12

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

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

Куб Soemtron 381
Много текста и фотографий
Total votes 129: ↑129 and ↓0+129
Comments141

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

Reading time13 min
Views2.2K

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

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

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

Level of difficultyEasy
Reading time6 min
Views9.2K


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


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

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

Level of difficultyEasy
Reading time4 min
Views4.3K

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

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

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

Читать далее
Total votes 10: ↑6 and ↓4+3
Comments19

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

Reading time33 min
Views16K


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


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

Читать дальше →
Total votes 17: ↑16 and ↓1+21
Comments8

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

Reading time8 min
Views9.5K

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

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

Считаем деньги
Total votes 36: ↑34 and ↓2+41
Comments60

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

Reading time7 min
Views217K

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

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

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

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

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

C++20. Coroutines

Reading time33 min
Views59K

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


image

Читать дальше →
Total votes 32: ↑29 and ↓3+42
Comments27

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

Reading time4 min
Views14K


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

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

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

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

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

Под катом краткий рассказ о том, как мы искали в нашу компанию людей с этими самыми особыми потребностями.
Читать дальше →
Total votes 44: ↑43 and ↓1+50
Comments141

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

Reading time6 min
Views6.5K

image


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

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

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

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

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

Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
Читать дальше →
Total votes 318: ↑229 and ↓89+208
Comments648

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

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

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


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

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

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


Читать дальше →
Total votes 178: ↑177 and ↓1+234
Comments585

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

Reading time21 min
Views17K

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

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

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

Reading time12 min
Views25K

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


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


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


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



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


Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments35

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

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

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


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

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

Reading time13 min
Views99K

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


Читать дальше →
Total votes 220: ↑197 and ↓23+174
Comments574

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

Reading time4 min
Views17K
Лучший способ что-то сделать — хотя бы попробовать

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

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

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

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

Reading time14 min
Views32K


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


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

Заинтересовавшихся прошу под кат
Total votes 61: ↑60 and ↓1+59
Comments54
1
23 ...

Information

Rating
44-th
Works in
Date of birth
Registered
Activity

Specialization

Specialist
C++
C
Software development