• О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…

    • Tutorial
    Посвящается всем отчаявшимся и потерявшим надежду… открутить заржавевшую гайку!

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

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

    Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)


    Читать дальше →
  • Так ли плох XMPP, как его малюют? Каким Jabber стал сегодня



    Часто при обсуждении мессенджеров, при упоминании XMPP можно услышать слова:
    Привет из двухтысячных! Неужели кто-то еще пользуется устаревшим протоколом? В XMPP до сих пор нет доставки файлов, сообщений, синхронизации, красивых клиентов?

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

    В этой статье мы рассмотрим для чего создавался XMPP, обсудим в комментариях причины снижения его популярности и каким Jabber стал сегодня

    Предыстория


    В двухтысячных годах у большинства интернет-гигантов были развернуты XMPP сервера. С одного сервера можно было написать на другой и вот уже казалось, если технологию немного доделать появится e-mail 2.0, универсальный мессенджер для всего Интернета, но тут что-то пошло не так.
    Читать дальше →
  • Книга «Теоретический минимум по Computer Science. Все что нужно программисту и разработчику»

      image


      Хватит тратить время на скучные академические фолианты! Изучение Computer Science может быть веселым и увлекательным занятием.

      Владстон Феррейра Фило знакомит нас с вычислительным мышлением, позволяющим решать любые сложные задачи. Научиться писать код просто — пара недель на курсах, и вы «программист», но чтобы стать профи, который будет востребован всегда и везде, нужны фундаментальные знания. Здесь вы найдете только самую важную информацию, которая необходима каждому разработчику и программисту каждый день.
      Читать дальше →
    • Стандарт Web Authentication API: беспарольная аутентификация в вебе



        В марте 2018 года Альянс FIDO (Fast IDentity Online) и Консорциум W3C достигли важного рубежа: после двух лет разработки стандарт Web Authentication (WebAuthn) получил статус кандидата в рекомендации (CR) — это стабильная версия документа, в которую больше не планируется вносить принципиальных изменений. Обсуждение CR завершилось 1 мая.

        Что дальше? Теперь очередь Google, Mozilla и Microsoft. Когда поддержку Web Authentication API независимо и совместимо реализуют в двух браузерах, стандарт получит статус предложения в рекомендации. К этому моменту будут рассмотрены все предложения от сообщества — и документ представят Консультативному Совету W3C для окончательного утверждения.
        Читать дальше →
      • Как автоматизируют разработку команды различных размеров

          Прошедший в январе в Яндексе Team Leader Meetup подарил нам не только два часа видео, но и тему второй встречи, которые выбрали участники встречи в специальном чате. Говорить мы будем, как понятно из заголовка, об автоматизации разработки.




          Выбор инструментов автоматизации во многом зависит от размеров команды, поэтому важно отслеживать их эволюцию с учётом роста небольшого стартапа до огромной, компании, которая сама создаёт инструменты для разработки. Чтобы понять, с чем в таком случае столкнутся руководители команд, мы задали несколько вопросов нашим экспертам, среди которых, Иван ginkage Подогов, Роман shadart Пузиков, Сергей profitware Собко, Алексей alexmog Могилевский.


          1. Предположим, вы решили открыть свой стартап. В нём на старте работает небольшая команда (пять программистов). Какие инструменты автоматизации разработки вы внедрите?
          2. Стартап зажёг! Теперь в нём работает очень много людей. Что изменится? Что добавится?
          3. Какой несуществующий инструмент (или даже тип инструмента) вам был настолько нужен, что вы не выдержали и сделали его для себя сами?

          Читать дальше →
          • +32
          • 16.2k
          • 4
        • Конференция HOPE X. «Взлом лифта: от подвала до пентхауза». Часть 2. «Системы безопасности»

          • Translation
          Начало здесь: Конференция HOPE X. «Взлом лифта: от подвала до пентхауза». Часть 1. «Лифтовое оборудованиe»

          Дивиант Оллам: можно сказать, что в многих отношениях лифтовая индустрия застряла в прошлом.



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

          Дивиант Оллам: то есть он считал, что трубчатые замки являются новейшей и величайшей разработкой в сфере безопасности.
          Читать дальше →
        • Конференция HOPE X. «Взлом лифта: от подвала до пентхауза». Часть 1. «Лифтовое оборудованиe»

          • Translation
          Дивиант Оллам: у нас здесь имеются слайды, которые помогут провести эту презентацию на тему взлома лифтов. Нам сказали, что она должна проводиться именно в воскресенье, на это есть причины. Я расскажу, кто мы и почему мы здесь. Некоторые из Вас видели меня прежде. Меня зовут Дивиант, я владею компанией, которая тестирует преимущественно физическое проникновение, поэтому я изучаю возможность совершения квартирных краж с использованием лифтов. В этом направлении имеется достаточно работы и это довольно весело.

          Читать дальше →
          • +15
          • 6.4k
          • 2
        • Как спрятать DNS-запросы от любопытных глаз провайдера

          • Translation

          Настройка 1.1.1.1 от Cloudflare и других DNS-сервисов по-прежнему требует навыков работы в командной строке



          Шифрование трафика между вашим устройством и DNS-сервисом помешает посторонним лицам отслеживать трафик или подменить адрес

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

          DNS — это телефонный справочник Сети, выдающий фактический сетевой адрес IP, связанный с хостингом и доменными именами сайтов и других интернет-служб. Например, он превращает arstechnica.com в 50.31.169.131. Ваш интернет-провайдер предлагает DNS в пакете услуг, но он также может журналировать DNS-трафик — по сути, записывать историю ваших действий в интернете.

          «Открытые» DNS-сервисы позволяют обходить сервисы провайдеров ради конфиденциальности и безопасности, а кое в каких странах — уклоняться от фильтрации контента, слежки и цензуры. 1 апреля (не шутка) компания Cloudflare запустила свой новый, бесплатный и высокопроизводительный DNS-сервис, предназначенный для повышения конфиденциальности пользователей в интернете. Он также обещает полностью скрыть DNS-трафик от посторонних глаз, используя шифрование.
          Читать дальше →
        • 46 навыков и характеристик, из которых складывается портрет идеального менеджера продукта

            Product Manager очень часто выступает первым представителем продукта или сервиса для внешнего мира. Для этого успешному PM требуется опыт, энтузиазм и, конечно, профессиональные управленческие навыки, коммуникативные и другие способности. Набор этих качеств помогает специалисту грамотно представить продукт и вывести его на рынок.

            image
            Читать дальше →
            • +6
            • 22.4k
            • 3
          • Утонуть или выплыть. Как при помощи бутстраппинга прокачаться в классного предпринимателя

            • Translation


            Когда-то, в 2005 году, жизнь моя текла однообразно.

            Вставал рано утром, выходил из квартиры на Бруклин-Хайтс, тащился с ноутбуком в ближайший Старбакс.

            Поработав там несколько часов, пересекал Бруклинский мост, отправлялся в Уэст-Виллидж и приземлялся там в другой кофейне.

            Часам к трем дня я настолько укофеинивался, что едва мог набирать на клавиатуре. В качестве детокса я шел вечером на лекцию в Нью-Йоркский университет, где проходил курс по маркетингу.

            Именно тогда я только приступал к созданию моей компании JotForm. Меня чрезвычайно занимала посетившая меня идея – создавать перетаскиваемые веб-формы. Однако, эта идея была настоящим вызовом – временами казалась вообще неподъемной.

            Переведено в Alconost
            Читать дальше →
            • +12
            • 7.7k
            • 4
          • Профессиональное выгорание: как распознать и предотвратить

              Любить свою работу и много работать – хорошо, уметь вовремя распознавать выгорание – еще лучше. Но для многих признать свое выгорание значит проявить слабость и быть несостоятельным.

              Рассказываем, почему не всегда нужно говорить себе «Соберись, тряпка!», какие стадии бывают у выгорания и как с ним бороться.

              Разбираться в теме помогала психотерапевт Мария Берлин. А Java-разработчик ЕРАМ Юрий Безруков поделился своей историей выгорания.


              Читать дальше →
            • 3 года «права на забвение»: Google раскрыла статистику запросов на «удаление» информации

                Месяц назад в своем блоге компания Google представила статистику по реализации так называемого права на забвение за последние 3 года. Всего с 2014 по 2017 год компания получила 2,5 млн запросов на удаление информации из поисковой выдачи.

                Подробнее о том, что такое «право на забвение» и как оно работает, расскажем далее.

                Читать дальше →
              • REST API Best Practices

                Привет, Хабр! Представляю вашему вниманию перевод статьи "REST API Best Practices" автора Krishna Srinivasan.

                REST становится общим подходом для представления сервисов окружающему миру. Причина его популярности заключается в его простоте, легкости использования, доступе через HTTP и другие. Существует неправильное представление о том, что все данные, доступные через сеть, считаются REST, но это не так. В этой статье я собираюсь объяснить вам некоторые best practices, которые вы должны всегда помнить при реализации собственного REST приложения. Я бы хотел услышать ваш опыт в REST приложениях, поэтому если вы знаете best practies, которые не упомянуты в этой статье, пожалуйста, поделитесь с нами в комментариях.

                Disclamer: все best practies основаны на моем личном опыте. Если вы имеете другое мнение, не стесняйтесь отправлять его мне на email, и мы обсудим его.

                Здесь представлен список best practices, которые будут обсуждаться в этой статье:

                1. Конечные точки в URL – имя существительное, не глагол
                2. Множественное число
                3. Документация
                4. Версия вашего приложения
                5. Пагинация
                6. Использование SSL
                7. HTTP методы
                8. Эффективное использование кодов ответов HTTP
                Читать далее
              • DNSCrypt 2.0 и блокировка рекламы

                  В этой статье хотелось бы рассмотреть нововведения Dnscrypt, на конкретном примере, который наверняка окажется для кого-то полезным.

                  Для тех, кто не знает, Dnscrypt — это уникальный протокол шифрования DNS-трафика. Он даёт возможность защитить DNS-коммуникации от перехватов и подмены, и к примеру, обойти блокировки реализуемые на уровне DNS-запросов.

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

                  В этой статье, воспользуемся этим преимуществом и для разнообразия/пользы ограничим доступ к рекламным доменам.
                  Читать дальше →
                  • +5
                  • 30.3k
                  • 5
                • Документирование API — документация из тестов

                    Пост в продолжение темы экспериментальных решений, откуда будет переиспользован код для примера. В прошлом посте я затронул тему, как можно написать тесты на простой сервис, когда он выступает в роли черного ящика и из кода теста у нас нет прямого доступа к коду тестируемой программы. Ещё раз остановлюсь на том, что тестируемый сервис был реализован на языке Go, а тесты к сервису на языке Ruby и фрэймворке для тестирования RSpec. Стэк был выбран из собственных предпочтений и не имеет ключевого значения к рассматриваемой теме. В этой статье хочу рассмотреть вопрос документирования API, вновь используя не совсем стандартное решение.
                    Читать дальше →
                  • SSH у людей не достаточно безопасен. Как я борюсь с паранойей

                      Под моим надзором примерно 1000 железных серверов, VPS даже не начинаю считать. Пару десятков из них обладают весьма критичными данными. И банальный ssh с ключами в стандартной ситуации не достаточно безопасен. Не все «кожаные люди» берегут ключи, поговорим как защититься от возможности потери ключа пользователем.
                      Читать дальше →
                    • Отрицательный отбор кадров в иерархической структуре предприятия

                        Вступление


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

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

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


                        Читать дальше →
                      • Управление интровертами интровертом или опыт руководства техническими командами

                        Для начала об авторе – я более 20 лет проработал в ИТ в трех компаниях: EMC, IBM, Sun (в алфавитном порядке). Начинал как системный инженер сразу после университета, потом был старшим инженером, техническим консультантом, руководителем технических консультантов и, наконец, техническим директором, руководившим командой пресейлов и архитекторов всего более 70-ти человек. Кроме того, год я был лидером продавцов через партнеров (Channel Sales Leader), распределенных по Центральной и Восточной Европе. Ниже я попытаюсь поделиться своим опытом именно, как руководителя и, дабы не возникало не правильных или не нужных ассоциаций, я буду приводить примеры из практики во время работы на компанию ABC (тоже три буквы). Возможно, изложение несколько однобоко, поскольку все мои работодатели – крупные международные компании, и я работал в их региональных офисах. Ну, тогда с этой спецификой я не могу ничего поделать и то, что читатель сочтет не приемлемым и не правильным пусть и останется таковым персонально для него.

                        Читать дальше →
                      • Yargy-парсер и библиотека Natasha. Извлечения структурированной информации из текстов на русском языке

                          В 2020 году библиотека Natasha значительно обновилась, на Хабре опубликована статья про актуальную версию. Чтобы использовать инструменты, описанные в этом тексте, установите старую версию библиотеки pip install natasha<1 yargy<0.13.

                          Раздел про Yargy-парсер актуален и сейчас.


                          Есть стандартная задача извлечения именованных сущностей из текста (NER). На входе текст, на выходе структурированные, нормализованные объекты, например, с именами, адресами, датами:



                          Задача старая и хорошо изученная, для английского языка существует масса коммерческих и открытых решений: Spacy, Stanford NER, OpenNLP, NLTK, MITIE, Google Natural Language API, ParallelDots, Aylien, Rosette, TextRazor. Для русского тоже есть хорошие решения, но они в основном закрытые: DaData, Pullenti, Abbyy Infoextractor, Dictum, Eureka, Promt, RCO, AOT, Ahunter. Из открытого мне известен только Томита-парсер и свежий Deepmipt NER.

                          Я занимаюсь анализом данных, задача обработки текстов одна из самых частых. На практике оказывается, что, например, извлечь имена из русского текста совсем непросто. Есть готовое решение в Томита-парсере, но там неудобная интеграция с Python. Недавно появилось решение от ребят из iPavlov, но там имена не приводятся к нормальной форме. Для извлечения, например, адресов («ул. 8 Марта, д.4», «Ленинский проезд, 15») открытых решений мне не известно, есть pypostal, но он чтобы парсить адреса, а не искать их в тексте. C нестандартными задачами типа извлечения ссылок на нормативные акты («ст. 11 ГК РФ», «п. 1 ст. 6 Закона № 122-ФЗ») вообще непонятно, что делать.

                          Год назад Дима Веселов начал проект Natasha. С тех пор код был значительно доработан. Natasha была использована в нескольких крупных проектах. Сейчас мы готовы рассказать о ней пользователям Хабра.
                          Natasha — это аналог Томита-парсера для Python (Yargy-парсер) плюс набор готовых правил для извлечения имён, адресов, дат, сумм денег и других сущностей.
                          В статье показано, как использовать готовые правила из Natasha и, самое главное, как добавлять свои с помощью Yargy-парсера.
                          Читать дальше →
                        • CSS ScaleFlux, или как ускорить базы данных в два-три раза простой заменой NVMe

                            Базы данных, сети дистрибуции контента, big data, искусственный интеллект, машинное обучение — все эти data-driven сценарии требуют высокой производительности всей ИТ-инфраструктуры. Для подсистемы хранения все решается просто — установка скоростных NVMe и SSD вместо SAS и SATA. С вычислительной частью все сложнее — центральные процессоры не успевают за множеством операций, очень чувствительных ко времени. Для устранения этого «бутылочного горлышка» компания ScaleFlux разработала новые типы носителей. Внутри них бок о бок с 3D NAND памятью работают FPGA-компоненты, которые берут на себя множество типовых операций с данными. В этом посте мы подробно расскажем о решении ScaleFlux.


                            Читать дальше →