| Thursday, January 1st, 2015 |
| 12:00 am |
ссылки Ссылки:Компьютеры:С++Луа[на память] количество wtf в минуту это бесспорно лучший показатель качества кода.(c)не знаю кто,но не я. "Как называется метод для изменения переменной?" -"Метод для изменения переменной называется кретинизм." (с)aruslan "Китайский инженер обычно письменных следов не оставляет". (c)ivan_ghandhi "Да они проиграли по классической причине - все громко орут и валят друг на друга, и в результате групповой интеллект снижается до недопустимого уровня." (c)ivan_ghandhi " My perk for being senior man in the company is that Donna insists I be first in line for the catered crunch food. :-)" (c)J.Carmack Current Mood: optimistic |
| Wednesday, May 9th, 2012 |
| 11:21 am |
Внезапно выяснилось на работе что DLL injection в мирных целях через createremotethread+loadlibrary на windows XP не работает совсем. Фейспалм из прошлого :) и типа никто не заметил что-ли? UPDATE 9 мая вечером: судя по ответам я чувствую что нужны пояснения. что конкретно не работает только в хрюше и работает в 7ке: - createprocess + suspend + createremotethread + loadlibrary (список тех что нужен чтобы хукать directx и наш overlay.dll) ход мысли можно проследить тут http://code.google.com/p/libinject/как конкретно не работает : на вин хрю целевому процессу становится плохо. Он не может нормально вызывать целые куски апи. В частности у него фейлится создание окон :) Рабочая гипотеза что согласно http://www.nynaeve.net/?p=205 и виндовсинтерналс лоадер в семерке умеет инициализировать процесс из левого треда а вот в хрю нормально не умел. UPDATE 10 мая вечером: как и ожидалось для хрюши достаточно подождать пока главный поток выполнит все танцы с бубном и выполниться из него и потом восстановить точку входа. Поскольку работает и так и так то оставили для всех. Теперь изучаю как на это дело будет смотреть панкбастер. Скорее всего тайтлы с ним будут иметь исключение для особо крупных панков :D |
| Saturday, December 24th, 2011 |
| 6:01 pm |
давно ничего не писал - старые записки на полях попробую заполнить [шутаут] после выхода 11.10 убунты я официально послал gcc. версия с sse на x86 - 31сек а на amd64 - 54 сек. Все - с меня хватит. Я признаю что джава быстрее g++ и ну его ... тем кто дернется следует знать что на более новых cpu может и не проявиться, да. Скорее всего опять первый проход оптимизатора удалил лишнюю регистровую локальную переменную и в цикле перечитывает из памяти, но я трогать не буду. Само исправится или ухудшится. Мысль в тему - сколько не видел предложений по развитию языков ни разу не видел предложений, направленных на управляемость трансляции+оптимизации. Все больше нагромождают этот plug&pray что мол компилятор умнее и если делает ошибку то исправлять её не надо. Только избранные могут. *далее неразборчиво*. [с работы] джаваскрипт достал. особенно радует культура тестирования у адептов да. [гмыло] гугловебдизайн окончательно захватили извращенцы - а жаль теперь придется искать альтернативы почте и ридеру. [фокс 8] падуч, текуч и с теми же припадками что и у гугловебдизайнеров. Можно мне 2.х + секьюрити патчи ? пожалуйста, я готов денежку заплатить. [игры] подарены крестнику герои6 и скайрим. Мораль за 3 месяца - не надо дарить комп. игры детям. Самого затащили в бэттлфилд3 - выводы из кучи потерянного времени: графика прогрессирует, а вот остальное... В общем мораль - игры годятся для общения с определенными группами людей, которых не встретишь иначе. Ну да я официально приписан к околоигрострою сейчас, так что выборка специфичная. зы я обычно дожимаю одного представителя жанра для какого то медиа до упора так чтобы другие смотреть мысли не было. На очереди походу анализ ммо :D (да я слоупок, я знаю). как только определюсь является ли swtor конкурентом великому, так наверное и попытаюсь. Если не найду комьюнити то забью. [программизм] решительно не могу заниматься этим без приличной оплаты. Даже халтура со знакомыми и старым проектом - ну не хочу и все :) копейка мне мотиватором не служит хоть убей. Раньше был легче на подъем да, мог и на шару работать. [поездки] был в командировке в швеции. перевариваю впечатления. политоту сюда писать не буду. ззы сорри если кому-то длинно и нудно. это пишется для себя. Всех с наступающими кому новым годом и потом рождеством, а кому и наоборот! |
| Thursday, September 22nd, 2011 |
| 8:28 pm |
[мелкий дыбр с работы] openssl я смотрю на тебя да :) Я понимаю что thread-safety это не для всех. Но чтобы callback не передавал назад пользовательский указатель в 2011м году это надо уметь. И не просто уметь, а быть упоротым более чем полностью. За это бить эээ лицо полагалось лет этак 30 назад вообще-то. |
| Wednesday, August 31st, 2011 |
| 9:24 pm |
[security] ну как вам DigiNotar ? Корневое агентство в приличной стране и прописанное (до недавнего времени) во всех виндах/маках и браузерах и глазом не моргнув выдало сертификат на *.google.com пока неизвестно кому в 2011м. И это прекрасно я считаю. |
| Wednesday, August 24th, 2011 |
| 2:40 pm |
[дискуссионное] прочитал вот такое вот Don’t Separate Design from Implementation и не могу не оставить свои 5коп. Такие методы разработки ничем не не оправданы. Оно может работать в очень маленькой конкретной ситуации. Я как раз лично видел полный фейл именно такого подхода. Если сложность системы переваливает за пару томов "краткого описания для пользователей" - вся идея "я лично могу оценить что они там надизайнили" - это просто bull shit. Исключение может быть если огромная часть системы это абсолютно не взаимодействующие функции, добавленные однорангово и нужые для ширины охвата. То есть наблюдается на практике полная утрата знаний о системе у тех, кто продолжает считать себя ее собственником. И поскольку система штучная то легких выходов из этой ситуации нет. Тем не менее софт растет еще больше и еще больше. Интересно как им это удается? :) Одно ясно что подходы бабушки Мэри остались в другом тысячелетии. Меня лично поражает их распространенность. Я видел очень много людей, которые не сговариваясь, несли это в массы, очень много :( |
| Tuesday, August 23rd, 2011 |
| 1:14 pm |
[shootout] выложил тоже самое но на си. Забавные глюки gcc 4.5 меня развлекали все выходные. Пришлось даже пинать ногами - unlikely() на выходе из самого интересного цикла (ни разу не видел чтобы это нужно было) и -falign-labels=8 для x86. Результат забавляет. Один и тот же по сути код но время чуть быстрее на си. |
| Sunday, August 21st, 2011 |
| 10:47 am |
[shootout] ну вот мейн чарты вернулись к нормальному виду - С++ на 1м месте :) x86 1cpu x86 4cpuamd64 1cpu amd64 4cpuдумаю может С подтянуть :D В альтернативном чарте борьба с компилером не стоит усилий - там такие темно-джедайские штучки нужны, что это не для широкой общественности. |
| Friday, August 19th, 2011 |
| 4:50 pm |
[экономика] я нормально не пишу про экономику и тем более про политику но это просто прекрасно. новости из сенатапацаны из федрезерва пропили 16 триллионов не только на свои компании, но и на полностью иностранные. |
| Thursday, August 18th, 2011 |
| 8:06 pm |
[shootout]
лень было писать :) Читая go-nuts заметил что go все еще страдает в "моем" бенчмарке (я ранее сабмитил в fannkuch-redux 2 реализации за C++) я заметил что результаты както скисли по сравнению с октябрем 2010го. на рсдне постил цифры но всем как-то наплевать.
При внимательном рассмотрении дизассемблера (не убегайте я цитировать не буду :D ) выяснилось что в основном чарте достаточно чуток помешать код в хотспоте и попустит. Засабмитил исправленный - скоро все вернется в норму. Регресс по сравнению с 4.4.2 есть но небольшой. В дополнительном, там где я нагло закешировал перестановку в регистре SSE, дело хужей. На новых CPU оно работает как надо, но вот бенчмарк все еще сидит на старом Core2 6600, в котором sse4 еще нет ... И на нем gcc доставляет по полной.
Вкратце там так: есть перестановка в классе, я считываю ее в регистр и в цикле меняю этот регистр. Назад не пишу. Потом перехожу к следующей и тп. Великий и могучий "устраняет лишнюю переменную" и ... читает и пишет перестановку в классе во внутреннем цикле, и переписывает ее еще разок на выходе чтобы восстановить нормальное значение.
Я читал о таком бреде у cbloom, когда он жаловался на gcc/ps3. Нормального решения я пока не вижу так как черный ящик и ручки нет. Дебильный volatile вместо register ускоряет программу на половину положенного facepalm.
PS. бросил EDA изза бардака в конторе и двигаю в Ubi. Было приличное предложение от одного банка, но они работают тут через посредника (не буду называть) и от их контракта и общения у меня аллергия. |
| Tuesday, July 12th, 2011 |
| 8:24 pm |
[music] Mono - Hymn To The Immortal Wind. Забавно то что я как-то без причины игнорировал инструментальную музыку. Собираюсь исправляться :) |
| Sunday, July 10th, 2011 |
| 5:24 pm |
|
| Monday, July 4th, 2011 |
| 10:34 pm |
[tv] повелся на кукольный дом - уныло вплоть до конца 1го сезона. последние серии ужасны. 2й смотреть не буду. |
| Wednesday, June 22nd, 2011 |
| 10:01 pm |
[забавное] редкостно точная формулировка для перка "Senior Developer" тут[грустный дыбр] мне удалось помочь людям сделать весьма впечатляющую технологию на этом месте работы. Прошлое руководство не смогло извлечь из этого выгоды. Нынешнее это "слиянцо-поглощенцы," они уже давно зарубили девелопмент и сейчас отчаянно пытаюццо слить то что есть. Мало вероятно что удастся поработать над творческим проектом если просто уйти. Сижу смотрю, вдруг часть способная к созиданию таки организуется. Current Mood: sleepy |
| Thursday, June 16th, 2011 |
| 9:08 pm |
маленький анекдот для тех кто знает "c++ boost" тут |
| Friday, May 6th, 2011 |
| 10:12 pm |
[work] сделал микро-наблюдение о том когда ОО дизайн сильно не подходит. Если у подсистемы должны быть глобальные свойства такие как отсутствие non-termination или отсутствие data races и это очень важно, то мелко-объектная жизнь, даже побитая на слои, мешает. В случае non-termination весь control flow должен быть очень удобно прослеживаемым. В случае data races все модификации должны быть локализованы во времени и пространстве. При всем этом я все еще считаю что "objects have not failed" :) |
| Wednesday, May 4th, 2011 |
| 10:33 pm |
|
| Tuesday, April 12th, 2011 |
| 4:55 pm |
[Заметка на полях "на память"] по факту тоскливых совещаний оставлю мелкий пост ) Я давно с интересом слежу за проектом бывшей конторы RapidMind по внедрению параллелизма в С++ как jit библиотеки. После поглощения интелом они потеряли поддержку видеокарт и потеряли открытое сотрудничество с LLVM. Похоже некий гибрид им удалось зарелизить как "Intel® Array Building Blocks" Судя по доке там им пришлось кишки реализации DSL вывалить как шаблоны и макросы мимикрирующие под C++ и в нынешнем виде оно будет идти "в нагрузку" к общей параллельной солянке. Идея все еще выглядит привлекательно несмотря на прошедшие уже годы. Реализацию в нынешнем виде на работе наверное даже примерять не будем. |
| Sunday, April 10th, 2011 |
| 4:54 pm |
[links] просто оставлю это здесь hpcwire.com/features/Intel-Scales-Up-Cores-and-Memory-with-New-Westmere-EX-CPUs-119369299.html а то народ делает большие удивленные глаза когда им говоришь что в один ящик можно впихнуть вагон оперативки и не надо терабайты слать в облачка с белогривыми лошадками. Все в общем то в курсе, но полтерабайта в четырехсокетном ящике с интеловскими процессорами и честными 3М кэша на каждое из 4*10 ядер делают многие расчеты feasible локально. [work] почитал IronPeter'а про сжатие: "Отсюда мораль. Тырьте хорошие идеи, тырьте у грандов. И, вдруг, получите немножко технического экселенса, который приятен." Сел и сделал упаковку служебных табличек с целыми числами. Ничего fancy - variable integer sizes + differential coding да вызов готового lz сверху. Приятно заметить что по сравнению с геометрией эти таблички больше не видны :D |
| Saturday, April 9th, 2011 |
| 3:29 pm |
[links] спасибо комраду _foreseer за подсказку. Услужливый огнелис шлет все урлы гуглу для безопасности :) к счастью фичу можно отключить с помощью правки настроек about:config safebrowsing* вероятно они вернутся уже неотключаемыми :) как только народ начнет отключать. |