вторник, 26 февраля 2013 г.

Шесть негостеприимных хозяев

Молодая монахиня (послушница) сказала учителю Кайму: "Я слышала про шесть негостеприимных хозяев, но не понимаю".

Учитель подвесил клетку с птицей Майна на вершину длинного посоха и дал его послушнице. Затем он что-то написал на листке бумаги, подул на него, чтобы высохли чернила, и тоже дал его послушнице, сказав: "На свитке названия пяти домов в деревне. С наступлением ночи возьми пустую миску и в каждом доме по очереди попроси риса. Возьми с собой птицу. Размышляй над тем, что видишь и что слышишь".

Когда послушница пришла в первый дом и подала чашу, человек наполнил её белым зернами и закрыл дверь. Птица Майна запела: "Нет ни риса, ни редиса, ни закусочки внутри; нужно быть мудрым, чтобы есть пальцами". Потыкав в зёрна, послушница, к своему ужасу, обнаружила, что это был не рис, а небольшие белые личинки. Она выбросила их в траву и мыла миску в ближайшем ручье, пока её пальцы онемели от холода.

Когда послушница пришла во второй дом и подала чашу, человек сказал "У меня нет риса" и закрыл дверь. Птица Майна запела: "Нет ни риса, ни редиса, ни закусочки внутри; его мыши померли от нужды".

Когда послушница пришла в третий дом и подала чашу, человек сказал "Риса нет", зажёг фонарь и закрыл дверь. Птица Майна запела: "Смотри на красное объявление под фонарем; у этого ублюдка - много риса, но он не будет кормить незнакомца".

Когда послушница пришла в четвертый дом и подала чашу, человек выбросил её в кусты и закрыл дверь. Птица Майна запела: "Ты могла бы поймать, если бы попыталась, но всё равно осталась бы голодной".

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

Вернувшись к учителю Кайму, послушница сказала: "Я поняла про пять негостеприимных хозяев".

"Назови их", - скомандовал учитель.

"Ошибка (bug), отсутствие значения (failure-value), флажок (flag), исключение (exception), выход (exit)", - ответила послушница.

Учитель кивнул.

"А какой шестой?" - спросила послушница.

Учитель сказал: "Отнеси пустую миску к могиле учителя Мугена. Когда мертвый учитель либо заполнит её, либо отправит тебя вон, то шестой негостеприимный хозяин придёт и уйдёт".

Original: The Six Unwelcome Hosts

суббота, 23 февраля 2013 г.

С праздником!

На день защитника Отечества мне Мишка нарисовал открытку и подарил очень позитивный портрет меня, который он нарисовал на листе формата A3. Я решил повесить её на работе.

пятница, 22 февраля 2013 г.

Watch Dogs

Говорят, что это такой gameplay в игре будет:

Она что, потребует прикупить клавиатуру с кучей клавиш?

Система

Послушник задал такой вопрос учителю Бавану:

Утром мой учитель даёт мне наставления.
Из наставлений я формирую идею.
Из идеи я рисую диаграмму на бумаге.
Из диаграммы я создаю модель в конструкторе.
Из модели я генерирую скелет проекта.
К скелету я добавляю исходный код в виде текста.
Из текста компилятор генерирует байт-код в class-файлы.
Из class-файлов система сборки собирает war-файлы.
Из war-файлов развертывается веб-приложение.

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

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

Поэтому мой вопрос заключается в следующем:
Какой из этих продуктов является истинным ПО,
а какой является истинным исходником?


Учитель ответил:

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

Поэтому мой ответ будет следующим:
Следуй во двор храма; встань там перед дубом.
С веток наверху сорви жёлудь.
С земли внизу собери влажный перегной.
Пусть твоё дыхание смешается с росой.
Пусть твой пот увлажнит почву.
Оставайся там, пока дуба не станет.


Комментарий Ци

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

Стихотворение Ци

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

Original: System

Собираемся

Сейчас я расскажу байку про то, как собрать JDK на Windows 7 и, возможно, 8. Разобраться с Vista у меня так и не получилось, так как старая билд-система перестала работать после введения новой билд-системы на базе autoconf. Но во всём есть свои плюсы: во-первых, мне выдадут новый комп, а во-вторых, сборка теперь длится не час, а всего 10-15 минут, что не может не радовать.

Сначала надо установить Cygwin с дополнительными пакетами: mercurial, make, mksh, perl, vim, cpio, zip и unzip. Если надо публиковать изменения, то ещё пригодится и openssh. Также будут полезны patch и wget.

В качестве компилятора надо поставить Visual C++ 2010 Express. Кроме того, необходимо поставить Windows SDK 7.1 ради одной единственной программы msicert. Это может быть необязательно, если у вас куплена и установлена Visual C++ 2010 Professional.

Для работы со шрифтами нужна библиотека freetype. Если вы не знаете про jdk-клозет, то скачайте проект GnuWin32 и скомпилируйте его с помощью Visual C++ Express.

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

На данный момент многословные пользовательские имена, часто используемые для входа в Windows, не поддерживаются. Поэтому надо установить переменную среды: set USERNAME=census

Теперь можно начинать скачивать исходники JDK:
hg clone http://hg.openjdk.java.net/jdk8/jdk8 jdk8

Загрузилось быстро, но это ещё не всё. Продолжим качать:
cd jdk8 && sh get_source.sh

Теперь сконфигурируем сборку параметрами по-умолчанию:
bash configure --with-freetype=/path/to/freetype

Теперь можно запустить make и собрать JDK. Кстати, на данный момент не поддерживается инкрементальная сборка под Windows. Но её можно эмулировать следующим образом:
make jdk-only JDK_FILTER="java/beans"

четверг, 21 февраля 2013 г.

Актуально

Задачей старого писца Ци было составление и сопровождение высокоуровневого проектного документа новой системы. Каждый разработчик обеспечивал писца собственными данными, но отчёт главного монаха был возвращён с пометкой: неудовлетворительно.

"Каковы Ваши возражения?" - спросил главный монах, известный своим нетерпением.

"Многое из того, что Вы мне дали, это реальный исходный код", - сказал писец. "Объявления классов, тела методов, длинные SQL запросы. Это не наш путь".

"А как лучше описывать алгоритмы?" - спросил главный монах многозначительно. "Мой способ ничего не искажает".

Писец задумался.

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

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

"Я только могу сказать Вам, где я видел его в последний раз, около трёх лет назад",
- сказал писец, листая свой дневник. "О! Вот оно: Я два дня шёл на восток по Дороге Белой Крапивы, пока не пришёл к ручью, берега которого разбухли от недавнего дождя. Там я повернулся спиной к ветру и шёл, пока два лосося не выпрыгнули из воды. Перебравшись через следующий пешеходный мост, я добрался до развилки, которая указывала прямо на луну, повернул направо, дойдя до босоного мальчика собирающего палочки, а затем налево, когда облака заволокли Полярную звезду. Там стояла хижина с наполовину открытой дверью, Вы точно её не пропустите".

Главному монаху не потребовались дальнейшие наставления.

Original: Up To Date

Переустановка

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

Выяснилось, что средствами Dell это не сделать, несмотря на наличие recovery partition. Они её просто не видят, из-за того, что подвинута была. Пришлось взять у админов загрузочную флэшку и по сети поставить стандартный образ. Он, конечно, долго ставится, зато потом не надо накатывать всякие антивирусы и т.п.

Систему лень настраивать, ведь через месяц опять придётся...

вторник, 19 февраля 2013 г.

Упадок

Когда Банзен был молодым монахом, он приуныл:

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

Узнав об этом, учитель Банзена вызвал его:

"Ваши разговоры вызывают беспокойство; покиньте сейчас же монастырь. За воротами есть поток, текущий с вершины горы. Следуйте по нему, пока не достигнете океана, и там ходите по песку, чтобы очистить голову. Не возвращайтесь, пока ваши глаза могут видеть".

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

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

Всякий раз, когда Банзен видел удар первой волны о стену, он морщился; когда рушилась первая терраса, его всегда наполняла жалость. Тем не менее, дети радовались. На протяжении вечера они наблюдали, как море забирало всё взятое у него, пока не оставался большой бугор волнистого песка, усеянного ракушками. Потом дети уходили.

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

Через неделю Банзен вернулся в монастырь просветлённым.

Original: Decay

понедельник, 18 февраля 2013 г.

Смазка

В понедельник, последний оставшийся настоятель клана Паука вызвал учителя Суку в свой кабинет.

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

"Как прикажет настоятель", - сказала Суку. Она низко поклонилась и вышла.



Во вторник настоятель вызвал Суку в свой кабинет.

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

"Как прикажет настоятель", - сказала Суку. Она низко поклонилась и вышла.



В среду настоятель вызвал Суку в свой кабинет.

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

"Как прикажет настоятель", - сказала Суку. Она низко поклонилась и вышла.



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

Всё происходило почти также, как в предыдущие дни.



В субботу настоятель вызвал Суку в свой кабинет.

"На этой неделе у Вас был очень незначительный прогресс", - сказал настоятель, выравнивая крошечными граблями миниатюрный песочный сад на столе. "Объяснитесь!"

"Как прикажет настоятель", - сказала Суку. Взмахнув своим посохом, она ударила настоятеля прямо в темечко. Тот упал на стол в бессознательном состоянии и рассыпал белый песок.



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

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

"Разве там нет надёжных железных ступеней в стенах?" - спросила Суку.

"Они оказались тщательно смазанными", - нахмурилась настоятельница. "Также как и верёвка для ведра. И сами каменные стены. Этим утром настоятель поднялся на много километров, но, к сожалению, это были всё те же самые несколько метров. Передайте всем разработчикам прекратить их текущую деятельность и наблюдать за его продвижением. Я думаю, что для них это будет поучительно".

"Как прикажет настоятельница", - сказала Суку. Она низко поклонилась и вышла.

Original: Grease

Новый налог

Фонтанка.ру пишет, что со следующего года будут брать налог на недвижимость. Тут я нашёл ссылку на оценку питерских квартир, доступную в свободном доступе. Вот только дома по Караваевской или Прибрежной там приведены, а по Шлиссельбургскому или Устинова отсутствуют. По всему выходит, что теперь ежегодно мы будем платить за квартиру 4 тысячи рублей помимо квартплаты.

воскресенье, 17 февраля 2013 г.

Legend of Grimrock

Поставил себе игрушку, а она не запускается: XAudio2 error in XAudio2Create. Игра, как оказалось, использует эффекты Shader Model 3, которые моя карта должна поддерживать. Но обновление драйверов не помогло.
Выяснилось, что просто надо обновить DirectX.

суббота, 16 февраля 2013 г.

Музыкант

Были в гостях и Лёшка так основательно стал играть на пианино, что у меня возникла мысль: а не отдать ли его в музыкальную школу.

пятница, 15 февраля 2013 г.

Ещё один облачный игрок

Некоторое время назад я приобрёл на Amazon пару альбомов Rockabye Baby и Wintersun. И вот мне пришло письмо, что я могу слушать их на Cloud Player. Однако, при загрузке они просят ввести данные моей кредитки, что делать мне не хочется, несмотря на You will not be charged until you make a purchase. Кроме того, судя по письму, я смогу слушать музыку только из офиса или когда буду в США. Поэтому для меня они даже не конкурент Google Play.

Зато я обнаружил, что мне, как клиенту этого интернет-магазина, положены 5Gb из Cloud Drive. Хотя... Cтолько же мне даёт Google.

MathJax

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

Морская свинья

Писца Ци попросили приготовить диаграммы для проектного документа большой системы для повышения его читабельности. Законченная работа была доставлена ​​учителю Банзену на рассмотрение.

Банзен обнаружил, что некоторые диаграммы простые, зато большинство из них крайне запутанные. Раздел "Поток данных" был проиллюстрирован пищеварительным трактом рыбы, изображённым в мельчайших подробностях и с пометками на всех основных органах. Раздел "Запланированные задания" показывал сочетания фаз луны с различными травами. Раздел "Функциональный обзор" содержал изображение репродуктивного цикла белых дельфинов.

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

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

"Два раза", - удовлетворённо повторил Ци и вышел из комнаты.

Учитель просветился.

Original: Porpoise

Новости

Пришёл на работу и обнаружил, что на суровых челябинских мужиков упал метеорит. Хорошо, что многие машины оснащены видеорегистраторами приличного качества и можно посмотреть.

четверг, 14 февраля 2013 г.

Шоколад


В Галерее проходил шоколадный фестиваль, на котором Мишка получил халявную плитку и расскрасил её для Лёшки.

Умникум

Сегодня Юля с Мишкой ходили на четвёртый этаж Галереи в Умникум. Это ещё один аналог Лабиринтума и Экспериментаниума, но более новый и чем-то напоминает Эврику. Вот только местный планетарий совсем не такой как в Финляндии. Но, в целом, ему было очень интересно.

Я тоже хочу сходить туда!

среда, 13 февраля 2013 г.

Blogger десктопный

Обновился диалог добавления изображений - стал красивым и функциональным в плане поддержки альбомов picasaweb.

Но, как в последнее время уже стало привычным, разработчики "корпорации добра" похерили важную для меня функциональность: теперь нельзя выбрать предпочтительный размер изображений и добавить стиль обтекания текстом. Всё приходится делать самому!

Интересно, почему о них столько хороших отзывов?

Гранд-макет

Юля с Мишей проверили как там поживает Гранд-макет. Развивается потихоньку...

Столкнулись сегодня два поезда и один мужик залез на макет с ногами их поправить.

Два варианта

Учитель Кайму оставил трёх послушников обсуждать сигнатуру необходимого вспомогательного метода. Через час все трое пришли к нему в кабинет и были сильно потрёпаны и в синяках.

"Вы достигли согласия?" - спросил Кайму.

Первый послушник, в рваной одежде и с разрезанной губой, сказал: "Мы ещё дальше от мирного соглашения, чем раньше. Каждый из нас предпочитает своё собственное решение двум другим. Мы просим Вас выбрать лучший вариант вместо нас".

"Очень хорошо", - вздохнул Кайму. "Из трёх предложенных вариантов, один был достаточно смел, чтобы отказаться от нашей традиции строгой типизации и объявить параметр метода типа Object, чтобы удовлетворить всех потенциальных пользователей. Кто из вас предложил это?"

Второй послушник гордо шагнул вперед. Быстрым ударом в живот учитель выбросил его за дверь.

Комментарий Ци

Метод с параметром Object с радостью примет и LeftFoot.

Стихотворение Ци

Идеальная лягушка сидит на столе,
Окружённая осколками нефрита.
У каждого удара скульптора есть два варианта:
За или против.

Original: Two Choices

SpeedTest.NET

У нового провайдера результаты измерения скорости мне показались хуже, чем у старого провайдера. Но я тут подумал, что измерял их из кабинета, хотя WiFi роутер стоит в коридоре. Отнёс ноут в коридор и получил гораздо лучшие результаты.

Вот как выглядит скорость до Санкт-Петербурга:

А так выглядит скорость до Сан Франциско:


Но и это ещё не всё! Год назад я измерял быстродействие подключившись напрямую проводом, а сейчас мне лень доставать провода и лезть на шкаф, поэтому только WiFi.

Машинариум

Я уже писал и про игру, и про аналоги, но тут нашёл совершенно чумовые фигурки робота Йозефа и его подруги.


What does the internet think

У Вассермана подсмотрел прикольную ссылку на сетевой сервер, который отслеживает отдельные запросы и собирает по ним статистику упоминаний. 90% отзывов о Путине - положительные.
Но вы ведь не за политикой сюда пришли?.. ;)

Oracle - 41% в плюс, а 57% в минус.
Java - 40% в плюс и 42% в минус.
JavaFX - 63% в плюс и 30% в минус.
Google - 73% в плюс и всего 8% в минус.
Android - 53% в плюс и 35% в минус.

А про мою фамилию они ничего не знают, зато больше всего (96%) положительных отзывов про Fallout: war, war never changes...

вторник, 12 февраля 2013 г.

Три нищих

Учитель Кайму привёл трёх старейших монахов в Зал Бесконечных Кабинок. Там он собрал трёх своих послушников.

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

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

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

Кайму указал на третьего монаха. "Этот работает на веб-уровне, где все данные обрабатываются в текстовом виде. Он хочет, чтобы параметр метода был типа String".

Затем учитель поклонился трём монахам и велел послушникам предложить свои решения.



Первый послушник встал. "Метод должен принимать String, который будет более полезен в самом методе. Те монахи, которые предпочитают Long или EmployeeID, могут легко вызвать метод toString у этих объектов и передать результат в наш метод".

Сказал Кайму: "Когда нищий, сидящий на корточках в грязи, попросит у вас мелочь, Вы вполне можете потребовать, чтобы он поднял чашу к Вам поближе. Но как быть с человеком без рук?"

Перед тем, как первый послушник смог ответить, поднялся второй. "Кажущаяся простота вызова метода toString усложняется необходимостью проверки на null перед вызовом. Следовательно, наш метод должен принимать Object, который включает в себя любой из трех типов. Тогда сам метод может проверить на null и вызывать toString только тогда, когда это безопасно. Таким образом, ничего не потребуется от вызывающего".

Кайму сказал: "Зная, что безрукий нищий может потреблять только то, что находится у него во рту, Вы милосердно ходите везде с рисом в карманах. И Вы бросаете ваши зёрна в рот любому. Как же хорошо Вы делаете крысам и сорокам!"

Встал третий послушник. "Три монаха, три послушника. Почему бы не использовать три метода, каждый из которых принимает разный тип? EmployeeID, Long и String. Первый и второй могут вызывать третий, и каждый из них пусть проверяет на нуль".

Кайму сказал: "Не корм для крыс, но каким же жирным должен быть нищий! А если метод принимает четыре параметра, Вы напишете восемьдесят один вариант? Вы потратите столько времени, чтобы всех удовлетворить, что Вам уже никто не поможет".

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



Как только они вышли, первый монах прошептал: "Как вы думаете, какой подход будет выбран?"

Второй монах ответил: "Если они похожи на нас, то это будет подход послушника, который кричит громче всех".

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

Original: Three Beggars

понедельник, 11 февраля 2013 г.

Каникулы

У первоклассников начались дополнительные каникулы и Юля с Мишкой поехали в Кидбург.

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

Вернулся довольный как слон.

Путы

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

Монах присел рядом, а Жинг продолжала работать лёжа на полу.

"Я написал самую элегантную подсистему рендеринга изображений", - сказал монах. "Она резко повысила пропускную способность, но крайне нестабильна. Каждое изменение должно быть сделано с большой осторожностью или же наступит хаос. Целый год я сопровождал код, не доверяя его никому. Теперь мои нервы на пределе. Я должен перейти на другие проекты или рискую потерять мой едва сохранившийся разум".

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

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

"Уф", - сказала монахиня. Она выбрала каталог с исходниками подсистемы, нажала на кнопку удаления и поползла к выходу.

Original: Shackles

Crysis


Кризис жанра в полный рост.
Купил в Steam игру Crysis, воспользовавшись 75% скидкой. Графика, конечно, изумительная. Джунгли отлично проработаны. Сюжет на троечку: несколько бравых американцев в нанокостюмах валят направо и налево сначала корейцев, а потом инопланетян. Костюмы настолько футуристические, что позволяют не только становиться прозрачными, но и выдерживать -200°C, которую локально опустили инопланетяне. Можно не только поездить на джипах и грузовиках, но и полетать на пепелаце. На знаю, как его назвать по другому, но он позволяет стрейфиться! Управление задаётся для каждого режима отдельно и всех кнопок просто не запомнить. Меню развесистое и не интуитивное: надо потыркаться, чтобы просто продолжить игру. Играть настолько скучно, что дойдя до финального монстра, у меня нет желания ни добить его, ни переиграть игру.

Реализация чрезмерно глючная. И это касается не только крэшей, но и поведения ИИ. Многие сцены заскриптованы и дальше не пройти, пока всех не замочишь. Один раз на кладбище я полчаса бегал и искал двух зависших корейцев, чтобы завалить их без всякого сопротивления с их стороны. Второй раз пришлось переигрывать, так как управление пепелацем неудобное и обзор из него хреновый, а где зависли летающие твари было неясно.

Статистика Steam показывает, что я потратил на игру 8 часов. И вряд ли я потрачу больше. Похоже, что это вторая игра после Quake 4, которую мне не хочется заканчивать, хотя тут я почти до конца добрался, любуясь красотами разнообразных пейзажей.

воскресенье, 10 февраля 2013 г.

Мракобесы в сети

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

Этот сразу заявил, что сломался роутер, так как "интернет должен быть", а на мои конкретные вопросы стал меня парить. Когда я спросил, видит ли он запросы от моего роутера, то он мне заявил, что "это же роутер! Он не делает запросы, а просто раздаёт по вай-фай интернет, приходящий по проводу". Как работает DHCP он вообще не представляет и где логи посмотреть тоже не знает. Админы предыдущей сетки в нескольких случаях, таких же простых как этот, реагировали быстро и адекватно.

После звонка интернет появился, хотя Я НИЧЕГО НЕ ДЕЛАЛ. Видимо, админ тупо перезагрузил зависшее соединение, а передо мной дурака валял. Абыдно, панимаишь!

пятница, 8 февраля 2013 г.

Contre Jour

Замечательная головоломка, созданная на HTML5 русскими разработчиками, очень напоминает World of Goo или Tupsu.

YouTube - велик

YouTube - велик! Но есть подборка наиболее интересных моментов

Пишут, что уже удалено, но можно посмотреть и тут...

Сумбур

Учитель Суку вошла в палаты нового главного настоятеля клана Паука, которого назначили на эту должность после мистической пропажи его предшественника.

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

Настоятель ответил с большим воодушевлением: "Разве они не чудесны? Мы нашли их в далёкой провинции, которая недавно пострадала от голода... или землетрясения... или гигантских красных жуков... Я забыл детали. Они редко едят и спят всего два часа за ночь. Они готовы отказаться от кабинок и писать код, вися на балках, из-за чего на них будет очень мало накладных расходов. С такой командой Вы будете способны наверстать упущенное время и завершить работу семи недель за семь дней".

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

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

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

Original: Confusion

четверг, 7 февраля 2013 г.

Men & women

Из 25-ти известных мужчин я перепутал только Майкла Фарадея и Генри Форда, а остальных угадал правильно (не подсматривая).

Из 25-ти известных женщин я смог с первой попытки угадать только 15 из них, а остальных - после нескольких попыток.

Кто хочет в США?

Пришло мне письмо о наборе москвичей для переселения в Сиэтл:

... the Amazon Kindle is heading to Moscow this month February 20th – 25th with a team of engineers and hiring managers to conduct interviews for Software Development Engineer opportunities at varying levels of seniority that are currently available on two teams. These are the teams that are working on the latest technology (web, mobile, machine learning and cloud), have the highest visibility and continuously strive to reinvent consumer experience as a product or platform...

... We believe good engineers refer good engineers so, if you know of anyone who may be interested in considering opportunities with us at Amazon, please feel free to forward my information along, as we are looking to fill 80+ technical and engineering roles in the near future!

Please note that all of our roles are Full time positions located in Seattle, WA, in the United States, so you would need to be willing to consider relocation.

Thanks and I hope to hear back from you with an updated copy of your resume to vssridha@amazon.com!

Тяжесть

Учитель Суку вошла в палаты главного настоятеля клана Паука; её подопечный монах тоже вошёл. Они поклонились.

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

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

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

Настоятель очнулся в темной каменной яме с одной горящей свечой. Когда его глаза привыкли к темноте, он увидел записку, прикрепленную к люку:

    Валун в семь раз тяжелее Вас
    Лежит на люке и держит его закрытым.
    Однако, для Вашего удобства,
    Вы можете поднимать его так медленно, как хотите.

Original: Weight

Реклама Nike

Nike нехило вкладывается в рекламу:

Хотя предыдущие ролики мне нравятся больше...

Google Play Music

В прошлом году я оцифровал и закачал всю свою коллекцию музыки на сервер Google. Для android тоже есть соответствующее приложение. Теперь, при наличии доступа к сети, я легко могу слушать музыку где угодно.

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

Blogger мобильный

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

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

среда, 6 февраля 2013 г.

Сторожевая собака

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

Не имея возможности воспроизвести проблему в среде разработки, инженеры запросили еженощные перезагрузки системы. На это было получено почти единодушное согласие. И только Иши-Шинг, ведущий инженер клана Железных Костей, высказался против.

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

Однажды ночью инженеры и разработчики проснулись от звука неистового лая снаружи. В лунном свете было видно сторожевую собаку Храма: мех взъерошен, лапы широко расставлены. Она противостояла группе угрожающих фигур, одетых во всё чёрное. Только собака собралась прыгнуть, как свист прорезал воздух. Животное заскулило и упало, его лапы запутались в верёвках брошенного лассо. Чёрные фигуры рассеялись в темноте.

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

Инженеры заявили: "Те люди могут вернуться до наступления утра. Зачем Вы обезвредили сторожевую собаку?"

Иши-Шинг ответил: "Её лай нарушил мой сон".

Original: The Watchdog

Java.net blog post

Таки написал очередную статью. Пишите комментарии...

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

вторник, 5 февраля 2013 г.

Simon's Cat

Очередная часть похождений известного кота:

воскресенье, 3 февраля 2013 г.

Sonata Arctica

Посетили с Серёгой и Пашкой концерт финской группы Sonata Arctica в клубе Космонавт. Солист очень старался, но его голоса практически не было слышно, хотя именно в нём вся соль. Очень много было композиций с последних альбомов, а они все какие-то вторичные и без изюминки. Зато как оживился зал при первых аккордах FullMoon, потом была Replica и ещё пара забойных вещей. И концерт закончился!..

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

Звукорежисёру - огромный минус! Не знаю, местный он или нет, но в ГлавКлубе звук был на порядок лучше. Хотя тут пиво получше будет...

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

В целом, скорее разочарован я, чем доволен.

пятница, 1 февраля 2013 г.

Эрик Йоханссон

Замечательная обработка фотографий одним шведом:

Чем-то мне Эшера напомнило...

Поединок

Вчера по телевизору (и на хрена я его включил) посмотрел Поединок на тему защиты детей и ювенальной юстиции:

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