Блог:Виталий Филиппов
Технические вопросы и вменяемые заметки от меня, Виталика.
У меня, конечно, уже есть блог simply_a_man.
2011-11-14 Opera - заготовка говна для метания на хабре
О! У Оперы есть блог на хабре! Это же прекрасно — хабр со своим минусующим-чуть-что сообществом отлично подходит для метания говна, раз уж реакции в других местах добиться невозможно! Итак:
Привет! Я нашёл ваш блог и хочу воспользоваться ситуацией, потому что публичный баг-трекер отсутствует, а в комментах Desktop Team Blog реакции не дождёшься — максимум придёт модератор и сотрёт твои комментарии за то, что ты их отправил в две темы, надеясь получить ответ с удвоенной вероятностью.
Хочу сообщить, что, наверное, как и многие другие русиш партизанен, являюсь пользователем оперы версий этак с седьмых-восьмых. За что я всегда любил оперу:
- За то, что она всегда сохраняет мой набор вкладок и не теряет его при некорректном завершении;
- За настройку сочетаний клавиш «из коробки» — например, дико удобно переключать вкладки кнопками 1 и 2 (не f1 и f2, а 1 и 2). Это в сравнении с Firefox, в котором даже при использовании расширения нельзя настроить кнопки переключения между вкладками и нельзя настроить два сочетания клавиш на одно действие, и с Chrome, в котором сочетания клавиш не настраиваются вообще никак;
- За встроенный мэйл-клиент (даже несмотря на то, что он бажный, как и вся опера);
- За инкрементальный рендеринг табличной вёрстки, что до сих пор актуально, когда сидишь в интернете через EDGE/3G модем или на тормозных сайтах;
- За то, что Tab фокусирует только поля ввода, а не ссылки, как в других браузерах;
- За LRU-порядок переключения вкладок в Ctrl-Tab из коробки.
Однако, несмотря на все эти плюсы, в последнее время я вынужден отказаться от Оперы в пользу Google Chrome из-за того, что он быстрый и стабильный… В отличие от оперы, в которой постоянно появляются различные баги, а разработчики никак на них не реагируют и исправлять не собираются.
О чём я конкретно говорю:
- Сломанные настройки шрифтов во ВСЕХ линукс-сборках после 10.63. «Сломанные» означает, что если я сначала задаю sans-serif = Segoe UI, а потом перезапускаю оперу, показывается что-то похожее на Verdana (но не совсем она). При этом если снова открыть диалог настроек — там будет Segoe UI, а если его поменять на другой шрифт, обратно и применить — он вернётся… Но снова только до перезапуска. Скринкаст.
- А вот этот баг я бы пометил CRITICAL, а то и BLOCKER: сломанные настройки исключений прокси во всех сборках 11.5 и 12 бета, причём как под виндой, так и под линуксом! Исключения прописываются только по одному, шаблоны не работают. Введённые шаблоны вида *.domain.com не сохраняются. Скринкаст Linux, Скринкаст Windows.
- Под Windows я был вынужден отказаться от оперы по причине частого выедания оной 100 % CPU (одного ядра) при использовании Flash-плагина, далее приводящее к жутким тормозам при обычном просмотре интернетов. Да, я понимаю, что это всё Адобе виновато со своим кривым флешом, но тем не менее — Хром CPU при идентичном использовании не кушает. Правда, в нём флеш время от времени падает, но это не так страшно — пусть себе падает, ни на что больше это не влияет.
Ещё один пример того, насколько разработчики не реагируют на просьбы народа — это идиотская полу-серая «модная» адресная строка в духе «вам не нужны параметры URL». В доказательство того, что люди очень хотят видеть настройку для отключения этого, я могу привести жирное обсуждение и даже ПАТЧИ для бинарных сборок Opera под windows (!), созданные кем-то русскоязычным: [1], [2], [3]. Причём придумали наши, а ссылаются на это америкосы — читают через гугл транслейт.
Ещё примеры убойных, но, к счастью, уже исправленных багов:
- В районе 10.6 при использовании прокси-сервера некоторые сайты, активно использующие JavaScript, сильно подвисали и были малоюзабельны (например, pro.mail.ru). Этот баг жил где-то полгода или год. Чтобы с ним жить, я настроил на своей машине прозрачное проксирование с помощью iptables и локального squid’а. Для доказательства — ссылка на скринкаст.
- Ещё раньше, в районе 9-10 версий, Опера намертво зависала, если при переоткрытии всех вкладок при запуске попадалась вкладка с http-авторизацией, а ты на ней, не дай бог, раньше времени (до того, как загрузятся все вкладки), нажимал Enter на всплывающем окошке ввода пароля. Завершить Оперу после этого можно было только убиением процесса.
Есть и другие баги, менее воспроизводимые, но свидетельствующие об общей нестабильности:
- На работе некорректно отображается Hobbyking.com (скриншот). Это в версии 10.63, а как мы помним, использовать более новые я не могу, из-за багов 1) и 2). Происходит как на чистом профиле, так и на реальном. Больше нигде воспроизвести не удавалось.
- Любопытно, что рендеринг шрифтов в 10.63 и в 11-ых тире 12-ых версиях, несмотря на прописанные в .Xresources настройки, хоть и похож, всё равно отличается, и отличается от рендеринга в остальных программах. Но это не так страшно, с этим можно жить.
- При работе с Microsoft Exchange по IMAP’у иногда «теряет», а потом «находит» новые письма — они самопроизвольно пропадают из входящих, а потом опять появляются как новые непрочитанные. Не претендую на полноту и воспроизводимость баг-репорта, также не утверждаю, что виновата именно опера, но это происходит.
- Иногда перестаёт работать поиск текста на странице по Ctrl-F — показывает, что ничего не найдено, хотя на самом деле оно там есть. При случае запишу скринкаст.
- Остальное не так важно, либо сходу не вспомню.
Ну и до кучи небольшая юзабилити-проблемка :) при использовании клиентских сертификатов запросы пароля для хранилища ключей производятся чуть ли не каждый запрос или создание нового соединения. Безопасность — это конечно хорошо, но не настолько же.
А за иконку в трее под линуксом, которая где-то через 3 года после отправки баг-репорта таки стала менять состояние так же, как под виндой — в зависимости от наличия новых, а не непрочитанных писем — спасибо. :)
Но в целом, ящитаю, что с такими серьёзными багами (типа исключений прокси) релизы выпускать нельзя! А они выпускаются, и выпускаются в большом количестве. Я вот до сих пор вхожу в те 2,4 % людей, которые всё ещё пользуется Оперой, но уже не на всех компьютерах, а только, хе-хе, на одном. Подозреваю, что многие так же от неё отказываются. Разрабоооотчикиииии! Ауууу! Очнитесь! Поправьте баги, а то 2,4 % уменьшатся до нуля!
2011-09-30 Opera, Gnome 3, MeeGo
LOR, Nokia N9 поступил в продажу (MeeGo)
Начались поставки новой модели мерседеса с трупом водителя в салоне.
Рингтоном траурный марш?
Ах да, поздравляю пользователей этого замечательного DE, if any.
Социальные сети
Облачность
Интеграция с тем
Интеграция с этим
Интеграция с интеграцией
Теперь другу можно отправить фотку одним кликом сидя в туалете, но нельзя выключить компьютер!
>yовый диалог действия
всё правильно, диалоги в гноме порядком уовые.
>Но надо лишь немного побыть в нем, понять его и мне понравился! С ним реально юыстрее и красивее
Это про новый обтягивающий костюм от Зверева?</pre>
>GNOME становится немного «облачным»
, немного унылым, немного г-вном. Но так в целом ничего, развивается.
- Теперь гуглозонды можно пользовать не только из браузера весом 30мб но и с лайвцд размером около гига.
- Теперь мы наконец-то можем монтировать флешки
- наконец-то актив-десктоп из вин98 дошёл до линуксоедов (или настиг?)
- Наконец-то емпати перестала быть чат-руткитом, который хер-пойми где искать когда надо комуто написать, но вот тебе пишут все кому не лень.
P.S: Ещё один дебильный баг Opera — иногда перестаёт работать поиск текста на странице — думает, что ничего не находит. Ну сколько же можно, а?
2011-09-09 WD приучились делать USB-only харды
Western Digital, сцуки такие, приучились делать USB-only внешние жёсткие диски. То бишь, жёсткие диски, в которых микросхема-мост USB-to-SATA впаяна на плату с контроллером — причём USB 2.0, как оно там с USB 3.0 — не знаю. Вообще-то бредовый шаг — встраивать USB 2.0, он же, блин, медленный! Названия таких дисков оканчиваются на «VV» (например, WD6400KMVV, WD5000BMVV), а на наклейке можно видеть «Not for resale». По USB название не посмотришь — они партизанят и его скрывают под названием модели внешнего диска, например, «WD Elements SE».
Понятно, что по сути они всё равно SATA, но если раньше можно было купить WD My Passport, разобрать и получить нормальный 2.5" жёсткий диск плюс переходник на USB, то сейчас можно максимум выпаять нахрен микросхему-мост и получить SATA-диск… и всё. Обидно.
Микросхема для USB 2.0 — обычно Initio INIC-16xx. Вывести контакты на SATA-разъём просто, благо они там на виду — четыре дорожки на плате, ведущие от крупненькой микросхемы, подключаются каждая через конденсатор, конденсаторы подписаны С13, С18, С31, С33. Пинам разъёма SATA они соответствуют так:
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ █ 7 6 5 4 3 2 1 GND RX+ RX- GND TX- TX+ GND C33 C31 C18 C13 E75 E74 E72 E71
То есть если будете подпаивать — нужно отпаять второй вывод конденсатора от ноги USB-to-SATA и припаять к разъёму. Другое дело, что и разъём-то там девать особенно некуда, потому что коварные WD-шники рядом с MicroUSB-разъёмом сделали ещё один, адовый диагностический, которого нет на обычных SATA хардах. Так что если, допустим, пытаться его засунуть в ноут — может не хватить места — потребуется место для подпаянной лапши…
Вот тут предлагается просто выпаять эти конденсаторы и подпаять лапшу к контактам E71, E72, E74, E75 на нижней стороне платы. Но на обычных хардах разъём всё-таки подключён через конденсаторы, типа фильтры, наверное.
Кстати, наконец дошло, зачем на разъёме SATA-питания столько контактов — они задуманы такими мегауниверсальными, что на них может быть аж 3 напряжения — 12V, 5V и 3.3V. Ну ладно, спросите вы, а зачем по 3 контакта на каждое напряжение? Так там тоже был гениальный замысел — их разрабатывали так, чтобы ограничить всплески нагрузки при горячей замене дисков. Контакты на разъёме разной длины и сделаны так, что при подключении разъёма питания сначала замыкается земля, потом «pre-charge pin» — хард при этом ещё не включается, но уже начинают заряжаться конденсаторы и т. п. — а потом уже основной контакт.
2011-09-09 Apache 2, openssl и клиентские сертификаты
Интернет полон HOWTO по настройке клиентских SSL-сертификатов в Апаче, которые все сводятся к тому, что нужно сгенерировать сертификаты для сервера и клиентов, подписать клиентские каким-нибудь CA-сертификатом, слить их в PKCS-12 и поставить в браузер, а на сервере прописать SSLVerifyClient require и SSLCACertificateFile </path/to/ca.pem>.
Однако нигде не упоминается важный момент, о котором легко забыть, если использовать «искаробочный» openssl: клиентские сертификаты должны быть именно что клиентскими — поле nsCertType у них должно иметь значение client, email (возможно ещё , objsign), но никак не server, который генерится по умолчанию (что приводит к ошибкам OpenSSL: Exit: error in SSLv3 read client certificate)! Прописывается это в /etc/ssl/openssl.conf (или там, где лежит ваш openssl.conf).
Аналогично CA-сертификат должен быть CA, то есть, иметь basicConstraints=CA:TRUE. Но об этом забыть сложно, потому что команды генерации CA-сертификата всё равно никто никогда не помнит, а все используют /usr/lib/ssl/misc/CA.pl или CA.sh, который выставляет basicConstraints правильно.
Ещё полезное замечание: как упаковать серт+ключ в PKCS-12, из man 1 pkcs12 понятно — openssl pkcs12 -export -keyin key.pem -in cert.pem -out cert.p12. А вот как извлечь ключ — понятно не совсем, ведь если просто сказать openssl pkcs12 cert.p12 -nocerts -out key.pem, и не задавать пароль, в key.pem ключа ни хрена не будет. Чтобы сразу вытащить нешифрованный ключ, нужно сказать openssl pkcs12 cert.p12 -nocerts -out key.pem -nodes.
И последнее, хотя это и упоминается где-то в HOWTO-шках — не забывайте про openssl s_client, это действительно полезная штука! Например, если он при попытке соединения пишет «No client certificate CA names sent», значит, браузеру не отправляется список имён подходящих CA, которыми должен быть подписан клиентский сертификат, и значит, браузер не пришлёт ничего в ответ. Кстати, для проверки SNI (Server Name Indication) нужно указать опции -tls1 -servername server.address.com, просто -servername без -tls1 почему-то не канает.
2011-09-09 Opera
Сломанные настройки шрифтов ТАК И НЕ ПОЧИНИЛИ. Как клала опера на них, так и кладёт — прописываешь в шрифтах везде Segoe UI, перезапускаешь оперу, а у тебя Verdana. Если передёрнуть снова — просирается, но передёргивать нужно после каждого рестарта. А уже вышла 11.11 почти 12. Релизеры, блин.
Правда, я выяснил, как заставить Оперу 11 и выше использовать нужный рендеринг шрифтов:
cat > ~/.Xresources <<EOF Xft.hinting: 0 Xft.hintstyle: hintnone Xft.autohint: 0 EOF xrdb -merge ~/.Xresources
Любопытно, что рендерятся они всё равно по-другому, не так, как в остальных приложениях. Но уже хотя бы приемлемо.
Ещё бесит дебильная полу-серая адресная строка. Что за мудаки работают в опере, вообще понять не могу. Им твердят-твердят — сделайте млять опцию. Они — нет, полу-серая строка это супер-фича, видеть параметры запроса вам не нужно. Вот отличный тред: тынц.
Народ аж патчи к бинарнику оперы уже придумывает: [1], [2], [3]. Причём придумали наши, а ссылаются на это в итоге америкосы, читают через гугл транслейт.
То, что выше этой строки, было написано в ЖЖ ещё 6 июня, а теперь обновление от сегодняшнего дня (2011-09-09):
Пепелсбей.нет — русское чувачелло, которое работает в опере, на матерные замечания об опере отозвался неадекватно, мол я такой нежный и мат не выношу. Ох про*бёт опера остатки пользователей, ох про*бёт…
Настройки шрифтов в 12-next поломаны до сих пор с ноября 2010 года (!!!). Реально в альфа-сборках даже раньше, в ноябре 2010 вышла 11 бета. Почти год багу.
Кстати, если кто-то не помнит, был баг ещё позорнее — рандомные зависания загрузки страницы на сайтах с большим количеством JS через прокси — баг жил где-то полгода в 10.5, разработчики на него не реагировали. Это был тот момент, когда я себе прозрачную проксю локально поднял.
Если кто-то не помнит, ещё раньше, где-то в 9-10 версии, оно намертво зависало, если при переоткрытии всех вкладок на старте не дай бог раньше времени нажмёшь Enter на всплывающем окошке ввода пароля. Тоже позор был.
В то же время и другие браузеры имеют позорные моменты: в Firefox слабо настраиваются комбинации клавиш — только по 1 комбинации на действие, и настраиваются не все — например, нельзя настроить переходы между вкладками. В Chrome и того хуже — комбинации клавиш не настраиваются вообще! И вкладки он любит про*бывать между рестартами, если не дай бог его неаккуратно рестартуешь. И по клику «назад» он не берёт страницу из кэша, а перезагружает — кстати, этим и мобильный Андроидовский браузер страдает, и там раздражает сильнее, потому что жрёт платный трафик. А Firefox по нажатию Tab-Tab-Tab прыгает по умолчанию не по полям ввода, а ещё и по ссылкам. Нахера? Правда, если сайт пропишет у себя tabindex’ы полям ввода, то нормально.
2011-06-09 tdpkg
Нашёл клёвую штуку для дебиановского dpkg — ускорятор его работы с базой данных пакетов tdpkg !
Просто каким-то дурацким образом dpkg хранит базу в тыщщах мелких файлов в /var/lib/dpkg/info/, без какого-либо индекса ВООБЩЕ. В итоге, когда установлено 4500 пакетов, как у меня, первый запуск сильно тупит, потому что читает все эти тыщщи файлов в кэш (секунд 30-40 занимает легко).
Так вот, некто придумал хак — засунуть в LD_PRELOAD библиотеку, которая лично обращения к /var/lib/dpkg/info/ будет подменять на чтения нормальной базы данных — SQLite или TokyoCabinet (последняя — это «правильный BDB»).
Ускоряет ситуацию это, надо сказать, просто в разы — база читается за 1-2 секунды. Вообще-то, конечно, dpkg это должен уметь сам, но раз пока никто не написал…
В общем ставим, прописываем в ~/.bashrc следующие строчки, и радуемся жизни:
alias dpkg="sudo LD_PRELOAD=<path_to_libtdpkg>/libtdpkg.so dpkg" alias apt-get="sudo LD_PRELOAD=<path_to_libtdpkg>/libtdpkg.so apt-get"
UPD: ещё нужно применить мой патчик, убирает мусор с STDERR и добавляет плюс один хак, чтобы tdpkg работал с последними dpkg, которые любят делать ioctl(FIGETBSZ).
2011-05-13 Пилим GiST
Пиля K-D-B-дерево для GiST'а в PostgreSQL, потихоньку его вкуриваю… Интересные вещи о нём:
- В 9.1 (сейчас бета), как я уже написал, есть поддержка поиска ближайших соседей, то есть просмотра дерева поиска в порядке возрастания удалённости от искомого элемента.
- Один из двух авторов — тот самый «индеец», Олег Бартунов.
- Размер страницы индекса в постгресе — обычно 8 Кб.
- Чтобы реализовать канонiчное KDB-дерево, а точнее — любое дерево поиска, в котором следующее разбиение пространства зависит от предыдущего, GiST нужно допилить (конкретно функцию gistinserttuples), чтобы picksplit’у передавался родительский узел, потому что в оригинале ему только передаётся список самих элементов, которые нужно разбить на две группы. Вот я щас как раз это допиливаю.
- Предикаты на нелистовых страницах модифицируются не после вставки элемента в листовую страницу, а до! Оно сразу, когда ищет, куда бы вставить элемент, сначала дёргает по всем элементам страницы penalty, выбирает элемент с минимальным, потом вычисляет union предиката и нового вставляемого элемента (O_o), и сохраняет, если в итоге получается другой предикат. Чуть-чуть не совсем логичная схема, если в вашем индексе внутренние и листовые узлы хранят разные типы ключей, но реализацию упрощает. Разные типы — то есть не как в R-дереве — в листах квадратики и во внутренних квадратики, а как например в KDB — в листах N-мерные вектора, во внутренних узлах подпространства.
- При вставке весь путь до листового элемента лочится на чтение (совместной блокировкой), а сам листовой элемент — на запись (эксклюзивно). То бишь допиливать gistinserttuples, чтобы она читала родительскую страницу, можно смело, потому что она залочена на чтение.
2011-05-06 Подборка башинок про Бин Ладена
- Усама Бин Ладен — универсальное средство поддержки предвыборной компании! Главным плюсом которго является способность громко и бесследно умирать когда оно надо.
- Американцы убили Осаму бин Ладена выстрелом в голову, сделали тест днк с шансом в 99.9 %, что это он, и выбросили тело в море. Уже шикарно звучит, но объясните мне хоть кто-нить, с чем они сравнивали образец днк???
- Усама бин Ладен в своем видеообращении лично подтвердил слухи о своей гибели.
- «В следующий раз Усаму бин Ладена убьем мы», — пообещал Д.Медведев.
- Предстояшие выборы в президенты США ознаменовались уже ставшим традиционным убийством Бен Ладена.
- Актёр, игравший Бен Ладена, разорвал контракт на съёмку в новостях. Сценаристам это не понравилось.
- «Кто проживает на дне океана?! Бин-Ладен Комуфляжные-Штаны!»
- Мученики (шахиды), согласно исламу, попадают в рай, где их ждут 72 девственницы. В созданном 2 мая твиттере «Призрак бин Ладена» есть, в частности, такое сообщение: «Осталось 70 девственниц. Мне нужно покурить и вздремнуть».
- — что случилось с Бен Ладеном?
— он утонул - Cегодня Обама заявил, что вместе с Бин Ладеном и его сыном удалось также уничтожить и захоронить в море Дарта Вейдера, корабль Чужих и Доктора Зло.
- — Убили Бин Ладена
— Ну сколько можно, неужели они не знают, что сначала нужно убить хилера, который его ресает! - Бена Ладена нельзя просто так убить. Сперва нужно уничтожить все его крестражи.
- — Поговаривают, что операцию по устранению бин Ладена совершил один человек. Чак.
— если бы это делал Чак, то Пакистан пришлось бы заселять заново.
— не беспокойтесь, он уже заселил. - — Кто же теперь получит обещанные $25 миллионов за устранение Осамы Бен Ладена?
— Судя по всему, пресс-служба Барака Обамы. - — Бен Ладена грохнули. Слыхал?
— Ага, чёт я за Санта Клауса теперь переживаю, его ещё легче выцепить, хуль там Лапландия размером.
2011-04-19 Герб
- А в «Спокойной ночи, малыши» заменить мерзкого Хрюшу на барашка Абдуллу…
- Добавьте на герб хуй. Именно его положили на страну 99,9 % ее населения.
- Еврейская община России считает, что орлу на гербе страны требуется сделать обрезание и отпустить пейсы.
- Буддисты России предложили посадить герб России двуглавого орла в позу лотоса.
- МТС потребовало добавить яйца орлу на гербе Российской Федерации.
- Сомалийские пираты не остались в стороне и предложили заменить двуглавого орла на Веселого Роджера.
- Россияне требуют убрать долбоёбов из страны нахуй. А герб оставить как есть.
- Астрологи объявили неделю одинаковых шуток о гербе России?
2011-03-30 Galaxy S vs пролюбленный Liquid
Acer Liquid успешно пролюблен в Банско на склоне номер 5.
Обидно, досадно, но бэкап контактов-звонков-смс был месячной давности, а бэкап содержимого флешки — полугодовой давности. То бишь ⇒ некоторое количество фотографий, сделанных на телефон, потеряно, ну и фиК с ними.
Пришлось быстренько выбрать, какого андроида купить, очень прошиваемого, желательно не HTC и чтобы побольше было кастомных прошивок и ядер.
Выбрал Samsung Galaxy S (который I9000).
- Весьма шустрый
- AMOLED действительно A (активный), чёрный цвет — идеальный
- Тачскрин как будто чувствительнее (?)
- Динамик отличный, на ликвиде — пищалка
- Штатная прошивка неплоха, правда экран блокировки менее удобен, чем стандартный. Звонилка с одной стороны выглядит прикольно, индекс контактов сделан лучше и поиск вынесен в сразу видимое поле, с другой — при наборе последних номеров нужно совершать больше нажатий, что не круто. Но это я, наверное, заменю вскоре на стандартное Froyo-вское.
До этого были мысли о Motorola Defy, потому что она водонепроницаемая (круто же). Правда у неё не гигагерц почему-то, как и у liquid’а — вроде проц стоит, который гигагерц умеет, а стабильности системы добиться производитель не осилил или хз что он там себе думал, в итоге работаем на пониженной частоте.
Так вот, В ЖОПУ DEFY, и я бы даже сказал, В ЖОПУ MOTOROLA — они девайсы блокируют от перепрошивки. Загрузчик Defy, например, так и не поломали пока. То есть, наверное, можно (просто ещё не добрались), но это ведь пока что, ведь если мотороле дать возможность устроить полный trusted computing, они устроят — уроды. Так что давайте им скажем своё «ФЕ», и не будем их покупать :)
А вообще — жалко, что Linux не под GPLv3, а Андроид вообще не под GPL. Это даёт ананьные возможность производителям.
2011-02-18 Наболевшее об Opera
Opera, Opera — мой любимый браузер, но команде я бы порекомендовал тестировать побольше, а выкладывать поменьше.
Причём тестировать не «модных» сферических коней в вакууме — всяких юнайтов, «гипножаб» и «бублики» и т. п., а самые базовые фичи — корректный рендеринг простейшего HTML и простейшее открытие страниц.
Если конкретно, то:
Во ВСЕХ билдах Оперы под Linux новее 10.63 разломаны настройки шрифтов — либо они вообще не учитываются, либо учитываются, только если их передёргивать каждый раз при старте браузера.
Во многих билдах Оперы под Linux происходят Странные Баги с зависанием загрузки различных страниц, такие, как на этом скринкасте. Это через прокси-сервер. Скрепя сердце я всё-таки пользуюсь 10.6, однако, чтобы Оно Нормально Работало на рабочем компьютере, мне пришлось поднять локальный squid с прозрачным проксированием. Послушать со стороны — удивительно, каким фанатом надо быть, чтобы такие извращения предпринимать.
Я считаю, что при наличии таких багов выпускать релизы, называемые «стабильными», просто недопустимо. Хотя, может быть, с тех пор баг всё-таки исправили. Но как же об этом узнать при полном отсутствии обратной связи? Публичного баг-трекера нет, на баг-репорты в комментах к блогу Opera Desktop Team никто не отвечает. Там отвечают только модераторы, если ты не дай бог (!) оставишь два одинаковых коммента с одним и тем же багом, воспроизведённым в двух разных билдах, к двум разным постам, относящимся к этим билдам. На баг-репорты, отправленные в закрытый багтрекер, не отвечают даже после того, как баг будет реально исправлен. Например, то ли 3, то ли 4 года назад я отправил туда баг: иконка в трее под Windows показывает письмецо, если есть «нетронутые» письма (которые ни разу не смотрел), а под Linux’ом — непрочитанные (на которых руками не нажал «Прочитанное»). Что бы вы думали, где-то через 3 года его исправили, но мне об этом, конечно же, никто не сообщил.
А например, в новейших 11.10 происходят тормоза с Google поиском, по крайней мере, при установленном user-javascript’е GoogleSrchUIMod.js. Как вы умудряетесь постоянно всё ломать, дорогие разработчики?
2011-01-02 Идея: электростанция от колеса автомобиля
Автономные бензиновые/дизельные электростанции стоят немало. На 4-5 кВт уже гарантированно дороже 30-40 т.р. Причём по всей видимости немалую часть стоимости составляет бензиновый двигатель.
Так вот идея, наверняка приходившая в голову не мне одному: было бы круто сделать портативную электростанцию 220 вольт с приводом от двигателя легкового автомобиля.
Только вопрос: а как? И начинается полёт не очень инженерно грамотной фантазии:
Привод можно взять со ступицы снятого колеса, как делали первые активные парапланерные лебёдки.
Где взять сам генератор? Вариант: купить. Удобно, потому что готовый и однофазный, только привод прикручивай. Мега-круто было бы приспособить для этих целей кластер из обычных автомобильных генераторов (типа ИСКРА 120А для жигуля, которая стоит 2700 руб), но с ними куча проблем:
- 14 вольт.
- Постоянного тока.
- Получить 220 вольт… Это ладно — можно переделать регулятор напряжения / перемотать витки на обмотке возбуждения.
- Необходимость начального возбуждения. Хорошо, аккумулятор никто не отменял.
Путь № 1:
- Убираем выпрямитель — ОК, ток переменный, но … трёхфазный.
- И что ещё важнее — хрен знает, какая у него частота. Точнее, этот хрен сильно зависит от скорости вращения.
- Стабилизировать частоту можно попробовать путём стабилизации оборотов с помощью вариатора от скутера. Но как после этого из трёхфазного получить однофазный ток — неизвестно!
- Кроме того, хрен его знает, как синхронизировать несколько генераторов.
- ⇒ не решение!
Путь № 2, в данном случае наиболее нормальный:
- Не убирать выпрямитель, получить сколько-нибудь вольт (больше ста) стабилизированного постоянного напряжения на выходе.
- Можно смело объединять генераторы в кластер, потому что напряжение постоянное.
- Использователь умформер (мотор-генератор) для преобразования напряжение из постоянного в переменное однофазное заданной частоты.
Но всё равно — геморроя с автогенератором получается больше, чем выгоды :(, и установка получится немаленькая.
2010-11-26 Идея: подвесочные датчики
Берём 4 энкодера (датчика угла) поточнее. Или наоборот, не поточнее, а попроще. Но видимо бесконтактных в любом случае, т.к. нагрузки. Сооружаем 4 катушки, на которые будет наматываться какая-нибудь леска, плюс в катушки вставляем возвратные пружины, которые будут стараться леску втянуть. Засосываем в закрытые корпуса, чтобы наружу торчала только леска и проводки.
Для обработки данных берём контроллер семейства dsPIC33F (оно вроде и ШИМ понимает, и несчастные "2-bit gray codes"), пишем для него прошивку, пишем софт на комп. Получаем некую мистическую хреновину, которая может строить графики длин вытянутой части тросов, т.е. получается 4 одновременных измерителя длины.
Идея применения: полученные датчики монтируются под опоры стоек в машине, леска цепляется за кулак колеса и мы измеряем графики длины стоек в реальном времени. То есть, тестируем подвеску с некоторой инженерной точки зрения, не снимая её с машины :)
2010-07-15 SimplePie - ещё одна ОО говёха
Всё забывал написать, что SimplePie - говно!
Или точнее, отличный пример монструозной объектной ориентированности на пустом месте.
SimplePie — это RSS-парсер на 15000+ строк. 28 классов. Ухаха. Simple. «Статуя Победитель — а теперь представьте, как выглядит побеждённый!» (c)
И при этом нельзя вкрутиться (нет точек расширения) чтобы добавить в запрос свои заголовки, или опции для cURL’а. И нельзя, например, задать опцию, чтобы поменять список тегов, принудительно удаляющихся из текста RSS.
Хыхы. Вопрос: нахера там столько кода и что он делает?
2010-07-05 Vitaphoto V3 (1.4)
Итак, представляю: Моя инженерная мысль разродилась очередной версией Vitaphoto: V3 или же 1.4. Качества:
- «Скажи синтетическим ключам „нет“!» Фотографии и альбомы идентифицируются по именам, а не по ID’шникам.
- Обычная страничная навигация заменена разбиением по датам.
- Огламуренный интерфейс, дизайн на флоатах и несколько размеров фото на выбор (viva большие мониторы!). Дошло аж до Drag’n’Drop’а.
- Поддержка видео.
- Убран «язык запросов по тегам». Заменён выборкой по нескольким тегам.
- Убраны «альбомы». Заменены выборкой по нескольким тегам.
- Убрана собственная авторизация, добавлена «глобальная» через расширение MediaWiki (вот оно).
- Добавлено облако тегов.
- Поддержка просмотра полной EXIF-информации.
- Переписана на Sway Solstice, причём, вместе со ScaleDaemon’ом. Кода меньше раза в 3, он понятнее и расширяемый, а работает лучше. И апача больше тоже нет.
- Живёт по адресу http://vmx.yourcmc.ru/vitaphotov3.
Почему идущая после 1.3 версия 1.4 называется также V3? Ответ кроется в версии схемы базы данных — это её третий вариант с момента зарождения. Первая база называлась просто «vitaphoto» (Vitaphoto 1.0, 1.1), вторая несовместимая с первой и заполняемая заново (Vitaphoto 1.2, 1.3) «vitaphotov2», третья и теперешняя «vitaphotov3».
Что можно сделать с Vitaphoto V3 (1.4)?
- Посмотреть VitaphotoV3 в действии
- Почитать о VitaphotoV3 в YourcmcWiki
- Посмотреть исходные коды VitaphotoV3
Начиная с сегодняшнего дня, старая версия (1.3) законсервирована, не обновляется, и пока что временно осталась по адресу http://vmx.yourcmc.ru/vitaphoto-legacy.
2010-06-24 Дневник SIV-2 Вектор-Самара
Хроники прохождения SIV-2 Вектор-Самара (15-21 июня 2010). SIV, если кто не знает — Simulation d’Incidents en Vol — «симуляция инцидентов в полёте», курс по превращению нештатных ситуаций в штатные + акробатике, под руководством Бобра.
Много букв, всё под катом! Разделы:
2010-06-09 О торговле в Векторе
Сам летаю у Волкова на лебёдке, тема «Вектор — барыги» на парафоруме не раз поднималась, оспаривалась и обижалась векторами — все вы такие покупатели нехорошие, мы вообще по доброй воле возим, а можем и не возить, вы попробуйте привезти дешевле…
Но ведь интересно — возникают же у людей такие мысли, неоднократно. Значит, неспроста!
Что, конечно, настораживает в первую очередь — цен на сайте в основном нет. Да-да, недолюбливаю людей (на парафоруме таких много, далеко не один вектор), которые не публикуют цен открыто, и ещё приговаривают «цены в личку, этика бизнеса». Фигизнеса. «Цена договорная» это называется. То, что официально никто не торгует, я уж и не говорю.
Здесь, кстати, можно очень положительно отметить http://airsport.ru/ - у них на сайте есть прайс-лист! Действующий! Там правда тоже есть прикол — не написана валюта :))) по крайней мере, не видна с первого взгляда на сайте и в PDF’ке прайс-листа их нет :) но там баксы, что всегда известно, и всегда честно сообщается.
А второе по поводу Вектора… Ну вот пример: вчера договорился о покупке запаски Sky Country, ок, «завтра позвони по этому телефону, я тебе скажу где забрать». Справедливости ради, договорился не с Волковым, а с Тохой, он обычно не занимается продажей. Сегодня звоню — «а её уже забрали» O_O. Вроде и нормально, это их полное право, но вообще-то так дело не делается. Я говорю «ну вообще это как-то не очень хорошо», мне — «ну вообще-то я по этому поводу не очень расстраиваюсь». А на коммент в ЖЖ говорит, мол я вообще по доброй воле решил продать, а мне в душу плюют постоянно такие как вы, потребители. Ну не продавай, какие проблемы, не будет никто плевать. Но ты же сам решил продавать, значит, это в твоих интересах? Ну и делай это нормально…
Ещё раз повторю — это его полное право, кому продавать, решает он. Но всё равно нелогично. Лично я в такой ситуации, даже если бы не занимался продажей оборудования, всё-таки когда позвонил бы ещё один человек, сказал бы, что её по идее сегодня уже забирают и отдал бы приоритет тому, кто позвонил первым. Объективно.
Это как курьер из интернет-магазина — это его полное право, он может и не звонить заранее, а просто приехать, доставить и позвонить по факту — «вы заказали с 9 до 20 доставку, значит, должны быть дома». Но положительных эмоций это, скорее всего, не вызовет, и обычно все звонят заранее, что экономит всем нервы.
А так что получается — мне нужно опять тратить время, выбирать запаску — потому что SC торгует только Вектор, а больше в наличии нет. Звонить, договариваться и т. п.
2010-05-17 Заметки Об Идиотизме - Bugzilla 3.6: New Extensions System
"In accordance with UNIX philosophy, Perl gives you enough rope to hang yourself." — Larry Wall
(«Согласно философии UNIX, Perl предоставляет пользователю верёвку, достаточно длинную для того, чтобы на ней можно было повеситься.»)
…И программисты это делают очень часто. Прекрасная иллюстрация этой цитаты — новая система расширений Bugzilla 3.6. Если кратко, то я даже не знал, что в перле можно сделать такое извращение. И лучше бы не узнавал.
Если расписать подетальнее, идея у авторов была такая — пусть каждое расширение будет подклассом Bugzilla::Extension, вся его конфигурация будет задаваться константами в этом классе, а все хуки (hooks) будут методами этого класса. Идея на первый взгляд неплохая, однако во-первых ведёт к различным проблемам сама по себе, а во-вторых имеет ужасную реализацию.
Старая система расширений была, конечно, не очень хороша, но зато очень проста: есть папочка со скриптами *.pl, каждый из которых представляет 1 (один) хук, то есть по сути 1 (одну) функцию, вторая папочка с хуками в шаблоны, действующими по такому же принципу (положил файл, получай установленный хук), третья папочка «lib», в которую можно складывать свои модули, и т. п. Её тоже уже пару раз рефакторили, в конце концов она пришла к описанному виду.
2010-04-25 И ещё авиамодельные видео
Теперь на тему Thrust Vectoring (управления вектором тяги) :)
Вот моделька F-22 с thrust vectoring’ом :)
Вот ещё некая моделька, хитрая! С дополнительным оперением типа схемы «утка» и гироскопами. «Колокол» чувак, конечно, не исполнял, но что-то мне подсказывает, что моделька его осилит :)
2010-04-08 Статистика голосов Бездны
Я ж когда Бездну читаю, её ещё и «модерирую» — помечаю звёздочками и пятёрками. Пятёрки бывают редко (их примерно 0.5 %), звёздочки — довольно часто (примерно 20 %).
Так как Бездна, теоретически, имеет собственную метрику — количество голосов пользователей, случайно прочитавших цитату — любопытен процент «хорошего» в множествах записей с разным количеством голосов (с тем, каким оно было при попадании в RSSproxy).
Вот я и построил гистограммку:
Вывод — максимум хороших записей в районе 30-и голосов, и в сторону меньшего числа голосов качество убывает даже немного медленнее, чем в сторону большего. А записи с большим числом голосов — похоже, обычное УГ.