пятница, 7 декабря 2012 г.

Simon's Cat

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

Видимо, к ним тоже пришла зима...

Кандидат 3: Простая математика

Не успела Аарадья выйти за пределы деревни, как услышала позади крики: "Госпожа! Госпожа!" Её преследовал мальчик и отчаянно размахивал руками. Как только он затормозил рядом с ней, Аарадья узнала в нём одного из детей, изучавших BASIC на школьном дворе. Ему было около семи лет. Он был босиком, без рубашки и одет только в свободную пару бежевых брюк, рисунок на которых давно выцвел. Его волосы были прямыми и такими же чёрными, как волосы Аарадьи. Его кожа была почти такая же коричневая, но его глаза были удивительного зеленого оттенка.

"Госпожа!" - запыхался мальчик. "Мой дед хотел бы поговорить с Вами!" Он взял её за руку и указал на дорогу обратно.

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

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

"Это распространённая судьба", - признала Аарадья.

"Я понимаю, что Вы являетесь учителем с не малыми навыками", - продолжал старик, - "разбирающимся не только в BASIC, но в завидном искусстве Java и C".

Аарадья подняла бровь. "Мой BASIC, к сожалению, устарел. И несмотря на то, что я закончила обучение языку Java, я ещё далека от звания учитель".

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

"Мой учитель говорил", - сказала Аарадья, - "что значению Byte.MAX_VALUE может быть завидует ноль, но ему ещё далеко до Integer.MAX_VALUE". Она рассеянно погладила рукой бахрому своей одежды. "На самом деле, именно для такого продвижения я еду на север. Храм Утреннего Медного Гонга проводит испытания новых послушников в этом месяце. Вот почему я не могу задержаться даже на один день, чтобы не оказались заняты их несколько позиций".

"Ах!" - посетовал дед. "Я слышал об этом храме. Идти очень далеко, и по горам тоже! Разве не будет Вам лучше использовать какой-нибудь двигатель внутреннего сгорания с колесами?"

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

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

"Ричи находится в добрых трёх днях отсюда", - сказал Аарадья, растерявшись. "Умножаем на два за скорость Ваших старых ног. И он находится не в той стороне!"

"Шесть дней ходьбы плюс два дня на автобусе супротив трёх недель пешком", - ответил дед. Он потянул мальчика за собой. "В любом языке математика проста. Это можно посчитать даже используя байты".

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

"Как я могу быть уверена в том, что Ваш родственник выделит мне место?" - спросила Аарадья.

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

Две фигуры исчезли за поворотом и Аарадья осталась одна.

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

Original: The Applicant (part 3): Doing the Math

четверг, 6 декабря 2012 г.

DX ball


Прикольный арканоид, в который мы ещё в институте играли, портировали на HTML5. Подтормаживает иногда, но играть можно. В Chrome работает кнопка F11, чтобы развернуть на полный экран и не бояться, что управление потеряется.

Медленно, но верно

Упало в почту письмо по работе и я зацепился взглядом за номер бага. После 13-ти лет Java, наконец-то, будет официально поддерживать кодировку Base64.

Судя по исходнику код достаточно хорошо проработан и позволяет кодировать не только стандартные потоки и массивы, но и поддерживает NIO. Выглядит гораздо более удобным, чем рекомендуемый всеми BASE64Decoder, который находится в пакете sun.misc и, следовательно, недоступен при установленном SecurityManager, например, в апплетах. Были, конечно, реализации от Apache или активново в community Майкла Грева, но так лень добавлять нестандартные библиотеки.

Мегафон

Быстро они среагировали на мой пост. Вчера позвонили на Юлин номер и объяснили, что у них закончилась аренда вышки, а владелец не хочет с ними продлевать контракт. Эта эпопея у них с конца лета длится и сейчас они в очередной раз попытаются восстановить вещание. А без этой вышки мой подъезд совсем не покрывается, так как до остальных вышек одинаково далеко. Странно, что они не мне позвонили, а Юле. Заявку-то я оставлял!

вторник, 4 декабря 2012 г.

СБ vs РФ

Зашёл в СберБанк около 6 вечера, когда толпы людей возвращаются с работы. Работало 8 окошек из 10. Обслужили чуть медленнее, чем в прошлый раз, хотя народу было так много, что негде сесть было. И это единственный минус.

А вот в Райффайзене я недавно провёл полчаса, ожидая вызова. Как то непривычно для меня, что государственная контора работает лучше коммерческой.

Соглашение

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

Интересно, куда надо писать, чтобы решить нашу проблему и выделить "аварийный роуминг" с тем же Билайном. Сбой-то технический и виноват в нём МегаФон. А то сегодня Юля позвонила мне с утра, а в спальне сигнал почти на нуле. Соединение установилось, но друг друга не слышно, потом пару слов успели сказать и соединение разорвалось.

Браузера достаточно

Создатель игры Minecraft выложил ссылку на демку полёта в трехмерном лабиринте. Для рендеринга используется Canvas, для всего остального - JavaScript. Все исходники можно видеть прямо на той же странице.

Некоторые пишут, что код очень краткий и понятный, но даже сам автор признаёт, что так писать не надо. Изначально, эта демка планировалась для Java4K.

Камерофон

Samsung прислали рекламу Galaxy Camera. Интересно, а по этому фотоаппарату можно звонить? А в игрушки играться? Видимо, что брэнд Galaxy стал такой популярный, что его повсюду используют.

понедельник, 3 декабря 2012 г.

Вёдра

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

Этот же послушник увидел их возвращение в замок после обеда. Их вёдра были битком набиты влажной землей и камнями, но, несмотря на тяжелые нагрузки, каждый был весел и шагал бодро.

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

"Что это за шесть монахов и вёдра с землей?" - спросил послушник.

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

"Что за изъян они внесли?" - спросил послушник.

"Му", - сказал настоятель. "Они не внесли изъян. Ни одной строки кода не была изменено за много месяцев".

"Тогда что за изъян они не смогли исправить?"

"Му", - повторил настоятель, когда яйцо снова опрокинулось. "Модуль функционирует отлично и, несомненно, будет продолжать работать ещё много месяцев".

Послушник нахмурился. "Я не вижу, как может быть нежелательным то, что является безупречным и неизменным, или как можно назвать управление халатным".

"Эй ты, монах!" - крикнул кто-то позади него. Послушник повернулся и увидел учителя Банзена, смотрящего на него.

"Завтра ты присоединишься к той шестёрке", - сказал Банзен.



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

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

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

"Разве это не грандиозно?", - сказал настоятель. "Она стоит тут с начала времён".

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

Наконец настала очередь послушника.

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

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

Original: Buckets

воскресенье, 2 декабря 2012 г.

Tiny Troopers

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

Суть игры простая. Командование посылает солдат на миссии, а вы управляете этими солдатами. Миссии достаточно разнообразные: то солдат вражеских расстрелять, то здания взорвать, то заложников освободить. Убитых на задании солдат заменяют новобранцами, которых снова приходится продвигать по службе...

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

ScreenShot

Научился делать скриншоты на своём Galaxy Note II: надо одновременно нажать кнопку включения и кнопку Домой, а затем удерживать до характерного звука.

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

суббота, 1 декабря 2012 г.

Не рано ли?

Я отнёс в школу нашу старую метровую ёлку, чтобы хоть как-то украсить класс, поэтому мы поехали в Ленту и купили двухметровую.

Дети так воодушевились, что пришлось нарядить. Мишка уже письмо Деду Морозу написал. А Лёшка бегает, радуется и кричит: "Новий гот! Новий гот!"

Забота о детях

Мишка забыл в классе кроссовки, поэтому я заглянул с ним сегодня в класс перед спортивными занятиями. А там я обнаружил, что в классе холоднее, чем в коридоре! Купил утеплитель и термоленту, позвонил ещё одному папаше и мы с ним часа два заклеивали окна, пока нас не выгнали. Школа, оказывается, закрывается в 16:00, а завтра совсем не работает. Из 6 окон мы успели проклеить только 4, два из которых имели дыры в палец с толщиной и пропускали снег внутрь.

Теперь не знаю что делать. Можно, как остальные классы, скинуться и самостоятельно поставить стеклопакеты, а можно написать в РОНО (или сразу в прокуратуру) и попросить разобраться, почему директор не ремонтирует классы, вынуждая родителей ремонтировать самостоятельно, вкладывая не только свои деньги, но и время...

Ветер в помощь

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

пятница, 30 ноября 2012 г.

МЧС работает впустую

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

Потом я нагуглил, что этот короткий номер действительно относится к МЧС и позвонил на него. Робот мне сообщил о штормовом предупреждении. Сегодня, кстати, усиление ветра до 20 м/с, а это почти 80 км/ч!

Но СМС продолжали приходить после звонка, поэтому мне пришлось разобраться, что это так работают широковещательные сообщения, и найти, как всё это отключить. Теперь я больше не получаю предупреждений на свой новый Note II, а на остальные вообще никогда не получал. Ни на Юлин, ни на Мишкин...

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

Вот вы говорите — Крымск... Ну хорошо, не говорите, думаете.

Кандидат 2: Фонтан Ананты

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

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

"Это BASIC, госпожа", - ответил мальчик. "Учительница начала нам его преподавать только на прошлой неделе".

"Язык сильно изменился с тех пор как я была вашего возраста", - заметила Аарадья. "Где номера строк?"

"Они не нужны, госпожа".

"А как же тогда использовать GOTO?"

"GOTO запрещено, госпожа. Мы только делаем вычисления".

"Как же вы тогда запрограммируете Фонтан Ананты?"

Дети в замешательстве посмотрели друг на друга.

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

"Симбала, госпожа".

Аарадья набрала:
10 PRINT "Привет, Симбала! "
20 GOTO 10
RUN
Экран заполнился бесконечно мельтешащим потоком:
Привет, Симбала! Привет, Симбала! Привет
, Симбала! Привет, Симбала! Привет, Симб
ала! Привет, Симбала! Привет, Симбала! П
ривет, Симбала! Привет, Симбала! Привет,
 Симбала! Привет, Симбала! Привет, Симба
ла! Привет, Симбала! Привет, Симбала! Пр
ивет, Симбала! Привет, Симбала! Привет, 
Симбала! Привет, Симбала! Привет, Симбал
а! Привет, Симбала! Привет, Симбала! При
вет, Симбала! Привет, Симбала! Привет, С
имбала! Привет, Симбала! Привет, Симбала
! Привет, Симбала! Привет, Симбала! Прив
ет, Симбала! Привет, Симбала! Привет, Си
мбала! Привет, Симбала! Привет, Симбала!
 Привет, Симбала! Привет, Симбала! Приве
т, Симбала! Привет, Симбала! Привет, Сим
бала! Привет, Симбала! Привет, Симбала! 
Привет, Симбала! Привет, Симбала! Привет
Поскольку каждая новая строка добавлялась снизу, то другие строки сдвигались вверх.

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

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

"Глупая девчонка!" - сказала учительница. "Разве ты не видишь, что у нас бедная деревня? Только одна надежда, что эти дети научатся торговать быстро и хорошо, не тратя время на бесполезную чушь". Хозяйка снова подняла метлу, но Аарадья развернулась и стала в ответ размахивать своим посохом. Старуха попятилась.

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

Original: The Applicant (part 2): Anantha's Fountain

Метель продолжается

В нашем "бутылочном горлышке", видимо где-то под КАДом, случился коллапс. В результате всё стоит на въезд в город. Даже Устинова забита, а значит и Рыбацкий. На Шлиссельбургском не дают проехать общественному транспорту, стоя на трамвайных рельсах несмотря на запрещающую разметку. Но самые хамы умудряются выезжать на тротуар и ехать там. У нас огородили дорогу для безопасности, так они протискиваются через узкую щель пешеходного перехода. Вот лишать бы прав за это!

четверг, 29 ноября 2012 г.

Не так прост как кажется

При ответе на чьё-нибудь письмо GMail выделяет его целиком в виде цитаты. Но оказывается, что если перед нажатием Reply выделить часть письма, то только она и будет процитирована.

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

Контекст решает

В процессе перевода учебника по двигателю внутреннего сгорания некто перевёл фразу "spring pushes the piston" как "весна давит на поршень" вместо "пружина толкает поршень".
Видимо переводчик работал на этим в марте...