Блог:Виталий Филиппов — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
м
м
Строка 1: Строка 1:
 
<big>Технические вопросы и вменяемые заметки — пока только от [[User:VitaliyFilippov|меня]]. А вдруг будет ещё от кого-то?</big>
 
<big>Технические вопросы и вменяемые заметки — пока только от [[User:VitaliyFilippov|меня]]. А вдруг будет ещё от кого-то?</big>
  
<span style="color: #a0a0a0">У меня, конечно, уже есть блог [[Файл:Ljuser.gif]][http://simply-a-man.livejournal.com/ simply_a_man]. Но там всё эмоции, эмоции, и всё не по делу.</span>
+
<span style="color: #a0a0a0">У меня, конечно, уже есть блог [[Файл:Ljuser.gif|link=http://simply-a-man.livejournal.com/]][http://simply-a-man.livejournal.com/ simply_a_man]. Но там всё эмоции, эмоции, и всё не по делу.</span>

Версия 19:48, 15 января 2010

Технические вопросы и вменяемые заметки — пока только от меня. А вдруг будет ещё от кого-то?

У меня, конечно, уже есть блог Ljuser.gifsimply_a_man. Но там всё эмоции, эмоции, и всё не по делу.

2013-04-03 О JSных гридах

Посранивал тут я гриды. А именно, jqGrid и, в очередной раз — dhtmlxGrid и ещё ExtJS’овский грид. И хочу сказать — блин, какое-то фуфло))

  1. С ExtJS всё понятно — он в своём обычном репертуаре: умеет почти всё, но ТОРМОЗИТ, требует МЕГАБАЙТ JS’а и долгое и мучительное конфигурирование — даже чтобы сделать в гриде тупой селектбокс, нужны дополнительные извращения. И баги там тоже есть — например, я не смог добиться, чтобы TreeGrid при изначальной загрузке полностью разворачивался — если указать expanded=true для всего, то при загрузке часть записей оказывается не на своём месте в иерархии (лечится сворачиванием и разворачиванием). Если же попытаться сделать expandAll по событию load, то все записи дублируются, и это уже не лечится никак. Кроме того, сегодня на работе долго ловили баг — в Store запись есть, а в гриде её нет. Кстати, я что-то даже не дождался окончания ловли. Но код аккуратный, это да. И документация хорошая.
  2. jqGrid умеет довольно много, но всё равно меньше, чем ExtJS’овский. Например, не умеет drag’n’drop-ом перемещать элементы в иерархии. Но главный минус — он ещё и весь какой-то КОСОЙ! Даже единого стиля названий методов/аргументов не выдержано, и документация хромает (не очень качественно сделана на dokuwiki). Опции для селектов зачем-то задаются в одной строке типа "id:name;id:name;id:name" и т. п. Да и конфигурируется тоже не особо легко.
  3. А вот dhtmlxGrid — хороший пример, он реально быстро работает и очень прост в конфигурации, и всё бы хорошо, если бы не одно «НО»: его полная версия, сцука, ПЛАТНАЯ :-(! Ну и собственно даже платная версия имеет странную лицензию — например, там есть пункт «The Licensee is not permitted to distribute the component(s) or its part(s) in any fashion which would promote, encourage, or allow reuse or redistribution of the JavaScript component(s)». Бугага. Это по их мнению вообще выполнимо в случае JS? А также вызывает вопрос — хотя бы продавать-то софтину, в составе который эта хрень тусуется, можно?
    Но в целом, несмотря на отсутствие TreeGrid’а и полезных фишек типа фиксированных колонок мне GPL’ный вариант dhtmlxGrid’а всё равно нравится, ибо он БЫСТРЫЙ. Хотя внутри красота кода, по-моему, явно хромает.
    Также теоретически, если никто не увидит :), то можно наверное стырить JS-ники со страничек с примерами про-версии.

2013-03-20 Ыы, bumblebee!

Чудесный коммит, устраняющий опечатку.
Из-за опечатки при удалении bumblebee удалялся весь /usr.
Баг был быстро пойман и исправлен, что не помешало багтрекеру проекта на github стать на несколько дней филиалом форчана, с макросами, пони и прочим. (c) Lurkmore

А вот тот самый коммит:
https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac

I want my usr back.jpg

Facepalm Selinux Apparmor.jpg

O USR.png

2013-02-28 Microsoft зад обрела

Мелкософт решил в очередной раз сократить издержки и перейти на WebKit поменять модуль проверки орфографии с хорошего (ОРФО) на плохой (свой на основе стыренно-купленных у ОРФО словарей). Результаты этого видны невооруженным глазом — теперь можно писать: нармально, промышленость, спакойненько, децком, сапогов, теоритически, словестный. А верные слова, наоборот, часто подчеркиваются красной чертой — «ежесезонный», «всеевропейский» и многие другие будут считаться ошибкой.

Самое эпичное — если Word 2013 не находит в своем словаре некоторое слово, часто он пробует разделить его на два так, чтобы каждое было ему известно. В результате получаются следующие курьезные подсказки:

  • Профкомовец → подсказка Word 2013 — «профком овец»
  • Беспрограммный → «бес программный»
  • Обломовцы → «облом овцы»
  • Дизайнерша → «дизайн ерша»
  • Задобреет → «зад обреет»

И прочее.

А вот тут небольшая история про то, как оно произошло — http://roem.ru/2013/02/19/addednews64105/ — от Ашманова, который в итоге купил Информатик. Вот так вот оно, проприетарщину проприетарщикам продавать — стырят и ухом не моргнут :-)

Плюс комменты с лора из темы про ОРФО:

Ответы на коммент: 5 лет назад, когда я пробовал OpenOffice Writer, мне этой штуки больше всего не хватало.
А в Calc — русских формул.

  1. Боюсь спросить о любимом языке программирования.
  2. Я всегда тащился от функции «ЧИСТРАБДНИ» — всегда очень хотелось ЧИСТРАБДНуть что-нибудь в ответ — знать бы, в чем состоит это действие :(

2013-02-17 Про JS и jQuery

Про JavaScript[править]

JavaScript — это, конечно, хорошо, но всё-таки лучше, когда его на странице настолько мало, насколько это возможно.

Ибо иначе… вот прямо пример: сделали Википеды WikiEditor. Всё хорошо, удобная новая панель редактирования (увидеть можно, нажав править на любой странице википедии), с ajax-предпросмотром, тоже удобным, все дела.

Но вот вопрос — ЗОЧЕМ было его делать на JS ЦЕЛИКОМ? Можно же было эту панельку вывести пыхом, а потом понацеплять к ней обработчики путём JS.

А на чистом JS (+ jQuery) получается так, что всё в колбэках, и в итоге:

Панель появляется не сразу, а через некоторое время (0.5-1 сек) ПОСЛЕ загрузки страницы.
Расширяемость WikiEditor «не очень», и опять на тех же колбэках. И, разумеется, опять же никак не кэшируется.
Попутно появляется довольно неприятный баг — если перейти куда-то дальше, а потом кликнуть НАЗАД, то состояние страницы, а следовательно, и содержимое окна редактирования НЕ ВОССТАНАВЛИВАЕТСЯ! Причём подобное я уже наблюдал с YAHOO UI в багзилле, и оно как-то мистически связано с использованием события onDOMReady (то есть DOMContentLoaded). То есть именно при каких-то действиях браузер перестаёт уметь полностью восстанавливать состояние страницы при переходах по истории. Причём проявляется это везде, в том числе и в IE, и в Опере (которая R.I.P). Но тут надо ещё подходик совершить, повкуривать, может, найду причину.

Про jQuery[править]

Опять-таки, jQuery — вроде, тоже неплохо. Кое-что полезное он содержит, API у него вроде как поудобнее и поуниверсальнее, чем у голого JS.

Но в целом моё мнение — это не библиотека, а сборник костылей. Причём полный сборник костылей. То есть раньше костыли для поддержки разных браузеров писались ручками, но зато ты писал только те, что нужны тебе. А с jQuery пользуйся — не хочу, но зато таскаешь с собой полный обоз подпорок. Итак, лишняя зависимость на ~90кб, которая должна, естественно, не просто загрузиться (фиг с ним, в кэш ляжет), но ещё и выполниться — это первый минус.

Но есть и (2)ой, возможно, даже более важный минус — повсеместное применение операций над множествами. В чём же минус, спросите вы — это же гораздо удобнее? А вот в чём: если написать что-то не то без jQuery — твой скрипт скорее всего свалится с ошибкой в консоль. А в случае jQuery и операций над множествами что-то просто тихо отвалится — вместо null будет просто пустое множество! То есть jQuery — это дополнительный шаг в сторону типичного скриптового рас!"(дяйства (хотя казалось бы, куда уж дальше-то).

В общем, насчёт важности (2) — хз, конечно. Меня лично больше бесит всё-таки то, что многие уже не в силах писать без jQuery, и 90кб тащат ради скрипта на 30 строчек. Это у меня природное какое-то влечение к упрощению, да.

Так что я испытываю глубокое моральное удовлетворение от выпиливания откуда-нибудь jQuery :-)

Что характерно, количество кода при этом обычно либо не увеличивается, либо увеличивается лишь сааамую малость.

→ продолжить чтение…

2012-12-27 Ещё Филиппины

Дождь вчера лил дико, весь день, сейчас вроде ушёл, покатались сегодня нормально. Даже атмосфера более-менее спортивная, хотя всё-таки тут больше местных, приезжающих даже не кататься, а просто жопу греть, и с европейцами фотаться. Типа фото с белым человеком — показывают друзьям потом, наверное.

Вело-мото-рикши тут эти популярны, шо пипец! Официально называются «трициклами». По сути — мотоцикл/велосипед с коляской без боков, но с крышей + возможно с крышей над водителем. Так вот, прикол: мы сегодня наблюдали картину маслом — на мото-рикшу, на крышу грузили ОГРОМНЫЙ двуспальный МАТРАС толщиной сантиметров 60, наверное. Да-да, оно потом ПОЕХАЛО, а ржали над этим, по ходу, только мы — для остальных это, типа, норма. Фото, в хреновом качестве, но общий смысл разглядеть можно:

MatrasRiksha.jpg

2012-12-25 Про Филиппины и вопрос по вайфаю

Мну таки доехало до CWC на Филиппинах. Это Camsur Watersports Complex — вейк-парк такой, хороший достаточно.

Честно говоря, не всё так круто, как описано онлайн — по информации онлайн мне почему-то казалось, что тут вообще всё мегакруто, круговых лебёдки две, а не одна, реверсов > 1, а не 1… Катер есть (а не нет)… :) с интернетом обещали, что всё хорошо, а тут некие перебои, причём странные какие-то, см. ниже.

Про Филиппины

Сами Филиппины — срань и бедность, причём какая-то дикая её помесь с нормальной жизнью и местами богатства. Всё вперемешку. Тусили 1 день в Маниле — это столица — из окна отеля смотришь — внизу реально МОРЛОКИ бегают — панки на велорикшах, куча попрошаек в возрасте от 2 до хз скольки лет, улицы все какие-то засранные, ездят какие-то аццкие маршрутки:

Manila bus.jpg

При этом немало вполне нормальных недешёвых отелей, типа как наш был, с приятным персоналом. Лифт у нас ехал вверх только после прикладывания карточки, и хорошо, а то бы эти обезьянки по всему отелю лазали. Бизнес-район, в котором много высоток, в столице только один и маленький. В остальном — некая хаотичная застройка, местами похожая на деревенскую.

И это ещё столица! А Нага, рядом с которой CWC — это вообще по-моему не город, а просто конкретная деревня. Но в этой деревне есть аэропорт :) правда, размером не вышел — одна полоса и маааленькое зданьице. Даже ленты для багажа нет — багаж напрямую с машинки забираешь.

Валюта — прикол: называется PHP! Филиппинское песо. 1 песо это на наши где-то 80 копеек. При этом максимальная купюра — 1000 песо. Ну вы поняли — это примерно как у нас было, пока купюры в 5000 не было. Меняешь бабло и остаёшься с мощной пачкой купюр, как будто к драгдилеру собираешься.

В туристе филиппинцы видят миллионера и часто стремятся развести на бабло, таксистов надо вообще не спрашивать цену, а говорить просто — 200 песо, едем до терминала 2, скажем. А ещё лучше — вызывать официально по телефону или просить это сделать на ресепшне — тогда он поедет по счётчику, а по счётчику до того же терминала 2 будет песо наверное 30 или 50, а от отеля до аэропорта в среднем песо 150—200 или меньше. А если их спрашивать, они бабла готовы срубить сколько угодно, вплоть до ~900 до терминала и вплоть до ~3000 до отеля :) терминал — это в аэропорту Манилы 3 терминала, все рядом. Аналогично рядом с ними и автобусная станция. На рейсовых автобусах обычно ездит только местная фауна, туристам не рекомендуется, так как если вещи оставить и отойти, их там, говорят, минут через 5 уже не будет.

Про вайфай в CWC

Очень любопытно глючит вайфай на территории CWC. Точек доступа дофига, сигнал вроде везде хороший, но:

0. Точки натыканы по несколько на одни и те же каналы. В основном, по-моему, 2 3 5 6 7. Остальные как-то, по-моему, не заняты. Но ладно, со скоростью 1 Мбит/с всё равно всё работать должно.

1. Однако, сначала в комнате оно у меня вообще либо не ассоциировалось с точкой доступа, либо адрес по DHCP не получало. Но вот где-то с полчаса назад я сделал rmmod cfg80211; modprobe cfg80211 ieee80211_regdom=world, то есть прибил гвоздями разрешение ВСЕХ каналов, и оно ЗАРАБОТАЛО! Без этого было так:

[ 5162.212787] ath0: authenticate with 00:18:25:04:e4:e1 (try 1)
[ 5162.214665] ath0: authenticated
[ 5162.215071] ath0: associate with 00:18:25:04:e4:e1 (try 1)
[ 5162.220241] ath0: RX AssocResp from 00:18:25:04:e4:e1 (capab=0x421 status=0 aid=3)
[ 5162.220248] ath0: associated
[ 5162.220255] ath0: No basic rates in AssocResp. Using min supported rate instead.
[ 5162.226327] cfg80211: Calling CRDA for country: DB
[ 5162.232005] ath0: deauthenticating from 00:18:25:04:e4:e1 by local choice (reason=3)

Что это вообще за страна такая — DB? Такого ISO кода страны вообще в природе нет! Откуда оно пришло?

2. Ок, соединились. Но теперь вторая, тоже очень оригинальная ситуация — что-то не так с DNS ответами. В итоге: wget, firefox, elinks дружно не могут открыть некоторые сайты, например, http://lenta.ru/ и http://linux.org.ru/, говоря, что домен не найден. Однако при этом nslookup и dig нормально их резолвят, а opera и chrome нормально открывают! Это как же, вашу мать, извиняюсь, понимать?

Примерный tcpdump того, что происходит, когда wget пытается зарезолвить www.linux.org.ru:

10.239.0.172.40553 > vip2.smartbro.net.domain: [udp sum ok] 14437+ A? www.linux.org.ru. (34)
10.239.0.172.40553 > vip2.smartbro.net.domain: [udp sum ok] 4307+ AAAA? www.linux.org.ru. (34)
10.239.0.172.58692 > vip2.smartbro.net.domain: [udp sum ok] 51398+ PTR? 82.3.1.121.in-addr.arpa. (41)
vip2.smartbro.net.domain > 10.239.0.172.40553: [udp sum ok] 14437- q: A? www.linux.org.ru. 1/0/0 www.linux.org.ru. [25m55s] A 217.76.32.61 (50)
vip2.smartbro.net.domain > 10.239.0.172.40553: [udp sum ok] 4307- q: AAAA? www.linux.org.ru. 0/1/0 ns: linux.org.ru. [1h55m26s] SOA ns1.linuxhacker.ru. max.linux.org.ru. 2010092901 28800 7200 604800 86400 (90)
10.239.0.172.45297 > vip2.smartbro.net.domain: [udp sum ok] 60445+ A? www.linux.org.ru. (34)
10.239.0.172.45297 > vip2.smartbro.net.domain: [udp sum ok] 22138+ AAAA? www.linux.org.ru. (34)
vip2.smartbro.net.domain > 10.239.0.172.58692: [udp sum ok] 51398- q: PTR? 82.3.1.121.in-addr.arpa. 1/0/0 82.3.1.121.in-addr.arpa. [20m57s] PTR vip2.smartbro.net. (72)
10.239.0.172.43970 > vip2.smartbro.net.domain: [udp sum ok] 8828+ PTR? 172.0.239.10.in-addr.arpa. (43)
vip2.smartbro.net.domain > 10.239.0.172.45297: [udp sum ok] 60445- q: A? www.linux.org.ru. 1/0/0 www.linux.org.ru. [26m5s] A 217.76.32.61 (50)
vip2.smartbro.net.domain > 10.239.0.172.43970: [udp sum ok] 8828 NXDomain- q: PTR? 172.0.239.10.in-addr.arpa. 0/0/0 (43)
vip2.smartbro.net.domain > 10.239.0.172.45297: [udp sum ok] 22138- q: AAAA? www.linux.org.ru. 0/1/0 ns: linux.org.ru. [1h55m26s] SOA ns1.linuxhacker.ru. max.linux.org.ru. 2010092901 28800 7200 604800 86400 (90)

Вроде же нормально всё, не? А почему они тогда ругаются на то, что отрезолвить его, типа, не могут?

2012-11-29 Ulmart bunny

Наблюдение: кролик с рекламы Юлмарта (который, типа, спешит), по-моему, прилично похож на осла.

Ulmart bunny.jpg

2012-11-18 Тоже мне камера-брелок

Та самая камера-брелок («808»), за которую дело чуваку на украине шили — она ещё оказывается и дикое говно, и существует её версии 22 где-то в одном корпусе… Дикое говно — потому что почти у всех версий framedrop в районе 30 % при FPS=30. FPS можно поменять на поменьше (при 20 framedrop почти нулевой), но для этого её надо перепрошить, а после перепрошивки версиями 3.01 или 2.04 вариант #7 в итоге вообще не стартует — мигает светодиодом 1 раз и переключается обратно в режим прошивки — про это можно на rcgroups почитать. Про версии же можно почитать на http://www.chucklohr.com/808/ - это сайт чувака, который собирает по ним информацию. И там же написано, что ожидать от этого чуда китайской промышленности ничего хорошего не стоит изначально — «expect reliability of a toy». Ну и стоят нижние версии, правда, баксов по 7-10.

2012-11-07 Дааа! Наконец-то пруфлинк!

Наш бизнес-центр действительно раньше был тюрьмой!

http://www.russedina.ru/articul.php?aid=24422

Примеры перестройки казенных домов в Москве уже есть, отмечает газета. В здании бывшей пересыльной женской тюрьмы по адресу Лесная ул., 43, уже больше 10 лет размещается бизнес-центр. Застройщиков не отпугнуло даже то, что все окна бывшего исправительного учреждения выходят во внутренний двор, а коридоры — длинные и темные. Сейчас в здании работают турагентства, страховые и консалтинговые компании.

2012-10-25 Северокорейский генерал казнен с помощью миномета

http://www.lenta.ru/news/2012/10/25/mortar/

Бывший заместитель министра обороны КНДР Ким Чхоль, казненный в начале 2012 года, был умерщвлен необычным даже для Северной Кореи способом: его привязали к столбу и расстреляли из миномета, пишет The Daily Telegraph.

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

Комменты:

  • Это не Ким Чен Ын это Джокер какой-то из бетмена.
  • православно! у нас тоже наверное скоро перенимут
    • У вас это у кого??Если вы намекаетен на РФ то в РФ мараторий на смертную казнь…
      • Что может этот мораторий против единогласного голосования в Думе?
  • Так веселее! С первого раза врядли попадёшь. Больше фана для зрителей и моральных страданий для жертвы.
    • Ставки опять же можно делать
  • для генерала ничего не жалко!
  • «его привязали к столбу и расстреляли из миномета, пишет The Daily Telegraph»
    • к телеграфному столбу?
  • Нифига-из рсзо расстрелливать будут ну или притопят и закидают глубинными бомбами
    • субмариной прижмут ко дну
  • Англичане, помнится, привязывали индусов к дулам пушек, а эти привязали почему то к столбу, а не к гранатомету.
    • Если к дулу привязать генерала, то стрелять очень сложно, если вовсе возможно. Конструктивные недостатки.
      • У военной техники нет недостатков! Есть особенности применения…
  • Представляю как бы взлетел рейтинг Путина у потцреотов, если бы он сделал так же.
    • Путенг задолбается Булавой в Удальцова попадать. Булава большая и неоднозначная в своем поведении, а Удальцов маленький и тоже неоднозначный какой-то.
  • Лживая пропаганда.
    • На самом деле генералу за пьянство во время траура дали медаль.
      • Не медаль, а именной миномёт.
        • Скорее именную мину.

2012-10-05 Отжеж монстров народ рожает

Вот же ж монстров-то народ рожает!

Код новомодного Aloha Editor'а — яваскриптового визуального html-редактора — весит аж 1230 Кб. Чистый код! Минифаенный! Это (!) примерно в 2 раза больше, чем ExtJS 3! И лишь чуть-чуть (29 кб) не дотягивает до ExtJS 4. Это при том, что с одной стороны мы видим всего лишь html-редактор, а с другой — жирнейший фреймворк для создания JS-приложений, «похожих на гуёво-декстопные».

А теперь возьмём NicEdit — тоже редактор. Так вот, имея практически все базовые фичи, его код — исходник, а НЕ минифаенный — весит почти в 2 раза меньше, чем jQuery, а именно, 48.4 кб. Причём это — уже с дописанными туда мною таблицами, коих нет в оригинале. Если же его всё-таки обфусцировать — получаются вообще безобразно минимальные 37 Кб.

Я вот, конечно, понимаю, что, наверное, алоха более модная, более фичастая, более поддерживаемая и более оттестированная, но 1.2 Мб кода на JS-редактор меня реально пугают. Дискета, пилять!

Не-не-не. Возьму-ка я, короче, nicEdit.

2012-09-16 Корректива по поводу Red Brick

RB30-ESC-NO.png

Корректива по поводу китайских запчастей для квадрокоптера:

Red Brick'и в качестве регуляторов скорости движков лучше не брать, ибо у китайцев произошёл даунгрейд и вместо нормального регулятора с двумя радиаторами присылают хрень — аналог банального Hobbyking SS 25-30A, и после перепрошивки 16-кГц ШИМ прошивками оно при работе перегревается так дико, что на малых оборотах 15 секунд не проходит, а притронуться к нему уже нельзя.

Причина в херовых P-канальных MOSFET’ах, «P-FET gate noise» — на rcgroups есть полное англоязычное описание проблемы от собственно самого Саймона. Вот фотки платы, расположение элементов на ней полностью идентично Hobbyking SuperSimple, FETы тоже похожие, плюс разметил ISP-контакты для перепрошивки:

Red Brick 30A.jpg Red Brick 30A back.jpg

Кстати, никто не разбирается в полевых транзисторах?

А то, может быть, разъясните мне смысл сообщения по ссылке выше? Просто вполне очевидно, что перегрев происходит от кратковременных «замыканий» плюса на минус через транзисторы, но я не очень понимаю, как это происходит? Просто не успевают переключиться? Но у тамошних TPC8120 по даташиту Fall Time = 790 ns, Turn-off Time = 275 ns, стоят парами => пусть суммарное время выключения даже 2 us — это, конечно, медленно по сравнению с другими транзисторами (на порядок медленнее), но по отношению к 16 кГц ШИМ всё равно быстро. Ок, автор что-то говорит про шум, это видимо та хрень, колебания, которые между стоком и истоком происходят после выключения. Пусть шум длится даже ещё 2 us, но по отношению к 16 кГц всё равно получается >10 кратный запас.

Следовательно, там что-то более хитрое. Видимо, автор имеет ввиду, что этот шум каким-то образом передаётся на затвор (?), и происходят кратковременные паразитные включения транзистора? И вот это мне уже непонятно.

Однако, факт в том, что если TPC8120 заменить, например, на IRF9317PBF (что я проделал с одним регулятором), то перегрев прекращается и мы получаем вполне нормальный регулятор. Только вот после этого он становится дороже на 96 рублей по ценам Вольтмастера (и становится просто золотым по ценам ЧипИДипа — вообще не понимаю я их цены). Посему лучше сразу заказывать что-то, сделанное на всех N-FET’ах вместо P+N. Например, BlueSeries или F-20A/F-30A. Но они уже и стоят на 1-2$ подороже, то есть 8-9-10$ вместо 7-и.

А ещё я хочу пропиарить wii-esc!

В заключение хочу пропиарить очередную прошивку для регулей — wii-esc. Фишки: GPLv3, C-шный код вместо ассемблерного и Сигма-дельта модуляция (похоже на то, что в сообщении выше Саймон называл Spread Spectrum PWM). UPD: А ещё я забыл упомянуть про защиту от перегрузки! Что тоже является киллер-фичей. Правда, есть и минус — диапазон «газа» в wii-esc не калибруется. То есть, с большой вероятностью нельзя смешивать разные модели контроллеров, прошитых wii-esc, на одном квадрокоптере.

Вот ведь сила опенсорса, ага? До этого все юзали эти дурацкие регули как есть, и совершенно неизвестно было, что там внутри, какие алгоритмы, оптимальны ли они, нельзя ли их улучшить, нет ли каких багов (ибо встречаются) и т. п. А стоило одному товарищу по имени Bernhard Konze провести базовую работу и выложить её в свободный доступ, и смотрите-ка, уже есть целых 3 замечательных прошивки по мотивам его работ! SimonK, wii-esc и BlHeli. Первые две для квадрокоптеров, последняя — для вертолётиков. Причём BlHeli есть в том числе и для регулей на базе контроллеров SiLabs (C8051F330*), а не Atmega8 (а это, например, все новые Turnigy Plush и некоторые другие).

2012-09-01 А баг-то в новых Lukey 702 исправлен

Купил пару дней назад себе паяльную станцию Lukey 702. Она китайская, дешёвая, и с феном! :)

Прочитал про неё на хабре, что в паяльнике элемент на 7 мм не доходит до конца жала, но это можно исправить, перепаяв провода на более верхние контактные площадки. Соответственно, разобрал, думал ща перепаивать буду.

Ан нет — всё уже пофикшено китайцами, элемент входит в жало почти до конца! Ну может на 1 мм не доходит до дна, но не больше:

Lukey702-Tip-OK.jpg

И сама плата в ручке паяльника выглядит по-другому, не так, как на хабре выкладывали:

Lukey702-Iron-PCB.jpg

2012-08-24 Из чего собрать квадрокоптер с хоббикинга

2012-08-22 xcache и xdebug

Ух ты O_o xcache и xdebug, оказывается, не совсем совместимы:

Если первым в конфиге загружать xdebug.so, а вторым xcache.so, то либо xcache не запустится, либо вообще php будет сегфолтиться.

Думал было баг автору на эту тему поставить (который mOo), но обнаружил Ticket 145, зарезолвленный в invalid: «the strace output shows that XCache is loaded after Xdebug which is an unsupported case. load XCache first».

В документации или в FAQ написал что ли хотя бы…

Этот же парень, кстати, регулярно резолвит как wontfix регулярно переоткрываемый разными людьми Ticket 228, в котором говорится, что xcache, не работающий в CLI, должен об этом говорить, а не ругаться странными ошибками на тему того, что var_size маленький…

2012-08-12 Code Review в проекте МРТ

У нас на работе многие вывешивает всякие юморные картинки на двери.

Очень мне нравится вот эта:

Code Review Cats.jpg

Code Review в проекте МРТ

2012-07-31 Пофиксил две задолбавшие проблемы

(1) Нерабочий Backspace в голой UTF8-ой консоли в дебиане, решение — поменять (можно патчиком) в /usr/share/console-cyrillic/ru_ms-unicode.kmap строчку с keycode 14 на:

keycode 14 = U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008 U+0008

(2) Совершенно дикое торможение и шуршание диском из-за большого количества записи при старте X.org на рабочем компе — настолько, что при старте системы X’ы не успевали запуститься — отведённое на запуск время кончалось. Оказывается, я их там когда-то дебажил и добавил в конфиг строчку:

Section "ServerFlags"
    Option "Log" "sync"
EndSection

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

2012-07-18 MySQL и болт

Опа! =( Оказывается, MySQL/MariaDB кладёт болт на синтаксис

CREATE TABLE t (
  other_id int REFERENCES other_table (id)
) ENGINE=INNODB;

Т.е. REFERENCES, указанный рядом с конкретным полем, теряется, хотя никакой ошибки при этом не возникает! O_O

И чтобы он работал, нужно его указывать обязательно на уровне таблицы, типа

FOREIGN KEY (other_id) REFERENCES other_table (id)

Баг по теме: http://bugs.mysql.com/bug.php?id=51174

2012-07-07 Darktable

Нашёл, с одной стороны, супер-программу — типа, opensource’ный Лайтрум — Darktable.

С точки зрения функционала хорошо — куча плагинов, есть почти всё, что нужно. Почти — потому, что:

  • Дебайеринг даёт очень много цветового шума (в ufraw и то лучше). Возможно, просто отсутствует нормальный шумодав — либо всё в мыле, либо всё в шуме.
  • Нет авто-ББ.
  • Нет масштаба.

Но это замечания мелкие-средние… А вот по ИНТЕРФЕЙСУ замечания огромные!!! Вроде бы модный, но идиотский… (и GTK3, лучше бы QT заюзали)

  • Сделан по ходу для просмотра под ЛУПОЙ — кнопочки аж по 10х10 пикселей, шрифт 8-ой (хотя шрифт можно поменять руками в gtkrc). Особенно круто смотрится на моём ноуте с 1920х1080 и круто попадать по этим кнопкам с тачпэда.
  • Нет ни нормального меню, ни контекстных (вообще нигде) — хрен поймёшь, где чего можно сделать! Пилять, меню же для того и придумали, чтобы все фичи в одном месте собрать. А тут сиди, ищи куда ещё тыкнуть можно.
  • Везде есть прокрутка, но почти нигде нет скроллбаров! Например, нет оного в списках фотографий.
  • Нет сплиттеров между панельками и основной рабочей областью, ширина задаётся для обеих панелей одна и та же в настройках.
  • Вроде оно умеет сохранять и загружать XMP, но я НЕ НАШЁЛ, где это вообще заюзать! Как экспортировать настройки, непонятно — при клике на кнопку ничего не происходит.
  • Также нельзя и выбрать параметры из предыдущих/последних файлов.
  • Идиотская регулировка баланса белого — зачем-то две шкалы — «начальный ББ» и «конечный ББ». Работают, соответственно, наоборот.
  • Идиотские масштабы шкал многих параметров — ну вот НАХРЕНА мне например зелёный оттенок в +7.0 (по их шкале это пипец насколько зелено)?
  • Сами регуляторы идиотские — шкалы типа прогрессбара, совмещенные с цифрой параметра, и чтобы её поправить, нужно кликнуть правой кнопкой. А хочется левой. Учитывая, что цифра где-то справа регулятора, в безумной части диапазона, это никому бы и не помешало.
  • По-идиотски сделана основная панель с фильтрами — они сворачиваются/разворачиваются (типа фича), и панель нужно постоянно скроллить и переключать вкладки, чтобы найти нужный фильтр. Сами фильтры раскиданы по вкладкам тоже по-идиотски. Например, почему-то яркость, контраст, «живость» и насыщенность все в разных фильтрах и РАЗНЫХ ВКЛАДКАХ!
  • Сами вкладочки озаглавлены не текстом, а картинками, у меня лично очевидной ассоциации не вызывающими.

И это всего лишь навскидку… Проблем на самом деле больше :-(

Короче, фотографии в этом пытаться обрабатывать можно, но как-то очень геморно пока что :-(

2012-05-27 SSD не понял

Чё-то я в натуре не понял O_o поставил себе интереса ради SSDшку Plextor PX-128M3, на контроллере Marvell 88SS9174 и ToggleNAND флеше, и только успел скопировать туда (файлами) линуксовые разделы, как SMART атрибут 0xB1 — Wear_Leveling_Count по мнению smartmontools, то есть число перезаписей самого изношенного блока диска — уже стал равен 1638…

И самое весёлое, что растёт значение прямо на глазах — через полчаса уже было 1639, а к концу дня — уже 1694! Запись на диск при этом почти не шла… Я понимаю, что write amplification и все дела, но не настолько же! При Power_On_Hours = 7 — это что, 31 ТБ в час, или 8.6 ГБ в секунду?)) Даёшь рекорд))

Если же это по какому-то одному «горячему» блоку, то извините, но их Wear Leveling никакой не левелинг…

А стоило потом сделать 3 тестовых прогона dd if=/dev/zero of=tempfile bs=1M каждый, и пару раз дёрнуть mkfs — число резко выросло до 1769… За первый dd, переливший ~350 мб, увеличение составило 10. Отсюда делаем вывод, что параметр всё-таки как-то связан с количеством записи на диск.

И, кстати, некто Витя из Новосибирска в комментах к PX-64M3 на сайте dns-shop привёл своё, тоже очень жирное значение этого параметра:

B1 100 100 __0 00000000118B Неизвестно

То есть, значение аж 4491, и если считать, что это Wear Leveling Count, то ещё чуть-чуть и хана Витиному диску :-D ведь заявленный ресурс ячеек = 5000…

Но наверное, всё-таки это не он, It cannot be!

UPD: У них этот параметр равен числу стираний блоков по 64 мб.