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



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

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

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

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

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

      Под катом краткий рассказ о том, как мы искали в нашу компанию людей с этими самыми особыми потребностями.
      Читать дальше →
    • Эксперты обнаружили критическую уязвимость в подсистеме iSCSI ядра Linux, баг в коде был с 2006 года

        Из примера по разбору кода с пятнадцатилетним багом, который позволяет использовать уязвимость. Переполнения, переполнения везде.

        12 марта 2021 года специалист по кибербезопасности из компании GRIMM Адам Николс (Adam Nichols) рассказал об обнаруженной недавно критической уязвимости CVE-2021-27365 (переполнение буфера кучи, повышение локальных привилегий) в подсистеме iSCSI ядра Linux. Баг в коде был с 2006 года. В настоящее время затронутыми оказались все дистрибутивы Linux, но, к счастью, уязвимый модуль ядра scsi_transport_iscsi не загружается по умолчанию.

        Также в коде подсистемы iSCSI ядра Linux были обнаружены еще две менее серьезные уязвимости — CVE-2021-27363 (утечка указателя ядра) и CVE-2021-27364 (чтение за пределами допустимого диапазона).
        Читать дальше →
        • +15
        • 12.7k
        • 7
      • Основываясь на статистике: неофициальное предложение Топ-10 OWASP 2021

          image


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

          Читать дальше →
        • Гугл-программисты. Как идиот набрал на работу идиотов

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

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

            Вот этот опыт и замутил моё сознание. Настолько, что я решил поменять методику – подумал, что дело не в ней, а во мне. Я есть великий специалист по техническим собеседованиям.
            Читать дальше →
          • Линукс-порт Far Manager: прогресс за 4 года

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

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


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

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

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


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

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

                Читать далее
              • Коронавирус COVID-19: только факты, без паники

                  Паника — худшее, что может случиться во время пандемии. Хабр всегда был и остается местом, где людям важны факты, а не домыслы. Факты такие: коронавирус оказался заразным и в некоторых случаях — смертельным. Государства избирательно закрывают границы, авиакомпании отменяют рейсы, массовые мероприятия переносятся. Лучшее, что можно сделать — как следует подготовиться. Ниже мы собираем самые внятные и полезные статьи, которые выходили на площадке в последнее время. Материал будет дополняться.
                  Читать дальше →
                • Burn Out IT-специалистов: 4 истории от управленца, разработчика, продакта и админа. И рецепт от Southbridge

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


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


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


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



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


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

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

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


                    Читать дальше →
                  • Не работайте в плохих проектах

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


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

                      • Translation
                      Лучший способ что-то сделать — хотя бы попробовать

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

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

                      Я и сам прямо сейчас пытаюсь запустить в Mozilla коммерческую инициативу (если написание планов и отправку их в эфир можно считать «запуском»), и мне часто задают вопрос: можно ли продать что-то с открытым исходным кодом?
                      Читать дальше →
                    • Пробуем контрактное программирование С++20 уже сейчас

                      • Tutorial


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


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

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

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

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

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


                        Храповик (источник: википедия).
                        Читать дальше →
                      • Машинное обучение для поиска ошибок в коде: как я стажировался в JetBrains Research

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

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


                          Читать дальше →
                          • +17
                          • 5.3k
                          • 8
                        • Заметки фитохимика. Зеленый банан, или Не забудь покормить микробиоту

                          • Tutorial

                          Как то уж так повелось со времен голодной студенческой юности, что я чаще на остатки денег покупал себе бананы, а не чипсы или гречку. Причин этому наверное может быть много, от "в Беларуси бананы дешевле картошки", до "банан как и шоколад способствует мозговой активности". Но факт остается фактом. Если хурма фрукт сезонный, то банан — это такая штука которая сопровождает нас по жизни постоянно. Как не отдать долг и не черкнуть заметку. Кроме того, про проведенному мной среди знакомых мини-опросу, одним из основных фруктов, которые с вероятностью 99% будут практически на каждом Новогоднем столе, также является банан. А ведь правильный банан еще нужно найти...


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



                          Ну а за ответом — традиционно, под кат.

                          Читать дальше →
                        • Силовой модуль разработчика. Работа над ошибками

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

                            Увы, но даже в достаточно простых устройствах требуется 2-я ревизия железа, чтобы «подчистить» плохие реализации того или иного функционала, улучшить компоновку и конструктив. В итоге была проведена работа по оптимизации технических параметров и по улучшению удобства работы с модулем. Сегодня в статье я как раз расскажу подробнее о данных изменениях, объясню почему именно так, а в конце статьи вы увидите обновленные исходники. Поехали!



                            Читать дальше →
                          • Реализация оператора in в С++

                              Привет! Сегодня я надеюсь показать вам немного магии. Моим хобби является придумывание всяких казалось бы невозможных штук на С++, что помогает мне в изучении всевозможных тонкостей языка ну или просто развлечься. Оператор in есть в нескольких языках, например Python, JS. Но в С++ его не завезли, но иногда хочется чтобы он был, так почему бы его не реализовать.

                              	std::unordered_map<std::string, std::string> some_map = 
                              	{
                              		{ "black", "white" },
                              		{ "cat", "dog" },
                              		{ "day", "night" }
                              	};
                              
                              	if (auto res = "cat" in some_map)
                              	{
                              		res->second = "fish";
                              	}
                              

                              Читать дальше →
                            • Доклады с весенней конференции С++ Russia 2018


                                С 19 по 21 апреля в Санкт-Петербурге прошла конференция С++ Russia 2018. Из года в год организация и проведение становится на уровень выше, что не может не радовать. Спасибо бессменному организатору С++ Russia Сергею Платонову за его вклад в развитие этого направления.
                                Читать дальше →
                                • +45
                                • 13.8k
                                • 3
                              • Как подготовиться к деловой поездке? Советы от биздевов ISPsystem



                                  Мы давно ездим на конференции и вот что заметили: многие люди приезжают туда и — сюрприз! — ничего не делают. Назначат пару встреч, а остальное время слоняются без дела, собирают раздатку со стендов или сидят за ноутбуком и слушают все подряд: даже те доклады и выступления, где им явно что-то пытаются продать. О каких продажах и успешных переговорах речь? Трата времени, трата денег компании, парад упущенных возможностей. Мы тоже в свое время много ошибались, но исправились. Поэтому хотим рассказать, что сейчас делаем иначе. Если интересно, добро пожаловать под кат!
                                  Читать дальше →
                                  • +26
                                  • 6.3k
                                  • 6
                                • Психология читабельности кода

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

                                  Каждый программист старается писать хороший код. Читабельность — один из главных признаков такого кода. О ней написано достаточно много книг, но всё же в теме есть пробелы. Например, те самые книги сфокусированы больше на советах КАК написать читабельный код, а не на причинах того, почему один код является хорошо читабельным, а другой — нет. Книга говорит нам «используйте подходящие названия переменных» — но что делает одно название более подходящим, чем другое? Работает ли это для всех примеров подобного кода? Работает ли это для всех программистов, которым попадётся на глаза этот код? Как раз о последнем я и хотел бы поговорить чуть детальнее. Давайте погрузимся немного в человеческую психику. Наш мозг — главный наш инструмент, хорошо бы изучить специфику его работы.
                                  Читать дальше →