Обновить
8
0
Тимур Таипов @timurey

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

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

Правила хорошего вкуса от Линуса Торвальдса. Делаем код быстрее, проще и понятнее

Время на прочтение5 мин
Количество просмотров49K
«Вкус — это способность судить о прекрасном»
И. Кант

Дирк Хондел, один из тех, кто стоял у истоков Linux, однажды сказал о создателе Linux Линусе Торвальдсе: «Линус не только блестящий программист: у него хороший вкус. Торвальдс находит простые и разумные пути решения проблем, умеет всё «разложить по полочкам». Сложные вещи он делает простыми. По-моему, это и есть главное отличие превосходного программиста от просто хорошего».

image

В недавнем интервью, примерно на 14-й минуте, Линус Торвальдс коснулся темы «хорошего вкуса в программировании». Хороший вкус? Ведущий попросил его остановиться на этом подробнее, и Линус, пришедший не с пустыми руками, показал пару слайдов.
Читать дальше →

«Привет, Siri. Включи обогреватели» — Интеграция умного дома на базе NooLite с Apple HomeKit

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

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


С выходом iOS 10, Apple представила пользователям приложение Дом — свою реализацию интерфейса управления умным домом через HomeKit. Меня весьма заинтересовала данная тема и, потратив несколько вечеров на изучение доступного материала, я решил реализовать интеграцию данного продукта с моей системой. В статье я подробно изложу процесс ее установки и настройки, а также поделюсь видео с результатами того, что получилось в итоге.

STM32 USB Mass Storage Bootloader

Время на прочтение12 мин
Количество просмотров78K
Известно, что софт можно дописывать вечно, а всякого рода недочёты на плате полностью исправляются ревизии так к третьей. И если с железом уже ничего не поделаешь, то для обновления микропрограмм придумали неплохой способ обхода ограничений пространства и времени — Bootloader.

Загрузчик — это удобно и полезно, не правда ли? А если загрузчик собственной реализации, то это еще более удобно, полезно и гибко и не стабильно. Ну и конечно же, очень круто!

Так же, это прекрасная возможность углубиться и изучить особенности используемой вычислительной машины — в нашем случае микроконтроллера STM32 с ядром ARM Cortex-M3.

На самом деле, загрузчик — это проще, чем кажется на первый взгляд. В доказательство, под cut'ом соберём свой собственный USB Mass Storage Bootloader!

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

Репост-модерн: подборка материалов о том, как генерировать качественный контент

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


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

Platypus и Packages. Создаём и устанавливаем программы на macOS

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


Очень часто бывает необходимо собрать код, написанный на Python, в приложение для Windows, Linux или OS X. Да, для этого действительно существует множество пакетов, таких как кросс-платформенные cx_Freeze и PyInstaller, а также обособленных py2exe и py2app. Но для macOS существует возможность избежать возни с созданием установочного файла.
Читать дальше →

Правила юзабилити для ботов

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

В 1990 году Якоб Нильсен сформулировал 10 эвристик юзабилити для оценки пользовательских интерфейсов. Эти правила прошли проверку временем, и теперь у дизайнеров есть быстрый и простой способ оценки юзабилити интерфейсов программного обеспечения с опорой на универсальные принципы дизайна.

Стандарты и передовые методы создания ботов будут продолжать появляться. Но пока здесь наблюдается некий хаос и отсутствие единых стандартов. Применимы ли эвристики Нильсена к ботам? Давайте посмотрим, какие из них не утратили своей актуальности, и проверим их на примере трех популярных ботов.
Читать дальше →

Пример простой автоматизации letsencrypt

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

Удостоверяющий центр «Let’s Encrypt» (далее просто letsencrypt) вышел из беты пару месяцев назад, пообтерся в реальных условиях, избавился от детских болезней и оброс различными клиентами. И к этому моменту выдал 5 миллионов сертификатов. Самое время внедрять, т.е. получать сертификаты на свои домены и обновлять их в автоматическом режиме. Но как внедрить так, чтобы приблизиться к любимому админскому «поставил и забыл»? Чтобы было просто получать новые сертификаты, а старые при этом обновлялись автоматом? Ну и как добавить немного безопасности в этот процесс?
Ответ под катом.
Читать дальше →

Домашний кинотеатр своими руками. Часть 1. Помещение и оборудование

Время на прочтение4 мин
Количество просмотров30K
Идея создания домашнего кинотеатра (далее ДК) интересовала меня довольно давно. Раньше это были связки старых ПК, на которых крутился XBMC и телевизора в гостиной. Конечно же при такой связке катастрофически не хватало размера изоражения и нормального звука, а подключить полноценную систему 5.1 не позволяла конфигурация помещения.



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

Голосовое управление умным домом Z-Wave и не только. Homekit + Siri. Инструкция

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

Наладить максимальный комфорт в квартире с каждым месяцем становится все дешевле и проще. В этой пошаговой инструкции я покажу как легко и просто добавить вашему дому голосового управления! Для голосового управления нам понадобятся:
  1. Контроллер RaZberry или любой компьютер с ПО Z-Way
  2. Пара Z-Wave девайсов, а в прочем и любые WiFi лампочки подойдут
  3. iPhone/iPad (желательно в стене)

Я использую Raspberry Pi B+, поэтому далее пойдет описание настройки голосового управления именно на нем. Видео работы в конце статьи.
Читать дальше →

Smart плинтус 1.0

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


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

Голосовое управление умным домом на Z-wave через Siri

Время на прочтение5 мин
Количество просмотров20K
Идея поуправлять умным домом с помощью голосовых команд родилась уже давно. И в каких-то системах так или иначе это реализовано. Siri – хороший и удобный голосовой помощник для владельцев айфонов. Понимает человеческую речь, удобен. Но по причине закрытого протокола, не используется для голосового управления «умных» устройств. Хорошо, что у Apple есть HomeKit – некий «туннель» для приема команд умными устройствами от Siri.

image

В этой статье я опишу процесс установки и настройки шлюза для взаимодействия Siri с устройствами домашней автоматизации и расскажу про некоторые особенности разных версий.
Читать дальше →

Все, что хотел

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

Hotel – приют для localhost.


Запуск и управление всех ваших веб-проектов с одного адреса.


Больше, разных портов костылей.


Можно держать зоопарк портов для каждого проекта: 9000, 8000, 8080, 3000, 3001…
Или настраивать веб-сервер, править /etc/hosts файл или DNS для каждого проекта.
А еще помнить, как запускать девелоперский веб-сервер для каждого проекта:


  • gulp
  • gulp serve
  • gulp watch
  • ionic serve
  • browser-sync start --server --no-open --directory --files
  • http-server -p 9000
  • python -m http.server 8000
  • php -S localhost:8000
  • и так далее...

Сделать жизнь проще поможет hotel.


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

4xiDraw: самодельный перьевой плоттер на Arduino

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


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

И пользователь по имени Мигель Санчес (Miguel Sanchez) решил сделать плоттер самостоятельно. В качестве управляющей платформы он выбрал Arduino Uno. В системе также использованы шаговые двигатели NEMA 17 и вспомогательный сервопривод для поднятия и опускания ручки.
Читать дальше →

Автоматическая работа с SMS на модеме ZTE-MF823

Время на прочтение4 мин
Количество просмотров20K
Данный модем не является модемом, как таковым. Это роутер с процессором arm v7 на базе Linux, в системе отображается в виде сетевой карты, без проблем заводится в Линуксе (сетевой интерфейс usb0, подсеть 192.168.0.0).

К устройству можно подключаться по telnet (ip: 192.168.0.1, login: root, password: zte9x15), дальше внедрять свои iptables, вешать скрипты в crontab и многое другое, даже устанавливать собственное по, но сегодня речь не об этом.

Для выполнения операций с модемом необходимо выполнять CGI запросы к веб-интерфейсу, подойдет wget или curl. В модеме от мегафон нет веб-морды, а вот в билайновском есть. Web-морда представляет из себя браузерное JavaScript-приложение, которое отправляет аяксом эти самые CGI запросы, ни каких годных документаций по работе с sms на просторах интернета я найти не смог, поэтому решил залить веб-морду и отловить запросы.
Читать дальше →

Как сделать дозиметр и привязать его к Android

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


Здравствуйте, в данной статье я хотел бы поделиться опытом о том как прошел путь от идеи до готового устройства.
Мне очень нравиться читать Хабр, и вот я наткнулся на статью о том как быстро и без хлопотно можно привязать дозиметр к iphone (статья). Статья написанная lexeresser меня очень заинтересовала и мне захотелось попробовать сделать такую привзяку, но наткнулся на сложности: первый момент — бытовой дозиметр, который описывается купить не так просто, нашел всего два на продаже и они продаются не в России, второй момент — в статье описывалась программа для iphone, а у меня смартфон на Android. Я поставил себе задачу уложиться в 1000 рублей, т.к. дозиметры стоят от 3500 рублей. Чтобы уложиться в бюджет я решил не искать готовое устройство, а сделать самому, а программу для андроида создать. Данный проект я назвал SyGeiger и он не несет коммерческую идею, он просто для фана: Смогу ли я?
Читать дальше →

Hypermedia — то без чего ваше API не совсем REST

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

Всем привет! Меня зовут Дмитрий Павлов, в компании Align Technology мы с коллегами занимаемся разработкой Web API для взаимодействия внутренних систем и интеграции нашей компании со сторонними вендорами. Об идеях создания API для веба, а точнее RESTful API я хотел бы рассказать в этой статье.


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

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

«Кухонный гаджет»: Новинка для низкотемпературной готовки

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


Социологи сообщают: фастфуд и перекусы в кафе теряют популярность; новый тренд – готовка домашних блюд. В 2013 году агентство Tiburon Research по заказу журнала Psychologies провело исследование среди более тысячи человек в возрасте 15-30 лет. Результат оказался просто удивительным: 87% девушек и 78% мужчин сообщили, что выступают против питания вне дома, что им нравится готовить, и они стараются делать это как можно чаще.

В связи с этим на рынке появляется все более изощренные инструменты для готовки. В 2015 году основатель Музея еды и напитков Дэйв Арнолд (Dave Arnold) выпустил прибор под названием Searzall – кулинарный инструмент для приготовления мяса. Еще годом ранее инженер Массачусетского технологического института объявил о создании «умной» сковороды Pantelligent, температуру которой можно регулировать через приложение.

Современный рынок изобилует подобными кулинарными игрушками. Чаще всего за их изобретением стоят исследовательские лаборатории или кулинарные школы, но мало кто ожидал, что в разработке одного из таких устройств примет участие игровой магнат Гейб Ньюэлл (Gabe Newell).
Читать дальше →

Умная дача #1. Модули Sonoff от ITEAD

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


Когда-то, уже давным-давно, когда я ввязался в тему разработки электроники, на рынке «умно-домовых» устройств было пусто. Пусто — для меня. Мне хотелось использовать устройства, одновременно, и достаточно недорогие, и адекватно функциональные. Дешевые девайсы на 433-ем радиоканале для этого не подходили в силу своей простоты. У них нет обратной связи, нет шифрования. Легко можно прослушать команды управления в эфире и делать с «его» умным домом любые пакости. Нельзя быть уверенным, включилось ли реально устройство в результате посланной команды. Всё остальное имело неадекватный ценник.

С тех пор утекло много воды. Разработка диммера так и не дошла до финала. Не получилось устранить все проблемы с питанием — wi-fi модуль довольно прожорлив и недостаточно стабильно работает в нашей схеме включения. Пока разработка вяло текла, рынок заполнился светодиодными лампами, не диммируемыми в своем большинстве. Изменилось моё понимание умного дома. Вроде бы диммер в том его формате, как мной задумывался, не очень-то и нужен. Ибо «умный дом» должен работать сам, без выключателей. Изменился курс доллара, что осложнило разработку любого электронного проекта, а разработку диммера осложнило значительно. Устройство у него не простое, себестоимость высокая и зависит она от доллара практически напрямую. Поэтому проект диммера пока на паузе. До лучших времен. Или насовсем.

Своего решения всё не было и не было, а дача строилась. Если в квартире «умный дом» все-таки больше «погремушка», то за городом автоматика может сделать жизнь значительно более комфортной. Я регулярно искал возможные решения от других производителей. И все не находил. До недавнего времени.
Читать дальше →

Математика на пальцах: мендосинский двигатель и теорема Ирншоу

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

Постановка задачи


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

Вот на этом видео крайне подробно описан (на русском языке) принцип работы:



Но ещё больше самого двигателя мне показалась любопытной следующая вещь. В описании этого видео Дмитрий Коржевский написал следующую вещь: «Боковую опору заменить магнитом НЕВОЗМОЖНО!!! Не задавайте больше этот вопрос!»

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

Yet another инструкция по получению ssl-сертификата Let's Encrypt

Время на прочтение3 мин
Количество просмотров32K
Тема получения сертификата Let's Encrypt уже подымалась на хабре (см. тут), да и в сети можно найти много рецептов разного качества.

Читал я и ужасался: одни пишут, что то нужно nginx или apache остановить («на пару минуточек всего»), другие предлагают файлы подкладывать в папку веб-сервера (в соседней ssh-сессии), третьи — о том, как важно соблюсти правильный Content-type для файлов проверки домена…

Давайте попробуем обойтись без всего этого: чтобы не было мучительно больно ни на стадии установки, ни очередном продлении — даже если придётся обновлять сразу много доменов. Собственно, вот и вся цель моей небольшой заметки: это не пошаговый степ-бай-степ, не длинная теоретическая статья о том, как функционирует Let's Encrypt — просто описывается правильный на мой взгляд подход, который будет правилен для конфигурации любой сложности.

Вся суть в двух словах: пусть Let's Encrypt запустит веб-сервер на 9999 порту, а мы допишем конфиг nginx, чтобы он пробросил запрос на этот бекенд. Кому интересны детали — прошу под кат
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Уфа, Башкортостан(Башкирия), Россия
Дата рождения
Зарегистрирован
Активность