Работа из командной строки с модемом на Toshiba AC-100
Одна из задач, которую я хочу решить дома — слать СМС, если произошло
С датчиком я определился, расскажу
Что хорошо — у него есть

В логах видно, что это устройство «се́ло» на один из файлов /dev/ttyACM* (позднее испытания показали, что на первый):

С этими файлами работать просто — нужно отослать команду, потом передать возврат каретки, перевод строки и символ с кодом ноль. Потом прочитать что устройство ответило.
# Нужен баш версии 4 и выше
shopt -s lastpipe
function Say {
echo -en "$1\r\n\0" > /dev/ttyACM1
local line
cat -v < /dev/ttyACM1 |
while read -r line; do
[ "$line" = OK^M ] && return 0
[ "$line" = ERROR^M ] && return 1
[ "$line" = ^M ] || echo "${line/%^M/}"
done
}
# пример использования
Say AT+CGMIВ выходном потоке будет ответ модема, а в коде возврата — есть ли ошибка. Гугление показало, что отослать СМС при помощи команд очень просто, достаточно ввести две команды.
Теперь надо купить симку и попробовать.
Оптимизация картинок поворотом
Есть такой старый трюк, который с развитием CSS получил новое прочтение. Дело в том, что при упаковке изображения в графические форматы, в основном, сканируют и упаковывают изображение, двигаясь по его линиям слева направо. Первом об этом на русском языке написал, думаю, Лебедев, вот что написано в книге «Реактивные вебсайты», соавтором которой я являюсь:
Изображения GIF хорошо поддаются оптимизации. В параграфе №8 «Ководства» Артемия Лебедева есть небольшое, но интересное исследование особенностей этого формата. Вывод из параграфа простой: чем больше на картинке горизонтальных линий одного цвета, тем лучше сжимается изображение. Алгоритм компрессии LZW, применяемый в GIF, вообще лучше сжимает регулярные горизонтальные структуры в пределах одной линии.
Соответственно, если есть возможность повернуть картинку, то, бывает, она сжимается лучше.
Но не всегда так везёт, гораздо чаще, согласитесь, встречаются изображения, которые повернуть нельзя. Значит о способе забываем?
Вот тут нам и пригодятся нововведения в ЦСС. Берём свою картинку, сохраняем ещё три копии повёрнутые на 90°, 180° и 270°, а потом все четыре изображения оптимизируем, выбираем то, которое меньше занимает. А дальше просто поворачиваем его при помощи ЦСС (я ещё фильтр для старых ИЕ добавил и некоторые свойства для других браузеров):
.rotate90 {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); /* IE 5.5+ */
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; /* IE 8 */
-ms-transform: rotate(90deg); /* IE 9 */
-o-transform: rotate(90deg); /* Opera 10.5+ */
-webkit-transform: rotate(90deg); /* Chrome, Opera 15+, Safari 3.1+, Android 2.1+, iOS 3.2+ */
-moz-transform: rotate(90deg); /* FF 3.5+ */
transform: rotate(90deg); /* FF 16+, IE 10+, Opera 12.1-14.99 */
}Картинка поворачивается браузером и визуально остаётся как была.
Вообще, конечно, можно поворачивать на любой угол, если фон картинки прозрачный или совпадает с окружающим фоном, но в старых ИЕ для этого придётся использовать другой фильтр — Matrix, формула расчёта параметров такая:
progid:DXImageTransform.Microsoft.Matrix(
M11 = cos(угол),
M12 = -sin(угол),
M21 = sin(угол),
M22 = cos(угол),
sizingMethod = 'auto expand'
);Метод не лишён недостатков, конечно.
Вертолёт разбился, никто не убился

Обидно, но мой квадрекоптер на свой третий полёт сломался. Не сам, я ему очень старательно помог — не справился с управлением, он ударился об здание, винты тут же остановились (у него такая защита от повреждения винтов) и он упал с трёх метров на асфальт.
Всё в порядке с электроникой, но сломалась крестовина. Новая стоит около 1,5 тысяч. Я подумал, что смогу попробовать её починить, взял металлическую пластину, оставшегося от отделки квартиры, просверлил в ней две дырки и скрепил всё саморезами.

Я понимал, что идеально выверить крестовину мне не удасться, но я рассчитывал, что электронная схема летательного аппарата всё скомпенсирует. Увы, хотелось бы, чтобы это была история с хорошим концом, но домашние испытания показали, что аппарат тащит в сторону.
Я ещё не пробовал провести полёт на открытом пространстве, может быть я сумею управлять и таким аппаратом, но скорее всего придётся купить новую крестовину.
Кстати, о технических деталях. Разобрать аппарат до такой степени можно за пять минут, а вот чтобы заменить крестовину, придётся снять вообще всё (например, электромоторы). Некоторые вещи приклеены и их надо будет клеить заново.
На «Баше»

Опять на «Баш» попал, входит в привычку уже.
Сто лет спустя
Жарко, не спится, да ещё
Приснилось, что я человек из недалёкого (около века) будущего. Будущее недалёкое, но изменения огого какие! Не буду описывать все малобюджетные мои приключения во сне, остановлюсь на экстерьере.
Человек будущего, в представлении моего внутреннего режисёра снов, существо немного пугающее. Антропоморфность всё ещё в моде, тем более, что тело каждого человека облегает специальный костюм — он же броня, усилитель мышечной силы и конгломерат датчиков —
Костюм
Начнём с головы. В ней не осталось ничего, мозг переместился за грудную клетку, уши, рот, глаза, нос — всё исчезло, шея и челюсти — тоже. Голова ныне — рудимент, напичканный электроникой, приёмопередатчиками и частично — устройством для полётов.
Исчезла так же вся пищеварительная система, а так же органы дыхания, их заменяет сонм наномашин, которыми человек того времени забит под завязку, именно они превращают СО2 обратно в кислород, разбираются с продуктами распада и занимаются питанием организма.
На освободившемся месте — небиологическое сердце, живой мозг и реактор холодного ядерного синтеза, от последнего питается вся электроника, включая наномашины. Мышцы, кости, всё это осталось, правда кости плотнее по структуре, но состав тот же. Человечество трогательно цепляется за свою человечность.
Ещё о костюме — он очень тонкий и облегающий везде, кроме подошв — там десятисантиметровая платформа, в ней по небольшому реактору, плюс остаток устройства для полётов. Точнее, в этом симбионте
Никаких сопл, пропеллеров
Ещё несколько штрихов к портрету. Речи нет, вместо неё — цифровой радиоканал, так же человек будущего видит и слышит любой точкой своего костюма, воспринимает радио- и магнитные волны и весь спектр света (при желании, конечно). Писа́ть он не умеет, нужды нет. Плюс прямая связь с машинами, видно, что ускоренная реакция и очень хорошая гибкость. Носить одежду поверх костюма — считается модное ретро, правда носят
Те, кому эти тряпки носить не хочется,
Ничего не знаю про восприимчивость к температуре, во сне я её вообще не ощущал, эта информация казалось чисто справочной и я о ней ни разу даже не осведомился.
А ещё я видел свою кожу без костюма, зрелище малоаппетитное — сморщенная, белесая, кстати, ещё волос нет нигде. Ладно, пойду спать, назад в будущее.
Под водой

Решил потренировать задержку дыхания под водой,
Написал таймер сам, на баше. Запускается в консоли, прерывается по комбинации Ctrl+C, любая другая клавиша — сохранение на экране промежуточного результата.
Кроме того, мой таймер произносит сколько минут прошло — «one minute», «two minutes» и так далее, а каждую половину произносит слово «middle».
Громкости моего ноута за глаза хватает, чтобы услышать таймер в ванне, под водой. Без отсчёта держаться
«Докер» — хороший хостер

Вот уже четыре года я пользуюсь хостингом компании «Докер»,
За четыре года ни разу не пожалел о выборе компании, ребята оперативно решали возникающие время от времени проблемы, шли на встречу
Мне пришло в голову, что я незаслуженно редко говорю им «спасибо» за качественную работу, потому исправляюсь. Спасибо!
Если
Сколько нужно пользователей «Мака», чтобы ввинтить 60-ваттную лампочку в цоколь E27?
Ко времени, когда у меня появился первый IBM PC (всё что я помню — процессор 80286, жёсткий диск то ли 20, то ли 40 мегабайт), я уже знал, что в этом мире царит удивительное разнообразие — разные процессоры, видеокарты, звуковые карты и так далее.
Потом дома появился компьютер на 80386, далее 80486, первый «Пентиум», первый
Потом стал вникать в различие между производителями. Диски Western Digital, видеокарты Matrox, модемы ZyXEL.
Думаю, этот интерес большей частью был обусловлен тем, что для меня это было всё внове, плюс,
Когда у меня случилась потеря интереса к компьютерным играм, я не помню. Я иногда
Технологическая база компьютеров к тому времени настолько разрослась, что запоминать и изучать это всё можно только
Я знаю, в общих чертах, что нового появляется в этой области, детализация мне неинтересна. На трёх своих последних ноутах, которые были ещё под Виндой, я понятия не имел какой у меня процессор, что у них за материнская плата или звуковая карта, какой тип матрицы дисплея.
Я знал только важные для меня вещи — размер жёсткого диска и размер памяти. Естественно, ничего не изменилось при переходе на «Мак» (хотя нет, вру, я сейчас не знаю размера диска, недавно посмотрел — он ещё не занят, ну и чудно).
Пользователей «Маков»

Ну да, пользователи «Маков» часто не знают всех этих характеристик, а зачем их знать? «Маки» редко покупают для игр, обычно это работа (графика, звук) или простые бытовые занятия (создать пару документов, посидеть в интернете).
Я бы мог потроллить вопрошающих, спросив знают ли они какие цоколи ламп в каждой люстре у них дома или как называется стандарт розеток, в которые они каждый день втыкают вилку своего компьютера, но как правило я просто соглашаюсь — действительно, я не знаю, например, какой у меня тип памяти в ноуте и чем отличается Кор Ай5 от Ай7.
Ну и что?
Windows XP живее всех живых

Сериал «Светлячок», действие которого происходит в 2517 году. На экране управления мусоровозом — Виндоуз ЭксПи (если не ошибаюсь), мастер настройки принтера. Так что, ребята, эта ОС (и шестой эксплорер с ней), не умрёт никогда, по предсказанию фантастов!
Пост ругани на S7
Вчера летел из Домодедова самолётом компании «С7». В Домодедове творился ад — на первом этаже людей было, как сельдей в банке, самолёты летели с большими задержками, у нас рейс задержали на 3,5 часа. Духота, сесть негде, я старался притереться поближе к открывающимся иногда выходам, чтобы глотнуть воздуха.
Все 3,5 часа приходилось ловить сотрудников компании и выпрашивать у них информацию — почему задержка, что случилось, когда полетим (на табло вылетов все 3,5 часа высвечивалось «информация ожидается»)?
В итоге,
Всё оставшееся время я ловил сотрудников «С7» и объяснял, что пассажирам всё равно есть ли там питание, если выбор — его загрузка в течении часов или вылет немедленно. Пилотов я обещал накормить за свои деньги.
Возможно, мои слова
Так вот, я считаю, что сотрудники компании «С7» повели себя тут как пидорасы в плохом смысле. Надо было выйти к пассажирам, объяснить ситуацию, предложить вылететь вовремя без обедов, а деньги за стоимость обеда — вернуть.
AR01-220 IP20
Вставленный в решётку вентиляции вытяжной вентилятор, положение не спас — на всё время его работать не оставишь, он как минимум шумит, а вручную мы его включаем когда чувствуем запах, т. е. он уже разлетелся по квартире, а в туалете в этот момент уже рыбу можно коптить.

В общем, задумался я об автоматизации процесса заботы о здоровье. Китай, как не странно, меня не выручил — найденная масса датчиков оттуда, либо просто бессильно пищит на дым, либо обладает оптореле
Нашёл пару российских фирм, выпускающее то, что мне нужно — датчик сигаретного дыма с регулировкой чувствительности, который умел бы управлять устройствами, питающимися от 220В. Первая фирма не работает с физическими лицами, потому отвалилась, вторая НПП «Эконикс» проблему в этом не увидела и я банковским переводом в 5,5 тысяч оплатил средство сделать жизнь лучше. Доставка в Казань обошлась всего в 250 рублей.
Датчик питается от сети в 220В, что очень хорошо — не нужен отдельный блок питания, крепится
На моей фотке кожух снят
Серьёзных испытаний я ещё не проводил, то ли сосед бросил курить уже, то ли вентилятор время от времени незаметно срабатывает и сразу вытягивает накуренное, не знаю, но одной проблемой в моей жизни стало меньше.
X10: управление домом
Неспешно смотрю протокол Икс10 и аналоги. Кто не знает — это управление всяческой техникой по проводам электрической сети. Если кто занимался этим вопросом, подскажите, пожалуйста.
Мне нужна очень простая штука: заменить обычный механический выключатель на такой же, но управляемый как локально, так и дистанционно. Т. е. чтобы он питался от той же электрической сети, выглядел как обычный выключатель, но чтобы дополнительно управлялся с другого устройства.
Всё что я нашёл — отдельно управляющий блок, который заменяет выключатель (в этом месте стена заделывается) и отдельно дистанционный выключатель, который управляет этим блоком и который устанавливается
AR.Drone 2.0 фирмы Parrot
Я, как знают постоянные читатели, люблю ездить по заброшенным храмам и фотографировать. Меня привлекает очарование старых зданий, их атмосфера, которую я часто не могу почувствовать там, где толпятся люди. Кроме того, часть заброшенных цервей рушится или намеренно разрушается. И мне хочется сохранить их хотя бы на фотографиях.
Недавно, кстати, я узнал, что у моего хобби есть название — постпаломничество и выделил все фотографии по теме в отдельный альбом. Меня давно привлекала идея делать фотографии не только с того ракурса, до которого я могу дотянуться, но и выше — например, с высоты птичьего полёта.
И я с завистью смотрел на ребят, запускающих любительские модели, поднимающие в воздух камеры. А недавно узнал о существовании AR.Drone 2.0 фирмы «Паррет». 2.0 — это номер версии, от первой отличается улучшенной фрональной камерой (1280×720 против 640×480), наличием компаса, барометрического альтиметра и характеристиками моторов.

В комплекте идёт два корпуса (для полётов внутри помещений и на воздухе, последний меньше весит, а значит время полёта чуть больше), сам летательный аппарат и аккумулятор. Покупку мы делали в «Медиамаркте». Поскольку я в интернете при менеджере нашёл такой же аппарат, но продающийся в «М.Видео» дешевле, то мне ещё подарили запасной корпус для полётов внутри помещений (он 2,5 тысячи стоит).

Отдельного устройства управления у него нет, управляется он при помощи специальной программы с любого устройства на АйОC или Андроиде. Виден как обычная

Аккумулятора хватает минут на 15 полёта, так что вместо запасного корпуса надо было брать запасной аккумулятор, зарядка занимает примерно 1,5 часа. Дальность — примерно 50 метров, послав дрона далеко вперёд, легко его больше не найти — теряя сигнал он снижается и если вы летали надо полем пшеницы, то вряд ли его найдёте, я в траве искал минут 10. Так что устройству отчётливо нехватает
Пока хорошо управлять им я не научился, на высоте дуют другие ветра и там его

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

Вообще, вокруг этих квадрокоптеров уже образовалось достаточно плотное сообщество, так как внутри обычный Линукс, да ещё и с открытым АПИ, описан большой опыт модификации этих устройств (например, к ним крепят камеру лучшего качества, другой корпус и так далее), но мне это пока не интересно — научиться бы «водить» базовую комплектацию.
В общем, устройство интересное, но нужен второй аккумулятор, иначе хватит его только на полёт
Павел Степанович Стрелков
Удивительно. В одну из поездок к родителям я посетил
В Национальном Архиве нашлись бумаги, что мой прапрадед, Павел Степанович Стрелков (1863 года рождения) был наёмным чернорабочим как раз у Шулешкина, а помимо этого арендовал у него землю, которую засевал рожью и коноплёй (напоминаю, в те годы её выращивали легально и она шла на ткань и верёвки), и имел собственный дом.
В бумаге об аренде за 1900 год Шулешкин зачёркнут и вписан Анечкин Валерий Иванович, который так же упоминается в бумаге за 30 июля 1900 года как помещик
Ещё известно, что на этот год Павел Степанович (кстати, в некоторых бумагах отец записан как «Стефан» — возможно это крестильное имя) держал двух лошадей с жеребёнком, одну корову с телёнком и трёх овец с двумя ягнятами.
Так же доподлинно известно, что у него было два сына (возможно — три) и четыре дочери, есть вероятность, что у его жены это был второй брак, но детей, по всей видимости, в первом браке не было. Один из сыновей, так же Степан (Стефан), возможно названный в честь деда — мой прадед, который числится пропавшим без вести на Великой Отечественной Войне.
Интересно, что по меньшей мере до 1900 года фамилия у этой семьи не упоминается, а вот в 1908 в записи о рождении их дочери, оба родителя записаны как «Шапкины», причём эту фамилию я слышал как о наших родственниках, степени родства с которыми никто не помнит.
Историк, который для меня изучает архив, считает, что
Пятничная загадка для PHPшников
В ЖЖ увидел прекрасное — загадку про ПХП.
Те, кто знает этот язык, скажите, почему этот код не выдаёт ошибок или предупреждений (все ошибки, конечно, включены):
<?php
//bolknote.ru
?>Лучше сова в руках, чем жаровонок в небе
В Твиттере интересуются моими «экспериментами» по преобразованию меня в «жаворонка».
Напоминаю, что это не эксперимент, а производственная необходимость — мне нужно быть на работе в 9 часов, что для совы довольно рано. Я уже более полутора лет живу в режиме самоизнасилования, в моей жизни и раньше встречались такие моменты — когда я учился. Например, в Университете стало полегче — многие утренние пары можно было прогулять, но кроме этого были ещё школа и техникум.
Напоминаю чем отличается «сова» от просто ленивого человека: если «сова» встаёт раньше положенного, то почти всё утреннее время она будет тупить. В моём случае совсем всё плохо, самое плодотворное у меня время — после 8 вечера, а в десять мне уже желательно лечь спать.
Второе — вставать очень тяжело.
От утреннего тупняка мне никуда не деться,
Одно время в СССР было популярно приучать себя и детей к режиму. Книжки, фильмы, мультики — всё это показывало положительных героев, живущих по режиму. В детстве ничего из этого не вышло, теперь же мой утренний распорядок таков:
7:00 — подъём (никаких вторых и третьих будильников, встаю сразу) 7:05 — лёгкий завтрак 7:15 — душ (в моём случае — ванна, душ я не люблю, ванну — люблю, вода
Кроме того, в выходные я позволяю себе расслабиться, но не «отоспаться» — это, похоже, скорее вредит. Встаю часов в 9—10, очень редко позже, только если плохо себя чувствую.
Плотные (совсем не пропускающие свет) шторы мне посоветовал
ReactOS/Windows *CriticalSection API → Linux
Вчера портировал часть «РеактОС» под Линукс, пришлось разобраться что делает небольшой фрагмент АПИ Виндоуз («РеактОС» — это операционная система, совместима с Виндоуз).
Функции оказались небольшими, но вдруг
#include <pthread.h>
inline void InitializeCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutexattr_t mAttr;
pthread_mutexattr_settype(&mAttr, PTHREAD_MUTEX_RECURSIVE_NP);
pthread_mutex_init((pthread_mutex_t *) (void *) cs, &mAttr);
pthread_mutexattr_destroy(&mAttr);
}
inline void DeleteCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutex_destroy((pthread_mutex_t *) (void *) cs);
}
inline void EnterCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutex_lock ((pthread_mutex_t *) (void *) cs);
}
inline void LeaveCriticalSection(CRITICAL_SECTION *cs)
{
pthread_mutex_unlock ((pthread_mutex_t *) (void *) cs);
}После этого все другие обращения к структуре CRITICAL_SECTION нужно, конечно, убрать, иначе код будет падать.
При царях Горохах
Во главе Спарты стояли два царя, власть который была ограничена пятью эфорами, обладавшими всей полнотой законодательной, судебной и исполнительной властью. (…)
—
А по-моему, они должны враждовать между собой. — Вот именно! Предположим, был бы только один. (…) Если он чувствует силу, то отбирает у своих подданных всё — жён, сыновей, имущество. В общем, делает что хочет. А посмотри, как у нас? Если бы один из наших правителей попробовал так вести себя, мы тут же переметнулись на сторону второго. Так что они даже не пробуют.
Джин Вульф. «Воин тумана».
Никогда не слышал, что в Спарте два царя было, причём совершенно равноправных, как интересно. В книге всё выглядит мудростью (впрочем, это не историческая книга), «Википедия» же не так радужно всё описывает.
Там три версии высказывается — что было два
Конец Гугл Ридера
Первого июля Гугл закапывает очередной полезный проект — Гугл Ридер. Если кто вдруг не знает, это читалка РСС. Я этим проектом пользовался с момента появления, каждый день по многу раз. Не забудьте положить цветочек на виртуальное кладбище продуктов Гугла.
Это в определённой степени подрывает доверие к Гуглу и идее
Я так ничего и не смог выбрать взамен. Есть идеи куда переходить после первого июля?
Неонилла
Постепенно знакомлюсь с другими любителями покапаться в собственной родословной. У меня часто начали спрашивать как мои успехи, не забросил ли я своё хобби.
Хочу доложить. Хобби не забросил, на данный момент в дереве 1752 человека, это, конечно, в основном, «в ширину». Если считать меня нулевым поколением, то все ветви уже достигли пятого поколения, некоторые (уже в приличном количестве) — шестого.
Появилось новое интересное имя — Неонилла (от греческого «Νέος», «новый») (как утверждает «Википедия») имя редкое, родственное ему хорошо нам знакомое имя Неля.
Неонилла Ивановна Старостина — моя вероятная прапрапрабабушка (пока это выясняется).