Saturday, December 12, 2009

Задача



Пьяный программист отмывает свою клавиатуру от налипшей грязи и крошек.
Клавиатура разобрана на составляющие ее детали, клавиши выковырены по одной и ссыпаны в тазик. Сверху залиты кипятком и добавлено моющее средство.



Процесс отмывания выглядит следующим образом: программист берет наугад одну клавишу из тазика, отмывает ее щеточкой со всех сторон и бросает обратно. На отмывание одной клавиши от налипшего говна и крошек у программиста уходит ровно 10 секунд.
Через 20 минут ему надоедает заниматься этой ерундой, он сливает воду, сушит кнопки феном, собирает клавиатуру и вставляет последовательно все клавиши обратно ни разу не ошибившись с их расположением.
Каково наиболее вероятное количество чистых клавиш в клавиатуре пьяного программиста, не сумевшего нормально организовать процесс чистки, если известно, что всего клавиш 104?

Monday, November 23, 2009

блин, все таки эти геймеры, они какие-то. геймер илья посмотрел вчера экранку 2012 и только что в курилке обогатил меня совершенно какими-то ненужными знаниями по аэродинамике самолетов. они видите ли в кине летают не реалистично.
зато я теперь знаю какой максимаьлный угол тангажа у ту-154 и сколько легковых машин на самом деле войдет в ан-250. у него кстати шесть турбовинтовых двигателей. и как турбовинтовой двигатель взаимодействует с вулканическим пеплом. температура спекания вулканического пепла в турбине двигателя.
как мне все это забыть обратно?

Wednesday, November 11, 2009

статистики пост 2

в продолжение. вчера вечером построил более честное распределение: распределение стилей по группам, а не просто сколько каких стилей встречается.

выигрышный код:

for %%i in (*.html) do grep -o -E "&style=[0-9]+.>[^<>]+" %%i | gawk 'BEGIN{FS=">"} {print $2}' | sort | gawk '{s = (s " " $0)}END{print s}' >> styles-list1.tmp

gawk -f makehist1.awk styles-list1.tmp | sort1 -r -n >hist1.txt

makehist1.awk:

{ ar[$0]=ar[$0]+1}
END{for (i in ar) {print ar[i] " \"" i "\"" }}

Tuesday, November 10, 2009

статистики и статистического анализа пост

мое личное впечатление при первом взгляде (да и при втором тоже и спустя год) на сает onetwo.tomsk.ru такое: "ДА ВЫ ЗАПАРИЛИ УЖЕ СО СВОИМ СРАНЕ ГРАЙНДКОРОМ, МЕТАЛКОРОМ, ДЭТОМ И СКРУДЖЕМ!!!1"
безответственные выкрики с места - лучший способ навязать свое мнение собеседнику, но в этот раз я решил теоретически обосновать данные наблюдения. тем более, что это не так уж сложно. формул, во всяком случае, придумывать никаких не пришлось.
последовательно выполнил в своей командной строке следующие свои команды, ура:

for /L %i in (1,1,6000) do wget -O temp%%i.html http://onetwo.tomsk.ru/group/main/%i/

for %i in (*.html) do grep -o -E "&style=[0-9]+.>[^<>]+" %i >> styles-list.tmp

gawk -f makehist.awk styles-list.tmp | sort -r -n >hist.txt

в результате выполнения этих заклинаний, файл hist.txt стал содержать в себе отсортированные по убыванию частоты встречаемости музыкальных стилей музыкальных групп, музыкальные альбомы которых были выложены на музыкальном саете onetwo.tomsk.ru.

2924 байта текста из файла hist.txt копипастим в эксель, строим гистрограмму, вдумчиво на нее смотрим, делаем далеко идущие выводы, пишем статью, защищаем диссертацию, ура.

топ-50 стилей:


p.s.
makehist.awk (добрый кирилл любезно согласился мне этот файл написать, потому что я в awk ничерта не понимаю):

BEGIN{FS=">"}
{ar[$2]=ar[$2]+1}
END{for (i in ar) {print ar[i] " \"" i "\"" }}


p.p.s
вопрос, на который я еще не придумал ответ: дело в том, что аудиофилы живущие на этом саете, не удовлетворяются наличием 138 стилей музыки, и многим группам ставят в соответствие несколько стилей. тогда как здесь, на гистограмме, отображена частота встречаемости стилей вообще. как бы мне связать из с группами и отобразить понагляднее, а?

Tuesday, September 22, 2009

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

Monday, September 14, 2009

контекстная реклама такая контекстная


- Ээээ, слышь, баклан! Кажется, он сказал слово "возбуждение", гыгыгы!


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

Wednesday, September 9, 2009

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

Monday, August 31, 2009

error 403


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

Thursday, June 25, 2009

черем суров.
на череме живут кемеровские студенты-медики, пенсионеры и работники кувалды и газового ключа.
кемеровские студенты-медики, съезжая с квартиры и собираясь домой не суетливы, спокойны и источают какую-то особенную уверенность и спокойствие. неспеша выколачивают пыль из хозяйских ковров, грузят скарб в машины, прощаются и уезжают.
вообще конечно не догадался бы, что это студенты, если бы хозяйка не сказала. ну и разговоры конечно выдают: "... а вот если ехать по ленина, за рулем пиздеть по телефону и пить пиво, то сколько проехать получится прежде чем остановят?".

через два дня приезжают обратно, стучатся в ворота: забыли запасные колеса. лысая практически резина, ржавые диски. но все равно - пригодится, мало ли что. помогаю погрузить в салон.
из четырех дверей снаружи открывается только передняя пассажирская.
выключив все световые приборы, у студента наконец получается завести этот древний опель. опель большой, зеленый и похож на полицейский форд из американских фильмов. начинается дождь. я говорю, что не решился бы в кемерово так ехать.
- да ладно! доедем! вот Жека второй год уже так ездит.
у Жеки 24-я волга в таком же примерно состоянии. панель приборов - старинная, еще без тахометра. выглядит, впрочем новее: свежая голубая краска из баллончика.
- а далеко?
- в Гурьево
где Гурьево я не знаю.
я от всего этого вспоминаю москвич, который стоит у меня во дворе. пытаюсь представить как они ночью едут домой и становится очень завидно.
докуриваю сигарету, запираю ворота и иду в дом.

Tuesday, June 2, 2009

выстрелил тут себе в ногу.
у меня есть класс который конвертирует говно в специальное концентрированное говно.

class Compressor{
public:
Compressor();
int work(const char *src,char *dst);
private:
int uber_data;
int settings;
char *govnobuf;
};
Compressor *compressors = new Compressor[CPU_COUNT];

ну и они, экземпляры, там запускаются в разных потоках одновременно.
все работает, никаких вопросов.
и тут пришло время прикрутить второй вид концентратора SuperCompressor2.
полиморфизм и отделение интерфейса от реализации спасут нас, решил я и немедленно сделал так:

class AbstractCompressor
{
public:
virtual int work(const char *src,char *dst) = 0;
};

class Compressor: public AbstractCompressor{ ... };

class SuperCompressor2: public AbstractCompressor
{
public:
SuperCompressor2();
int work(const char *src,char *dst);
private:
int settings2;
char *govnobuf;
char *interimbuf;
};

ага.

AbstractCompressor *compressors;
if(application.settings.what_compressor_to_use)
compressor = new Compressor[CPU_COUNT];
else
compressor = new SuperCompressor2[CPU_COUNT];

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

compressor[i].work(src,dst);

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

(AbstractCompressor *)((char *)compressor + i*sizeof(AbstractCompressor))

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

Sunday, April 26, 2009

широка страна



я вот газеты все таки иногда читаю, на самом деле. а тут скум отжал в фойе нашего велосипедного завода газету томские новости. таскался с ней примерно часа два, пока мы ездили на обед, общались с конкурентами и все такое. а потом оставил её у меня в машине.
газета оказалась крайне познавательной. то есть газеты (те, которые мне попадают в руки) обычно выглядят как: сто-пицот описаний убийств, жкх обмануло пенсионера, реклама стредства для похудения жопы, киркоров женщина, скачай QCIF-фотографию сексуальной блондинки, власть коррумпированна, губернатор украл денег, реклама.
здесь все не так (заметка о количестве рабочих мест):
... Вот данные налоговой инспекции по четвертому кварталу 2008 года: зарегистрировано малых предприятий и индивидуальных предпринимателей в два раза больше, чем за это время было ликвидировано. То есть на одно сокращение – две регистрации. По первому кварталу цифры не могу назвать – пока нет данных, - ответил Трубицын.

- Есть предложение заслушать информацию по первому кварталу, - сказал Громов.

- Правильно поставлен вопрос, - поддержал коллегу спикер Борис Мальцев. - Сколько истратили денег и сколько рабочих мест получили?

Депутаты приняли решение на следующем заседании комитета заслушать информацию по первому кварталу.

вот я лично, ввиду наверное своей молодости, первый раз за свою сознательную жизнь встретил такой диалог не в сказке о тройке, а в реальной чорт побери газете.
и там половина статей выдержана в таком духе. пытался себе представить журналиста, сочиняющего такую заметку с серьезным лицом.
ну а и да. про рекламу. как выглядит реклама. реклама выглядит так: две страницы мелким-мелким шрифтом "извещение о проведении конкурса на право заключения договора пользования рыбопромысловым участком..." устал писать. предмет договора, таблицы участков с координатами. тут мне стало скучно, и я стал смотреть, чо там по указанным координатам. по указанным координатам очень красиво оказалось, да. то есть нет - ОХУЕННО КРАСИВО! розовая вечная мерзлота и все такое.
на картинке вы видите кстате, озера Безымянное-1К, Безымянное-10, Безымянное-11М и т.д.
ну ево нахуй это программирование. промысловая добыча озерной рыбы где-то в неимоверных ебенях.

p.s. ну а и как бы что. написал я это все и сохранил в черновиках, потому что выборка-то - недостоверная! решил дождаться когда выйдет хотя бы следующий выпуск. в следующем выпуске сразу на первой странице: "Наступит лето, поедем на дачу. в руках лопата... стр. 33". ну и диалоги внутри газеты про нашых депутатов внутри думы - такие же.
круто чо. очень прямо так, клево.

Friday, April 17, 2009


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

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

ну а и да - на лицо отвердение древесины мозга - вчера на вопрос как травить платы утюгом, скум пять минут рассказывал как правильно для этого дела надо подбирать бумагу и потом три минуты, что разницы в этой бумаге никакой нет и можно делать на любой бумаге в общем-то. и только потом за пятнадцать секунд о самой технологи вытравливания.
Я себя чувствую щас как Кандид в деревне, там, в лесу.
" Ты, Молчун, говоришь больно коротко: только начнешь к тебе прислушиваться, а ты уже и рот закрыл.".
Ну и да, кто первый узнает референс - тому подарочек.

Thursday, April 16, 2009


я поражен! мягкая пачка лакистрайка содержит 17 (семнадцать) сигарет, а твердая на одну больше. ну то есть это не секрет в общем-то, это написано на пачке и на рекламных плакатах, но я как-то осознал это примерно со второй пачки и меня это не то что бы расстраивает, но как-то напрягает, да.
зато у меня теперь есть карманная пепельница и я могу курить блядь в любом месте.
а так же я коллекционирую в ней наиболее удавшиеся окурки.
почему я не могу выбрать самостоятельно способ ухода из этого дурацкого мира? везде насаждают отказ от курения, отказ от алкоголя и шариат, сволочи.

Wednesday, April 15, 2009



здесь продают лакистрайк в мягкой пачке!

автоматы продающие сигареты с некоторого времени оборудованы Сканером Паспортов для проверки возраста, ну и мы опытным путем выяснили, что меня (а равно и скума) тупой робот причисляет к малолетним хулиганам и сигарет не продает. покупаю в магазине.

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

Friday, March 27, 2009

Мировые тенденции

В наше время как все больше и больше растет разрешающая способность телевизоров и видеокамер, появляются различные профайлы для кина размером 1080п, 2к, 4к и даже 8к.
Но прогрессивная общественность смотрит не вширь, а вглюбь! Уже во всю обсуждаются способы кодирования трехмерного видео. Ведь понятно же, что плоская картинка - это уныл0 и неинтерестно, что надо уже наконец изобретать объемное тридэ кино.
Ну и я по этому поводу нарисовал картинку

Monday, March 23, 2009

построение разработчiков

 
Posted by Picasa

предвидя вопросы: дядю скума и меня не видно, потому что мы на правом фланге.

Sunday, March 15, 2009


играл на выходных в железную дорогу

Wednesday, February 4, 2009

доказательство существования идиотов

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


Thursday, January 22, 2009

новости нанотехнологий

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

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

в принципе, это можно было бы сделать с тем же успехом и при помощи обычного громкоговорителя советского Г-1М, но это же даже представить себе невозможно, что бы в смете необходимого оборудования для такого храма был громкоговоритель! это же блядь кощунство, ставить какие-то унылые громкоговорители в здании, где ведутся передовые разработки и кажется даже есть нанотехнологии.

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

остальные девяносто шесть широкоэкранных телевизоров установлены в конференц-залах, и пользоватся ими запрещено.