Archive for Ноябрь, 2006
Ну во-первых, я всё-таки сел читать паттерны проектирования более усердно. Надо сказать, местами написано сложным языком, изли?не растянуто вступление к каждому паттерну, зато само их описание на реальных примерах - это конечно, хоро?о расписано. GoF постарались. Мозги плавятся.
Во-вторых, начитав?ись умных книг, я ре?ил, что мой GUI интерфейс работает не как положено с точки зрения рас?иряемости кода и независимости сущностей
Да в общем-то и давно стоило поменять механизмы взаимодействия.
?так, как было:
Существовал интерфейс fc_ActiveObject, который представляет собой сущность как-то реагирующую на вне?ние раздражители. Ну грубо говоря, оно выглядит так:
Посмотреть текст
class fc_ActiveObject {
public:
virtual ge_bool processEvent(ge_uint32 eventToProcess, void* data1, fc_ActiveObject* parent);
virtual ge_bool addListener(fc_ActiveObject* child, ge_uint32 listenMask);
};
ну и события такого типа:
#define AEG_MOUSE 0x00000001
#define AEG_KEYBOARD 0x00000002
#define AEG_DRAW 0x00000003
#define AEG_UPDATEDATA 0x00000004
#define AEG_MASK 0x0000000f
#define AEG_COUNT 4
#define EVENT_MOUSEENTER 0x00000101
#define EVENT_MOUSELEAVE 0x00000201
#define EVENT_MOUSEMOVE 0x00000301
#define EVENT_MOUSECLICK 0x00000401
#define EVENT_MOUSEUNCLICK 0x00000501
#define EVENT_KEYPRESSED 0x00000102
#define EVENT_REDRAW 0x00000103
#define EVENT_UPDATEDATA 0x00000104
#define DEFAULT_LISTENER (AEG_MOUSE | AEG_DRAW | AEG_UPDATEDATA)
Т.е. объект вмещает хранит список своих слу?ателей, которые регистрируются на определённый список событий. При поступлении вне?него события processEvent(), объект пытается его обработать. Если это удалось, он выходит из processEvent() (исключение составляет draw event и update event, которые броадкастятся всем слу?ателям), если же объект сам не обработал (чаще всего событие мы?а), то он опра?ивает своих слу?ателей по очереди, пока не найдёт того кто обработает событие.
Какие в этой схеме есть косяки? Каждый объект хранит список слу?ателей, что на данный момент реализуется с помощью списка. В целом получается оверхед по памяти и производительности. (Строго говоря, вся обработка ГУ? занимает 0.05 ms в среднем для 50 объектов). Слу?атели опра?иваются в порядке добавления, их перекрытие игнорируется и не проверяется какой слу?атель вы?е ниже. Для диалогов - это ре?ается слоями, т.е. диалоговые окна создаются в другом слое, который является активным, а всё, что за ними, просто не процессится.
Новый вариант предполагает введение fc_Window (для эстетства, возможно + fc_WindowImpl) и fc_WindowManager.
Фича ВиндовсМэнеджера, в том, что:
1. разделяет понятие “активное окно” и “окно на переднем плане”. Первое получает события, если событие находится за пределами второго.
2. занимается мар?рутизацей сообщений к нужным окнам с помощью извратных структур данных.
3. хранит ссылки на все существующие окна. Пока просто список, в будущем предположительно это будет более хитрая структура, скорее всего хэ?.
4. реализует структуру “родительское окно”-”дочернее окно”. Засчёт этого не возникает проблем, какое окно вы?е если они связаны родственными связями (дочерние окна всегда вы?е родителя).
5. Каким-то неясным пока макаром, поддерживает реакцию на “командные события” окон, т.е. вызывает нужные чанки (блок обработки события) скриптов.
окна создаются примерно так:
wm =new fc_WindowManager();
parent=new fc_Window();
child =new fc_Window();
wm->addWindow(parent, NULL);
wm->addWindow(child, parent);
Собственно, возникает только одна пока проблема, которую я явно вижу, это как эффективно мар?рутизировать сообщение от родителей к быв?им слу?ателям.
Предположим, произо?ло событие fc_mouseEvent в активном окне, у которого четыре кнопки на борту. Активное окно обработало сообщение (ему например ничего делать не нужно), а вот одна из кнопок должна подсветиться, поскольку курсор мы?и наехал на неё.
Само окно ничего не знает о своих дочерних окнах, по идее оно должно выдать менеджеру окон запрос на проверку дочерних окон. Что-то типа, wm->processEventByChilds(), что означает, что окно должно знать как обратиться к менеджеру например. ?ли же это выполняет сам манагер (видимо, самый луч?ий вариант) при наличии флага PROCESS_CHILDREN у родительского окна.
Т.е. механизм следующий: проверяем активное окно, попало ли событие в него. Если нет, проверяем окно переднего плана. Если нет, находим новое активное окно (что кстати довольно затруднительно, если окна наложены друг на друга. Пока не знаю как это оптимально сделать. Как вариант, у окон вести порядок появления на экране, какое позже, то и вы?е. При всяких hide() и т.п. обновлять этот параметр). Затем по идее, восходим по иерархии окон до родителя (ибо родитель, например должен отрисовываться рань?е, чем дочерние окна), получаем стек обработки события. Затем последовательно спускаемся до упора. Ещё одна проблема в том, что нам придётся пресмотреть всех потомков окна, чтобы выяснить кто же на самом деле сейчас активное окно. Сдаётся мне это будет долго.
Хочется оставить слу?ателей, но не могу представить как реализовать эту структуру в менеджере окон. Самый простой вариант с теоретической точки зрения - это дерево с любым числом ветвей для узла. С практической - это задолбаюсь такую хитрую систему списков делать. Нечто вроде:
fc_node {
fc_node* next; // общее кольцо потомков parent 4(8)
fc_node* prev; // -"- 8(16)
fc_node* nextInDepth; // кольцо порядка видимости 12(24)
fc_node* prevInDepth; // -"- 16(32)
fc_node* childs; // ссылка на список потомков 20(40)
fc_node* parent; // ссылка на родителя 24(48)
ge_uint32 listenMask; // слу?ательная маска 28(52)
ge_uint32 winFlags; // флаги окна (активное, видимое и т.п.) 32(56)
}
Ну а окно будет хранить ненулевую точку входа в список. Не нравится мне объём структуры 
Только вот это самое вроде хочется сделать как можно эффективнее. Т.е. “выделение памяти на местах”
пул памяти с элементами списка из которого выбираются и куда возвращаются элементы списка. Это я когда-то делал в проекте bitmemory, но тогда я ещё не мыслил категориями рас?иряемости кода и всё такое. К тому же там был несколько более универсальный менеджер памяти, а здесь нужен кусок того проекта. Вот думаю, может к пулам boost’а обратиться.
Вот такое что-то странное у меня формируется в мозгу. Надо взять какую-нибудь доку по оконным интерфейсам, чтобы убедиться, что люди давно уже сделали это всё гораздо эффективнее.
Ноябрь 26th, 2006
Сегодня великий день.
Я узнал что такое “куищще” на самом деле. До этого дня я был слеп и блуждал во мраке, но сегодня свет пронзил тьму вокруг меня. Куищще - это вовсе не то, на что сразу приходит в голову обратить внимание…
“Куищще” - это reboot на русской раскладке. Да, ребут для сервера - это куищще.
Я расскажу поучительную историю, о том как это великое знание попало ко мне.
В этом мире есть много всего необычного, но есть и просто изврат, маскирующийся под необычное. К последнему относятся идеи бездисковой загрузки и терминальных клиентов. Да будет нам всем известно, доходы Sun с терминальных клиентов SunRay выросли на 30% в про?лом что ли. О чём это говорит? О том, что вирус глупых идей сли?ком хоро?о проникает в неокреп?ие умы.
?так, имеем сервер РедХат 4 Энтерпрайз, с установленной русской и английской локалью (utf8 само собой где только возможно), русская раскладка не настроена. После чего поверх ставится Sun чего-то Software или что-то в этом роде. К сожалению, в этот момент я отсутствовал, поэтому детали тёмного дела до меня не до?ли.
Хочется писать по-русски. Не хочется читать док по английски.
Казалось бы чего сложного, заходим с терминала под рутом и правим xorg.conf, добавляем загрузку модуля kbd, всякие там рю?ечки в виде настроечек комбинаций клави? и т.п. Затем Ctrl+Alt+Backspace и вываливаемся из сессии. Заходим ?о под Гномом, ?о под КДЕ - всяк виндовс мэнеджер плевал на на?и усердия. Тут важно отметить, что лог /var/log/xorg.0.log подозрительно никак не менялся при выкидывании из сессии…
Ре?ив, что факт с отсутствием обновления лога - вопиющая дискриминация прав админа - ребутим сервер командой ребут
На что получаем отваливание ip-телефонии, терминалов и менеджеров от экранов мониторов. Ждём-с… ждём-с… а это животное (сервер то би?ь) забило загружаться.
?дём к ?кафу, предварительно отобрав монитор у первого попав?егося слабого человека. У ?кафа за столом сидит манагер и жрёт что-то вкусное, гад, и отговаривает нас открывать ?каф под предлогом, что это поме?ает ему жрать. Нас разжалобить сложно, поэтому прикручиваем клавиатуру с мы?ой, прихренячиваем монитор и грузимся. ? видим что кака не грузится где-то на этапе запуска xserver’а. Не беда, запускаем в интерактивном режиме и начинаем тыкать [y] для загрузки нужных сервисов и [n] для других. Что интересно - грузится отлично.
Заходим наслаждаемся работой xkbd. Перегружаемся в неинтерактивном режиме (именно в этот момент я просветился насчёт куищща), отключаем клавитуру и мы?ку. Виснет кака…
Ре?аем, что сервер возбудился наличием USB мы?и и клавиатуры Aquarius и не хочет грузиться боле без них. Подтыкаем клавиатуру.
Загружаемся, в интерактивном нажимая на всё [y]… Грузится.
Загружаемся в неинтерактивном… виснет. Подтыкаем мы?у, грузимся - тот же результат.
Добавляем 1 секунд sleep в rc перед загрузкой и после загрузки каждого скрипта для имитации человеческой задержки на нажатие [y]
перегружаемся и понимаем, что обед нам не светит. Стартует init и висит. Мля, это были самые сложные 30 секунд в моей жизни, когда мы объясняли третьим лицам, кто боль?е виноват и почем при?ла хана. Перегрузили ещё разок в отчаянии, всё равно висит. Хотелось бы заметить, что в этот день я очень хотел попасть на ВЦ…
Начали рассуждать о том, что жизнь сложная ?тука и в общем-то обед не так важно, можно обойтись и без обеда, если найдутся спасательные диски.
Пока мы рассуждали, про?ло примерно одна минута (2 секунды умножить на число сервисов) и система по?ла загружать сервисы. Что показательно - отлично загрузилась и раскладки переключает как хо?ь.
На терминалах же, переключалка никак не работает… Это было сложно объяснить, но мы радовались хотя бы тому, что куищще перестало продолжаться и сервер вернулся на круги своя.
Надо заметить, что Сан пропатчила xorg и запускает некую каку, называемую Xnewt, которая не использует напрямую конфиг /etc/X11/xorg.conf, а как-то мудрит с настройками. Для каждого клиента запускается свой сервер X11, который непонятно какие конфиги использует. Некоторое время мы посвятили поискам конфигов и ре?или, что Сан умеет очень хитро прятать файлы.
Поэтому было ре?ено воспользоваться уникальным способом, называемом - пляски, и запустили utxconfig, которая подозрительно была похожа на утилиту конфигурирования иксов. Да-да, мы тыкнули её на авось, с надеждой, что бубен не подведёт.
? о чудо, это оказалась именно утилита конфигурирования иксов от Сан
и у неё даже был ключик для kbd параметром которого могло быть “on”… которым мы тут же и воспользовались. Толку ноль, но и ежу понятно, что надо загрузить сеанс снова для полноты картины.
Зайдя снова в гном получили кучу око?ек (?тук десять-птянадцать, не боль?е) с сообщением какие именно логи нам следует отправить в Sun в связи с о?ибкой.
Короче kbd в терминалах так и не был настроен и и мы с позором ретировались. Но мы уже узрели путь каким надо идти
и найдя где Сан прячет конфиги и какие kbd использует, мы победим.
Вот такая грустная история, открыв?ая мне всю правду о куищщах и терминалах. А также правду о непобедимом ламоизме в на?их сердцах.
Ноябрь 24th, 2006
[cepra-jabber] фильм скачался
[cepra-jabber] ?
[taleks] сам подумай…
[cepra-jabber] ну
[taleks] ну что надумал?
[cepra-jabber] что надумал?
[taleks] про фильм
[cepra-jabber] да
[taleks] что надумал?
[cepra-jabber] ну да
[taleks] излагай
[cepra-jabber] что?
[taleks] что надмал
[cepra-jabber] зачем
[taleks] чтобы тупняк законился
[cepra-jabber] тупняк закончился
[taleks] отлично
Ноябрь 18th, 2006
[taleks] “и глобус надо сказать работает отлично”
[taleks] вот, это было сказано мной и отражает полностью моё ду?евное состояние
Ноябрь 18th, 2006
Разговор двух аниме?ников. Любое совпадение с реальными именами и названиями является чисто случайным и непреднамеренным.
Про отражение жизни японцев в аниме…
Посмотреть текст
[22:32] [taleks] ты посмотрел аниме про стра?ную девочку?
[22:33] [cepra-jabber] нет еще
[22:33] [taleks] хе-хе
[22:33] [taleks] ща как спойлерну
[22:34] [cepra-jabber] не надо
[22:34] [taleks] тогда про чё бы тебе ещё спойлернуть
[22:34] [taleks] короче, чё ты делае?ь в воскресенье
[22:35] [taleks] может испытывае?ь непреодолимое желание на ВЦ приехать?
[22:35] [cepra-jabber] да нет
[22:36] [taleks] странно
[22:36] [taleks] где твоя идейная трудолюбивость?
[22:36] [taleks] где твоё желание восстанавливать эту страну
[22:36] [taleks] и исправлять этот прогнив?ий мир?
[22:37] [cepra-jabber] что мне в воскресенье на вц делать
[22:38] [taleks] нубиться за Родину
[22:39] [cepra-jabber] что?
[22:39] [taleks] спасать мир
[22:39] [taleks] хоро?о
[22:39] [taleks] если ты не хоче?ь спасать мир
[22:39] [taleks] то как насчёт того чтобы я приехал и привёз тебе две серии аниме про женщину, страдающую от работы?
[22:40] [cepra-jabber] ну приезжай
[22:40] [cepra-jabber] а чего она страдает
[22:40] [cepra-jabber] пусть забьет
[22:40] [taleks] ну с мужем никак не того
[22:40] [cepra-jabber] пойдет в бар и напьется
[22:40] [taleks] уже два месяца
[22:40] [taleks] она не может, она работяга
[22:40] [cepra-jabber] почему
[22:40] [taleks] у неё менталитет такой работать
[22:40] [cepra-jabber] муж не хочет
[22:41] [taleks] да и муж тоже похоже такой же
[22:41] [cepra-jabber] или она после работы не хочет
[22:41] [taleks] не, они никак встретиться не могут
[22:41] [taleks] такая вот сложная жизнь
[22:41] [cepra-jabber] во у японцев проблемы
[22:41] [taleks] ага
[22:41] [taleks] я тоже удивился
[22:41] [cepra-jabber] если работа ме?ает ... ну ее на такую работу
[22:42] [taleks] казалось бы, что им ме?ает?
[22:42] [taleks] ну там ещё есть фотограф
[22:42] [taleks] который небо любит фотографировать
[22:42] [cepra-jabber] и как он
[22:42] [cepra-jabber] не прочь с ней
[22:42] [taleks] и не любит баб, которые не могут с мужем два месяца встретиться
[22:42] [cepra-jabber] или тоже состыкаваться не могут
[22:42] [cepra-jabber] правильно
[22:43] [cepra-jabber] вот у него нормальная работа
[22:43] [taleks] ну они довольно близко сблизились во второй серии
[22:43] [taleks] но мужик этого не хотел
[22:43] [taleks] он тоже любит работать 
[22:43] [cepra-jabber] значит она стра?ная
[22:43] [taleks] да не, ничего так
[22:43] [cepra-jabber] если мужик не захотел
[22:43] [taleks] ну он не любит таких баб
[22:44] [cepra-jabber] каких
[22:44] [taleks] вот это как если тебе предложить негритянку
[22:44] [cepra-jabber] гмм
[22:44] [taleks] как ты отреагируе?ь на соединение двух культур?
[22:44] [cepra-jabber] может она симпатичная
[22:44] [taleks] может
[22:45] [taleks] есть аниме ещё хуже
[22:45] [taleks] там деву?ка переодевается как мужик
[22:45] [taleks] и думает что мы с первой серии её не раскусим
[22:45] [cepra-jabber] может надо наоборот, луч?е
[22:45] [taleks] впрочем у переводчиков не получилось раскусить 
[22:46] [taleks] ну луч?е, это когда мужик переодевается бабой
[22:46] [taleks] но это не на? профиль
[22:46] [cepra-jabber] чем это луч?е
[22:46] [cepra-jabber] помойму наоборот
[22:46] [taleks] хм
[22:46] [taleks] но если то было хуже, то эт наоборот
[22:46] [taleks] следовательно это луч?е
[22:47] [cepra-jabber] луч?е вообще без переодевания
[22:47] [cepra-jabber] луч?е с раздеванием 
[22:48] [taleks] есть и такое...
[22:48] [taleks] он мегадемон
[22:48] [taleks] она мегадемоница
[22:48] [cepra-jabber] ну и
[22:48] [taleks] но они какие-то стеснительные
[22:48] [taleks] и убивают зло налево и направо
[22:48] [taleks] но не могут извиняюсь, лечь в постель
[22:48] [taleks] возможно, ме?ает каппа
[22:49] [taleks] он там вертится под ногами вечно
[22:49] [cepra-jabber] а каппа при чем
[22:49] [taleks] ну это ихнгий осведомитель в мире людей
[22:49] [taleks] стучит если чё надо убить
[22:49] [cepra-jabber] поставить от него кеккай
[22:49] [taleks] и держит сервис по убиванию
[22:49] [taleks] ну они похоже кеккаи не умеют
[22:50] [taleks] только огнём ?парить да льдом
[22:50] [cepra-jabber] может они и не хотят этого
[22:50] [taleks] хм... мегадемон явно хочет
[22:50] [taleks] только не знает чего он хочет
[22:50] [cepra-jabber] ну так в чем загвоздка
[22:50] [taleks] мегадемоница вроде не знает чего хочет
[22:51] [taleks] и строит недотрогу
[22:51] [taleks] грустная в общем история
[22:51] [cepra-jabber] мда
Про процессы…
Посмотреть текст
[22:51] [cepra-jabber] а вот интересно, японцы водку пьют
[22:52] [taleks] пьют, но недолго
[22:53] [cepra-jabber] у меня какой то процес память всю выжрал
[22:53] [cepra-jabber] и не освободил
[22:53] [taleks] это винамп
[22:54] [taleks] убей его
[22:54] [taleks] а ещё такое умеет bsplayer 2.0
[22:54] [taleks] правда он освобождает
[22:54] [taleks] но минут пять...
[22:54] [cepra-jabber] так не освободил
[22:54] [cepra-jabber] все
[22:54] [cepra-jabber] процесса уже нет
[22:55] [taleks] хоро?о, мерзкий убийца процессов
[22:55] [cepra-jabber] я его не убивал
[22:55] [taleks] могу рассказать тебе ещё пару история из жизни аниме?ных героев
[22:55] [taleks] он сам умер?
[22:55] [cepra-jabber] он по собственному желанию
[22:55] [taleks] на суде расскаже?ь
[22:55] [taleks] государственному обвинителю так сказать в лицо
[22:55] [cepra-jabber] а судьи кто?
[22:56] [taleks] судьей мы наймём правильных, не волнуйся
[22:56] [taleks] это будут MS Win3.11
Про Достоевского с точки зрения аниме…
Посмотреть текст
[22:56] [cepra-jabber] вот леха, тебе достоевский нравится?
[22:56] [taleks] ну борода у него ничего так, а в целом он меня не привлекает
[22:57] [cepra-jabber] что в нем артем на?ел
[22:57] [cepra-jabber] лажу какую-то писал
[22:57] [taleks] ну а что ты на?ёл в любви долго фотать одну сцену?
[22:57] [cepra-jabber] при чем тут это
[22:57] [taleks] при том
[22:57] [cepra-jabber] ну вот что в нем хоро?его
[22:57] [taleks] что это один хрен
[22:57] [cepra-jabber] не один
[22:58] [taleks] два хрена
[22:58] [taleks] но изоморфных
[22:58] [cepra-jabber] хмм
[22:58] [cepra-jabber] не понимаю
[22:58] [cepra-jabber] всякую чу?ь писал
[22:58] [cepra-jabber] и все
[22:58] [taleks] я не читал достоевского ничего кроме преступления и наказания, которое я тоже не читал, так что мне сложно тебе сказать, что в нём на?ёл Артём
[22:59] [cepra-jabber] я, в общем, как и ты
[22:59] [cepra-jabber] в этом плане
[22:59] [taleks] да забей
[22:59] [cepra-jabber] аниме сняли бы японцы по преступлению и наказанию
[22:59] [taleks] куда важнее чувак, который получил дар всем мозги парить
[23:00] [taleks] да у них каждое аниме снято по нему
[23:00] [cepra-jabber] это кто
[23:00] [taleks] ну это герой аниме
[23:00] [taleks] который был лохом
[23:00] [taleks] и страдал от этого
[23:00] [taleks] но потом случайно спас мегадевочку
[23:00] [taleks] и тут ему попёрло
[23:01] [taleks] он стал рулить не по деццки
[23:01] [taleks] и что показательно
[23:01] [taleks] не думал, стоит ли ему убивать врагов, или не стоит
[23:01] [taleks] фактически перед ним такой вопрос даже не возникал
[23:01] [cepra-jabber] просто достоевский не был на войне
[23:02] [cepra-jabber] у него тогда бы глупых мыслей не возникало
[23:02] [taleks] ну хз, может у него есть рассказы про войну
[23:05] [taleks] короче давай я тебе луч?е про зайца расскажу
[23:05] [taleks] с красными глазами
[23:05] [taleks] и длинным хвостом
[23:05] [cepra-jabber] не надо спойлеров
[23:06] [taleks] ну где я тебе проспойлерил сегодня хоть чего-нить?
[23:06] [cepra-jabber] пока нет
[23:06] [cepra-jabber] хотя
Про ключи…
Посмотреть текст
[23:06] [taleks] вот
[23:10] [taleks] какой ключ тебе боль?е нравится
[23:10] [taleks] -debughell или -ultradebug?
[23:10] [cepra-jabber] последний
[23:11] [taleks] хм...
[23:11] [cepra-jabber] -debug_level99
[23:11] [taleks] это сложно
[23:11] [taleks] придётся цифирки выделять
[23:12] [taleks] хотя -debug+
[23:12] [taleks] ничего так выглядит
[23:13] [taleks] это кстати, недокументированные опции
Про ?вана, работу и романтическую любовь…
Посмотреть текст
Удалено полицией нравов по просьбе Серёги.
Про геополитику и неспящих по ночам…
Посмотреть текст
[23:53] [cepra-jabber] хотя с другой стороны хабаровск такая деревня
[23:54] [taleks] они боятся китайцев
[23:54] [taleks] но мы то не боимся
[23:54] [taleks] у нас есть супероружие - аниме
[23:54] [cepra-jabber] пусть китайцы боятся нас
[23:54] [taleks] ну дык не боятся
[23:55] [cepra-jabber] ну надо их напугать
[23:55] [taleks] как предлагае?ь это устроить
[23:55] [cepra-jabber] сказать, например, что правительсво думает о том, не отдать ли дальний восток японии
[23:56] [cepra-jabber] если китайцы станут сильно наглеть
[23:57] [taleks] ну и китайцы только рады будут получить сибирь 
[23:57] [cepra-jabber] а китайцы при чем
[23:57] [cepra-jabber] отдать японцам
[23:57] [cepra-jabber] а китайцы обломятся
[23:58] [taleks] ну они тогда обидятся
[23:59] [taleks] а обиженные китайцы стра?нее необиженных
[23:59] [cepra-jabber] пусть обижаются
[00:00] [taleks] и тогда они захотят Сибирь и Урал
[00:00] [cepra-jabber] 90% complete проблема 90%-ной готовности ( касающаяся несвоевременного перераспределения ресурсов программирования в крупных проектах )
[00:00] [taleks] и?
[00:00] [cepra-jabber] это я так
[00:01] [cepra-jabber] 41 club [ ] "Клуб 41", клуб "Стар?е сорока" ( для бизнесменов и лиц свободных профессий; его членами могут быть лица стар?е сорока лет )
[00:01] [taleks] нам до этого далеко
[00:02] [cepra-jabber] 100% mirror глухое зеркало
[00:02] [cepra-jabber] это что такое
[00:03] [cepra-jabber] XX [double cross] I know you gave me the XX — Я знаю, что ты меня насадил
[00:04] [cepra-jabber] знае?ь как по английски хабаровский край
[00:05] [taleks] как?
[00:05] [cepra-jabber] Khabarovsk Territory
[00:05] [taleks] ну да
[00:05] [taleks] что тебя в этом удивило?
[00:05] [cepra-jabber] Territory
[00:06] [taleks] а вас разве в ?коле не учили письма писать?
[00:06] [cepra-jabber] кому
[00:06] [taleks] нам в ?коле это разъясняли
[00:06] [taleks] ну таинственному заокеанскому другу
[00:07] [cepra-jabber] по?ел этот друг в
[00:07] [cepra-jabber] там одни нигеры не грамотные
[00:08] [taleks] ну чё ты так черножопых не люби?ь-то?
[00:08] [cepra-jabber] а почему ?таты соединенные
[00:08] [cepra-jabber] ну не нравятся они мне
[00:09] [cepra-jabber] может их разъединить
[00:09] [taleks] попробуй
[00:09] [cepra-jabber] хмм
[00:09] [cepra-jabber] я не смогу
[00:09] [taleks] сфокусируй свой мысленный взор на точке разделения
[00:09] [taleks] сосредоточься
[00:09] [cepra-jabber] тут политическая воля нужна
[00:10] [taleks] и думай ментально сильнее
[00:10] [cepra-jabber] а не пора ли смотреть аниме
[00:10] [cepra-jabber] ?
[00:10] [taleks] ну не знаю
[00:11] [taleks] мне до аниме ещё долго
[00:11] [cepra-jabber] а я наверно буду смотреть
[00:15] [taleks] ну дело твоё
[00:15] [taleks] но луч?е бы ты делал цветы
[00:22] [cepra-jabber] хмм
[00:22] [cepra-jabber] ночью они не делаются
[00:22] [taleks] ну у тебя нет деву?ки
[00:23] [taleks] так что делать что-то ещё ночью - противоестественно
[00:23] [cepra-jabber] и что
[00:23] [cepra-jabber] хмм
[00:23] [cepra-jabber] хочу деву?ку
[00:23] [taleks] все хотят
[00:23] [taleks] но тебе сложнее
[00:23] [taleks] ты яизически плохой самец
[00:23] [taleks] физически
[00:24] [cepra-jabber] ойой
[00:24] [taleks] т.е. хотеть тебе не сложнее, конечно
[00:24] [taleks] ну это жизненная правда
[00:24] [cepra-jabber] в глаз захотел
[00:24] [taleks] на этапе 18-24 года
[00:24] [taleks] самкам нужен физически сильный самец
[00:25] [taleks] а ли?ь потом богатый и умный типа меня
[00:25] [cepra-jabber] нюню
[00:25] [cepra-jabber] значит мне надо стать богатым
[00:26] [taleks] ага
[00:26] [taleks] типа того
[00:26] [taleks] ну или очень злым
[00:27] [taleks] и я тебе даю оба ?анса
[00:29] [cepra-jabber] зачем злым
[00:30] [taleks] злые они очень сильные
[00:30] [taleks] и у них подружки злые
[00:30] [taleks] но красивые
[00:30] [taleks] и главное развратные
Ноябрь 18th, 2006
Это потому что я мало сплю. ? мало ем. ? много работаю.
Ладно, насчёт много работаю - это я соврам?и.
Ноябрь 16th, 2006
Во-первых, это было всегда очевидно.
Во-вторых, такое сообщение я вижу первый раз в жизни, а значит Ки grated сильнее Ки создателей java:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0×7c918fea, pid=2412, tid=724
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_01-b08 mixed mode)
# Problematic frame:
# C [ntdll.dll+0×18fea]
#
# An error report file with more information is saved as hs_err_pid2412.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Ноябрь 12th, 2006
Стоит у меня значит ФайрФокс 2.0… стоит неделю, всё без проблем.
А вот сегодня взял и обновился до версии 1.5.0.8…
Ноябрь 8th, 2006
На ВЦ сейчас темно, стоит куча компов, торчат провода, на полу лужа и сверху продолжает капать. Ну чем не комната Лэйн?
Ноябрь 8th, 2006
Плохо спал. Много нюхал воздух на предмет гари в итоге заболела голова от избыточного поступления кислорода в голову. С утра встал, посмотрел на сотовый и узнал, что 9ое число. Долго соображал как так вы?ло? Если 6го понедельник и я был на дне рождении, 7го вторник и я был в гостях… то куда пропала среда??? Этот вопрос мучал меня примерно два часа, я не ре?ался встать с постели и продолжал дрыхнуть. Появилось стойкое желание позвонить кому-нибудь и спросить какой сегодня день. В итоге на ВЦ выяснилось, что сегодня-таки 8ое.
Ноябрь 8th, 2006
Previous Posts