zHz00 Untitled

вторник, 22 ноября 2011
01:53 Что такое мэдскиллз?
Несколько раз уже заходили ко мне на дневник через гугл в поисках ответа на этот сакраментальный вопрос. Но, очевидно, не находили на него ответа. Я удивлён, как вообще сюда попадают по этому вопросу.

Отвечу на него таки. Мэдскиллз -- это картинка, нарисованная врукопашную или обработанная при помощи программы уровня MS Paint (раньше она называлась Paintbrush). Как правило, отличается невысокими художественными качествами. В качестве примера продемонстрирую мэдскиллз, нарисованный мной при помощи пэйнта и тачпада джва года назад:


Lurkmore считает немного по-другому.

@темы: Мэдскиллз

URL
воскресенье, 20 ноября 2011
02:56 Рекомендованные видео на я-трубе
Захожу я на я-трубу. А там...

Recommended videos
Машина для сдачи спермы
Because you watched
Люди превращаются в героев аниме

.
.
.

@темы: Аниме

URL
суббота, 19 ноября 2011
17:03 Перекрытие метро
Уж открывать что-то наши люди умеют плохо, а закрывать -- просто замечательно.
После ремонта и открытия Большого Театра внезапно выяснилось, что вибрации в подвале слишком сильны от метро, поэтому решили установить виброзащитные шпалы или что-то в этом роде. Напомню, что ещё виброзащитные шпалы стоят под библиотекой имени Ленина (и там строже скоростной режим), однако будут ставить на зелёной ветке такие же шпалы или что-то ещё -- я не знаю.

В связи с установкой этого безобразия кусок зелёной ветки в середине закрывают ПОЛНОСТЬЮ. На два дня. А потом ещё на два дня. Две недели по выходным -- суббота и воскресенье. Закрыли Маяковскую, Тверскую, Театральную. Поезда ходят до Белорусской и до Новокузнецкой, а потом обратно.

Имел счастье и необходимость ехать сегодня по зелёной ветке и об'езжать этот кусок. Организовали об'езд хорошо. Как можно догадаться, все пассажиры решили объехать через кольцевую линию. Она не предназначена для таких нагрузок, несмотря на субботу (особо не предназначены пересадки). На Павелецкой ситуация была лучше, т.к. переход полностью пешеходный без применения эскалаторов. На Белорусской эскалатора на пересадке три и один включали по очереди то туда, то сюда. Помогало это слабо, толпа была с обоих сторон.

На платформах в ту сторону, куда поезда не ехали, каждые 5 метров стоял милиполиционерейский или сотрудник метро и отвечал на вопросы граждан. Схема метро превратилась в фетиш. Идут люди, держат в руках схемы схемы схемы, на стенах Белорусской и Новокузнецкой каждые 10 метров схемы схемы схемы. На Павелецкой ещё в мегафон об'являли, а по поездному радио и громокоговорителях на остальных станциях -- ещё дополнительно.

Все же знали, что движения не будет, всех ещё за две недели предупредили, почему же никто не знает, как ему ехать? Откуда эти толпы у карт?

Табло о том, сколько времени прошло с последнего поезда, функционировало очень интересно. В ту сторону, куда поезда не ходили, оно показывало просто точку (" .  "). В другую сторону показывало время, но очень странно. На Новокузнецкой таймер обнулялся при в'езде поезда на станцию (об этом см. ниже) и при отходе, а на Белорусской только при отходе, но не после того, как 0.8 первого вагона в'ехало в туннель (как обычно), а когда в'ехало ТРИ вагона. Может вообще вручную кнопочку жмут.

Далее про систему подачи поездов. Как знают некоторые, оборотный тупик на Белорусской есть, но не в ту сторону. А на Новокузнецкой только соединительная ветка, но тоже не в ту сторону. Что же делать? Применили извращение. Приведу пример для Новокузнецкой, для Белорусской система та же. Поезд приезжает, высаживает пассажиров и сдаёт задом в соединительную ветку (1). Дальше он опять передом выезжает оттуда на соседний путь (2), после чего трогается по второму пути в обратном направлении (3). Итого: 3 раза поменять направление движение, чтобы обернуть состав.

Хорошо хоть на зелёной ветке два депо, так что не надо было заботиться о том, чтобы к началу рабочего дня и до его конца поезда непрерывно находились на линии (если бы депо было только одно, поезда на одной из половин было бы просто некуда складывать).

Обратно я решил не ехать тупо ко кольцевой. Неинтересно. Я проехал сначала по оранжевой (2 перегона), потом по салатовой (1 перегон), потом по серой (1 перегон), потом по коричневой (1 перегон) и вот я снова на зелёной!

Пойду искать у себя в коробках Densha de GO!

@темы: Общественный транспорт

URL
четверг, 17 ноября 2011
23:04 Загадка
Сделал говнокод. Функционирует так, как мне надо. Попробуйте угадать, что он делает.

sFmt.Format(_T("%%.%de"),nDigits-1);
sBuf.Format(_T(sFmt), fValue);
sscanf(sBuf,"%lf",&fValue);
// шаманим-шаманим
sFmt.Format(
_T("%%.%df\t"),
(int)(fabs(fValue)>=pow((double)10,(int)(nDigits-1))?0:
(FLT_MIN>-1+nDigits-floor(fabs(fValue)?-1+nDigits:
log10(fabs(fValue))))));
sBuf.Format(_T(sFmt),fValue);
sItem += sBuf;


Типы переменных:
sItem, sBuf, sFmt -- CString
fValue -- float
nDigits -- int

В принципе, этот кусок выполняется в цикле и на самом деле nDigits выбираются из массива типа aDigits[ix], а fValue в каждой итерации разный, потому что тоже выбран из массива, но это неважно.

Форматирование такое, потому что не хотел, чтобы за конец строки вылезало. Считайте меня Маяковским.

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

Можно ли было сделать проще?

@темы: Программирование, Говнокод

URL
вторник, 15 ноября 2011
12:31 CEdit 3d-look / Трёхмерный CEdit
How to make 3D-look for dynamically created CEdit?
Как сделать трёхмерный CEdit, когда он создаётся динамически?


Read in English a little below.
В соответствии с тем, что я писал несколько постов назад, стараюсь донести до других частичку своего опыта. То, на что я убил несколько часов. Ввиду особой важности (куча народа ищет ответ по интернетам), привожу опыт сразу на двух языках. Сначала на английском.

EN:
(read in English)
RU:
(читать на русском)

@темы: Программирование, Борьба с техникой, Статьи

URL
понедельник, 14 ноября 2011
01:31 Untitled [010]
Если вам не спится, займитесь рефлексией.
Снимаю с себя ответственность за последствия следования моему совету.

@темы: Мысли

URL
воскресенье, 13 ноября 2011
19:12 Квадратная дата
В этот день джва года назад я получил водительское удостоверение.
Да, я получил его в пятницу, 13-е.

@темы: Автомобили

URL
суббота, 12 ноября 2011
23:47 Untitled [009]
Вытаскивая звуковой усилитель из розетки, поймал себя на мысли, что я его не извлёк перед этим безопасно (Safely Remove Hardware).

@темы: Наблюдения

URL
пятница, 11 ноября 2011
08:36 Робот-зазнайка
Honda обновила своего знаменитого робота: ASIMO научился открывать пиво...

@темы: Другое

URL
четверг, 10 ноября 2011
18:05 Класс-самоубийца и Павлик Морозов
Есть такой антипаттерн -- Паблик Морозов.
Заключается он в том, что вокруг класса с закрытыми членами делается обёртка-наследник, выдающая данные закрытых членов. Юмор в данном случае понятен -- согласно известной истории, Павлик Морозов заложил своего отца. И класс-наследник закладывает своего наследодателя.

А сегодня я имел честь видеть класс-самоубийцу (все названия изменены):


class jisatsu
{
private:
float* m_fData; // тут будет храниться массив с данными
//...
public:
float* GetData() { return m_fData; }
//...
};


Автор: А.

@темы: Программирование, Говнокод

URL
среда, 09 ноября 2011
01:41 Негр и They need more money
Перевод английских реплик появится позже.

Ехал я домой. А мне для того чтобы домой попасть подходят две станции. Ехать надо было с пересадкой и я выбрал некоторую из них. Выхожу на станции (время -- 22:30), чувствую, меня кто-то хватает за рукав и что-то говорит.
Я думаю... кто там... МИЛИЦИЯ?!
Оборачиваюсь -- там стоит НЕГР.
(читать дальше)

@темы: Случай из жизни

URL
вторник, 08 ноября 2011
17:26 О стратегии именования абстрактных об'ектов
Описаны методики и приёмы именования абстрактных объектов на примере файлов.

Когда нам приходится работать с большим числом более-менее однородных об'ектов, неизбежно возникает необходимость как-то ориентироваться во всём этом барахле. На помощь приходит именование. Это очень древняя система. В современном обществе имя есть практически у каждого человека (в отличие от фамилии -- у членов японской императорской семьи, например, фамилии нет, только имя). Тут следует сделать замечание, что есть две совершенно разные категории именования -- именование различных об'ектов и именование различных версий одного об'екта. Поскольку то, о чём я напишу ниже, работает для любых типов об'ектов, без ограничения общности будем считать, что речь идёт про файлы. С одной стороны, они являются более-менее однородными об'ектами (файлами (= ), с другой стороны, их содержимое может быть совершенно различным как по структуре (форматы), так и по смыслу, в случае одинаковой структуры. А ещё у всех файлов есть имя. Также речь пойдёт только о ситуациях, когда именовать вы имеете право. Если имена даны свыше (или другими существами), вы ничего с этим сделать не можете, это неинтересно.
Ниже я опишу основные способы именования, которыми я или не я пользовался или пользуюсь по сей день.
(читать далее)
Пожалуйста, ознакомьтесь с комментариями!

@темы: Тухлые идеи, Мысли, Статьи

URL
понедельник, 07 ноября 2011
07:45 Titled
Поздравляю всех с Днём Великой Октябрьской Социалистической Революции!

@темы: Другое

URL
воскресенье, 06 ноября 2011
17:39 Boku wa Tomodachi ga Sukunai 01-05
Только бы 26, только бы 26...

>>

@темы: Аниме

URL
03:47 Untitled [008]
Только что дошло, что каждый старается рассказать о том, в чём он специалист. И если надо, допустим, сказать общие слова по строению головы, отоларинголог будет в основном рассказывать про уши и носоглотку, а окулист -- почти только про глаза. Пример про медицину, но действует во всех областях человеческой деятельности.

@темы: Мысли

URL
суббота, 05 ноября 2011
21:13 О поиске, часть 1
Полчаса потратил на поиски листочка, потому что он был сложен не в четыре раза, как ожидалось, а в два.

Тяжело искать чёрную кошку в тёмной комнате, особенно если её там нет.
>>

@темы: Другое

URL
пятница, 04 ноября 2011
23:19 XOR-связный список
Описано создание XOR-связного списка и его принципы работы. Описаны принципы работы динамических структур данных -- списков и деревьев (на примере двоичных деревьев).

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

(читать дальше)

@темы: Программы, Программирование, Тухлые идеи, Статьи

URL
среда, 02 ноября 2011
22:45 Об экзаменах
Описана придуманная мной методика проведения абстрактного экзамена.

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

Когда-то (на тот случай, если мне вдруг придётся принимать какой-нибудь экзамен), я задумался над идеальным алгоритмом проведения экзамена.
(читать дальше)
Пожалуйста, ознакомьтесь с комментариями!

@темы: Тухлые идеи, Статьи

URL
вторник, 01 ноября 2011
23:06 О реструктуризации
О, это страшное слово "реструктуризация".

Реструктуризация, от основ к специфике, в восемь пунктов!

1. Реструктуризация -- изменение структуры. Связи, связывавшие раньше части системы частично или полностью разрушаются, устанавливаются новые. Части системы также могут быть удалены, добавлены, переразбиты.
2. Можно ли считать добавление в систему новых сущностей реструктуризацией -- мне неизвестно. Скорее всего, да.
3. Реструктуризация может быть проведена проведена над большим числом систем (скорее всего, над любой системой) -- это правительства, организации, комплексы оборудования (связанные единой задачей), программы в конце концов (обычно для программ называют "рефакторинг").
4. Реструктуризация бывает внутренней и внешней. После внутренней внешнее поведение системы не изменяется. После внешней у системы могут появиться, например, новые возможности (или пропасть старые).
5. Да, это не всегда возможно, но реструктурировать систему надо как можно раньше. Чем дольше работает система, тем сложнее это будет сделать. Желательно проектировать её так, чтобы реструктуризация не понадобилась. Либо реструктуризацию проводить ещё на бумаге, когда ещё нечему функционировать (что входит в проектирование). Однако если вы руководите/поддерживаете систему довольно долго, рано или поздно ситуация изменится и придётся что-то переделывать.
6. Самое главное, задуматься над вопросом целесообразности реструктуризации. После неё всё может стать хуже.
7. Грамотно спланированная реструктуризация может быть почти безболезненной, но на время её проведения всё равно наблюдается ухудшение функционирования системы, вплоть до полной парализации.
8. Под реструктуризацию часто дают дополнительное финансирование. Бывает, что на реструктуризацию уходят не все деньги. Куда деваются остальные -- сложный вопрос.

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

P.S. Я конечно всё так круто написал, но лично проводил только рефакторинг кода. Остальное по наблюдениям.

@темы: Мысли, Автомобили, Очевидное-невероятное

URL
понедельник, 31 октября 2011
12:43 О переводе времени
Я смотрю, у многих устройства и компьютеры не в курсе нововведений и перевели часы куда не надо. Согласно некоторым сведениям, это породило кучу опозданий и так далее. Меня даже спрашивали (в похожей формулировке) "Сколько сейчас времени, чёрт возьми?".

А я с троллфейсом говорил сколько времени. Я знал.

Потому что у меня на компьютере уже несколько лет работает шара (EN), которой для работы необходимо токийское время. И на компьютере тоже токийское время. Японии время не переводит. Да, переводила, С 1946 по 1952 год. Но тогда ещё не было устройств, которые бы делали это автоматически.

Другими словами, мне это только удобнее, не надо перевод токийского времени в московское в моём мозгу переключать. Хотя зимнее время с точки зрения перевода в мозгу было удобнее, т.к. разница составляла 6 часов, а 6 часов прибавлять/вычитать проще, чем 5.

@темы: Другое

URL