0xd34df00d
18.12.2011 09:20
А вообще, я очень рад, что все так получилось. Я рад, что Рион и тусовка не пришли в личкрафты писать код, потому что руки у них из жопы, а код говно. Я рад, что кутимовцы не участвуют в личкрафтах, потому что руки у них из жопы, а код говно. И так далее. Все очень хорошо :3
0xd34df00d
13.12.2011 07:20
Охуеть, вместо
set' = (fs' IM.! u) `IS.union` (fs' IM.! v)
можно написать
set' = uncurry IS.union $ join (***) (fs' IM.!) (u, v)
СТРЕЛОЧКИ СТРЕЛОЧКИ.
0xd34df00d
13.12.2011 07:07
ВНЕЗАПНО если думать о multiparam type classes не как о, собственно, тайпклассах, а как о наборе отношений, то все становится легче и понятнее. То есть, некоторая функция f для T t1 t2 — это тупо утверждение, что если соотношение, определяемое функцией (ее сигнатурой и вообще семантикой) выполняется для данных t1 и ... more →
0xd34df00d
07.12.2011 20:46
А вот это оче охуенно. Вместо того, чтобы писать
if (!version.name ().isEmpty ())
html += tr ("Name:") + ' ' + version.name () + "<br />";
if (!version.version ().isEmpty ())
html += tr ("Version:") + ' ' + version.version () + "<br />";
if (!version.os ().isEmpty ())
html += tr ("OS:") + ' ' + version.os () + ... more →
0xd34df00d
07.12.2011 19:13
Зато теперь вместо ужасов типа
new FetchQueue (boost::bind (&QXmppVCardManager::requestVCard, &Client_→vCardManager (), _1));
я могу писать что-то типа
new FetchQueue ([this] (const QString& str) { Client_→vCardManager ().requestVCard (str); });
По длине, правда, почти так же :( Плюсы все же ужасно вербозны.
0xd34df00d
07.12.2011 11:35
Тут у меня некоторое время проблемы со сном — хуй заснуть получается, хотя спать и хочется. Мысли какие-то в голове туда-сюда крутятся, как ложусь, уснуть не дают, мозг работает-работает-работает-пыщ-пыщ.
И решил я чего-то сконцентрироваться на дыхании. Слушать свое дыхание, смотреть дыхание, ощущать дыхание. И ... more →
0xd34df00d
06.12.2011 13:43
Тестеры потестили мой сраный код, а он неговно, документы хорошо ищет, в продакшен выкладывать, возможно, ьудут.
0xd34df00d
06.12.2011 00:16
Впилил кеширование кучи ресурсов в азотх. Hit rate охуенен, ведь число хитов растет линейно со временем работы программы, а число miss'ов практически не изменяется. Соответственно, экономится 1-10 обращений в секунду к харду (какие из них попадут в кеш ОС, а какие таки приведут к обращению к харду — другой вопрос). ... more →
0xd34df00d
05.12.2011 14:09
Уступил, например, кому-то там место в метро сейчас. Чувак, сидевший напротив, последовал примеру и тоже уступил место. Авось и в следующий раз уступит, сам. Мелочи, конечно, а из таких мелочей жизнь и складывается. Так что подавайте, ?лять, пример.
0xd34df00d
25.11.2011 10:48
Запилил базовую нормализацию деревьев выражений в виде протаскивания нод по ассоциативным и коммутативным операциям, когда это возможно. Выглядит мило:
normalizeTree (NBin f1 (LC lc) (NBin f2 (LC rc) t)) | f1 == f2 && (assoc $ binFInf f1) = normalizeTree $ NBin f1 (LC $ binaryOps f1 lc rc) (normalizeTree t)
Без ... more →
0xd34df00d
22.11.2011 14:31
Ня, ночные оптимизации позволяют спокойно гонять популяцию в 100-200 особей на функции, данной паре тыщ точек, и все равно относительно быстро получать няшнорезультаты.
0xd34df00d
21.11.2011 10:38
Проект сдан, я няша и котик.
0xd34df00d
19.11.2011 12:12
Уняня, личкрафты, похоже, разрешили на what.cd. Правда, пока только лишь мне (потестить), но тем не менее круто же!
0xd34df00d
19.11.2011 00:40
Ну хаскель же!
const QStringList& folders = std::accumulate (sync.begin (), sync.end (), QStringList (), [] (const QStringList& fs, const QStringList& f) { return fs + QStringList (f.join ("/")); });
Правда, на х-ле покороче бы было, и существенно.
0xd34df00d
17.11.2011 22:48
Ииииии, легким движением руки операция по разбиению матрицы на список строк теперь составляет не 35% времени исполнения, а 2.9%. Всего-то заменил относительно тупой алгоритм на умный unfoldr. Катаморфизмы, епта.
Всем, конечно, похуй, но https://github.com/0xd34df00d/gennl/comm...
0xd34df00d
17.11.2011 19:40
Поковырял API QtWebKit2. Уже очень вкусно, почти все, что нужно, есть. Это значит, что после выхода LC 0.5 фокус может сместиться с многопроцессности личкрафтов на впиливание WK2.
Чего пока нет: пока нет возможности работы с DOM-деревом страниц и нет возможности инжектить JS. Значит, остаемся без сокрытия ... more →
0xd34df00d
17.11.2011 18:17
И Amarok заработал. Достаточно было сменить бекенд с xine (который не зря обновился недавно, вот и сломался, так что не кеды виноваты) на vlc. Кстати, посмотрим, как у vlc с гаплессом.
0xd34df00d
17.11.2011 18:16
Впрочем, падение по райтклику в kdevelop я победил. Достаточно было отключить модуль субвершона.