Две стороны одной медали

i love it when a plan comes together

LG W2420R
smiling
[info]simply_a_man
Купил тут в субботу себе монитор - 24" LG W2420R... IPS матрица, RGB-LED подсветка, A-TW поляризатор :-) Wide Gamut, типа.
Смысл примерно такой: начинка абсолютно та же, что в HP DreamColor LP2480zx, который 80к стоит, но под маркой LG :-)
Ну что я могу сказать - это куда ближе к идеалу, чем предыдущие попытки!
+ Никакого кристаллического эффекта, никакого мерцания (!)
+ Регулировка контраста не убивает цветопередачу (!) - это вообще что-то для ЖК нереальное...
+ Цветовой охват реально офигенный
+ Углы аналогично, никакого глоу эффекта (A-TW своё дело знает)
Правда, есть и минус, сразу в магазине не увиденный:
- Некоторая неравномерность цветовой температуры - левый нижний угол отдаёт красным :-(
Однако про этот минус пишут, что во-первых, это общая проблема, в том числе и HP DreamColor, и дофига у кого она есть, а во-вторых, т.к. LGшка снята с производства, то сейчас распродаются остатки, среди которых найти идеальный сложно :-(
Вот и думаю теперь, чего делать...
Наверное, надо всё-таки попробовать съездить и посмотреть ещё экземпляр или парочку...
  • Add to Memories

Поттеринг продолжает жечь
axe
[info]simply_a_man
Теперь udev вливают в его systemd O_o типа код сильно связан и они решили не мелочиться, а просто слить O_o мысли на эту тему:

Про udisks:
За udisks его авторов я люто-бешено ненавижу. Это жутко кривое говно, там, например, возможные параметры для файловых систем захардкодены O_O кто ж так пишет-то, ё-моё) ещё у меня оно время от времени радостно жрало 100% cpu - ну просто в polling /dev/sr0 - и завешивало вызвавшую софтину. То есть они не только параметры хардкодят, но и polling написать нормальный, не приводящий к бесконечному циклу, не могут. И это всё при том, что я до сих пор так и не понял, нафига мне этот udisks. Но gnomevfs тянет его за собой, а от gnomevfs зависит многое, в дебиане например openjdk 7 O_O - это вообще какая-то фатальная ошибка.

Про RedHat:
Я лично действительно почти уверен, что Поттеринг - просто публичное лицо для их решений.
Если редхат движется в сторону Linux + Vendor Lock, то во-первых лучи поноса ему, а во-вторых многим придётся всё-таки понять, что деньги - это не всё, из них хороший продукт не получается. Плюс я верю в опенсорс - ну надоедят эти поделия, ну форкнем и дальше пойдём. На то они и нужны, свободные лицензии.

По теме:
Вливание udev в systemd не понял и не поддерживаю. Что мешало сделать наоборот? У udev репутация есть, у systemd нет. Хотя если брать udisks - то он и по кривости, и по идеологии вполне сопоставим с systemd, а то и кривее, так что может даже выиграет от этого слияния :D
Хотя гарантировать не могу, ибо этот systemd, из-под которого не могут сбежать процессы :D, я не пробовал и пока не собираюсь. Куда им от него сбегать двойным форком?.. Зачем?.. А если сбегают, наверное всё-таки реально нужно, ё-моё?
А то, что все системы обрастают демонами, обёртками и так далее - это меня не удивляет. Просто мощность растёт, и на то, что всё это тормозит, всем насрать и никто оптимизацией не занимается - до тех пор, пока новые слабые девайсы не приходят.
  • Add to Memories

А вот объясните мне...
antarctic
[info]simply_a_man
Какого хрена пропали ноутбуки 16:10?
Я ещё могу понять переход от 4:3 к 16:10, но 16:9-то зачем делать?
Это ж ужасно, я теперь никогда себе новый ноутбук не куплю :(
  • Add to Memories

Пришёл-таки ноут со штатов
smiling
[info]simply_a_man
HP Envy 15 с FullHD IPS экраном.
Но всё-таки производители нашли, где поднасрать!

Какой ПИДОР придумал сделать клавиши ↑ ↓ половинного размера?!
И при этом ТАКОГО размера правый шифт?!
Нет, спасибо конечно огромное, что Pgup/Pgdown/Home/End отдельные - а то остальные вообще любят как на сраных макбуках делать, вешать их на Fn+стрелки. Но это у меня вообще обязательный параметр был при выборе ноутбука.
Текст набирать пипец, не могу по стрелкам попасть вообще.
Хоть ремапь правый шифт на стрелку вверх, а обе вверх и вниз на вниз.
  • Add to Memories

Настройки Firefox
smiling
[info]simply_a_man

О! Я наконец-то получил то, что давно хотел от Firefox’а — настройку горячих клавиш, в том числе на переключение вкладок!

Для этого нужно поставить 2 расширения — Keyconfig и Functions for keyconfig:

…по необходимости отключив при этом проверку совместимости расширений, для чего нужно создать boolean ключ «extensions.checkCompatibility.11.0», равный false, в about: config, где 11.0 — ваша версия Firefox. При этом если у вас например 10.0.1, то ключ будет всё равно extensions.checkCompatibility.10.0, то есть самая мелкая часть версии не учитывается.

Настроил себе переключение вкладок по клавишам 1 и 2 (назад и вперёд соответственно), как было в опере где-то 9, а Backspace сделал «назад».

Кроме того, поставил accessibility.tabfocus = 3, что означает нажатиями клавиши Tab фокусироваться только на всех элементах форм, но не на ссылках, как это по умолчанию (тоже бесило).

Насколько ж удобнее-то!

Плюс из расширений, естественно, FireBug, AdBlockPlus и Greasemonkey. Плюс FireCookie (редактор cookie для FireBug’а), плюс KDE’шный стиль «Oxygen» (есть в расширениях), плюс мой userscript для отключения Гугловских редиректов (слежки за кликами на найденные ссылки).

Ну да — настоящий Firefox’овский подход: куча расширений, в отличие от Оперы, в которой всё «искаропки». Но во-первых, все расширения качественнее, никаких оперовских багов, которые по два года никто не фиксит, а минуса, который был у 3-его Firefox’а — «субъективной» тормознутости — уже и нет!

А хром — ну побыстрее немного, но хоткеи вон вообще не настраиваются :D а памяти жрёт ничуть не меньше, чем фокс, скорее даже прилично больше.

  • Add to Memories

vitapho.to
antarctic
[info]simply_a_man
Теперь у меня домен аж в Тонге :)
  • Add to Memories

KDevelop - запатчил! :)
axe
[info]simply_a_man
Все, баг, из-за которого падал KDevelop, я зафиксил сам! :)
Отлаживался контрольными принтами, gdb и ++овый шаблонный бред не осилил.
патч-то всего на +1/-2 строчки (первая не в счёт ибо идентична), но пока поймёшь, что куда писать… :) Ссылка на патч из багзиллы KDE.
Исходники битрикса погружены успешно, KDevelop можно пробовать дальше.
  • Add to Memories

Баги KDevelop
antarctic
[info]simply_a_man

KDevelop всё-таки имеет баги, например я нашёл полтора: баг 283356 и баг 295766.

Второй как бы не совсем баг, но если пытаться скормить в KDevelop что-то безумное типа битрикса, где пипец как много каталогов, он повисает в попытках сделать очередной inotify, на который ему говорит «хрен там» ядро, ибо по дефолту sysctl fs.inotify.max_user_watches = 8192… Я лично считаю, что он в этой ситуации не должен повисать намертво, а должен просить поднять лимит… Но в любом случае этот «полубаг» успешно обходится, собственно, поднятием лимита.

А вот первый — действительно баг — KDevelop время от времени валится на некоторых исходниках. Я поотлаживал и нашёл минимальный тест, простой PHP-код, который валит KDevelop :)

<?php
$a = new A();

$a->x = 1;
class A {
    var $x = 1;

}

Смысл в том, что оно пытается делать довольно приличный статический анализ PHP-кода, и запоминает поля, определённые присваиванием. А кроме того, оно пытается предупреждать о некорректных переопределениях (ну например дважды var $x в одном классе). Но из-за этого оно раньше ругалось на переопределение, если сначала видело присваивание, а только потом определение. Это типа зафиксили в баге баг 241750, но только криво зафиксили — код почему-то подразумевает, что видит определение именно внутри метода класса, и тупо использует currentContext()->parentContext() (то есть «тело функции» → «тело класса»). Но:

  • Присваивание бывает вообще снаружи класса, и тогда parentContext = NULL ⇒ SEGFAULT.
  • Определение поля — в классе, но не внутри метода, соответственно, и сам «фикс» ошибки переопределения ни фига не работает. Вернее работает, но не всегда, а как повезёт, в зависимости от порядка добавления присваивания и определения. Если сначала написать присваивание внутри метода класса, а потом, после него, определение — не работает.

Хз, может и попробую зафиксить, но не факт, что это окажется легко. То есть, в качестве быстрого хака, если хочется работать, можно просто выпилить весь блок кода, отвечающий за этот фикс, из DeclarationBuilder::declareClassMember (в kdev-php/duchain/builders/declarationbuilder.cpp), но хочется-то зафиксить как надо.

  • Add to Memories

А кстати если говорить об IDE...
axe
[info]simply_a_man
Kdevelop-mediawiki.png
То в пень нужны все эти пых стормы, комоды и так далее?

Ведь оказывается, есть очень уютненький и шустрый KDevelop!

Только компилить его надо из исходников — в репозиториях дебиана и убунты всех нужных плагинов нет (и вряд ли есть в других). Соответственно, качаем kdevplatform, kdevelop, quanta, kdevelop-pg-qt, kdev-php:

git clone git://anongit.kde.org/kdevplatform
git clone git://anongit.kde.org/kdevelop
git clone git://anongit.kde.org/quanta
git clone git://anongit.kde.org/kdevelop-pg-qt
git clone git://anongit.kde.org/kdev-php

Доставляем зависимости, собираем cmake’ом (mkdir build; cd build; cmake ..; make; make install) и ставим всё кроме quanta, а из quanta тем же методом собираем и ставим только плагины (как минимум plugins/executebrowser) и debuggers/xdebug (отлаживаемся, соответственно, xdebug'ом). Можно и языки (languages/css, languages/sql, languages/xml). Кстати, для KDevelop есть и другие плагины — под питон, руби и так далее.

После чего останется один нюанс — всё собранное включить! Тут фишка в том, что плагины, собранные из quanta, будут иметь X-KDevelop-Version=12 в .desktop-файлах, а собранный KDevelop будет хотеть 14. Соответственно, нужно в /usr/share/kde4/services/kdev*.desktop везде поменять 12 на 14. Ну или если к тому моменту, как вы это будете читать, оно внезапно обновится, то посмотреть в любой плагин kdevelop’а и взять нужное значение оттуда. Дальше надо дёрнуть kbuildsycoca4 (обновить кэш конфигурации системы) и всё, можно запускать KDevelop.

На крайняк, если всё-таки какой-то плагин не включится сам, можно его прописать руками в ~/.kde/share/apps/kdevelop/sessions/{…GUID…}/sessionrc, в секцию [Plugins], в виде «имяплагинаEnabled = true».

Всё это, правда, всё ещё не значит, что я свой mc на IDE променяю :) если только для какого-то безумного говнокода, в котором без неё не разберёшься, типа БИТРИКСА, с которым хоть сколько-то поработать, УВЫ, в ближайшее время придётся…

  • Add to Memories

Пилять, вот же жгут
smiling
[info]simply_a_man
Увидено на хабре: Украинская таможня возбудила уголовное дело по контрабанде двух брелков. Помогите в борьбе против беспредела таможни и СБУ... →
Пилять, вот же жгут! Чуваку за 2 сраных брелка и перочинный нож с dealextreme доблестные хохлы паяют аж ЧЕТЫРЕ уголовных статьи! O_O
Типа, брелок с видеокамерой - спецтехника, нож - холодное оружие, а он - контрабандист. Дебилы, такая спецтехника у каждого в кармане постоянно с собой (мобильник же). А вот почему на нож наехали - непонятно, он вроде заказывал именно перочинный ножик, а не ХО.
Мде, ебанутые страны (обе - что наша, что незалежная). Также есть гипотеза, что этим законом чиновники прикрылись от обвинений в получении взятки - если их кто-то подобным снимет, то сядет, а им ничего не будет O_O
#СПАСИБОПУТИНУЗАЭТО
Понравился коммент с хабра:
Зависит от того как в квартире установлена электророзетка. Если на таком уровне, что туда можно не нагибаясь вставить гвоздь и получить удар током, то это специально расставленная ловушка. Если на уровне, для которого нужно нагнуться, то это хитро расставленная ловушка. Если на уровне, что нужно подпрыгнуть, то это уже даже не ловушка, а агитация и открытая демонстрация военной мощи, а еще призыв совершить акт насилия.
  • Add to Memories