Многие из тех, кто мастерит разные штуковины на ESP8266, в какой-то момент задумывались, что было бы здорово взять ту штуковину, положить в карман — и пойти с ней погулять. ESP8266 ведь такой маленький, так и просится. И тут на нашем пути встречается небольшое препятствие — одним программированием здесь не обойтись, придётся брать в руки паяльник, но всё не так страшно, и, надеюсь, эта статья вам поможет.
Джеймс Бонд
@k0ldbl00d
Слесарь-сантехник
Несколько дельных советов по CSS

CSS Protips
Это современные решения типичных проблем, коллекция советов, которая поможет вам улучшить ваши профессиональные навыки CSS.От переводчика
Приветствую, для вас подготовлен еще один перевод заметок на тему CSS. Мэтт Смит, разработчик из Портленда, поделился CSS-советами и выложил их на GitHub. Мне особенно понравилась его подборка, она структурирована, не особо громоздкая в плане скучных больших текстов и описаний, и в целом будет понятна даже новичку. Я буду рад, если в комментариях мы с вами обсудим каждый пункт и в итоге дадим некоторые заключения. Итак, приступим.Cодержание
- Используем псевдо-класс :not для задания рамки навигации
- Добавляем межстрочный интервал элементу body
- Центрируем по вертикали все что угодно
- Правильно разделяем запятыми элементы списков
- Отрицательный порядковый номер в nth-child
- Используем SVG-логотипы
- Аксиоматический CSS
- Максимальная высота у CSS-слайдера
- Наследуем box-sizing
- Одинаковая ширина ячейки таблицы
- Динамические внешние отступы при помощи flexbox
- Используем селектор атрибутов пустых ссылок
- Стили по умолчанию для обычных ссылок
Параметры Wayfinder
Описание
Служит для организации меню. Позволяет организовать простые,
многоуровневые, а также выпадающие меню.
Благодаря использованию шаблона результат может быть выведен в виде
нумерованных и ненумерованых списков или любом другом.
Рассмотрим параметры, которые есть у Wayfinder. Указанные параметры относятся к первой версии.
Почему SNMP это не очень просто?
Туториал
Давным давно, на Хабре была опубликована статья, рассказывающая о том, как использовать популярную библиотеку, для работы с SNMP из Java-приложения. Поддерживая, в целом, начинание автора, я хочу остановиться на тех сложностях, которые могут возникнуть в реальном проекте, использующем SNMP.
Собственный сервер Git на базе Ubuntu или Debian/GNU Linux
Я встречал в сети много tutorial'ов по установке своего сервера git как на gitweb, так и на webdav, но, увы, они либо были только по одному из вышеназванных пунктов, не освещая другой, либо банально не работали. Вчера возникла необходимость поднять свой сервер репозиториев. Потратил пару часов — поднял, теперь хочу поделиться опытом, потому что считаю проблему актуальной :)
Arduino & Modbus
В предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?
Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?
Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Как нам подключить Modbus устройство к OpenHAB?
Modbus — самый известный и распространенный стандарт в промышленной автоматизации, его поддерживают миллионы устройств по всему миру, эти устройства легко интегрируется в единую сеть и стыкуются с огромным количеством готового программного обеспечения. Попробуем использовать его в нашем проекте?
Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.
Discrete Inputs | 1 бит | только чтение |
Coils | 1 бит | чтение и запись |
Input Registers | 16 бит | только чтение |
Holding Registers | 16 бит | чтение и запись |
Как нам подключить Modbus устройство к OpenHAB?
Кнопок много не бывает
Из песочницы

Проблема «7-го января»
Во время работы над одним из проектов обнаружился довольно интересный баг, который, как потом выяснилось, проявляется не только в «самописных» календарях, но и в популярных open-source библиотеках. Проблема заключается в невозможности выбрать 7 января. В некоторых календарях эта дата просто отсутствует:

Если выбирать 6-е число (которое стоит на месте 7-го), то выбирается… 6-е число.
Баг наблюдается (по предварительным оценкам) под Windows 8.
UPD: Природа проблемы раскрыта здесь. Все дело в RTZ2 после Microsoft Update KB2998527.
UPD2: 0xy: проблема наблюдается не только в Firefox, но и в мобильных версиях различных браузеров. Подробнее (плюс баг-фикс).
Некоторые подробности под катом.

Если выбирать 6-е число (которое стоит на месте 7-го), то выбирается… 6-е число.
Баг наблюдается (по предварительным оценкам) под Windows 8.
UPD: Природа проблемы раскрыта здесь. Все дело в RTZ2 после Microsoft Update KB2998527.
UPD2: 0xy: проблема наблюдается не только в Firefox, но и в мобильных версиях различных браузеров. Подробнее (плюс баг-фикс).
Некоторые подробности под катом.
Методы мониторинга в системах DWDM (Часть 1)

Основным принципом технологии WDM (Wavelength-division multiplexing, частотное разделение каналов) является возможность передавать в одном оптическом волокне множество сигналов на различных несущих длинах волн. В российском телекоме системы передачи, созданные с помощью технологии WDM, называют «системы уплотнения».
Поддельное BLE-устройство на nRF24l01
Данная статья на 90% основывается на заметке «Bit-Banging» Bluetooth Low Energy. Все началось с того, что потребовалось запустить распространенные сейчас трансиверы на чипе Nordic nRF24l01. В процессе поиска примеров работы с ними я и наткнулся на вышеупомянутую статью. Являясь обладателем телефона с поддержкой Bluetooth 4.0 (который и включает в себя Bluetooth Low Energy), подумал: а почему бы не попытаться повторить эксперимент?
IPv6: Сколько адресов нужно для счастья?
Картинка, которая некоторых привыкших к IPv4 сетевиков может ввести в ступор:
Причём каждый из этих адресов может быть использован наравне с другими. Как так?
R6#sh ipv6 interface brief
FastEthernet0/0 [up/up]
FE80::218:18FF:FE45:F0E2
1::1
1::2
1::3
1::10
1::100:500
2::1
2::2
Причём каждый из этих адресов может быть использован наравне с другими. Как так?
Прозрачная аутентификация в Redmine
Сегодняшний пост будет про удобство использования Redmine в корпоративной среде, а если быть точнее, про прозрачную авторизацию пользователей Redmine в домене Microsoft Active Directory.
Мы используем Redmine как единую информационную среду, в которой работают все сотрудники компании. Вводить один и тот же пароль дважды — это всегда неудобно. Поэтому, мы настроили прозрачную аутентификацию через домен.

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

Установка «Redmine» на «Linux Ubuntu» с прозрачной аутентификацией в домене (Apache, Passenger, RVM, MySQL)
Туториал
Данным постом хотелось бы начать цикл статей о том, как мы адаптировали под свои нужды трекер задач «Redmine».
Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!
Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».
Около 2-х лет назад мне пришлось достаточно сильно изменить профиль своей деятельности, и от системного администрирования уйти в разработку на фреймворке «Ruby on Rails». Нужно было адаптировать «Redmine» под нужды достаточно большого IT-отдела, а потом и под нужды компании в целом. Тогда, я столкнулся, с относительной не простотой установки «Redmine». И комплексной статьи для новичков очень не хватало!
Есть несколько способов установки ROR-приложения, которым является «Redmine». В данной статье речь пойдет об установки на web-сервер «Apache», с использованием «Passenger» и «RVM». В качестве сервера баз данных, мы до сих пор используем «MySQL» (вернее MariaDB), хотя и подумываем о переезде на «PostgreSQL».
Hadoop для сетевых инженеров
Apache Hadoop — это набор утилит для построения суперкомпьютера, способного решать задачи, слишком большие для одного сервера. Множество серверов образуют Hadoop-кластер. Каждая машина в кластере носит название узла, или ноды. Если необходимо увеличить производительность системы, то в кластер просто добавляется больше серверов. Ethernet выполняет функции «системной шины» суперкомпьютера. В данной статье будут рассмотрены аспекты дизайна сетевой инфраструктуры, а также архитектура, которую Cisco предлагает использовать для таких систем.
Офис на Linux — мой опыт
Настройка Linux *Системное администрирование **nix *Сетевые технологии *Серверное администрирование *
Предисловие
Возникла у меня с полгода назад задачка: быстро и с минимальными затратами организовать работу аудиторской фирмы после переезда и резкого расширения штата сотрудников. Имелся десяток стареньких компьютеров, NAS c RAID-массивом, около ста тысяч рублей денег на всё про всё. Надо было умудриться купить ещё несколько компьютеров и сделать так, чтобы «тормоза», к которым сотрудники уже почти привыкли, хотя бы не усилились. Появились и рабочие места вне офиса, по области, с не очень-то «толстым» каналом в Интернет. Плюс ко всему имелось пожелание улучшить безопасность: новые сотрудники должны быть ограничены в доступе к некоторым базам данных, не могли скопировать базы к себе на «флэшку» и т.п.
Понятно, что в такой (впрочем, как почти в любой) фирме всё вертится вокруг 1С (в данном случае — 8.2). Используются файловые базы данных, это для заказчика весьма важно. Узкое место здесь — сеть. Ну, предположим, заменить 100-мегабитное оборудование на гигабитное несложно, но есть ещё и вопрос безопасности: файлы в общем доступе — хорошая дырка. А ведь есть ещё и удалённые рабочие места. Очевидно, что я стал смотреть в сторону терминального доступа.
Покрутив в голове и электронных таблицах различные варианты коммерческих терминальных серверов известных фирм я понял: в бюджет не уложиться. Зато, как я помнил, 1с версии 8.3 существует в виде «нативной» реализации под Linux, при этом конфигурации от 8.2 с ней вполне совместимы. Проведя пару экспериментов дома, я решился и вышел к заказчику с предложением: «делаем терминальное решение полностью на Linux!» Заказчик отреагировал здраво: «хоть на чёрте лысом делай, но чтоб в понедельник всё работало!» И я взялся за работу.
В статье я вольным стилем и кратко опишу, как я решал задачу. Не претендую на то, что сделал всё правильно и хорошо, однако задача решена и пользователи довольны.
Демо для Sega MegaDrive
В прошедшие выходные на демопати EVOKE 2013 была выпущена лучшая в истории Sega демонстрация под эту платформу. Реакция в сообществе настолько бурная, что даже если вы слышали о демосцене лишь краем уха — стоит посмотреть!
Overdrive by Titan — Sega MegaDrive demo
По ссылкам на Pouet вы можете дополнительно проникнутся атмосферой показа через две live-записи — оцените реакцию зала! Сама работа наполнена огромным числом референсов к классическим demo на Amiga, PC и C64.
В основе архитектуры Sega MegaDrive лежат два классических процессора: Motorola 68000 (16bit, 7.61 МГц) и Zilog Z80 (8bit, 3.55 МГц). Последний почти ничем не помогает в конкретном демо, так как используется в режиме совместимости с Master System. Основное ОЗУ консоли — 64 кб.
Всем Сега, пацаны!
Overdrive by Titan — Sega MegaDrive demo
По ссылкам на Pouet вы можете дополнительно проникнутся атмосферой показа через две live-записи — оцените реакцию зала! Сама работа наполнена огромным числом референсов к классическим demo на Amiga, PC и C64.
В основе архитектуры Sega MegaDrive лежат два классических процессора: Motorola 68000 (16bit, 7.61 МГц) и Zilog Z80 (8bit, 3.55 МГц). Последний почти ничем не помогает в конкретном демо, так как используется в режиме совместимости с Master System. Основное ОЗУ консоли — 64 кб.
Всем Сега, пацаны!
Интеграция с ВКонтакте на базе Open API
Из песочницы
Социальная сеть ВКонтакте предоставляет широкие возможности для интеграции со сторонними сайтами. В основном эти возможности представлены уже готовыми виджетами. Однако, есть еще и Open API, которое позволяет не только авторизовать пользователя, но и выполнить любой метод, доступный приложениям ВКонтакте (ВКонтакте API).
Воскрешение D-Link DWL-2100AP
Я работаю в мелкой фирме-провайдере, предоставляющей интернет в области, в том числе и в частном секторе. В качестве технологии последней мили выбран Wi-Fi с направленными антеннами и точками доступа на обеих сторонах (в режимах WDS и «клиент»). Энергоснабжение в частном секторе оставляет желать лучшего — напряжение скачет и довольно часто пропадает совсем. Само собой, на оборудовании такие условия сказываются крайне негативно — точки часто выходят из строя, при этом многие из них вываливаются в циклическую перезагрузку из-за возникающих сбоев в прошивке. Таких точек у нас скопилась пара десятков. Начальство решило, что ремонтировать точки в итоге обойдется дороже чем купить новые. Но жаль, когда столько оборудования лежит мертвым грузом, но еще может послужить родине.


Связка Nginx+Apache, как отдавать Apache только запросы к PHP?
Была поставлена задача: сделать отказоустойчивый и производительный веб-сервер. В интернете можно найти большое количество документации по настройке связки Nginx+Apache, всю технологию описывать нет смысла. Идея состоит в том, что легковесный Nginx должен отдавать весь статический контент (картинки, архивы и т.п.), запросы на генерацию динамического контента отдаються тяжеловесному индейцу Apache. Такая связка разгружает сервер и сейчас используется почти повсеместно.
Как же отдавать Apache ТОЛЬКО запросы на PHP, а все остальное обрабатывать NGINX`ом?
Как же отдавать Apache ТОЛЬКО запросы на PHP, а все остальное обрабатывать NGINX`ом?
Пишем скрипт голосового меню для Asterisk
Всем привет!
Решил написать небольшую заметку как у нас в компании организовал голосовое меню для Asterisk. Тема наиболее актуально для новичков в IP-телефонии. Так что, товарищи хабравчане, не минусуйте сильно, я же стрался помочь новичкам.
Что нам для этого потребуется: заранее записать 4 приветственных сообщения:
1. Здравствуйте, вы позвонили в компанию Рога и Копыта. Для соединения с сотрудником наберите его внутренний номер или оставайтесь на линии.
2. Секретарь не может вам ответить, но вы можете связаться с интересующим вас отделом. Нажмите 1 — отдел ТС, 2 — 1С-программирования и т.д.
3. К сожалению, сотрудник не может вам ответить. Будет сделана переадресация на его сотовый телефон.
4. К сожалению, сотрудники отдела не можут вам ответить. Вы можете оставить голосовое сообщение руководителю отдела.
Схема выглядит следующим образом[Зараннее прошу прощения за художественную часть :) не силен]
Решил написать небольшую заметку как у нас в компании организовал голосовое меню для Asterisk. Тема наиболее актуально для новичков в IP-телефонии. Так что, товарищи хабравчане, не минусуйте сильно, я же стрался помочь новичкам.
Что нам для этого потребуется: заранее записать 4 приветственных сообщения:
1. Здравствуйте, вы позвонили в компанию Рога и Копыта. Для соединения с сотрудником наберите его внутренний номер или оставайтесь на линии.
2. Секретарь не может вам ответить, но вы можете связаться с интересующим вас отделом. Нажмите 1 — отдел ТС, 2 — 1С-программирования и т.д.
3. К сожалению, сотрудник не может вам ответить. Будет сделана переадресация на его сотовый телефон.
4. К сожалению, сотрудники отдела не можут вам ответить. Вы можете оставить голосовое сообщение руководителю отдела.
Схема выглядит следующим образом[Зараннее прошу прощения за художественную часть :) не силен]
Информация
- В рейтинге
- Не участвует
- Откуда
- Параньга, Марий Эл, Россия
- Дата рождения
- Зарегистрирован
- Активность