Как стать автором
Обновить
@granviread⁠-⁠only

Пользователь

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

Терминаторы в деле: автономные боевые роботы пришли на поля сражений

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

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

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

Однако известия о том, что подобное уже реально используется на полях сражений, обрушили плотину. После этого разговоры в ООН, конечно, продолжились — но гонка вооружений в области создания автономных боевых роботов (они же «автономные боевые системы», они же «автономные системы уничтожения», они же «смертоносные автономные системы вооружений» в документах ООН, строгая терминология ещё не устоялась) стала вестись публично и открыто.
Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии78

Распознание длинных аудио сервисом Yandex SpeechKit из командной строки bash/shell через API

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

Довольно давно Яндекс предоставляет платные сервисы по синтезу и распознанию речи. К сожалению, интерфейса для регулярного использования сервисов нет, поэтому на досуге написал скрипт, который позволяет через консоль отправлять запросы и получать результаты.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии15

Что в действительности кроет в себе страшная цифра одиннадцать — история Windows 11

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

Привет, Хабр. Мы продолжаем наш ежедекадный блог, рассказывающий о нововведениях в операционной системе Windows. Список предыдущих статей приведён здесь: [Что в действительности кроет в себе страшная цифра восемь]

Если в те стародавние времена, когда я описывал нововведения Windows 8, я был немного расстроен тем, что Microsoft очень подробно и внятно рассказывали о нововведениях в последних версиях ОС, в то врем как Хабра была полна флейма, то сейчас всё происходит по-другому. Как-то так даже Microsoft перестали рассказывать о том, что же на самом деле нового происходит в мире Windows и как это выглядит.

Не бойтесь, я сижу на новой винде и могу вам рассказать всё как есть.

Давайте, занырнём и посмотрим...
Всего голосов 88: ↑75 и ↓13+62
Комментарии146

Чтобы улучшить Госуслуги, нужна простая советская…

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

сода…команда неравнодушных людей! И это может быть непривычным. Потому что в сознании многих gosuslugi.ru — это что-то «чиновническое» и «бездушное», если угодно. Но на самом деле сотрудники портала — граждане страны, которые хотят сделать удобные и человечные сервисы для нас: тебя, меня, друзей и родных. Сейчас расскажем, как мы «очеловечиваем» портал.

Читать далее
Всего голосов 41: ↑34 и ↓7+27
Комментарии83

Превращаем старый телефон на Android в резервный сервер с помощью UrBackup/Linux Deploy. Часть 1

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


Сегодня я покажу вам, как запустить полноценный резервный сервер на рутованном телефоне Android с помощью UrBackup и Linux Deploy. Пластиковый мусор уже заполонил все вокруг, а в добавок к нему очередной глобальной эко-проблемой становятся еще и электронные отходы. Так зачем выбрасывать прекрасный, пусть даже потрескавшийся и поношенный, телефон?
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии52

Браузерные Push-уведомления на Javascript и PHP

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

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

В данной статье не будут "размусолены" принципы работы и тонкости Push уведомлений, только код

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

Как я искал идею для первого проекта на Arduino или Wake-on-LAN на Arduino

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


Предыстория


В свое время насмотревшись видео о том, как люди мастерят различные устройства вроде хексопадов, испытывал уважения к тем людям, кто это мастерил, с желанием научиться делать что-то подобное. Для себя лично по какой-то неведомой мне причине мог ощущать большую разницу в эмоциях от запрограммированного контроллера с банальным миганием светодиода в сравнении со сложным алгоритмом в софтовом продукте, причем выигрывал первый. Решив, что единственный доступный для меня способ достичь того состояния, когда из под моих рук сможет выйдет что-то подобное хексопаду — это начать программирование элементарных вещей. Выбор пал на Arduino в силу доступности самой платформы и избытка информации по ней.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии22

Домашний DPI, или как бороться с провайдером его же методами

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

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 246: ↑245 и ↓1+244
Комментарии187

Esp8266 управление через интернет по протоколу MQTT

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

Всем привет! В этой статье будет подробно рассказано и показано как буквально за 20 минут свободного времени настроить дистанционное управление модулем esp8266 с помощью приложения на Android по протоколу MQTT.

Идея дистанционного управления и мониторинга всегда будоражила умы увлеченных в электронике и программировании людей. Ведь возможность в любой момент времени получить или отправить нужные данные, не зависимо от своего местоположения, дает широкие возможности. В своих прошлых статьях ( Статья 1 и Статья 2) я пытался рассмотреть несколько доступных и относительно простых вариантах реализации дистанционного управления микроконтроллерами через интернет. Однако время и весь мир не стоит на месте – прогресс продолжает свое неумолимое движение вперед. За это небольшое время приобрел широкую популярность модуль esp8266 который благодаря низкой цене и встроенному wi-fi стал одним из основных составляющих «Умного дома».
Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии15

Протокол MQTT: концептуальное погружение

Время на прочтение12 мин
Количество просмотров216K
Протокол Message Queuing Telemetry Transport (MQTT) используется в течение многих лет, но сейчас он особенно актуален благодаря взрывному росту IoT: и потребительские, и промышленные устройства внедряют распределённые сети и граничные вычисления (edge computing), а устройства с постоянной трансляцией данных становятся частью повседневной жизни.

Это означает, что лёгкие, открытые и доступные протоколы со временем станут ещё важнее. В этой статье приводится концептуальное погружение в MQTT: как он работает, как используется сейчас и как будет использоваться в будущем.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии8

Архитектура архитектуры архитектора

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

Архитектор – это звучит… Звучит как-то не понятно. Наверное, поэтому всегда добавляют что-то. Ну типа «системный архитектор» или там «программный архитектор». Не то чтоб так стало понятно, что он делает, но точно кто-то важный. Я вообще пишу «архитектор информационных систем и программного обеспечения». Это ж как назовёшься -так и поплывешь! С архитекторами тут вообще такое дело – это как бы и не профессия. Ведь архитектором как стать? Либо тебя назовут таковым, либо сам назовёшься. Другого пути нет. Ни школы, ни спец. образования, никаких то там универсальных сертификатов нету. Только название и есть.

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

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

Чтоб избежать проверенного классического сценария «много, дорого, бестолково» нужны ориентиры. Пунктир намеченного пути на карте требований и функционала. Это не красота и элегантность рисунков Леонардо, и не лабиринты цвета Поллока. Архитектура вообще не про искусство. Нет, все любят, когда красиво. Вот я бы строил дом, тоже бы хотел не бетонную коробку, а чтоб в вечность. Но у вечности, однако свои расценки. Так что даже Джи-мэн с кейсом полным золота хочет хайп и тренды, но строго в бюджет. Архитектура даёт парадигму.

Read more
Всего голосов 33: ↑26 и ↓7+19
Комментарии26

Использование быстрых клавиш в командной строке Linux (BASH)

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

Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).

Она точно будет полезна начинающим своё знакомство с Linux и, уверен, пригодится тем, кто уже имеет опыт (не всегда годы практики учат работать быстрее).

Никогда не развивал навыка быстрой печати, но знание не одного десятка hotkey'ев, перечисленных в этом материале, позволяет набирать команды со скоростью мысли.

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

Читать далее
Всего голосов 143: ↑142 и ↓1+141
Комментарии64

Свой сервер видеоконференций Jitsi. Часть 1 (Обновлено)

Время на прочтение14 мин
Количество просмотров47K
Это первая статья, в которой я расскажу, как поднять свой собственный сервер видеоконференций Jitsi-meet. Я планирую выпустить три статьи на эту тему:

  1. Свой сервер видеоконференций Jitsi.
    Jitsi и все необходимые службы работают на одном сервере + сервис Jibri (для записи видеоконференций на отдельном сервере).
  2. Свой высоконагруженный сервис видеоконференций Jitsi.
    Jitsi и все необходимые зависимые службы работают на разных серверах для получения высокой производительности.
  3. Свой мессенджер Matrix-synapse в связке с Jitsi-meet.
    Настройка Matrix на своем сервере и объединение с Jitsi для видеозвонков.

В данной статье я расскажу, как поднять собственный сервер видеоконференций jitsi-meet. Для нормального функционирования мне пришлось собирать информацию по крупицам, общаться с разработчиками данной утилиты, перечитать всю документацию и облазить кучу форумов. Тут я собрал все в один мануал на русском.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии45

Как посчитать всё на свете одним SQL-запросом. Оконные функции PostgreSQL

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

Я с удивлением обнаружил, что многие разработчики, даже давно использующие postgresql, не понимают оконные функции, считая их какой-то особой магией для избранных. Ну или в лучшем случае «копипастят» со StackOverflow выражения типа «row_number() OVER ()», не вдаваясь в детали. А ведь оконные функции — полезнейший функционал PostgreSQL.
Попробую по-простому объяснить, как можно их использовать.


Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии54

Функции в JavaScript: секреты, о которых вы не слышали

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

Функции умеет писать каждый программист. Их часто называют объектами первого класса, потому что это ключевая концепция JavaScript. Но умеете ли вы использовать их эффективно?

Сегодня я дам несколько советов для продвинутой работы с функциями. Надеюсь, они вам пригодятся. В статье несколько разделов:

- Чистые функции

- Функции высшего порядка

- Кэширование функций

- Ленивые функции

- Каррирование

- Композиция функций

Читать далее
Всего голосов 24: ↑11 и ↓13-2
Комментарии4

Ключи от шкатулки Пандоры: нулевой пациент Эболы

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

Погибли тысячи людей, были потрачены миллиарды долларов, ВОЗ неоднократно предупреждала мир о возможности глобальной пандемии. Невероятными усилиями вспышки останавливали каждый раз, привлекали военных, врачей со всего земного шара. Разворачивались операции по спасению мира с десантом и оцеплением в десятки километров. Сегодня в разработке вакцины участвует весь мир. А слово “Эбола” знает каждый. Но с чего всё началось? Откуда появилось одно из самых опасных и широко разрекламированных заболеваний на планете? Кто он - самый первый нулевой пациент болезни четвертого уровня биологической угрозы?

Читать далее
Всего голосов 135: ↑127 и ↓8+119
Комментарии39

Обзор способов и протоколов аутентификации в веб-приложениях

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


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

Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

  • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
  • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
  • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.


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

Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

Однако в современных системах существуют и более сложные схемы аутентификации и авторизации, о которых я расскажу далее. Но начнем с простого и понятного.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии20

Встраиваем карты от Huawei в Android приложение

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

image


В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы будем использовать карты от Huawei вместо карт от Google.


Вот полный список статей из цикла:


  1. Создаём аккаунт разработчика, подключаем зависимости, подготавливаем код к внедрению. тык
  2. Встраиваем Huawei Analytics. тык
  3. Используем геолокацию от Huawei. тык
  4. Huawei maps. Используем вместо Google maps для AppGallery. ← вы тут

В чём сложность


К сожалению, с картами не получится так просто, как было с аналитикой и геолокацией. Что и неудивительно, т.к. это гораздо более сложная система сама по себе. И очень часто в приложениях карты и взаимодействие с ними кастомизируется. Например, отображают маркеры, кластеризуют их. Поэтому кода будет много, т.к. надо всё это заабстрагировать, имея в виду некоторые отличия в API карт разных реализаций.

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

Установка и эксплуатация «Rudder»

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

Два года назад, в наследство от предыдущего админа, мне достался данный софт. В интернете кроме официальной документации найти ничего не получалось. Даже сейчас, если загуглить "Rudder" то в 99% случаев будет выдавать: штурвалы кораблей и квадрокоптеры. Комьюнити данного софта ничтожно мал, поэтому я решил поделиться своим опытом и граблями. Может быть кому-то это будет интересно.

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии14

Делаем вебсокеты на PHP с нуля

Время на прочтение18 мин
Количество просмотров304K
Некоторое время назад я выбирал библиотеку для работы с вебсокетами. На просторах интернета я натыкался на статьи по интеграции node.js с yii, а почти все статьи о вебсокетах на хабре ограничивались инструкциями к тому, как использовать phpdaemon.

Я изучал библиотеки phpdaemon и ratchet, они достаточно монструозны (причём используя ratchet для отправки сообщения конкретному пользователю рекомендовано дополнительно использовать wamp). Мне не совсем было понятно для чего использовать таких монстров, которые требуют установку других монстров. Почитав исходники этих, а также других библиотек, я разобрался как всё устроено и мне захотелось написать простой вебсокет-сервер на php самостоятельно. Это помогло мне закрепить изученный материал и наткнуться на некоторые подводные камни, о которых я не имел представления.

Так я решил написать необходимый для меня функционал с нуля.

Получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →
Всего голосов 88: ↑76 и ↓12+64
Комментарии77
1

Информация

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