Search
Write a publication
Pull to refresh
170
1

java / open source

Send message

Дата-дом: какие данные генерирует экосистема умных вещей

Reading time6 min
Views3.4K

(с)

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

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

Умный дом — не просто пространство, в котором вы можете управлять шторами, холодильником, лампочками и др. Настоящий умный дом, использующий IoT и достижения Data Science, становится генератором ценных данных, которые напрямую влияют на качество жизни и поведение человека.

Сегодня мы расскажем о влиянии данных IoT на формирование привычек и моделей поведения.
Читать дальше →

[Flipper Zero] отказываемся от Raspberry Pi, делаем собственную плату с нуля. Поиск правильного WiFi чипа

Reading time4 min
Views91K


Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который я разрабатываю с друзьями. Предыдущий пост [1].

Много всего произошло с момента первого поста про флиппер. Мы усердно работали все это время и проект претерпел радикальные изменения. Главная новость в том, что мы решили полностью отказаться от Raspberry Pi Zero и делать свою плату с нуля на базе чипа i.MX6. Это значительно усложняет разработку и полностью меняет всю концепцию, но я уверен, что оно того стоит.

Также мы до сих пор не нашли правильный WiFi чипсет, который поддерживает все нужные функции для WiFi-атак, при этом поддерживает диапазон 5Ghz и не устарел на 15 лет. Поэтому я приглашаю всех поучаствовать в нашем исследовании.

В статье я расскажу, почему мы приняли такое решение, на каком этапе находится проект, текущие задачи, и как можно принять участие.

Как SEO-оптимизация и алгоритмы Google уничтожили настоящий интернет

Reading time5 min
Views58K
Примечание от переводчика: этот текст — перевод-компиляция двух небольших англоязычных заметок, которые автор почему-то разделил на два разных текста. Я уверен, что логически они связаны и представляют некоторую ретроспективную ценность. В первую очередь тем, что оспаривают устоявшееся мнение о том, что раньше интернет был похож на бурлящий котел, первичный бульон, а сейчас он — стройный, понятный и с каждым годом становится все лучше. Конечно, местами автор перегибает палку, но во многом с ним сложно не согласиться. Текст достаточно эмоционален, что я, конечно же, попытался максимально передать и адаптировать в ходе перевода. Приятного чтения.



Как SEO-оптимизация уничтожила интернет


В промежутке между 1998 и 2003 годом поиск в Google был просто волшебным. Я помню, как вводил какую-то смутную комбинацию, типа «oil mother's milk» и в итоге попал на страницу Wired с интервью Томаса Голда, астрофизика, который рассказывал о том, что залежи углеводородов (oil) пополняются за счет давления внутри геологических пластов.

Если вы сегодня ищете что-то техническое, конкретное, академическое или вообще — некоммерческое, то удачи вам. Лучшая в мире информационно-поисковая система превратилась в нечто, напоминающее Digg эры 2006 года: индексы популярности контролируются небольшим количеством финансово мотивированных игроков. Они называют себя «оптимизаторами».
Читать дальше →

Потокобезопасный std::map с производительностью lock-free map

Reading time21 min
Views34K

Примеры использования и тестирование потоко-безопасного указателя и contention-free shared-mutex


В этой статье мы покажем: дополнительные оптимизации, примеры использования и тестирование разработанного нами потоко-безопасного указателя с оптимизированным разделяемым мьютексом contfree_safe_ptr<T> – это эквивалентно safe_ptr<T, contention_free_shared_mutex<>>
В конце покажем сравнительные графики тестов нашего thread-safe указателя и одних из лучших lock-free алгоритмов из libCDS на процессорах Intel Core i5/i7, Xeon, 2 x Xeon.
Читать дальше →

Взять и влиться в музыкальное программирование — языки, которые помогут это сделать

Reading time4 min
Views12K
В одном из предыдущих материалов мы писали о ЯП Sporth, разработанном для проведения музыкальных live-сессий. Сегодня расскажем еще об одном инструменте для «музыкального программирования» — языке Csound. И поговорим о его аналогах — SuperCollider и Pure Data.

Lua на STM32

Reading time4 min
Views7K
Привет!

Иногда хочется быстро что-то попробовать на микроконтроллере, запрограммировать маленький работающий прототип какой-то идеи. Для этих целей, как известно, хорошо подходят скриптовые языки. В этой статье я хочу рассказать, как с помощью Embox запустить интерпретатор Lua (cтандартный, не eLua) на STM32. Для демонстрации помигаем светодиодом по сети с помощью библиотеки luasocket, а также немного поработаем с http.

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

Что происходит с транспортом в кризис (первая неделя апреля)

Reading time7 min
Views8.8K
CAPA Centre for Aviation считают, что большинство авиакомпаний разорится к маю, если правительства не вмешаются. Как можно догадаться, вмешаться они могут либо деньгами, либо национализацией с деньгами, либо придумать ещё что-то, что в итоге обернётся деньгами.

В список из 646 системообразующих компаний для экономики нашей страны (кроме «Фонбета») вошли вот эти авиакомпании:

96	ООО "Авиакомпания Волга-Днепр"
97	АО "Авиакомпания "Россия"
98	ОАО "Авиакомпания "Уральские авиалинии"
99	ООО "Авиакомпания "Победа"
100	ПАО "Авиакомпания "ЮТэйр"
101	ПАО "Авиакомпания Сибирь"
102	ПАО "Аэрофлот"
103	ООО "ЮАэро"

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

Мы сделали дашборд с аналитикой по рейсам: каждые пару часов обновляются статусы аэропортов и рейсов в них:



Это «радар надежды», потому что именно по нему можно будет видеть, как восстанавливается транспортная сеть перелётов из России. Сейчас общее состояние — 401 рейс из 3168 внутри России и 6 рейсов из 899 за границу.

Что мы узнали о SRE, когда обработали первые 150 тысяч продакшн-инцидентов

Reading time11 min
Views5.6K
Абсолютной надежности приложения или сервиса нельзя достичь. Пользователи этого не заметят из-за сбоев посредников — сотовых сетей или провайдеров, но при этом останутся без новых функций, потому что все разработчики будут заняты поддержанием стабильности. Но можно достичь того уровня надежности, которого будет достаточно, чтобы были довольны клиенты, бизнес и инженеры с разработчиками. В этом помогает концепция Site Reliability Engineering, которую ввел Google в 2003 году. Основная ее задача — предотвратить «футбол» с багами между разработкой и эксплуатацией.



Концепция SRE содержит много «странных вещей». В SRE разработчики не только пишут код, но и следят за тем, как он работает в продакшне. Доступность и надежность приложений и сайтов начинается с измерения доступности в виде четких показателей и установки показателей надежности. Еще в SRE есть «право на ошибку» или Error Budget. Когда это «право» исчерпано, команда занимается повышением надежности. Если нет — работает над новыми функциями.

Обо всем этом расскажет Матвей Кукуй. SLI, SLO и Error Budget, источники инцидентов и их особенности, инструкция по наведению порядка в мониторинге — об этом под катом через кейсы из реальной жизни.

Укрощая зверя: legacy-код, тесты и вы

Reading time10 min
Views9.3K
Legacy-код — это «старый» код, возраст которого может быть как 2 месяца, так и 10 лет. Часто его писали разработчики, о которых в компании смутно помнят. Возможно, их вообще не было, а legacy-код родился вместе со Вселенной во время Большого Взрыва. С тех пор требования к нему менялись много раз, код правили в режиме «нужно было еще вчера», а документацию никто не писал, как и тесты. Legacy-код запутан и хрупок, в нем не видно ни начала, ни конца. Как к нему подступиться?


Здесь и далее кадры из сериала «Рик и Морти». Авторы Джастин Ройланд и Дэн Хармон.

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

Кирилл Борисов 12 лет в индустрии, за эти годы прошел долгий путь по костылям, битому коду и гниющим каркасам старых систем: от монолитных учетных систем до микросервисов авторизации. Путешествие наградило его опытом и историями, которыми он поделится в виде ценных советов.

Мир магии PostgreSQL: интервью с Николаем Самохваловым

Reading time17 min
Views9.6K
Сегодня мы поговорим с Николаем, «борцом» за продвижение новых технологий в мире БД, членом нашего программного коммитета и активным участником всевозможных конференций. Главные темы — самоуправляемые СУБД, DBA AI, облака, NoSQL, встроенные механизмы контроля БД, доклады на РИТ++ и HighLoad++ Siberia, а также масса дельных советов и примеров, которые могут пригодится в реальной работе как разработчику, так и DBA.


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

Микросервисы: размер имеет значение, даже если у вас Kubernetes

Reading time7 min
Views31K
19 сентября в Москве состоялся первый тематический митап HUG (Highload++ User Group), который был посвящён микросервисам. На нём прозвучал доклад «Эксплуатация микросервисов: размер имеет значение, даже если у вас Kubernetes», в котором мы поделились обширным опытом компании «Флант» в области эксплуатации проектов с микросервисной архитектурой. В первую очередь он будет полезен всем разработчикам, задумывающимся о применении этого подхода в своём настоящем или будущем проекте.



Представляем видео с докладом (50 минут, гораздо информативнее статьи), а также основную выжимку из него в текстовом виде.

NB: Видео и презентация доступны также в конце этой публикации.

Как настроить Elasticsearch, чтобы не было утечек

Reading time5 min
Views15K
За последний год возникало много утечек из баз Elasticsearch (вот, вот и вот). Во многих случаях в базе хранились персональные данные. Этих утечек можно было избежать, если бы после разворачивания базы администраторы потрудились проверить несколько несложных настроек. Сегодня о них и поговорим.

Сразу оговоримся, что в своей практике используем Elasticsearch для хранения логов и анализа журналов средств защиты информации, ОС и ПО в нашей IaaS-платформе, соответствующей требования 152-ФЗ, Cloud-152. 


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

Отображение разработчикам статуса контроля качества исходного кода в SonarQube

Reading time5 min
Views7.4K

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


Задача: Показывать разработчикам статус контроля качества исходного кода в SonarQube.


Есть два способа решения:


  • Запускать скрипт проверки статуса контроля качества исходного кода в SonarQube. Если контроль качества исходного кода в SonarQube не проходит, то фейлить сборку.
  • Показывать на главной странице проекта статус контроля качества исходного кода.
Читать дальше →

Справочник по собеседованиям для тех программистов, которые их не понимают

Reading time3 min
Views147K

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

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

Ускоряем OpenVPN на роутере Openwrt. Альтернативная версия без паяльника и хардварного экстремизма

Reading time4 min
Views18K


Всем привет, недавно прочитал давнюю статью о том, как можно ускорить OpenVPN на роутере, перенеся шифрование на отдельную железку, которая припаивается внутри самого роутера. У меня аналогичный с автором случай — TP-Link WDR3500 с 128 мегабайтами оперативки и бедным процессором, который напрочь не справляется с шифрованием туннелей. Однако, лезть в роутер с паяльником мне категорически не хотелось. Под катом мой опыт выноса OpenVPN на отдельную железку с резервированием на роутере на случай аварии.
Читать дальше →

Не боги горшки обжигают

Reading time5 min
Views69K
Дима: Читал эту статью? (Разработчики — никакая не элита, а голые короли индустрии). Что скажешь?

Я: Прочитал эту статью вчера
Я: В двух словах моё мнение целиком не выразить
Я: Это, скорее, тянет на получасовой разговор. Минимум

Дисклеймер


  1. Несмотря на то, что есть, о чем сказать, постараюсь не превратить своё повествование в безумный лонгрид
  2. Мы немного коснёмся рыночных и экономических отношений, но давайте постараемся не удариться в политическую дискуссию
  3. Это моя первая статья на Хабре. Почти уверен, что совершаю “литературное” самоубийство, но хочется ответить на некоторые вопросы как минимум самому себе

Разработчики действительно УЖЕ не элита



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

Что принёс нам Pandas 1.0

Reading time2 min
Views14K


9 января состоялся релиз Pandas 1.0.0rc. Предыдущая версия библиотеки — 0.25.


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


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

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

Low-code платформы: панацея или рискованная ставка?

Reading time6 min
Views43K

Low-code платформы (Low code application platforms, LCAP) возникли как реакция на сложность и многообразие современных средств разработки ПО.


Согласно Gartner, одним из самых известных игроков в этой области является Mendix. Продажа Siemens за космические $700 млн. это подтверждает. Так что я буду использовать эту платформу как пример, хотя аналогичные выводы будут верны и для Outsystems, Appian, Kony, Betty Blocks и других.


image


Итак, ориентируя продажи на топ-менеджеров, вендоры low code платформ обещают, что даже простые пользователи смогут самостоятельно создавать бизнес-приложения.


То есть разработчики больше не нужны?!

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

Охота за уязвимостями на 7% эффективнее

Reading time12 min
Views11K
«За что я люблю Россию, так это за низкие налоговые ставки» — анонимуc

С ростом дохода у охотника за уязвимостями все более остро становится вопрос о налогах. После определенных сумм мне стало жалко отдавать 13% (даже несмотря на то, что у коллег из США это вообще 30%). К тому моменту я уже слышал об упрощенке для ИП и решил провести ресерч, чтобы понять как я могу уменьшить сумму налога законными способами.

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

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

Information

Rating
523-rd
Location
Россия
Registered
Activity