воскресенье, февраля 22, 2009

Ответ: Пи.
Вопрос (выделите для просмотра):
Если медиана для студента - это отрезок в 2 с половиной курса,то что тогда (приблизительно) 3 курса и полтора месяца?

суббота, февраля 21, 2009

Ответ: Хоббит.
Вопрос (выделите для просмотра): Человек, увлечённый грибной охотой, рыбалкой, икебаной, фен-шуем, радиоконструированием, филателией и футболом.

Маршрутка

Постоянно что-то со мной случается в маршрутках. Сегодня,например:

Заходит чудо в металле - девочка вся в пирсинге,в чёрном,сумка со значками и надписью "Набор для выживания! Не трогать!"
Подходит к окну, начинает писать: "Я люблю этот мир"
и рисует сердечко.

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

пятница, февраля 20, 2009

Ответ: Это - ответ.
Вопрос (выделите для просмотра): Если то лежит на этом, а это лежит у того, то что вы должны раскопать под тем?

четверг, февраля 19, 2009

Ответ: Звёздное небо.
Вопрос (выделите для просмотра): Что ты можешь увидеть, лежа на звёздной земле?

среда, февраля 18, 2009

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

Отчёт on-line: update

Только что нашёл ещё один интересный ресурс для создания on-line документов.
https://buzzword.acrobat.com/
Очень,очень приятный и продуманный интерфейс, побольше возможностей чем в Google Docs но,похоже, всё-таки уступает Zoho.В минусах - необходимость наличия на компьютере Flash Player и ужасные объемы данных для загрузки (больше двух Мб для инициализации текстового редактора, как говорит мой firewall).
Типы файлов,разрешенные для импорта, не оглашаются. Просто выберите файл,а там разберутся, видимо.Немного покопавшись в справке,я всё-таки нашёл ответ:
Buzzword lets you import Microsoft Word (DOC, DOCX), plain text (TXT), Rich Text Format (RTF), Word 2003 XML, and Open Document Format (.odt) files.

Ну что же, только самое необходимое.Хотя я ожидал увидеть в списке хотя бы Adobe PDF, уж на что родной формат.
Что ещё раздражает, у него проходит проверка браузера. Если вы,скажем, сидите на Винде из-под Google Chrome, то вам покажут страницу с предупреждением о неизвестном браузере. (Известные браузеры для Винды - IE и Firefox, то есть,Оперы опять же нет в списке. Насчет линукса могу только догадываться).
Резюме - роскошный и удобный сервис для людей с дешёвым интернетом,небольшими требованиями и распространенным браузером.

Первую часть обзора можно найти здесь.

вторник, февраля 17, 2009

Ответ: Кровавая заря поднималась над городом.
Джейсон смотрел на хрипущую рацию,заливающуюся кровавым голосом.
"Аааа!! Зомби! Зомби захватили город! АААГРХХ..."
Рация перешла на белый шум.
"Пора действовать", - решил Джейсон и завёл бензопилу.
"Вжжжж" - зачирикал двигатель.
Город спал.
Вопрос (выделите для просмотра): Приведите пример отъявленной графомании. Первый абзац, больше не надо - пожалуйста.

Свист дракона

В спешке после пар совершенно забыл.
Сегодня на лекции по Прологу меня осенила ужасная мысль: название моего нового квеста абсолютно нелогично.
Стремясь нелинейно расставить геймплей и не затягивать игру нудными загадками с единственным выходом, я выкинул из сценария самую важную загадку оригинального рассказа - ту загадку, в честь которой он был назван и о которой я ещё три дня сожалел.
И теперь передо мной стоит большая острая проблема выбора НОВОГО названия.
Кошмар.
P.S. Пользуясь случаем - нужны тестеры. В сценарии осталось не больше пяти недочётов,которые я давно уже пометил и всё собираюсь закрыть (это провисающие диалоги, нечёткое расположение предметов и слишком явная подсказка в середине игры) - для тестинга они несущественны. Мне очень хотелось бы протестировать квест ещё на стадии сценария,не приступая к программной реализации (которая сама по себе тоже будет нуждаться в тестировании, это не обсуждается). Нужны добровольцы.

архив

Я выложил архив Самых Важных Ответов в Абсурдотеку здесь как автор.
Хотя убрал часть, которая мне не нравилась.
Если статью одобрят к существованию,может быть, буду даже пополнять этот сборничек.
Но зная Абсурдопедию, не думаю,что кто-нибудь начнёт писать в эту статью кроме меня и роботов.Такое случается редко и правки не всегда удачны.Хотя - сообщество есть сообщество,вдруг что путное выйдет.

понедельник, февраля 16, 2009

Горячая Линия: Самые Важные Ответы

Подбираю слоган для серии...
"Только здесь вы найдёте ответы на вопросы,которые до прочтения этого блога у вас даже не возникали!"

Нет,не так...
"Только здесь вы найдёте вопросы на ответы, которые вы не давали никому,никогда и ни за что, себе упрятали и теперь ими пользуетесь!"

Нет,тоже не то...Так,начинаем мозговой штурм.
"Здесь вы найдёте те вопросы,которые до этого никто не задавал. Наверное, все это уже знают."

"Если вы не можете задать ответ, то вы не сможете прочитать на него вопрос. Но не наоборот."

"Что такое смайлик? Где брать сунга-чангу? Как пишется забырвалгенциркуль? И другие вопросы к ответу "Гугл" вы можете прочесть именно здесь. "

"Новости двухтысячелетней давности. Маразм в своём апогее. Исключительная жестокость - и многое другое вы можете оставить в комментариях к этим сногсшибательным вопросам."

"Душевно...Душевно послать всё к чертям и писать эти вопросы - вот настоящее дело автора этой ..."

"Собачка?"

Так,налицо кризис жанра.
Ваши предложения?
Ответ: Зубомудрость.
Вопрос: (выделите для просмотра) Что никогда не заснет, однажды проснувшись?

Миграция блога

Только что решил начать миграцию в Blogger. LJ с его рекламой и кривыми настройками CSS меня давно уже доконали, но я не мог найти способ скопировать все посты куда-либо ещё (а их более 200).
Только начал регаться, как вспыла интересная деталь - я уже зарегистрирован здесь.
Профиль показывает,что произошло сие знаменательное событие в сентября 2006го. Офигеть. Поступил в универ - зарегался в Блоггере.
Дальше - больше. За два года у меня накопилось громадное число посещений. Куча людей приходило сюда и смотрело ПУСТУЮ СТРАНИЦУ!
Ёлки-палки...значит,пора заполнять.
Сейчас я занимаюсь приведением блога к моему "минималистическому" дизайну. Почему и надо написать пост,чтобы посмотреть,как он хоть выглядеть-то будет.
Google AdSense меня пока что не интересует. Зарабатывать деньги надо на нормальных проектах,а не на собственной графомании.
С приветом,
Oreolek.

воскресенье, февраля 15, 2009

The Wall

Вчера в 6 утра решил ни с того ни с сего переводить The Wall Пинк Флойда.
Thin Ice пока что трудно поддаётся...но In The Flesh? могу выложить, накропал за каких-то полчаса, наверное:

"...нам вступать?"

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

"Свет! Камера! Мотор!"
"Сброс! Бросайте на них! Бросайте на них!!!"

Примечание: Перевод был исправлен, см. комментарии

среда, февраля 11, 2009

Ответ: Пятница, 13е.
Вопрос: (выделите для просмотра) У человека угнали машину, его постирали в реке,хорошенько побили и оставили голым на морозе, Как назвать двумя словами все его злоключения?

воскресенье, февраля 08, 2009

Программизмы

Только что друг показал мне одну интересную страницу:

http://www.sjbaker.org/wiki/index.php?title=Cruel_Code_list

На ней расположен архив самых ужасных кусков кода,которые только может выдать человеческий мозг. Осмыслить и понять эти куски человеческий мозг уже способен с большим трудом. Код написан на C++ и в нём сможет разобраться каждый, даже без уморительных английских вставок автора архива, поэтому я не возьмусь переводить статью на русский. Интересно другое.

Я вылез в Гугл и нашёл реального автора одной из программ. Я даю ссылку на ветку одного форума... Угадайте, на каком языке написана программа? На Java.

http://forums.sun.com/thread.jspa?threadID=5224563

Читать рекомендую тред целиком,на второй странице выложены не меньшие перлы. Люди, не начинайте знакомство с программированием с лёгких языков вроде Бейсика, Явы и PHP\Perl! Они слишком легки, чтобы программист вообще задумывался над своей программой.

Приведу рассуждение одного из героев треда:

"Если (a>b) ложно,то логически следует, что b должно быть больше а. <..>"

Классно. Просто замечательно. От автора ускользнула мелкая деталь: a=b. Я не придираюсь, просто пытаюсь найти ту последовательность мыслей, тот корень в логике, провал мозга, который породил столь интересное творение:

if(a > b && b > c) {
// a is greatest
} else if(b > c) {
// note there is no b>a
// b is greatest
} else {
// note there is no test at all
// c is greatest
}


Заметьте - это функция выбора наибольшего элемента. Для трёх элементов. А теперь представьте,что элементов 5, 7, 10, 100...
Ему не жалко стирать пальцы.

Есть три вида ошибок. Первый - это обычные опечатки, вроде следующей для Си:

if ($value = $some_value) {
// тут какой-то код
}


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

Второй вид - это непродуманность, вроде хранения числа -333 в типе unsigned char или написания цикла if (password=='password'). Это лечится с опытом, хотя может и обрушить\помешать работе пары систем.

Наконец,третий вид - это именно такие программизмы. Перлы индийского кода. Те творения, авторов которых назвать "быдлокодерами" даже сложно.

Я сам писал нечто подобное лишь раз: это моя функция смены регистра с верхнего на нижний или наоборот; она кочует по моим прогам по одной хорошей причине: я сижу на разных компьютерах и компилю проги на разных системах. Дома у меня стоит Linux, в универе - Винда. Кодировки русского на обеих системах разные, это может быть KOI8-R, CP1251, UTF-8 или (о ужас, кто такое придумал в нашем универе) ISO 8859-5. Как следствие, обычный сдвиг ASCII\UTF значения попросту не работает, когда я конвертирую код в другую кодировку. Именно так в моих программах можно встретить:


char tolower(const char input){
switch (input){
case ('А'): return ('а');break;//надо же с чего-нибудь начинать
case 'Й': return ('й');break;//йцукенг удобнее абв
case 'Ё': return ('ё');break;//не забудем родную буковку
case 'Ц': return ('ц');break;//дети учат эту буковку первой.Кто сказал "А"?Вы всегда читает книгу с начала?
case 'У': return ('у');break;//Ни один порядочный ребёнок не будет читать книгу с начала
case 'К': return ('к');break;//Вместо этого он будет смотреть картинки
case 'Е': return ('е');break;//Причём все и без порядка
case 'Н': return ('н');break;//От У до Г
case 'Г': return ('г');break;//а потом обратно
case 'Ш': return ('ш');break;//от Ш до Г
case 'Щ': return ('щ');break;//да,он посмотрит Г два раза
case 'З': return ('з');break;//надо с детских лет приучать ребёнка уделять большое внимание всякой гадости
case 'Х': return ('х');break;//потому что он потом всю жизнь только этим и будет заниматься
case 'Ъ': return ('ъ');break;//так,сейчас у нас твёрдый знак
case 'Ф': return ('ф');break;//на Олимпийских играх в китае он получил медаль за твёрдость
case 'Ы': return ('ы');break;//Что не значит,что эта медаль была российской
case 'В': return ('в');break;
case 'П': return ('п');break;//помните,мы с чего-то начинали?
case 'Р': return ('р');break;//наверняка помните
case 'О': return ('о');break;//это - О.Познакомьтесь.Очень приятно.
case 'Л': return ('л');break;//здесь слишком много комментов
case 'Д': return ('д');break;//ненавижу комменты
case 'Ж': return ('ж');break;//люблю комменты
case 'Э': return ('э');break;//один из комментов лжёт
case 'Я': return ('я');break;//любимая буковка
case 'Ч': return ('ч');break;//два коммента лгут
case 'С': return ('с');break;//здесь вообще сборище борцов за правду
case 'М': return ('м');break;//думайте над этой логической задачей
case 'И': return ('и');break;//в этих комментах нет смысла..давайте закончим
case 'Т': return ('т');break;//держись,Саня,ещё немного и мы закончим эту муть...
case 'Ь': return ('ь');break;//ну ещё чуть-чуть...
case 'Б': return ('б');break;//ещё немного...
case 'Ю': return ('ю');break;//ДА!!!Закончили.
}
return input;
}



Люди,если вы тратите на подобное 100 килобайт - у вас должна быть причина. Если вы тратите 500 килобайт - весомая причина. Наконец, у вас должна быть просто КЛЯТВЕННАЯ УВЕРЕННОСТЬ в том,что вы знаете,что делаете, если вы тратите на это два мегабайта.

Напоследок, немного ещё интересных строчек.

public string GetUsername (string userName)
{
User user = DbLookup.GetUser(userName);
return user.Username;
}


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

string @string = @"new @string()".ToString();
@string = @string == @"string" ? @string : @"Hello World!";


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

if 1 <> 1 then
// <..>
end if


Классический пример творчества наших братьев по разуму. Действительно,а вдруг?
Это даже круче следующего:

if (someVariable == someVariable) {
// <..>
}


Это уже просто образец паранойи. Есть только одно логическое объяснение подобному: someVariable=NULL, так что такой код может иметь под собой какую-то почву. Но опять же, зачем городить эзотерику?

Чувствую,что я немного сбавляю темп, это всё равно что представлять публике сакраментальное #define NUMBER_1 1. Что же,исправлюсь. Проверка булевой переменной:

if (boolean.toString().length()<5){...}

if (value && System.Convert.ToBoolean("false")){...} else{...}

if (b.toString.substring(0, 1).equals("t")) {...}

Небольшая вариация:

if (b.ToString().ToLower()[0].Equals(Convert.ToChar("t"))){...}

Окончание парада - вычисление 1% от числа:

a=abs(b-(b*1.01));

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

суббота, февраля 07, 2009

Нашёл качественный перевод любимой книги:

http://whiteunicorn.spb.ru/heap/daoprog.html

Оригинал лучше,но не все знают английский.
Также набрёл на http://amty.narod.ru/rootless-root.pdf. Не Бог весть что,почитаю на досуге.

Но я балдею от Джеффри Джеймса.

P.S. Сайт whiteunicorn классный. Напоминает старые добрые времена ФИДОнета. Словарик хакера там классический,и,например, слово КАКТУС я бы в жизни так не перевёл.
Ответ: Воспоминания, какой высокой она была n-дцать лет назад....
Вопрос (выделите для просмотра): Какова наивысшая форма ностальгии?

вторник, февраля 03, 2009

небольшая пауза

Сейчас у меня каникулы - я занят подготовкой к пересдаче функана, а также взялся заново за квест. Поэтому постов будет немного меньше...например, следить за Самыми Важными Ответами мне довольно непросто. К слову - сценарий квеста полностью закончен (в нём всё ещё остаётся пара-тройка недочётов в диалогах,но остальное прописано окончательно),хотя ещё ни на ком не опробован (приветствуются добровольцы),я медленно пишу документацию на сам движок и попутно пытаюсь его закодить. Много алгоритмов и идей я взял из книги "Всё,что вы хотели узнать о интерактивной фантастике, но в индустрии не осталось никого, у кого вы могли бы спросить" (это описание Z-машины),также спасибо Grom PE за хорошую корректировку моих бездумных планов и бешеных идей.
В движке запланировано намного больше функций,чем используется в квесте; это сделано на будущее, я не собираюсь останавливаться на одной игре. Скажем, я хочу поддержку некоторых RPG-элементов.
Да,и ещё - всех с Днём Сурка!
А.Я.

воскресенье, февраля 01, 2009

Ответ: DOOM.
Вопрос: (выделите для просмотра) Какую компьютерную игру описывает следующий абзац:
...эта игра не страшная,нет. Это - игра на достань-свою-самую-большую-пушку-и-пах-пах-пах-бах-бах-бах-трататрататрататрата-виииии-онет-очертпобериявкислоте-чертсвамивсеми-ялюблюэто-пах-пах-бах-какодемоныумритевмучениях-божемойэторакета-яненавижукибердемонов-ялюблюсекретныедверисомножествомвраговзаними-паф-паф-паф-трататрататрата-зззап-жжик-вжик-вжик-вжжжжик-виииииикргх-чёрт-чёрт-чёртмненужнобольшепатронов-морпехирулят-умригад-умри-умри-умри-вжжжик-чёртвысаминапросилисьнаДружбу-вжжжжжжжжжжжжжжжжжжжжжж-яненавижукибердемонов-вжжжик-паф-паф-паф-трататататататата-ктожемнепоможе-трататрата-тра-та-трататататата-пиф-паф-пиф-паф-трататрататата-итакбываетскаждымкто-умригад!-татататататататра-ктооставилздесьэтогомаленькогомилогорозовенького-ааааааагрх-умри!-умри!-бежим-бежать-бегу-бежит-бежит!-ааачёртятруп-бежать-бежать-бежать-бежать-очёртясновавкислоте-бежать-бежать-бежать-бежать-прыжок-прыжок-прыжок-прыжок-прыжоксракетнымускорением-ухтыянашёлБольшуюЁ...БУУУУУМ!!!!

Постоянные читатели

Архив