Pull to refresh
0
0
Александр @procks

User

Send message

TP-LINK HS110 — домашний помощник или очередная розетка с Wi-Fi?

Reading time4 min
Views15K
Когда в мои руки попала эта розетка, я подумал, что это не более чем временное развлечение, умный гаджет, который со временем перекочует на полку и будет собирать там пыль. Но спустя полгода использования, я смело могу сказать: он работает каждый день!

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


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

Создание забавных и привлекательных анимаций простыми функциями Spine (внутри тяжёлые gif)

Reading time5 min
Views18K


(Прим. пер.: 1. Spine — это проприетарный кроссплатформенный пакет для создания двухмерных скелетных анимаций с поддержкой различных игровых тулкитов.
2. Осторожно, в посте есть около 38 МБ gif'ок, все они спрятаны под кат.)


Как создать плавное переключение или поворот спрайтов?


Создание плавного и естественного переключения и поворот спрайтов при работе со Spine или любым другим инструментом интерполяции анимации часто бывает трудной задачей. Оно может развалить порядок анимации и сделать окончательный результат дёргающимся или неуклюжим.

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

Вводим текст красиво

Reading time8 min
Views55K
Сырые, но важные данные вроде номеров телефонов или кредиток — это именно то, что пользователи чаще всего вводят в наших приложениях. И с этим есть огромная проблема. Перепроверять 16 цифр своего Мастеркарда или 11 цифр номера телефона — это сущий ад для любого юзера. Решать эту проблему, естественно, приходится разработчикам, от лица которых я и пишу этот пост.

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

Для начала хотелось следующего:

  1. Указал маску вроде +7 (___) ___-__-__
  2. Повесил её на EditText
  3. ...
  4. PROFIT

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

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

Посмотрев на то, что получилось, мы решили, что это круто, и надо бы поделиться с сообществом. Так у нас и родилась библиотека для Android-разработки Decoro. И сейчас я покажу пару фокусов из её арсенала.
Читать дальше →

Синтез изображений с помощью глубоких нейросетей. Лекция в Яндексе

Reading time15 min
Views49K
Пусть в блоге Яндекса на Хабрахабре эта неделя пройдет под знаком нейронных сетей. Как мы видим, нейросети сейчас начинают использоваться в очень многих областях, включая поиск. Кажется, что «модно» искать для них новые сферы применения, а в тех сферах, где они работают уже какое-то время, процессы не такие интересные.

Однако события в мире синтеза визуальных образов доказывают обратное. Да, компании еще несколько лет назад начали использовать нейросети для операций с изображениями — но это был не конец пути, а его начало. Недавно руководитель группы компьютерного зрения «Сколтеха» и большой друг Яндекса и ШАДа Виктор Лемпицкий рассказал о нескольких новых способах применения сетей к изображениям. Поскольку сегодняшняя лекция — про картинки, то она очень наглядная.


Под катом — расшифровка и большинство слайдов.

6 альтернатив MacBook

Reading time4 min
Views74K
image

После презентации Apple появилось множество разочарованных комментариев: «только USB-C», устаревший процессор, отсутствие сенсорного экрана, и дикий ценник. Посмотрим, какие альтернативы предлагает рынок на новых процессорах Intel.
Читать дальше →

Как работает Git

Reading time19 min
Views153K
В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов.

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

Текст разбит на серии команд, работающих с единым проектом. Иногда встречаются наблюдения по поводу структуры данных графа, лежащего в основе Git. Наблюдения иллюстрируют свойство графа и поведение, основанное на нём.

После прочтения для ещё более глубокого погружения можно обратиться к обильно комментируемому исходному коду моей реализации Git на JavaScript.
Читать дальше →

Всё, что вы знали о холестерине, оказалось неправдой

Reading time11 min
Views194K


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

Я не виню их за критику. В большинстве своём они, подобно мне, росли в 80-х и 90-х годах, когда считалось, что диеты с высоким содержанием холестерина и жира приведут к заболеваниям сердца и другим проблемам.

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

Г-н Холестерин – не злодей. Его просто неверно поняли. Сегодня мы поделимся всем, что нужно знать про г-на Холестерина и раскроем все секретные сведения по поводу этого хорошего парня.
Читать дальше →

Глупый дом

Reading time24 min
Views70K

Краткое предисловие



TLDR: переходите сразу к заключению!

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

Многословное введение



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

Сразу хочу отметить, что:
во-первых — являюсь дилетантом во всем, что связанно с хардварной частью реализации умных домов;
во-вторых — описываю положение вещей с точки зрения потребителя из среднего класса, не касаясь дорогих и ультра-дорогих решений из премиум сегмента, которые лишены как большинства указанных мною в заметке недостатков, так и резона их покупать в случаях, если у вас нет лишних ста тысяч долларов;
в-третих — я не пытаюсь вам ничего навязать, продать или пропиарить какой-то сервис;
в-четвертых — в статье много текста

и всего одна картинка

Новый стандарт Ethernet 802.3bz: до 5 Гбит/с на неэкранированной витой паре

Reading time3 min
Views69K

Коннектор RJ-45. Фото: Gutza, Mike1024

27 сентября 2016 года консорциум Ethernet Alliance утвердил спецификации IEEE 802.3bz, которые зажигают зелёный свет для повсеместного внедрения двух новых стандартов 2.5GBASE-T и 5GBASE-T.

Внедрение новых стандартов кардинально поднимет скорость передачи данных по сетям Ethernet. По предыдущему стандарту 1000BASE-T (IEEE 802.3ab) максимальный теоретический лимит скорости составляет 1 Гбита/с, а по новым стандартам — 2,5 Гбита/с и 5 Гбит/с, соответственно. Заметный шаг вперёд. Что самое важное, такое ускорение достижимо на старой кабельной инфраструктуре, то есть на прежних медных кабелях категорий 5e и 6 (Cat5e и Cat6) с той же длиной до 100 метров.
Читать дальше →

Создание умного дома и разработка своего протокола

Reading time5 min
Views180K
Сразу скажу, что пост ориентирован скорее на обычных людей, чем на тех, кто в теме, и является скорее отчётом того, чем я занимался в последние дни.

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

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

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

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.



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

Microsoft научилась прибирать за собой?

Reading time2 min
Views39K
imageЭпопея с добровольно-принудительным «подталкиванием» пользователей прошлых версий Windows к обновлению до десятой версии, наверное, войдет в учебники по рекламе. В качестве примера или антипримера — это кто как воспринимает, но крови (во всем мире) идея «не мытьем, так катанием» получить от пользователя согласие на установку «десятки» попортила немало, а число комментариев по этому поводу побило, вероятно, самые смелые ожидания маркетологов компании.

Что же, ничто не вечно под луной, и обещанный срок бесплатного обновления минул больше месяца как. Срок минул, а напоминалки в иных системах как были, так и остались (возможно, неактивными). И вот (кто бы мог подумать?) в списке обновлений для Windows появилось оно — обновление KB3184143.
Еще одно?!

CTRL + G — хоткей, полностью изменивший принцип моей работы

Reading time2 min
Views44K


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

Внимание: Данный пост является очень вольным переводом этой статьи. Целью ставилось донести смысл текста, поэтому в некоторых местах текст может не совпадать с оригиналом.
Читать дальше →

Превращаем Java/JVM приложение в демона

Reading time4 min
Views15K
Часто ли вы пишите shell скрипт и пакетный файл для запуска своего jvm приложения, а как часто копируете из другого проекта?


Если используете maven, эта информация вам поможет.

Пользователи Windows 7 и 8.1 все еще могут бесплатно обновиться до Windows 10

Reading time3 min
Views36K

Официально обновление стало платным после 29 июля, но фактически платить ничего (пока) не нужно




Корпорация Microsoft целый год пыталась убедить пользователей Windows 7 и 8.1 обновиться до последней версии своей операционной системы. Многих убедить удалось, но часть пользователей предыдущих версий ОС обновляться не стали. 29 июля — официальная дата завершения периода бесплатного обновления. Компания неоднократно заявляла, что после этой даты пользователи предыдущих версий ОС Windows смогут обновиться до Windows 10 только за деньги.

Оказалось, что это не совсем так. Сейчас обновиться все еще можно совершенно бесплатно, если у вас есть ключ Windows 7 или Windows 8.1. Представители компании заявили следующее: «Пользователи, которые обновляют свой ПК впервые, должны ввести ключ Windows 10. Пользователи, которые уже установили Windows 10 на свои ПК, могут активировать систему в случае ее переустановки на том же ПК». В реальности все обстоит несколько иначе.
Читать дальше →

Как бесплатно обновить Windows 7 и 8.1 до Windows 10 после 29.07.2016

Reading time4 min
Views892K
Как известно, в Microsoft изначально заявляли, что Windows 10, вышедшая 29.07.2015, будет бесплатным обновлением для розничных и OEM инсталляций Windows 7 и Windows 8.1 в течении одного года – до 29.07.2016. А после 29.07.2016 обновление через Windows Update предлагаться не будет, и его придётся покупать. Windows Update на Windows 7 и Windows 8.1 регулярно предлагал выполнить обновление до Windows 10.


В действительности, с 19.07.2016 на всех активированных системах с установленными розничными изданиями Windows 7/8.1 на которые пользователи регулярно устанавливали рекомендованные обновления Microsoft, включился счётчик с обратным отсчётом оставшегося для бесплатного обновления времени. Безусловно, это подстегнуло многих, отложивших обновление на последние дни. И, как и обещали, с 29.07.2016 предложения бесплатно обновить ОС через Windows Update исчезли. Неужели те, кто не успели обновить остались без возможности получить новую ОС бесплатно? К счастью, нет! Возможность бесплатного обновления ОС осталась. Давайте разберемся, как теперь можно обновить свои Windows 7 и Windows 8.1 до Windows 10.
Читать дальше →

Hello, TensorFlow. Библиотека машинного обучения от Google

Reading time11 min
Views229K

tensorflow


Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:


  • Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
  • Линейная алгебра и другие внутренности хорошо видны снаружи.
  • В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
  • Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.

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


Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!

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

Почему прерванный сон – это отличное время для творческой работы

Reading time9 min
Views32K

Когда-то люди просыпались в середине ночи, чтобы подумать, сделать записи или заняться любовью. Что мы потеряли, засыпая на всю ночь?




4:18 утра. В очаге сгорели дрова, и остались только оранжевые кусочки, которые скоро превратятся в пепел. Орион-охотник взошёл над холмом. Мерцающее «V» Тельца стоит прямо над головой, и указывает на Семерых сестёр. Сириус, одна из собак Ориона, мерцает красным, голубым, фиолетовым – как галактический диско-шар. Ночь продолжается, и старый пёс вскоре сядет за холмом.

4:18 утра, и я не сплю. Такое раннее пробуждения обычно считается нарушением, сбоем в естественном ритме тела – признаком депрессии, или возбуждения. Действительно, после пробуждения в 4 утра в голове моей жужжало. И хотя я человек позитивный, но когда я лежу в темноте, в мыслях появляется волнение. Мне кажется, что лучше встать, чем лежать в постели, балансируя на грани лунатизма.

Если я пишу в эти часы, чёрные мысли становятся чёткими и красочными. Они формируются в слова и предложения, одно цепляется за другое – будто вереница слонов, держащихся хоботами за хвосты. В это время ночи мой мозг работает по-другому: я могу писать, но не редактировать. Могу добавлять, но не отнимать. Для чёткости необходимо дневное сознание. Я работаю несколько часов, а затем снова засыпаю.

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

Римляне, греки, инки просыпались без айфоновских будильников или цифровых радиочасов. Их временем заведовала природа: восход солнца, вечерний хор, нужды полевых культур или домашнего скота. До 14 века ход времени отмечался солнечными и песочными часами, а затем на монастырях и церквях появились первые механические часы. К 1800-му году механические часы уже вовсю носили на шее, запястьях и лацканах. Можно было назначать встречи, время для принятия пищи и отхода ко сну.

Общества, построенные на индустриализации и точном времени, породили понятие срочности и такие концепции, как «вовремя» или «потеря времени». Часы начали всё сильнее расходиться с естественным временем, но свет и тьма всё ещё управляли рабочими часами и социальными структурами. Но всё поменялось в 19 веке.
Читать дальше →

10 правил, которые позволяют NASA писать миллионы строк кода с минимальными ошибками

Reading time3 min
Views161K

image
Маргарет Гамильтон стоит рядом с написанным ей исходным кодом бортового компьютера «Аполлона»


Лаборатория реактивного движения (Jet Propulsion Laboratory) — научно-исследовательский центр НАСА, ответственный за большинство беспилотных космических кораблей США. Там пишут много кода, и права на ошибку у них намного меньше, чем у обычных программистов.


В JPL пишут на Си, и на их сайте есть документ "JPL Institutional Coding Standard", описывающий жесткие стандарты кодирования внутри организации. Они напоминают правила программирования для встроенных (embedded) систем и систем реального времени, с ограниченными ресурсами. Но многие из правил эти просто принципы хорошего программирования. Ограничение сложности, максимальное упрощение для последующего чтения кода и отладки, отсутствие побочных эффектов. Мы в Хекслете постоянно говорим об этом в вебинарах и, конечно, в самих курсах. Мы считаем очень важным как можно раньше поднимать эти темы, поэтому про функции и побочные эффекты начинаем говорить в самом первом курсе «Основы программирования», который рассчитан на новичков. Это бесплатный курс, кстати, и в нем есть практика на языке JavaScript.


Спасибо хабраюзеру Boletus за важную поправку и дополнение:
В 2006 году Gerard Holzmann с коллективом сформулировал 10 основных правил для JPL в документе «The Power of 10: Rules for Developing Safety-Critical Code». Они вошли в основу нынешнего стандарта, наряду с MISRA C и другими дополнениями. Статья в Википедии.


Вот перевод этого списка.

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

Как программист машину покупал

Reading time9 min
Views122K
Недавно я озадачился поиском б.у. автомобиля, взамен только что проданного, и, как это обычно бывает, на эту роль претендовали несколько конкурентов.

Как известно, для покупки авто на территории РФ существует несколько крупных авторитетных сайтов (auto.ru, drom.ru, avito.ru), поиску на которых я и отдал предпочтение. Моим требованиям отвечали сотни, а для некоторых моделей и тысячи, автомобилей, с перечисленных выше сайтов. Помимо того, что искать на нескольких ресурсах неудобно, так еще, прежде чем ехать смотреть авто “вживую”, я хотел бы отобрать выгодные (цена которых относительно рынка занижена) предложения по априорной информации которую предоставляет каждый из ресурсов. Я, конечно, очень хотел решить несколько переопределенных систем алгебраических уравнений (возможно и нелинейных) высокой размерности вручную, но пересилил себя, и решил этот процесс автоматизировать.
image
Читать дальше →

Больше DIY богам DIY

Reading time4 min
Views24K


Для многих путь в DIY начинается с просмотра видео: получил ссылку на интересный ролик, впечатлился, начал из распберри и палок делать свой проект. Проблема в том, что отдельное видео о необычных механизмах (без подробной истории создания) чаще оставляет больше вопросов, чем дает ответов, необходимых для правильной мотивации. Дом, напечатанный на 3D-принтере[1], электрическая стимуляция тела[2], музыкальный концерт дронов[3], эффект левитации воды[4] и тысячи других историй по-своему восхищают, но не указывают путь — с чего начать, чтобы сделать не хуже? От чего оттолкнуться, где взять нужное железо, как это вообще работает?

Среди разработчиков Mail.Ru Group много людей, для которых DIY — это многолетнее хобби. Только недавно написали про умный дом на основе четырех контроллеров и двух «умных» часов. Мы попросили разработчиков поделиться ссылками на интересные видео, получившие статус «wow, как круто!», и мотивирующих на проведение собственных экспериментов.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity