четверг, 24 декабря 2015 г.

Нюансы разработки из консоли

Я уже давно отказался от работы в Netbeans, более того, от работы в GUI. Эта IDE достала меня своими тормозами, дождаться открытия diff'а перед коммитом почти нереально. А без просмотра диффа коммитить нехорошо. Бесконечное "фоновое сканирование проекта", откуда-то взявшаяся гора дубликатов файлов во все-таки открывшемся через 10 минут предпросмотре коммита, видимо из-за использования символьных ссылок. Тормоза UI, стоит только нажать Ctrl. И это на моем 4-ядерном  проце, 8Гб RAM и недешевом SSD диске Intel.
Тогда я и решил уйти в подполье. Сейчас работаю исключительно через putty, используя screen, vim, grep и консольный svn. Собственно сама работа ведется на сервере.

Поскольку сервер у меня работает 24х7 и доступен из инета - такой подход открыл массу удобств.
screen позволяет оставить работу в любой момент и в любом состоянии, закрыть putty, а затем вернуться и продолжить с того же места. Причем необязательно с того же компа. Хоть из интернет-кафе. Суть в том, что теперь не нужен специально подготовленный к разработке комп со всем установленным софтом. Только putty. И удобство работы зависит теперь не от мощности компа, а от размера его экрана. В принципе я и с нетбука однажды работал.
svn+vim вполне сносно позволяет смотреть diff и править прямо при просмотре. Это последнее, ради чего я иногда все же запускал Netbeans. Все-таки визуальный дифф - это очень удобно.
vim позволяет использовать гору плагинов, впрочем, я не увлекаюсь, дабы не получить тормозов. Удобная фишка - табы при редактировании файлов. Это, кстати, встроенная возможность vim'а, чтобы открыть несколько файлов таким образом, нужно использовать ключ -p
vim -p file1 file2
На фото - дифф одного из файлов моего проекта AcePHProxy, табы vim (вверху), группировка screen (внизу).


Настроить vim на всеми любимый "переход к определению функции" тоже можно, однако я работаю с одним и тем же проектом уже давно и сам знаю куда идти, тем более, что код там организован аккуратно. По сравнению с Netbeans я уж точно ничего не потерял, там пока дождешься этого перехода, уже можно давно файл найти и открыть самостоятельно.
Может я однажды попробую силы в написании плагинов для vim, тогда и организую.

Но linux не был бы linux'ом, если бы не требовалось доставать из ящика напильник..
Далее о том, как я настраивал svn diff через vim с редактированием прямо при просмотре, а также 256-цветный режим терминала и устранял сопутствующие глюки.

пятница, 20 ноября 2015 г.

ESP8266 быстрый старт

Есть у меня два модуля ESP-01, купил давно уже, на всякий случай, а тут и задача подвернулась, думаю надо их попробовать в деле. Поначалу я даже не представлял, как будет устроена работа, на каком уровне абстракции придется работать, реализовывать ли TCP/IP стек в МК, формировать ли сетевые пакеты руками, какой вообще функционал мне предоставит модуль, ну и тому подобные переживания :).
Оказалось все очень просто, модуль представляет из себя полностью законченное сетевое устройство, он поддерживает необходимые методы шифрования и вообще реализует всю работу с TCP/IP на стороне WiFi, а с МК общается через UART посредством набора AT-команд. Т.е. на стороне МК все предельно просто, там доступны такие удобные команды, как посмотреть список WiFi-сетей, подключиться к выбранной, открыть коннект до хоста IP на порту PORT, записать и прочитать данные из сокета, сделать пинг до хоста и т.д.

Распиновка модуля такая:

также у меня есть китайска-USB-TTL адаптер, выдающий кроме 5В еще и 3.3В.
Подключение модуля обещает быть проще некуда, 4 проводка и можно общаться с ним через программу-терминал. Следовательно, VCC подключаем к питанию 3.3В, GND к земле, RXD чипа к TXD адаптера, TXD чипа к RXD адаптера, CH_PD к питанию.

вторник, 10 ноября 2015 г.

Решение проблемы нестабильной работы WiFi на Meizu M2 note

Только что купленный телефон Meizu M2 Note с ходу продемонстрировал практически полную неработоспособность WiFi. Закачка приложения с Google Play представляла собой периодическое (и очень частое) включение-выключение WiFi. Помогало на 2-5сек, затем скорость падала с 200-300кб/с до нуля. Вблизи роутера картина была получше, почти до 1МБ/с дотягивало. На всех остальных ноутах-телефонах-приставках все было вроде хорошо.

Роутер D-Link DIR-655, настроена сеть стандарта 802.11g/n, канал 13, полоса 20/40 MHz, скорость Best (automatic).

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

Пробовали для начала обновить систему, скачали прошивку аж на 800+ Мб, а она не пошла - Firmware corrupt, попробовали еще 2 разных версии с тем же результатом.

Далее я начал ковырять настройки роутера и методом научного тыка нашел злополучную галочку в разделе Advanced Wireless - WMM Enable.

При выставленной галочке WiFi стабильно не пашет, при снятой - стабильно пашет.

SOLVED

воскресенье, 26 июля 2015 г.

Как запустить Windows 8 в безопасном режиме

Возил я однажды свой системник на дачу, чтобы там поработать. Системник в корпусе Lian-Li PC-Q12B, легко берется одной рукой под мышку, но при этом мощный, так что путешествует частенько.
Тамошний монитор - зверюга NEC FE 991 SB, умеющий разрешение аж до 2048х1536. Так вот по приезду обратно я подключил системник и столкнулся с проблемой - мой LCD монитор демонстрировал мне сообщение "Out of range", великовато, дескать, разрешение-то в винде выставлено.
В интернете достаточно копипастов статей как войти в безопасный режим в Windows 8, но все они хороши для случая, когда винда загружена и монитор показывает.
У меня же более сложный случай.

воскресенье, 28 июня 2015 г.

Ace Stream прокси своими руками, просмотр Torrent TV на XBMC

У меня на хате уже 4 XBMC точки (и 5-я на подходе), у всех общая мультимедиа база (общее mysql-подключение), и на всех я хотел бы смотреть ТВ с сайта torrent-tv.ru (есть аддон для XBMC), но пока что приходится настраивать (и обновлять при случае) руками на каждой точке отдельно. Это установка Ace Stream, втыкание плагина torrent-tv в XBMC, в принципе на этом всё, но все же лениво. Не всегда получается с первого раза, сейчас вот на одной точке вылезла проблема обновления плагина с резолюцией "Dependencies not met", а аналогичный плагин (официальный) вообще помечен как Broken. Ace Stream на тот момент в репозиториях не было, приходилось руками ставить. К тому же системы разные, где виндов$, где линух, а где то вообще андроид. На телефон, к примеру, AceStream сервер не поставишь, и порт по ssh не пробросишь. Потому захотелось поднять на домашнем сервере единую точку раздачи торрент-тв, а в общей папке мультимедиа разместить плейлист со ссылками на каналы.

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

четверг, 4 июня 2015 г.

Ветра нет, а чаю хочется

Что если электричество отключили, ветер стих, солнца нет, и аккумуляторы сели?
В условиях автономного дома самый простой способ сгенерировать энергию - покрутить "динаму" или педали.
Не напрягаясь, средний дядя может выдавать 100Вт на велотренажере. Посчитаем, сколько нужно крутить педали, чтобы обеспечить себе привычный уровень комфорта!