• Где покупать радиодетали и компоненты? Часть I: Россия

      Давайте поговорим о покупке электронных компонентов в интернете. Я собрал список интересных отечественных и зарубежных магазинов:

      а) которые заточены под любителей DIY и делают свои собственные крутые продукты: конструкторы, модули, обучающие курсы и т.д.;

      б) для профи, с широкой номенклатурой электронных компонентов.

      Продолжение: Часть II: зарубежные магазины

      Кадр из к/ф «Иван Васильевич меняет профессию»
      Продолжение
    • Как не продолбать пароли в Python скриптах

      • Tutorial


      Хранение паролей всегда было головной болью. В классическом варианте у вас есть пользователь, который очень старается не забыть жутко секретный «qwerty123» и информационная система, которая хранит хеш от этого пароля. Хорошая система еще и заботливо солит хеши, чтобы отравить жизнь нехорошим людям, которые могут украсть базу с хешированными паролями. Тут все понятно. Какие-то пароли храним в голове, а какие-то засовываем в зашифрованном виде в keepass.

      Все меняется, когда мы убираем из схемы человека, который старательно вводит ключ с бумажки. При взаимодействии двух информационных систем, на клиентской стороне в любом случае должен храниться пароль в открытом для системы виде, чтобы его можно было передать и сравнить с эталонным хешем. И вот на этом этапе админы обычно открывают местный филиал велосипедостроительного завода и начинают старательно прятать, обфусцировать и закапывать секретный ключ в коде скриптов. Многие из этих вариантов не просто бесполезны, но и опасны. Я попробую предложить удобное и безопасное решение этой проблемы для python. И чуть затронем powershell.
      Читать дальше →
    • Почему Wi-Fi не будет работать, как планировалось, и зачем знать, каким телефоном пользуется сотрудник



        Привет!

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

        Для разминки — небольшая задачка. Представьте себе беспроводную сеть Wi-Fi, состоящую из точки доступа (AP) и двух одинаковых клиентских устройств (STA1 и STA2).

        Читаем надписи на коробках:
        AP: 1733,3 Мбит/c
        STA1, STA2: 866,7 Мбит/c

        Внимание, вопрос. Оба клиента одновременно начинают загружать с сервера большой файл. На какую пропускную способность может рассчитывать каждое из устройств?
        Читать дальше →
      • Комбинированный датчик, с преферансом и поэтессами

          Сначала мы делали датчик температуры и влажности для офисов в красивом настенном корпусе с интерфейсом RS-485 Modbus, но пока делали, аппетиты немного выросли.

          В итоге, в компактный корпус вместили датчики:
          — концентрации СО2,
          — температуры/влажности
          — освещенности
          — шума
          — концентрации VOC — «летучих органических веществ (ЛОВ)»
          — движения

          А также:
          — ИК-передатчик (с приемником для обучения)
          — а еще умеет пищать и моргать «глазом» красным/зеленым
          Читать дальше →
        • AliceVision: фотограмметрия из командной строки

          • Translation
          • Tutorial
          Вам нужно автоматизировать огромное количество фотограмметрических сканов? Тогда у меня для вас хорошие новости.


          В видео показана программа для фотограмметрии Meshroom с открытым исходным кодом. Этот проект в разных формах существует уже довольно давно, но недавно разработчики выпустили двоичные файлы, поэтому их можно просто скачать и использовать. В ролике продемонстрировано использование GUI для загрузки изображений, их обработки, изменения параметров и т.д. Рекомендую вам попробовать эту программу в действии.

          Но меня интересует полная автоматизация. Если у вас есть сканирующая установка, на которой вы делаете по 100 и больше сканов в день, то необходимо полностью автоматизированное решение для пакетной обработки этих файлов. Данный пост является руководством и/или туториалом по решению этой задачи.
          Читать дальше →
          • +24
          • 8.8k
          • 3
        • SSLH: Прячем SSH/HTTPS/OpenVPN/Telegram за единым портом 443

          • Tutorial
          image

          SSH/HTTPS/OpenVPN/Telegram и всё на одном порту?! Что?!
          — Да!
          • Хотите скрыть наличее у вас некоторых сервисов?
          • В публичной wi-fi сети блокируется всё кроме 443 (https) порта?
          • Настроили Telegram Proxy/OpenVPN и не хотите его «светить» ?
          • SSH подключение к своему серверу из стран с цензурой?

          На все эти вопросы ответ один — Мультиплексирование SSL/TLS соединений, или SSLH.

          В посте мы рассмотрим как в 1 команду спрятать кучу сервисов за 1 портом.
          Читать дальше →
        • Делаем «умный» контроллер для кондиционера на ESP8266

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

            Задача


            В квартире стоят четыре кондиционера, ими нужно научиться управлять:

            • Из веб-интерфейса (у меня это Home Assistant, крутящийся на отдельном Raspberry Pi, но в идеале хочется простого подключения к любой системе);
            • Голосом (Google Assistant подойдёт, потом подумаем об Алисе);
            • Скриптами;
            • Дёшево...

            Читать дальше →
          • 15 советов по работе с Github

            • Translation
            • Tutorial

            Я 10 лет разрабатываю ПО, участвовал в нескольких open source-проектах и в многочисленных не-open source-проектах, работал в больших и малых командах, и везде мы использовали Github в качестве репозитория версионирования.

            За это время я перепробовал разные рабочие процессы, и хочу поделиться советами, как построить эффективный и прагматичный рабочий процесс по созданию и сопровождению качественного ПО, который можно применять в любом проекте.
            Читать дальше →
          • Как я использую git

              Intro


              Основам git мне пришлось научиться на своем первом месте работы (около трех лет назад).
              С тех пор я считал, что для полноценной работы нужно запомнить всего-лишь несколько команд:


              • git add <path>
              • git commit
              • git checkout <path/branch>
              • git checkout -b <new branch>

              И дополнительно:


              • git push/pull
              • git merge <branch>
              • git rebase master (а что, можно еще и на другие ветки ребейзить? О_о)

              В принципе, я и сейчас во многом так считаю, но со временем волей-неволей начинаешь узнавать интересные трюки.

              Читать дальше →
            • Хакинтош: разворачиваем macOS Sierra на Intel-PC подробно и понятно

              ПРОЧТИ МЕНЯ ПОЖАЛУСТО

              Если вы НЕ МОЖЕТЕ распаковать файлы на флешку, пожалуйста, отойдите от кливиатуры и срочно прочитайте книгу «Компьютер для чайников: подробное пособие как пользоваться ПК»!!!



              1. Все файлы залиты на МЕГУ. Кто испытывает с ней проблемы — в комментариях перезалили на торрент.
              2. Пожалуйста, не спрашивайте меня про установку Мака на ноутбуки. Прошу вас. Пожалуйста. Это очень геморройный процесс. Поставьте себе убунту и подключите тему Мака. Тот же экспириенс получите
              3. Я на хабре редко отвечаю, пишите в вк по всем вопросам.


              Данный мануал/гайд/etc написан для тех, кому лень собирать по кускам ту или иную информацию об установке «мака» на PC, все понятно и по полочкам.
              Читать дальше →
            • Asterisk. Интеграция с amoCRM, step-by-step guide

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



              Здесь я представлю свой опыт подключения Asterisk к amoCRM в виде пошаговой инструкции, осветив все необходимые нюансы, начиная от получения ssl-сертификата, настройки web-сервера и заканчивая демонстрацией работы получившейся связки.
              Читать дальше →
            • Корпоративный wifi на UBNT с порталом и доменной аутентификацией

                Всем привет. Хочу поделиться вариантом реализации корпоративного wifi на нескольких SSID с разными политиками доступа для каждой беспроводной сети и доменной аутентификацией.
                Схема тестового стенда выглядит так:


                Подробности под катом.
                Читать дальше →
              • Powershell и кирилица в консольных приложениях (updated)

                • Tutorial
                В процессе разработки очень часто возникает необходимость запустить из powershell скрипта консольное приложение. Что может быть проще?

                #test.ps1
                & $PSScriptRoot\ConsoleApp.exe
                


                Читать дальше →
              • Как понять, что происходит на сервере



                  Александр Крижановский ( krizhanovsky, NatSys Lab.)


                  По Сети уже давно бегает эта картинка, по крайней мере, я ее часто видел на Фейсбуке, и появилась идея рассказать про нее:


                  Читать дальше →
                • Багофича .RU или как получить проблемы там, где их не должно быть уже много лет

                    UPD. В связи с тем, что многие комментаторы не читают полностью, напишу здесь краткую суть проблемы: для .RU не очищаются Glue Records при изменении делегирования домена. Как минимум, для доменов, управляемых через Ru-Center и Reg.ru. Сама статья — это «история из жизни» о том, какие проблемы может вызвать такая «особенность» зоны .RU, как они были диагностированы и решены.



                    «Один мой друг» (с) рассказал историю про свои приключения с DNS.

                    Предыстория


                    Представьте, что заканчивается 2016 год, на ваших DNS серверах есть несколько сотен доменов, давным давно запущено штук 5 мощных DNS серверов в разных датацентрах, вы хотите наконец-таки избавиться от старых DNS серверов, которые последнее время просто тянут деньги на аренду и занимают место в стойке. Однако, сразу после попытки их отключения, телефоны поддержки раскаляются докрасна, поэтому старые сервера приходится быстро включить и вдумчиво разбираться в ситуации.

                    Глава 1


                    Еще раз проверяем DNS зоны, убеждаемся, что нигде нет старых адресов и очень давно. Проверяем из разных регионов запросами на каждый из своих NS. Везде всё отдаётся правильно. Берем tcpdump и смотрим запросы на 53 порт на старыx DNS. Оказывается, что запросов к ним удивительно много. И это при том, что IP адреса этих серверов уже много месяцев нигде не фигурируют!
                    Читать дальше →
                  • Я провел 3 месяца, пытаясь устроиться на работу после лагеря программирования, и вот чему я научился

                    • Translation
                    image

                    Меньше всего говорят о том, что будет после того как ты окончишь лагерь по программированию — когда ты пытаешься занять позицию разработчика с шестизначным окладом.

                    image
                    < 3% заявлений становились предложениями

                    Я окончил Hack Reactor в июле 2016, и мне потребовалось почти 3 месяца, прежде чем я принял предложение от Radius Intelligence. Я подавал заявления в 291 компанию, прошел 32 собеседования по телефону и 16 обычных, а также выполнил 13 задач по программированию, 11 из них — в офисах. И получил в итоге 8 предложений. Мне предлагали 60-125 тысяч долларов в компаниях США. В общем 2.8% заявок обернулись для меня выгодными предложениями.

                    Вот 5 вещей, которые я хотел бы знать, прежде чем устраивался на работу.
                    Читать дальше →
                  • Идеальный Мини-Хакинтош

                    • Tutorial
                    image

                    Когда в 2005 году Apple перешла на платформу Intel, энтузиасты со всего мира задались целью установить MAC OS X на обычные PC (Хакинтош). На пути реализации этой затеи стояли четыре причины. 2 физические и 2 юридические. Дело в том, что для запуска компьютера MAC используется не привычный BIOS, а собственный EFI загрузчик. Вторая причина, это чип SMC который установлен в каждом компьютере Mac. Он генерирует ключи для запуска всех системных приложений MAC OS X. Благодаря нашему соотечественнику под ником Netkas, удалось обойти эти два ограничения созданием эмулятора загрузчика EFI (Chameleon, Chemera, Clover) и эмулятора чипа SMC (FakeSMC.kext). Этих двух программных решений достаточно, что бы установить MAC OS на PC.
                    Читать дальше →
                  • Климатическая система в квартире своими руками

                    Кто-то в детстве мечтает изобрести лекарство от рака, кто-то — стать космонавтом или владельцем свечного заводика. А я мечтал о том, что у меня появится климатическая система, и в квартире, наконец, не будет душно, вечная простуда от сквозняков исчезнет, а горло перестанет першить от сухости. И теперь мечта исполнена!

                    Примерно с декабря 2015 по июнь 2016 года я читал форумы, катался по строительным магазинам, собирал систему в квартире и на балконе, паял контроллер и писал прошивку — и добился своего.

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

                    Схема установки
                    А если чуть подробнее, то...
                  • Обзор некоторых MOOC Coursera по компьютерным наукам

                    Скорее всего, если вы зашли на Хабр и читаете эту статью, то хоть раз в жизни да слышали про MOOC-курсы.

                    Но если все же не слышали, то MOOC (по-русски принято произносить «мук») означает «Massive Open Online Course» — массовый открытый онлайн-курс. Это настоящий феномен в образовании XXI века. Газета «New York Times» назвала даже 2012 год «годом MOOC» в связи с появлением на рынке дистанционного образования 3-х «китов» — Coursera, Udacity и EdX. MOOC-ам посвящено множество статей, кто-то видит в них будущее образования, кто-то, наоборот, угрозу. Пытаются также предсказать «традиционную» и «дистанционную» составляющии обучения будущего.




                    Однако в этой статье я не буду обсуждать перспективы развития дистанционного образования, а расскажу про свой опыт знакомства с курсами на платформе Coursera. Эти курсы будут полезны студентам, изучающим прикладную математику и информатику, в особенности анализ данных. Многое из того, что мне дали эти курсы, как я потом понял — это знания, которыми должен обладать любой уважающий себя исследователь данных (так я предпочитаю переводить профессию Data Scientist).
                    Читать дальше →
                  • Что читать о перспективных языках программирования

                      image

                      Начнем с важной информации: совсем не обязательно перспективные языки являются новыми. Им не так много лет, как вашим любимым Python или Ruby, их нет ни в одной топовой десятке популярных рейтингов (GitHut, RedMonk, TIOBE Index), а знание этих языков не дает пока существенной прибавки к зарплате (за исключением, возможно, Swift). Но и назвать их революцией, набирающей обороты в среде избранных, тоже нельзя. Безусловно, у них есть своя ниша, определенная доля рынка (до 2%) и сложившееся комьюнити. Просто в будущем именно они могут посягнуть на лавры топ-5, если не случится событие типа «черный лебедь».

                      За последние годы в рейтингах популярности языков мало что изменилось — одни опускаются, другие поднимаются, но никто не врывается в топ под лозунгом «лучший из лучших». Процесс захвата новых территорий для языка чаще всего занимает годы, и за это время успевает сформироваться необходимая база развития. Поэтому никаких эксклюзивов и написанных за вчерашний вечер уникальных языков в обзоре не будет — просто потому, что их время еще не настало. Но в ближайшие годы популярность незыблемых столпов, таких как Java (вся), JavaScript или PHP, будет снижаться, а их место постепенно займут «новички».
                      Читать дальше →