Как стать автором
Обновить
-1
0
Иван @habl

Инженер промышленной автоматики

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

Бьярне Страуструп о контроле над языком, удалении старых функций, заимствованиях у Rust и многом другом

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

Этим летом на онлайн-конференции C++ Russia побывал самый почетный гость, какой только может быть на мероприятии по C++: создатель этого языка Бьярне Страуструп. Мы поговорили с ним о контроле над языком, нововведениях, удалении старых функций, о том, почему у языка нет четкой экосистемы, и как так получилось, что у С++ нет стандартной сетевой библиотеки.


А поскольку сообщество C++ вечно обсуждает Rust, не обошлось и без вопроса о заимствованиях между этими языками.



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


  • написал множество публикаций, в том числе книги «Язык программирования С++» и «Программирование: Принципы и практика использования C++»
  • работает управляющим директором в отделе технологий компании «Морган Стенли» в Нью-Йорке
  • преподает в Колумбийском университете
  • принимает активное участие в работе комитета по стандартизации C++
  • состоит в Национальной академии инженерии США, IEEE, Ассоциации по вычислительной технике. Исследует программирование в области распределенных вычислений, инструменты развития ПО и языки программирования.
  • магистр и заслуженный профессор Орхусского университета и доктор по направлению «Информатика» Кембриджского университета, почетный член научного сообщества Колледжа Черчилля, заслуженный профессор Санкт-Петербургского ИТМО

Вопросы ему задавали Сергей Платонов (С++ программист, организатор С++ Siberia) и Сергей Федоров (руководитель разработки бэкенда Яндекс.Лавки). Под катом — перевод, а также видеозапись интервью для тех, кто хочет послушать на английском.

Всего голосов 59: ↑56 и ↓3+53
Комментарии23

Многоликая Убунта в 2020 году

Время на прочтение9 мин
Количество просмотров131K
Перед вами необъективный, несерьёзный и нетехнический обзор операционной системы Ubuntu Linux 20.04 и пяти её официальных разновидностей. Если вас интересуют версии ядра, glibc, snapd и наличие экспериментального сеанса wayland — вам не сюда. Если вы впервые слышите о Линуксе и вам интересно понять, как о ней думает человек, который сидит под Убунтой уже восемь лет, то вам сюда. Если вы просто хотите посмотреть что-то не очень сложное, слегка ироничное и с картинками, то вам тоже сюда. Если вам кажется, что под катом куча неточностей, упущений и передёргиваний и напрочь отсутствует логика — возможно, так и есть, но это же нетехнический и необъективный обзор.

Картинка для привлечения внимания — коллаж из шести скриншотов с рабочими столами каждого из рассмотренных в обзоре дистрибутивов
Читать дальше →
Всего голосов 102: ↑84 и ↓18+66
Комментарии502

Вы просили подсказку? Мы ее вам дадим

Время на прочтение1 мин
Количество просмотров17K
UPD ЛАЗЕР ВЗЛОМАН!

Гиря, летящая в аквариум на сервер, его уничтожение, короткое замыкание и пожар через полтора часа, отсчет пошел. Enjoy the show!



Присоединиться к зрителям можно в дискорде.

Вы далеко зашли и отгадали почти все загадки, но остановились на самом простом и одновременно самом сложном.
Всего голосов 54: ↑46 и ↓8+38
Комментарии27

STM32CubeMonitor стоит попробовать

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

Введение


STM32CubeMonitor — утилита для удобного отображения данных с контроллеров семейства STM32. Причем не требуется никакого дополнительного оборудования, только плата с контроллером и программатор (я пробовал и китайский свисток и оригинальный st-link\v2). Слово «Cube» в название не означает привязку к CubeMx\HAL, от вас требуется всего лишь прошивка в формате "*.elf", что не может не радовать. Данная утилита позволяет чрезвычайно быстро и просто выводить данные с контроллера в реальном времени в виде графика, а так же осуществлять постобработку(присутствуют наборы основных математических и тригонометрических функций).
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии13

Простой графический интерфейс для M5Stack (Arduino)

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

Привет! Сегодня мы познакомимся с такой штукой как M5 UI. Благодаря M5 UI Вы можете с помощью пары строк кода подключать всевозможные поля, кнопки, ползунки и переключатели, создавать условные слоя. Несмотря на то, что процесс подключения элементов UI очень прост, Вы также можете воспользоваться наглядным инструментом M5 UI Designer for Arduino IDE.



Рисунок 1

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

Еще раз о передатчиках и приемниках 433 МГц

Время на прочтение10 мин
Количество просмотров179K
Простейший комплект из приемника и передатчика ISM-диапазона 433 МГц завоевал заслуженную популярность в среде любителей электроники. Комплекты дешевы (даже в «Чипе-Дипе» их можно купить рублей за 300, а на Ali, говорят, вообще за полтинник), просты и надежны. Кроме того (о чем вы, возможно, не подозреваете), это самый дальнодействующий и проникающий способ беспроводного обмена данными — сигнал на частоте 433 МГц куда лучше проходит через препятствия и действует на более далеком расстоянии, чем в популярном диапазоне 2,4 ГГц (433 МГц полностью задерживаются стенкой в полметра бетона, а Wi-Fi умирает уже на 10 сантиметрах). Допускаю, что недавно появившиеся модули MBee-868, будучи снабженными соответствующей (направленной) антенной, «стреляют» дальше, но они как минимум на порядок дороже, сложнее в подключении, требуют управления энергосбережением и предварительной настройки. И вдобавок частота 868 МГц вдвое хуже проходит через препятствия (хотя, конечно, несравненно лучше частоты 2,4 ГГц).



О приемниках-передатчиках 433 МГц написано очень много (в том числе и на хабре, конечно). Однако, правильно включать в схему этот комплект по какой-то странной причине, кажется, не умеет никто. Когда я в который раз прочел вот тут, что комплект «принимал на 8-ми метрах в пределах прямой видимости, 9-ый метр осилить не удалось», мое терпение лопнуло. Какие еще 8 метров?! В 40-50 я бы поверил, хотя в реальности, наверное, дальность еще больше.
Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Комментарии57

Маленькая паяльная станция своими руками v2

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

Некоторое время назад я собрал маленькую паяльную станцию, о которой хотел рассказать. Это дополнительная упрощенная паяльная станция к основной, и конечно не может ее полноценно заменить.


Основные функции:

1. Паяльник. В коде заданы несколько температурных режимов (100, 250 и 350 градусов), между которыми осуществляется переключение кнопкой Solder. Плавная регулировка мне тут не нужна, паяю я в основном на 250 градусах. Мне лично это очень удобно. Для точного поддержания температуры используется PID регулятор.

Заданные режимы, пины, параметры PID можно поменять в файле 3_Solder:

struct {
  static const byte   termistor   =  A2;  // пин термистора
  static const byte   pwm         =  10;  // пин нагревателя
  static const byte   use         =  15;  // A1 пин датчика движения паяльника
  int                 mode[4]     =  {0, 150, 250, 300}; // режимы паяльника
  byte                set_solder  =  0; // режим паяльника (по сути главная функция)
  static const double PID_k[3]    =  {50, 5, 5};    // KP KI KD
  static const byte   PID_cycle   =  air.PID_cycle; // Цикл для ПИД. Участвует в расчетах, а также управляет частотой расчетов ПИД
  double PID_in;  // входящее значение
  double PID_set; // требуемое значение
  double PID_out; // выходное значения для управляемого элемента
  //unsigned long time;
  unsigned long srednee;
} sol;
Всего голосов 29: ↑26 и ↓3+23
Комментарии23

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть II

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


Всего голосов 63: ↑60 и ↓3+57
Комментарии23

Что делать, если к вам попал Android со сломанным сенсорным дисплеем

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

В один прекрасный день ко мне в руки попал Nexus 4. В наших краях это редкость, поэтому хотелось бы использовать его как основной телефон. К сожалению, тач у него разбит. Одна из болячек всех современных смартфонов. Ну, решено было восстанавливать. Купил тач на ebay. Теперь ждать слоупочту россии месяцок-другой. Захотелось узнать о девайсе побольше, поработать с ним, пока посылка едет. Заодно проверить, всё ли работает. А то, может, камера или динамики тоже покрошились. В данной статье рассмотрим захват управления девайсом, если сломан тач.
Читать дальше →
Всего голосов 65: ↑57 и ↓8+49
Комментарии53

Как устроено новое поколение онлайн-банков

Время на прочтение11 мин
Количество просмотров5.2K
Доходность от 8 до 12% годовых на вклад в долларах США? С регулярными начислениями процентов и возможностью закрыть вклад в любой момент? Звучит громко и слишком хорошо. Но именно такие условия предлагает инвесторам новая категория онлайн-банков, разработавшая современное решение в сфере взаимного (peer-to-peer) кредитования.

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

Наилегчайший старт в STM через «одно место»

Время на прочтение5 мин
Количество просмотров23K
Уже, наверное, прошло время религиозных войн AVR против STM, но нет-нет да наблюдаются вспышки столкновений двух лагерей. Практически у любой публикации на тему поделок на AVR обязательно будет каммент вроде «Да сколько уже можно лохматить бабушку, давно пора перейти на STM», дальше вариации на тему цены, количества ног и таймеров. Если STMщик более продвинут, обязательно будет указание, что DMA в AVR нет и не будет, по этому AVR должна умереть. Зачем простому блинку-вольтметру-градуснику DMA, гора 16 разрядных таймеров, 100 ног и 12 битный АЦП никто как правило не объясняет. Зачем нужен такой комбайн в устройстве, которое легко вывозит Tiny13, которая при этом не загружена даже на треть своих ресурсов никто не будет разбираться. Просто надо переходить на STM32, и баста. Ибо вот.

И надо сказать, есть у людей тяга к новизне. А действительно, может попробовать? А вдруг понравится? Вот только Референс Мануал на популярный STM32F103C8T6, на котором основана самая массовая Голубая таблетка в 1126 страниц что-то как-то не очень располагает к «быстрому старту». Даже отдельную утилиту, так ненавидимый аксакалами «калокуб», и ту надо изучать, что там к чему. Да и вникнув в Cube, стартовать за 5 минут вряд ли получится, генерируемая им портянка не самое доступное чтиво на ночь, просто «в лоб» врубиться, о чём там речь получится не у каждого.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии61

Пишем протоколы счетчиков Меркурий 230 и Меркурий 200 для OpenSCADA

Время на прочтение5 мин
Количество просмотров50K
Для кого
— Для тех кто использует OpenSCADA, но не может реализовать больше чем решения «из коробки»
— Для тех кто ищет СКАДу для себя, но так и не может определится
— Для тех кто забросил этот проект, так и не разобравшись как он работает

Зачем
— Данное решение позволяет считывать показания счетчиков меркурий 230 и меркурий 200 без каких либо лимитов
— Это бесплатно


Проекту openscada (oscada.org) уделяют не заслужено мало внимания, о нем написана всего одна статья на хабре. Большинство инженеров боятся трогать и трехметровой палкой этот продукт, черт его знает какой этот ваш линукс. Разрабатывает его уже не первый десяток лет фактически один человек, Роман Савоченко.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии37

Rhasspy — опенсорсный и полностью офлайновый речевой тулкит. Распознавание русского языка. Никаких утечек в облако

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

Фото из сравнения микрофонных массивов для DIY-устройств типа самодельной умной колонки

Системы вроде Amazon Echo передают в облако для хранения ваши конфиденциальные разговоры (даже записанные случайно). В некоторых случаях записи прослушиваются живыми операторами. Это не просто потеря конфиденциальности. Это как добровольно впустить в свою квартиру «товарища майора», который стоит рядом 24 часа в сутки, слушает и внимательно записывает, притворяясь услужливым ассистентом.

Вместо покупки коммерческой системы у корпораций типа Google, Amazon или «Яндекс», вы можете собрать аналогичную опенсорсную систему на базе Raspberry Pi 2-3 B/B+, персонального компьютера или ноутбука.

Rhasspy — безопасный голосовой помощник, который работает автономно. Он ничего не передаёт на удалённые сервисы, при этом успешно справлятся с распознаванием речи и голосовых команд.
Читать дальше →
Всего голосов 48: ↑44 и ↓4+40
Комментарии51

Как общаются машины — протокол MQTT

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

В предыдущей статье мы разбирали протокол Modbus, являющийся стандартом де-факто в промышленности для M2M-взаимодействия. Разработанный в далеком 1979 году, он имеет ряд существенных недостатков, которые решает MQTT.

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

Главные особенности протокола MQTT:

  • Компактный и легковесный — минимальные накладные расходы на пересылку данных, для экономии трафика.
  • Устойчивость к потерям — гарантированная доставка в условиях нестабильных сетевых подключений.
  • Асинхронный — позволяет обслуживать большое количество устройств, и не зависит от сетевых задержек.
  • Поддержка QoS — возможность управлять приоритетом сообщений и гарантировать доставку сообщения адресату.
  • Динамическая конфигурация — не требует предварительно согласования полей и форматов данных, может конфигурироваться «на лету».
  • Работает за NAT — клиенты могут находиться за NAT, только сервер (брокер) должен иметь реальный IP. Позволяет обойтись без VPN и пробрасывания портов.
  • Удобная адресация — поля данных имеют текстовые названия, понятные для человека. Не нужно запоминать цифровые адреса и битовые смещения.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии33

Малиновый Прог против Интернета Кирпичей, или Raspberry Pi с графикой на read-only microSD

Время на прочтение16 мин
Количество просмотров86K
Запуск Raspberry Pi с полной поддержкой графики на microSD, навсегда остающейся в режиме read-only после установки системы. Отсутствие какой-либо записи данных на флэш-память повышает надёжность устройства, приближая его к промышленному классу изделий. Пошаговая инструкция. Небольшой театр инженерного абсурда для развлечения аудитории.


Мне понадобилось сетевое устройство с открытым кодом и выходом HDMI, и я решил попробовать Малиновый Прог. Да, я именно так предлагаю переводить Pi: Прог. Понятное дело, даже одноплатнику нужна операционка. И вот, захожу я на официальный сайт, ожидая встретить там подробное руководство по созданию суровой, неломаемой Вещи à la turnkey box. Но народ, как ни в чём не бывало, устанавливает Ubuntu (т.е. Raspbian Jessie) прямо на microSD, размещая и swap там же. Как обычный десктоп, face palm.

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

Итак, по стандартной инструкции нормальный одноплатник превращается в раздутый десктоп со средним временем жизни год-полтора, пока изношенная флэшка не сдохнет, превратив в общем-то хороший девайс в кирпич. И большинство людей, похоже, это вполне устраивает. Меня — нет.
Читать дальше →
Всего голосов 65: ↑60 и ↓5+55
Комментарии205

Алиса помнит всё

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


Сегодня мы будем делать навык (приложение) для Алисы — своеобразную записную книжку (или стикер на холодильник): если во фразе пользователя (он же на профессиональном сленге юзер) есть слово "Запомни" — вся фраза сохраняется, и при следующем запуске навыка — будет любезно зачитана пользователю. Код приложения мы пишем на Node.js, для выполнения кода будем использовать Yandex Cloud Functions, а хранить данные — в Firebase Cloud Firestore. В результате у нас должен получиться точно такой же навык как "Запомни и Забудь", опубликованный в каталоге навыков Алисы.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии2

Нарушает ли синий свет биоритм человека?

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


Вы наверняка слышали или читали о том, что освещение синего цвета очень вредное для зрения и для биологических часов. С широким распространением среди населения планеты различного рода устройств, имеющих экраны и мониторы, это утверждение еще больше укрепилось в нашем подсознании. Даже смартфоны меняют настройки своих экранов в определенное время суток, чтобы не вредить пользователю ужасающим синим цветом, бьющим в глаза. Считается, что именно синее освещение обладает самым сильным влиянием на биологические часы человека. Но так ли страшен синий свет, как его малюют? Как оказалось, нет. Группа ученых из Манчестерского университета (Великобритания) провела ряд экспериментов, в которых определила связь между хроматическими воздействиями и циркадным ритмом мышей. В какое время какое освещение лучше, чем так особенен синий свет и почему утверждение про его вред не до конца правдиво. Об этом мы узнаем из доклада исследовательской группы. Поехали.
Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии42

Программируем управление освещением по датчикам движения и освещения на Node-RED

Время на прочтение16 мин
Количество просмотров90K
В русскоязычном интернете пока мало статей о такой среде программирования как Node-RED. Данная статья приоткроет тайну завесы об этом продукте и покажет на примере создания алгоритма управления освещением по датчикам движения как просто с помощью Node-RED можно реализовать различные сценарии и правила автоматизации умного дома в полностью в графическом виде без написания какого-либо кода.


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

Двухразрядный термометр

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


Этот двухразрядный светодиодный термометр автор изготовил в качестве подарка на день рождения сыну друга. Ему всего два года, и цифры он уже читает, а буквы — нет. Теперь он может узнавать температуру за окном самостоятельно. Датчиком в термометре служит микросхема DS18B20, работающая по протоколу 1-Wire, а микроконтроллер применён типа ATtiny84. Плата — квадратная со стороной в 25 мм, по размерам она сравнима с монетой в 50 пенсов. Автор планирует поместить плату во влагозащищённый корпус и разместить за окном. Индикация включается кратковременно раз в 24 секунды, и батарейки CR2032 хватает примерно на год.
Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Комментарии78

Где бесплатно пообщаться на английском с носителем

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

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


На случай, если не хочется читать всю статью, вот:

howdoyou.do, lingoglobe, coffeestrap, wespeke, speaky, conversationexchange, easylanguageexchange, speaking24.com.

А если хотите детальнее узнать, что полезного можно найти на этих сайтах, добро пожаловать в статью.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии23

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность