Category: it

Category was added automatically. Read all entries about "it".

monster

(no subject)

Ну что ж, традиционно - итоги года.

В 2020:
• утопил обручальное кольцо на маями-бич (в январе!)
• поменял работу, получил 2x к зарплате
• месяц на море, купался каждый день, — иногда в гидрокостюме, правда)))
• перегнал машину из Владивостока в Читу
• выучил Rust

С Новым годом! Пусть он будет намного лучше у всех нас!

Оригинал этой записи в DreamWidth (comment count unavailable комментариев)

monster

админом, не программистом

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

Прямо загорелся: запилю, мол, проект "внешний антиспам-фильтр для IMAP папок", да вот только он уже существует: IMAP Spam Be Gone. На питоне написан, между прочим. Использует SpamAssassin, умеет для обучения скормить ему spam/ham прямо из соответствующих папок IMAP-сервера.

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

Оригинал этой записи в DreamWidth (comment count unavailable комментариев)
monster

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

Вот, переехал.

Уволился из ТТК (после 16 лет, Карл!), собрал нехитрые пожитки (ха-ха три раза), и своим ходом, на своей верной Ками за три дня приехал в славный город Владивосток. Три с лишним тысячи километров, не просто так! Сынище мой штурманом отлично себя проявил, отлично доехали.

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

Отпуск себе устрою на некоторое время, а потом буду работу искать, я ж теперь Python-разработчик и DevOps, хватит уже админствовать, неинтересно.

Такие дела.
monster

ошибка в инструкции — программирование брелока tomahawk TW-9030

Так, это важно, пусть кто-нибудь найдет потом это поиском. Томагавк, Tomahawk, 9030, TZ-9030, TW-9030.

В инструкции (PDF) к дешевенькой автосигнализации Томагавк TW-9030 в пункте 31 "Программирование новых брелоков" на стр.20 грубая ошибка: на новом брелоке нужно одновременно нажимать и держать не кнопки "багажник" и "звук", а "открытие" и "закрытие".

Причем на брелоке без дисплейчика — та же самая ситуация, жать надо не по инструкции. Чуть не поседел, пока разобрался, при программировании же все брелоки надо прописывать, те, которых нет, — сотрутся из главного блока.

Что интересно, в напечатанной инструкции, которой уже лет семь, — та же самая ошибка.

Disclaimer: возможно, это только у меня так, однако вот тут тоже пишут про кнопки открытия и закрытия дверей.
monster

дыбр про железки

Мечты сбываются — выходит Raspberry Pi 3, для энергетически эффективного и бесшумного домашнего сервера выбор железа всё больше и больше.

Примерно год назад я купил ODROID-C1, специально для HD IPTV и фильмов. Потому что Raspberry Pi model B не справлялся с HD-каналами даже с оптимизированным дистрибутивом OpenELEC, а до выхода Raspberry Pi 2 я не дождался буквально пары недель. Жалел потом: Rpi2 как специализированный медиа-плеер подошел бы куда лучше, у него и коммьюнити больше, и с HDMI-CEC проблем нет.

А сегодня я случайно узнал, что у Одроида сетевой порт — гигабитный, и это сразу его полностью реабилитирует: можно дополнительно использовать как роутер. SATA, правда, нету, поэтому NAS из него плохой, Banana Pi подошел бы больше. Ну или Cubietruck, который существенно дороже.

Еще у меня есть кубиборд2, валяется без дела уже года полтора, под VPN/роутер планировался. Его теперь воообще некуда применить, получается. Я ж как-то обещал себе сначала использовать с пользой уже имеющиеся железки, а потом уже покупать новые... Впрочем, при нынешнем курсе жаба давит что-либо покупать.
monster

стэнфордский курс по алгоритмам

Закончил еще один онлайн-курс, на этот раз по алгоритмам, стендфордский, by Tim Roughgarden. Для истории: Statement Of Accomplishment (PDF)

После этого курса и курса по крипто сложилось впечатление, что Стенфорд из всех присутствующих на курсере университетов оптимально сочетает глубину и простоту изложения своих предметов, не перегружая лишним и не упуская нужного. Их курс по автоматам (конечные автоматы, регулярные выражения etc), кстати сказать, ведет Джеффри Ульман, автор Dragon Book, и курс по компиляторам тоже. Я просто не смог пройти мимо, записался, учу.



А именно про этот курс хорошо написала уважаемая a_d_astra еще в 2012-м году, жаль я не читал ее тогда :-)

Мои впечатления после прохождения тоже положительные: хотя картина мира касательно алгоритмов в голове особо и не поменялась, но если бы послушать такой курс году так в девяностом, то она сложилась бы намного раньше. Для изучавших computer science в провинциальных университетах — так и вообще открытием было бы. Но большинство таких, как правило, считают себя уже готовыми специалистами, в дипломе же написано "программист", куда там дальше теорию учить.

Кода писать много не пришлось, sloccount насчитал всего ~600 строк Питона за шесть недель заданий, вместе с тестами и отладкой, самое сложное задание — поиск связанных компонентов, вполне решаемая вещь, суммарно часов за пять я ее победил. Вообще, сложность именно задач по программированию сравнима с курсом Algoritmic Thinking, не олимпиадный уровень, а закрепление понимания, одобряю.

Из забавного: показалось, что молодой лектор сильно ревнует к аналогичному курсу от Принстонского университета: там курс ведет Седжвик, признанный специалист по алгоритмам и по QuickSort, в частности. В Принстоне упор идет на минимизацию числа шагов и обращений к памяти, все строго на Java, подсчитываются количество байтиков в структурах данных и чуть ли не миллисекунды доступа к ним. Шаг влево, шаг вправо, — сплошная Java. Не понравилось мне, хотя лекции послушал.

А стендфордский профессор такой упор сделал на доказательство корректности своего рандомизированного варианта QuickSort, что даже как-то неудобно за него было. Как из кожи вон лез, сделал кучу лекций, помеченных необязательными, брр.

Там весь смысл квиксорта в том, чтобы выбирать pivot-элемент и уже относительно его перебрасывать остальные элементы сортируемого подмножества массива. Седжвик-то знаменит уже тем, что предложил для pivot выбирать медиану из первого, последнего и среднего элементов подмассива на каждом этапе, а Tim Roughgarden ни разу не упомянул его, медиана только в домашнем задании как один вопрос мельком проскочила. Тщательно везде упоминал авторов, когда и кто что изобрел, а Седжвика прокинул :-) Доказывал корректность алгоритма при случайном выборе pivot-элемента, он же по теории игр специалист, а кому он нужен, этот случайный выбор? Никто и никогда его в квиксорте не реализует, не практично. А медиана — практично. Академический снобизм, формальные доказательства против плебейских эвристик?..

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

Теперь жду
второй части, она весной была, непонятно когда теперь будет.
monster

шифруйте почту

...ПОТОМУ ЧТО ТЫ НЕ ШИФРУЕШЬ НИХЕРА,
ДАЖЕ ТАМ, ГДЕ МОЖЕШЬ И ЭТО ПРОСТО.

(c) arkanoid


Второй раз цитирую уважаемого Арканоида, теперь уже по другому поводу: почта.

Сноуден заставил весь мир задуматься о приватности коммуникаций, айтишники хоть немного задумались о технических способах противодействия прослушке, появилась куча информации по настройке шифрования на серверах и клиентах, для Web, e-mail, систем обмена мгновенными сообщениями.

Collapse )
monster

еще про todo и синхронизацию

Снова по поводу ToDo и пр. (см.предыдущий пост).

Есть такой онлайновый SyncML сервер/сервис Memotoo, годный на то чтобы синхронизировать адресную книгу между телефоном и вообще чем угодно. Типа MyFunambol, только через веб управляется намного удобнее, и вдобавок к контактам и календарю еще и синхронизацию задач понимает.


Memotoo продвинут


В бесплатном варианте Memotoo сильно ограниченный, мои 400 контактов туда уже не помещаются. Оплатил через Paypal $4.5 за месяц, чисто в тестовых целях. Очень оказалась удобная вещь, с ее помощью наконец-то упорядочил свои контакты, когда на другой телефон переезжал. На Фунамбол-то только бэкапил, а тут прямо с веба все поля позаполнял, поисправлял, залил обратно в телефон — красота.

Потом синхронизировал с Evolution, для этого есть специальный пакет syncevolution и морда к нему sync-ui. Тут и полезли косяки: поля с Джаббером и ICQ, внесенные в контакт на стороне Evolution, были напрочь вырезаны при модификации на стороне Memotoo. Ну вот как это называется?! Если закинули при синхронизации неизвестное тебе поле X-JABBER, — так будь добр, оставь его в контакте, ты ж сервер SyncML всё-таки, должен чужие атрибуты уважать! Платить французам за Memotoo резко расхотелось.

Продолжил бороться с задачами. Ну, думаю, если через web неудобно задачи править, — буду править на десктопе и синхронизировать с RememberTheMilk. Ага, щаззз!

Написанная в духе GTD питоновская Getting Things Gnome при первичной „медленной” синхронизации с RememberTheMilk принимает все задачи в Unicode-escaped виде, сплошные "\u0423\0478" вместо русских букв. Если потом сдуру засинхронизировать задачи обратно — поздравляю, вы испортили свои задачи в RTM. Прямо как я.

С задачами, созданными изначально в GTG, другая проблема: примечания к задаче в соответствующие Notes у RememberTheMilk не попадают. Писал-писал свои соображения на полэкрана — и потерял их при синхронизации. Просто замечательно.

Еще GTG умеет синхронизироваться с Evolution, это ему в плюс. И даже Notes при этом не теряет, ура. Но для перебросания задачи из GTG в Evolution надо лезть в меню, а чтобы потом из Evolution оно попало куда-то в интернет и забэкапилось — запускать отдельную syncevolution. А чтобы из SyncML-сервера потом оно попало в телефон — на телефоне надо запускать синхронизацию. Очень удобно, офигеть, дайте две.

Ближайшая альтернатива GTG на линуксовом десктопе, умеющая работать с RTM, — Tasque. Бледненькая, надо признать, неудобная, еще и написана на Mono. Пришлось вернуться к GTG. Попытался настроить свежайшую версию из репозитория — не показывает RTM как backend. Ужас.

Зато в GTG можно передавать имя текущей задачи в программу учета времени Hamster. Как-то даже не ожидал я, что можно так ненапряжно контролировать время, обычно это такой геморрой. Надо будет обязательно попробовать.

А пока решил от RTM и Memotoo отказаться. Вот Hamster, GTG и Evolution вполне можно использовать на работе и дома. Задачи забрасывать в Evolution простейшим джаббер-ботом. А вот телефон синхрить нечем, свой собственный SyncML-сервер на основе исходников Funambol пока поставить не удалось. Снова в поиске единого центра для синхронизации...
monster

linux router project revisited

Отличная вещь все-таки технический прогресс. За две тысячи рублей можно купить WiFi-маршрутизатор, перешить его на OpenWRT/DD-Wrt и получить дома постоянно включенный сервер, бесшумный, маленький, потребляющий 10 ватт. При этом он останется маршрутизатором и даже — та-дааа! — точкой доступа.

Даже на железный медиа-плеер вроде WDTV можно поставить альтернативную прошивку, сделав его хоть телефонной станцией. Для особо увлеченных выбор мелкого железа вообще не ограничен: от SKU 26320 на SnakeOS до Arduino и монстров типа такого.

А вот в те времена, когда еще не было такого понятия как «вайфай», мы собирали раутеры из обычных компов. Главными преимуществами такого самосбора была дешевизна и ремонтопригодность: любой их компонент можно было купить в любом компьютерном магазине. Линукс, который унутре, уже тогда позволял наворачивать любые схемы и конфигурации, от мощного BGP-раутера до копеечного, загружаемого по PXE бездискового шейпера на кучу интерфейсов.

Из строя выходили чаще всего блоки питания и жесткие диски. Для пущей надежности вместо дисков мы ставили флешки и переходили на дистрибутивы, не требующие постоянно доступного на запись носителя. Сначала LRP (Linux Router Project), потом LEAF, потом его uClibc-версия. Пробовали даже debian-router. А потом пришел OpenWRT и убил их всех. Недолог был век писюков-маршрутизаторов, лет пять-шесть.

Собственно, к чему я завел эту мемуарщину?
Если у вас осталось где-то x86 железо в виде маршрутизатора или мелкого embedded-сервера — посмотрите, какая есть ВЕЩЬ: Voyage Linux. Чистый Debian, корневая файловая система монтируется в режиме «только чтение», /var/* и /tmp в памяти в виде tmpfs, для изменения конфигурации достаточно перемонтировать read-write, а потом обратно. Грузится через GRUB, обновляется через apt-get. Никаких танцев с бубном, стандартный Debian!



Обновлял тут один очень старый vpn-сервер, Вояж влез на Compact Flash 256MB (подключена как диск через пассивную схемку CF-IDE, на фото вверху), еще осталось свободно 118MB. Сверхнадежно! Можно обойтись без физического доступа еще несколько лет.

Дома планирую из старой платы Via Eden с корпусом ITX сделать медиасервер/HTPC вообще без движущихся деталей: блок питания ноутбучного типа, у проца пассивное охлаждение, а rootfs на флешке.

(голосом Друпи) Ай эм хэппи.