Pull to refresh
-2
0

Ведущий разработчик

Send message

Умный дом на Home Assistant с дополнениями (Zigbee2MQTT,Portainer...) на любом пк

Level of difficultyEasy
Reading time11 min
Views54K

В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).

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

Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments32

5 правил работы с суммами

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


Читать дальше →
Total votes 126: ↑120 and ↓6+114
Comments241

Новая эра российской микроэлектроники: представлен процессор Baikal-S

Reading time3 min
Views67K

На прошедшей неделе достаточно незаметно для прессы произошло эпохальное событие в истории российской микроэлектроники – 15 декабря на ежегодной конференции компании Байкал Электроникс был представлен процессор серверного класса Baikal-S. Пока широкая общественность бурно обсуждала отчёт о тестировании Сбербанком серверов на базе Эльбрус-8С, смакуя различные детали этой горячей истории, люди, чуть более погруженные в индустрию, с нетерпением ждали анонса Baikal-S.

Почему так? Чем же так эпохален этот процессор?

Может быть, он безоговорочно рвёт на тестах конкурентов из Intel/AMD, заставляя менеджеров данных компаний лихорадочно учить кириллицу? Нет, это вполне себе «средненький» серверный процессор уровне Intel Xeon Gold 6148 или того же злополучного Intel Xeon Gold 6230.

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

В чём же тогда уникальность данного процессора, в чём прорыв, спросит читатель? Ответ очень прост – именно в том, что это первый в новейшей истории России конкурентноспособный general-purpose high performance CPU. Причём конкурентноспособный во всех смыслах – по цене, по производительности, по потребляемой мощности. Никаких уникальностей и «аналоговнет». Просто хороший чип, способный достойно соревноваться с конкурентами, с понятными рыночной нишей и перспективами. На конференции Baikal-S был назван (абсолютно верно на мой взгляд) «рабочей лошадкой». Это та самая «рабочая лошадка», которая в состоянии заменить сотни тысяч и миллионы процессоров уровня Xeon, работающих сейчас в датацентрах и на предприятиях всей России(и не только). И сделать это так, чтобы слово «импортозамещение» вызывало у людей не ухмылку и чувство неполноценности, а гордость за страну.

Читать далее
Total votes 182: ↑171 and ↓11+160
Comments357

Как пережить самый суровый ледниковый период в истории Земли?

Reading time10 min
Views15K


В мультфильме «Ледниковый период» мы наблюдаем за веселыми приключениями группы разношерстных животных во время глобального оледенения. В реальности же условия были гораздо более суровыми, а живые организмы всячески старались продлить свое существование. Если же вспомнить про криогений, самый суровый ледниковый период в истории нашей планеты, то возникает вполне очевидный вопрос — как живые организмы сумели пережить его? Группа ученых из университета Макгилла (Монреаль, Канада) решили собрать воедино всю доступную информацию о криогении и выяснили, что эукариоты выжили за счет «кислородных оазисов». Какие физико-химические процессы способствовали продолжению жизни на Земле и какую роль в этом сыграла талая ледниковая вода? Об этом и не только мы узнаем из доклада исследовательской группы. Поехали.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments14

Тысячи вещей, которые в Java стоило бы поправить с первой версии: большое интервью с Сергеем Куксенко из Oracle

Reading time18 min
Views17K


Сергей Куксенко — перформанс-инженер, видевший Java еще версии 1.0. За это время успел поучаствовать в разработке мобильных, клиентских, серверных приложений и виртуальных машин. Производительностью Java занимается c 2005 года и в данный момент в Oracle работает над улучшением производительности JDK. Один из самых популярных докладчиков на Joker и JPoint.


Этот хабрапост — большое интервью с Сергеем, посвященное следующим темам:


  • Культ Производительности;
  • Когда и что нужно оптимизировать, изначальный дизайн языка и библиотеки;
  • Перспективные направления для дальнейшей оптимизации;
  • Как можно поучаствовать в разработке и что можно сломать оптимизациями;
  • Компиляторные трюки, размещение регистров;
  • Можно ли собрать кошку из фарша;
  • Когда тесты работают пять дней подряд и прочая бытовуха;
  • Как стать перформанс-инженером;
  • Подготовка доклада на следующий Joker.
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments7

Игорь Антаров из Moscow Tesla Club борется с 20 мифами о Тесле и электромобилях

Reading time19 min
Views41K


Сегодня кажется, если написать на транспаранте «Тесла» и выйти на улицу — тебя скрутят за несогласованный одиночный пикет. Отношение к Тесле переросло из потребительского взгляда на продукт в идеологию и политическую позицию. Теслу обсуждают словами «верю-не-верю». Мнение о ней тут же увязывают со взглядами на жизнь. Если сказать незнакомцу «я верю в Теслу», он сразу поймет, что я думаю про Трампа и Путина, и какой смузи люблю больше всего.

Все это очень-очень странно. Ведь мы просто говорим про машину, которая немного непривычно устроена под капотом.

Нам с baragol хотелось поговорить про Теслу так, чтобы раз и навсегда. Поэтому мы пошли к людям, которые знают о ней лучше всех в России — к ребятам из Moscow Tesla Club.

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

Мы попытались затронуть все спорные, противоречивые и острые моменты, но при подготовке этого материала меня не покидало ощущение, что от концентрации любви нашего собеседника к Тесле, скептичных читателей будет просто тошнить электричеством. Поэтому если от слова «Маск» где-то внутри у вас зреет «как же задолбали эти…», лучше почитайте, как в Калининграде делают плазменные двигатели.
Total votes 115: ↑97 and ↓18+79
Comments490

Основной инстинкт кодера — устранить неэффективные решения отовсюду

Reading time14 min
Views6.5K


Адаптация отрывка из книги Клайва Томпсона "Кодеры: создание нового племени и пересоздание мира"

Шелли Чен работала бизнес-аналитиком в компьютерной компании, когда в 2010-м она познакомилась с Джейсоном Хо через общих знакомых. У Хо был большой рост, стройное телосложение и хитрая улыбка, и они сразу нашли общий язык. Хо был программистом, и у него была собственная компания в Сан-Франциско. Он также любил путешествовать. Менее, чем через месяц после знакомства Хо удивил Чен, купив билет на самолёт, чтобы встретиться с ней на Тайване, куда она временно переехала. Вскоре они уже обсуждали совместную поездку в Японию на четыре недели. Чен немного волновалась, поскольку они не были так хорошо знакомы. Однако она решила попытать счастья.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments3

Извините, но все ваши базы принадлежат Google. Презентация Google на Game Development Conference 2019, проект Stadia

Reading time5 min
Views56K

Вчера вечером, 19 марта, Google провели собственную презентацию в рамках Game Developers Conference. Суть происходящего — новый видеостриминговый сервис, позволяющий играть с любого устройства без необходимости иметь мощный компьютер или консоль, и специальный геймпад для него.



Если этого мало, то Google представляет новую игровую студию, которой управляет Джейд Рэймонд, бывший исполнительный продюсер Ubisoft Montreal и управляющий директор Ubisoft Toronto.

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

Обратите внимание, что под катом будет множество изображений в разрешении 1920x1080, создающих неплохой такой трафик. Олсо, я предупреждал.

Читать дальше →
Total votes 81: ↑76 and ↓5+71
Comments724

Что делают в офисе инженеры в Apple и Intel: профориентационный онлайн-курс современной микроэлектроники для школьников

Reading time6 min
Views12K
Недавно вышел бесплатный онлайн-курс в трех частях под названием «Как работают создатели умных наночипов» (1, 2, 3). Он предназначен для профориентации школьников и отличается максимальной конкретностью: вот так выглядит распределение работы в команде проектирования микросхемы, вот на таких концепциях проектирования на уровне регистровых передач построена разработка, и вот такие алгоритмы используются для определения, на сколько мегагерц будет работать проектируемый процессор для компьютера или автомобильной электроники.

Кроме теоретической профориентации, курс можно использовать для отбора школьников на практические летние школы по ПЛИС-ам и проектированию процессоров. Такая школа планируется в этом году в Зеленограде, ее прототип был опробован на Летней школе юных программистов в Новосибирске и на Неделе электроники для школьников в Киеве в позапрошлом году. Можно также попробовать сделать хакатон по аппаратно-реализуемым нейросетям и аппаратной реализации игр с выводом на VGA дисплей (об этом дальше в посте).


Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments20

Quarkus — сверхзвуковая субатомная Java. Краткий обзор фреймворка

Reading time4 min
Views64K


Введение


Седьмого марта компания RedHat (вскоре — IBM) представила новый фреймворк — Quarkus. По словам разработчиков, этот фреймворк базируется на GraalVM и OpenJDK HotSpot и предназначен для Kubernetes. Стек Quarkus включает в себя: JPA/Hibernate, JAX-RS/RESTEasy, Eclipse Vert.x, Netty, Apache Camel, Kafka, Prometheus и другие.


Цель создания — сделать Java лидирующей платформой для развертывания в Kubernetes и разработки serverless приложений, предоставляя разработчикам унифицированный подход к разработке как в реактивном, так и в императивном стиле.


Если смотреть на эту классификацию фреймворков, то Quarkus где-то между "Aggregators/Code Generators" и "High-level fullstack frameworks". Это уже больше, чем агрегатор, но и до full-stack не дотягивает, т.к. заточен на разработку backend.

Читать дальше →
Total votes 43: ↑40 and ↓3+37
Comments25

devleads — поговорим о профессиональном выгорании

Reading time13 min
Views28K
Привет! В рамках проекта devleads мы с ребятами решили сделать подкаст для всех неравнодушных к менеджменту в IT-сфере — тимлидов, руководителей разработки и им подобных.

Кто мы:

  • Я, Илья Царев, руководитель мобильной разработки Альфа-Банка.
  • Илья Кузнецов, imJustik, iOS-тимлид Альфа-Банка.
  • Никита Майданов, NikoGenn, руководитель мобильной разработки в Welps.


В этом выпуске мы затронем тему профессионального выгорания (в частности — выгорания тимлида) и связанных с ним мифов. А поможет нам в этом психолог Анастасия Калашникова.

Мы поговорим о профилактике выгорания, о том, почему нормально говорить коллегам «Нет», что делать, если шеф сидит на работе по 10 часов, а вам неудобно из-за этого уходить вовремя, и о многом другом.

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

— Расскажи, пожалуйста, что такое вообще «выгорание».
Читать дальше →
Total votes 60: ↑54 and ↓6+48
Comments37

devleads — (не)финансовая мотивация

Reading time18 min
Views9.8K
Всем привет! С вами снова devleads-подкаст. Подкаст для тимлидов, руководителей разработки и им сочувствующих. В этот раз мы решили поговорить про мотивацию, провести четкую грань между финансовой и нефинансовой, а также определить, какая же из них важнее для разработчиков и и как правильно их развивать среди сотрудников. Попробуем ответить на вопросы:

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


— Артём, привет! Какое бы ты дал определение мотивации в целом?

— Привет! Я не очень готов сейчас к терминам из википедии, но в целом это популярное понятие из психологии, вошедшее в масскультуру и породившее кучу мемасиков о том, как мотивировать офисный планктон для того, чтобы они сидели и работали, а не пялились в фейсбучек. Ладно, если серьезно — как по мне, мотивация это твое внутреннее желание что-то делать. Ходить на работу, помогать коллегам, помогать пользователям своего продукта решать проблемы. И делать все это хорошо.

— А есть еще такая штука как стимуляция. Какая между ними разница?

— Да даже в самих терминах, смотри, stimulus — это такая острая штуковина на палке, которой погоняли осликов и быков, чтобы они делали, что нужно. Это вообще история про морковку спереди (или вообще сзади), которая позволяет человеку работать. Она часто применяется в масстаффинге, то есть в отношении персонала из массового найма, коллцентров, уборщиков, таксистов и подобных профессий. Грубо говоря, у людей, работа которых не связана с творчеством, которые делают что-то механическое.

— Звучит круто, но не очень понятно — зачем оно? Зачем дополнительно заниматься мотивацией, неужели одной зарплаты не хватает?
Читать дальше →
Total votes 31: ↑28 and ↓3+25
Comments20

Mikrotik. Failover. Load Balancing

Reading time12 min
Views284K
Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

Давайте рассмотрим что же мы можем сделать:

Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments45

Безумие и успех кода Oracle Database

Reading time4 min
Views79K
На этой неделе пользователи Hacker News решили обсудить вопрос «Каков максимальный объем плохого — но при этом работающего — кода вам доводилось видеть?» (позже к ним присоединились и пользователи Reddit). В комментариях было рассказано немало «веселых» историй про то, с чем мы все время от времени сталкиваемся; но больше всего внимания привлек рассказ про код «передовой СУБД, которую используют большинство компаний, входящих в список Fortune 100».

Победителем в номинации «лавкрафтовские ужасы» заслуженно стал рассказ бывшего разработчика Oracle, который работал над Oracle Database в период разработки версии 12.2. Объем кодовой базы СУБД на тот момент составлял 25 миллионов строк на языке C — и стоило вам изменить лишь одну из этих строк, как ломались тысячи написанных ранее тестов.

За прошедшие годы над кодом успело потрудиться несколько поколений программистов, которых регулярно преследовали жесткие дедлайны — и благодаря этому код смог превратиться в настоящий кошмар. Сегодня он состоит из сложных «кусков» кода, отвечающих за логику, управление памятью, переключение контекстов и многое другое; они связаны друг с другом при помощи тысяч различных флагов. Весь код связан между собой загадочным макросом, который невозможно расшифровать, не прибегая к помощи тетради, в которую приходится записывать, чем занимаются релевантные части макроса. В итоге, у разработчика может уйти день или два только на то, чтобы разобраться, чем же в действительности занимается макрос.
Читать дальше →
Total votes 82: ↑81 and ↓1+80
Comments160

Про одного парня

Reading time14 min
Views191K
История реальная, я все видел своими глазами.

Несколько лет один парень, как и многие из вас, работал программистом. На всякий случай напишу так: «программистом». Потому что он был 1Сником, на фиксе, производственной компании.

До этого он пробовал разные специальности – 4 года во франче программистом, руководителем проектов, умел закрывать по 200 часов, одновременно получая процент с проекта, за руководство и немного занимаясь продажами. Пробовал самостоятельно разрабатывать продукты, был начальником IT-отдела в большой компании, численностью 6 тысяч человек, примерял разные варианты применения своей кавычечной профессии – программиста 1С.

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

Этому парню стало интересно, как можно зарабатывать больше денег, не занимаясь продажами и не создавая свой собственный бизнес.
Читать дальше →
Total votes 272: ↑239 and ↓33+206
Comments247

Руководство и шпаргалка по Wireshark

Reading time7 min
Views299K
Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:

Устранение неполадок сетевого подключения


  • Визуальное отображение потери пакетов
  • Анализ ретрансляции TCP
  • График по пакетам с большой задержкой ответа

Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)


  • Полный просмотр HTTP-сессий, включая все заголовки и данные для запросов и ответов
  • Просмотр сеансов Telnet, просмотр паролей, введённых команд и ответов
  • Просмотр трафика SMTP и POP3, чтение писем
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments5

Как не мусорить в Java

Reading time10 min
Views23K

Существует популярное заблуждение о том, что если не нравится garbage collection, то надо писать не на Java, а на C/C++. Последние три года я занимался написанием low latency кода на Java для торговли валютой, и мне приходилось всячески избегать создания лишних объектов. В итоге я сформулировал для себя несколько простых правил, как свести аллокации в Java если не до нуля, то до некого разумного минимума, не прибегая к ручному управлению памятью. Возможно, кому-то из сообщества это тоже будет полезно.

Читать дальше →
Total votes 44: ↑40 and ↓4+36
Comments61

Комплект увольнения

Reading time13 min
Views75K
  • Знание ООП и структуры данных;
  • опыт разработки на Java для Android.;
  • знание Android API, понимание архитектуры Android;
  • знание основ HTTP, XML, JSON;
  • опыт работы с системами контроля версий Git;
  • опыт работы с Android Studio, Gradle;
  • опыт работы с SQL базами данных;
  • знакомство с принципами Material Design;

Узнали? Конечно, узнали. Это — одно из стандартных резюме программиста.

Лично мне такое резюме напоминает одну песню, а точнее одну строку этой песни: «Жигули! Едет и уже хорошо!».

Еще напоминает рекламу тех же Жигулей, где наличие ABS, датчиков дождя и света и т.д. выдается за конкурентное преимущество. Ну и лозунг знаменитый: «Таким и должен быть автомобиль!».

А программист таким и должен быть? Если хочет быть, как жигули – массовым, дешевым и «как бы и не машиной программистом», то да.

Но мы не такие, поэтому будем формировать и формулировать свое конкурентное преимущество – комплект увольнения.



Комплект увольнения – то, что остается с вами, когда вы меняете место работы. Как пел Юрий Шевчук, «Это то, что останется после меня. Это то, что возьму я с собой».
Читать дальше →
Total votes 73: ↑61 and ↓12+49
Comments44

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

Reading time5 min
Views88K


Во время очередного спора знакомый озвучил мысль, которая меня очень сильно задела. «В большинстве популярных ЯПов существует очень много разных путей сделать одно и то же. Это приводит к проблемам. А вот в Go всё не так. Философия языка такова, что на Go разные разработчики решают одинаковые проблемы одинаковым образом. Поэтому их код легко читаем, предсказуем и надежен. И поэтому крупный бизнес выбирает Go». Это достаточно мощный аргумент, над которым нужно как следует поразмыслить, прежде чем опровергать.


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

Читать дальше →
Total votes 182: ↑123 and ↓59+64
Comments356

А кто в вашей банде?

Reading time17 min
Views48K
Так получилось, что в компаниях, где я работал, очень любили всякие тесты из арсенала HR. Всех – и руководителей, и рядовых исполнителей, прогоняли через эти тесты.

Тесты, как правило, определяли тип личности применительно к профессиональной деятельности – к чему человек наиболее склонен, что ему дается легко, какая деятельность заставляет напрягаться, а за что лучше вообще не браться.

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

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

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

Не буду рассказывать про сами тесты – этой информации полно в интернете, да и ваши HR, если попросите, с радостью накидают вам с десяток.

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

Рассказывать буду, в основном, на примере программистов и сис.админов. Иногда буду выходить за установленные пределы, т.к. в команде ИТ нескольких типов личности не было вообще, но они гуляли в соседних отделах.
Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments33
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity