Letting Go, pt. 2

Отпустить — это убедить самого себя, что части себя больше нет.

Persistent

Разбирал стол, нашел свой старый Motorola C390, который не включал уже месяцев 10, с тех пор, как получил нахаляву SE M600i. Сходил, купил зарядное устройство, зарядил, включил, а там внезапно SMS от бывшей девушки. Майские. Теплые, да. Ох, уж и не стоило их перечитывать, пожалуй.

Full reset, отдам мобильник отцу, всяко лучше того кирпича, который у него сейчас.

А Seek and Destroy'ем Metallica закрывала свой концерт в 2006-ом (2006? так давно?) году. Выступление мясное было, еще хочу!

Все, что не убивает нас

Нет, никаких рефлексивных соплей на этот раз, просто прошел квест под названием «обойди всех врачей в районной поликлинике». Сказали, что отличное сердце, как у занимающихся спортом, потому что пульс редкий и что-то еще довольно правильное. Что ж, отлично, можно продолжать убиваться всяким кофеино-таурином. Взяли много крови из вены, она очень темная, почти черная, и ваще красиво это.

Также, луч ненависти в адрес поликлиники, ибо забор крови с 8:00 до 9:00, а она открылась сегодня в 8:40. Пришлось читерить и наглеть, чтобы ее таки сдать.

(No title)

Breathing life into what's dead
Ignore the wrath of our dysfunction

Очередной

Итак, вы отмечаетесь в комментариях, а я задаю вам 4 каверзных, личных и жутко нескромных вопроса. Вы берете эти 4 вопроса и копируете к себе в журнал вместе со вступительным текстом (обещая всем страждущим задать уже свои вопросы).
Итак, мне от [info]mawerick:

1. Когда ты задувал свечи на торте в день рождения, что ты загадал?
Если не задумал, что загадал бы, если это было бы.

Торта не было, а загадал бы... Пожалуй, чтобы проекты увенчались успехом. Почему-то последнее время очень «I want to succeed» ©.

2. Твоя любимая детская сказка?
Я вообще сказки не любил, родители не особо баловали чтением и вообще рассказами чего бы то ни было на ночь. Однако, будучи чуть старше, любил послушать «о совсем детстве».

3. Врать или промолчать, что ты выбираешь?
Вообще, промолчать. А ради друзей и соврать можно.

4. Как ты видишь свою семью?
Три чужих человека под одной крышей. Это если говорить о той, которая сейчас. Свою семью я даже не представляю пока еще :)

Ну, какбэ

18.

Немного плохого

В адрес Qt 4.5. Собственно, в этом релизе программа стала регулярно падать где-то в недрах QtNetwork при работе с SSL, где-то в недрах QtCore при работе с QSortFilterProxyModel (что раздражает, потому что основная вкладка проги построена на куче вложенных QSortFilterProxyModel). Надеюсь, к 4.5.1 починят. Да и ваще, нефиг было софт из experimental ставить )

Гопнули на волосы

Образ
(Кликабельно, 28kB)

pros:

  • Легко мыть и сушить.
  • Не лезут в паяльник/гитару. Прощай, щапочка!
  • Не развеваются на ветру и не попадают в молнию куртки. И вообще никуда не попадают.

cons:

  • Непривычно.

Превьюшечки же!

Теперь личкрафт показывает предпросмотр веб-страницы шириной 200 пикселей и высотой как получится (надо бы обрезать, кстати) при наведении мышки на закладку в табах. Кстати, это помогло также найти баг в куте, который заставил передвинуть те три контрола из левого верхнего угла в правый верхний.
Образ
(Кликабельно, 214kB)

Над этой хренью я парился последние 3 часа. А все потому, что кутешный rich text engine не умеет ури-схему data: в src тега img. Пришлось юзать Qxt. А когда увидел, как оно выглядит — пробило на ржач.

Также, на комменты к предыдущему посту отвечу завтра. Сегодня задолбан и хочу спать.

Блджад же!

Читаю сорсы Aurora, чиста поржать. Вызывает желание взять и уе^W наказать за отсутствие каких-бы то ни было смартпоинтеров. И вообще не особо безопасный код.

Также, уважаемые фанаты D/lo/еще-какого-нибудь-концептуального-но-не-особо-распространенного-языка, несущие его в массы, а не ставящие чиста поржать и реализовать что-то, что легче сделать шелл-скриптом: блио, промышленная разработка ведется на плюсах. Джаве. Шарпе. Похапе еще, если речь о веб-разработке. Могу напрячься, помечтать и предположить хаскель. Но не D/Io/еще-какой-нибудь-мне-лень-перепечатывать. Ни в каком виде. </thread>

Также, завтра еду стричься. Коротко. Наверное.

3 года

А между делом, где-то между 7 и 8 марта празднуется ДР LeechCraft'а. 3 года назад был первый коммит в SVN. А позавчера я допилил OpenSearch, наконец. Скоро можно релизить 0.3.0, хехе.

В общем, три года, а с проектом все интереснее и интереснее заниматься.

Sauerbraten

Образ
(Кликабельно, 845kB)

Двое сокамерников затянулись и попросили мой LiveUSB с линухом и сабжем, дабы погамать. Вот как надо переводить людей на линугзы!

Логика же!

Образ
(Кликабельно, 139kB)

Что делает ca:lyrics (chevelle - blank earth OR tool - bottom) OR ca:d OR ca:h t:w cs:off *.pdf? Это который на скриншоте. Да, кстати, он эквивалентен более длинному category:lyrics (chevelle - blank earth OR tool - bottom) OR category:downloads OR category:history type:wildcard casesensitivity:off *.pdf, если раскрыть все сокращения. Он выполняет четыре элементарных подзапроса — находит тексты соответствующих песен, показывает список закачек и выполняет поиск по истории с маской *.pdf, и объединяет результаты.

Как это работает: сначала функция парсинга запросов упрощает запрос — удаляет все лишние пробелы и парные скобки по краям, находит все OR'ы, разрезает запрос пополам вместо OR'а и рекурсивно вызывает сама себя. Если OR'ов нет — аналогично для AND'а. Как раз получается, что приоритет AND'а выше приоритета OR'а, что логично, потому что:

  • Курс булевой алгебры.
  • AND сужает область поиска, поэтому лучше вызывать сначала его.
  • Это логично.

Если и AND'ов нет, но скобки остались, то преобразует выражение типа expr1 (expr2 OP expr3) в expr1 expr2 OR expr1 expr3 и опять же вызывается уже для него. Если осталось банальное выражение expr — строит на его основе элементарный подзапрос.

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

Еще одно преимущество графов — не нужно раскрывать скобки вида expr1 OP1 (expr2 OP2 expr3), выражение под скобками естественным образом становится дочерним для OP1.

После написания кучи поисковых плагинов можно будет развернуться на полную!

Fuck Konsole!

urxvtc -ss -j -fade 25 -tr -sh 15 -fg gray -rv -fn "xft:terminus:antialias=false:pixelsize=12"

Обязательный пост

И у меня говномыло не грузится.