March 11th, 2012

Dexter's Lab

AHCI! - будьте здоровы!

     Фантазия "погромистов" меня иногда впечатляет. Причём, что обидно - не индусов с быдлокодом, а нормальных, но именно что "с развитой фантазией".
     Вот, скажем, много лет назад понадобилось мне регулярно перекодировать из KOI-8 в 866 "в батничке" (не спрашивайте зачем - тогда вообще динозавры бегали по ещё не остывшей поверхности планеты, а KOI-8 кое-кем считалась даже "довольно удачной" кодировкой). Задача-то тривиальная, "программа на три строчки", но самому писать лениво, поэтому скачал и заюзал какую-то утилиту "перекодировки изо всего во всё" - она ж по определению тривиальная, глючить там просто негде. А потом до-олго искал, почему иногда (редко-редко, этак раз в месяц) перекодируется только часть текста. Нашёл - оказывается, это документированная но неотключаемая фича: встретив в тексте значок "тильда" (~) перекодировка отключается, на второй тильде - включается обратно. В документации так и было написано, мол "а если вам нужно, чтобы часть текста не перекодировалась - обнесите её тильдами". Пришлось сносить "перекодировщик" нафиг, и то-ли писать свой (точно без таких вот фич), то-ли искать нормальный - давно дело было, не помню уже.

     А сегодня делал "батничек", в котором по ходу дела требовалось впечатывать текст в jpeg-файл. Нашёл командлайновую утилитку - хорошую, в меру развесистую, в меру простую, даже lossless (в тех местах, где текст не впечатывается), погонял на тестовых картинках (они, собственно, реальные, просто не в реальном времени получались) - на них всё блестяще работало, запустил на реальном потоке. Получил тотальную забастовку программы и пачку уведомлений вида "Ignoring Input File: %s since it looks like it was created by this program itself", прифигел. До-олго разбирался в чём дело (если отложить "ошибочный" файлик в сторону - всё работает, а вот "с пылу с жару" - нифига), грешил на то, что свежий файл какое-то время остаётся залочен программой, его создавшей, но после того, как получил аналогичную ошибку даже скопировав файл на новое место (копия-то точно не залочена) - задумался уже сильно.
     Оказалось, что авторы программы считают, что файл "создан ей же" в том случае, если файл... моложе 15 секунд от роду! Через 15 секунд - можно, а прямо вот так - нельзя, естественно "на консервах" всё прогоняется отлично, а на свежих данных - опаньки. ЧСХ - фича, Collapse )
     Разбираться и "пересобирать", конечно, не стал, вставил в батник  touch -d "1 day ago" %%i  (авторы touch тоже, кстати, жгут - документации по формату ключа -d в манах нет, хотя как можно видеть - он зело хитёр и нетривиален), хожу впечатлённый от логики: ну ведь правда же, логично, что всё то, что ты успел увидеть первым (в течении 15 секунд от рождения) - твоё по праву первого увидевшего, а то, что ты упустил из рук более чем на 15 секунд - больше не твоё?

     Collapse )
project 2501

роботы-квадроботы (James Bond theme)

     Офигеть, до чего дошёл прогресс в плане точности управления летательными аппаратиками. Причём железо там, судя по всему, "игрушечное" - китайские пропеллеры-моторчики-контроллеры-батарейки с hobbyking.com или аналогичного "магазина радиоуправляемых моделек", соответственно собрать можно на коленке за небольшой прайс (минус софт - на HK дадут только базовый, "с пульта порулить"). И в этом смысле сразу задумываешься - а если такое же соберут военные, да в количестве миллион штук (денег у военных много, железка дешёвая, софт при тиражировании ничего не стоит) - никаким ПВО от этой саранчи не отмашешься. Прав был Лем в своих "системах оружия XXI века" - там у него, правда, "синтетические насекомые" были, но и небольшие страж-"птички" с пропеллером тоже уже неплохо :-)

     
     http://youtu.be/_sUeGC-8dyk

     via nepilsonis