среда, 30 апреля 2014 г.

Слепой ведёт слепого

Банзен собрал клан Паука и сказал:
"Учитель Суку находится слишком далеко, чтобы наблюдать за вашим следующим релизом, и она не оставила настоятеля, чтобы управлять вами. Как вы будете искать ошибки в коде?"

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

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

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

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

Пятый монах сказал: "Перед тем, как обслуживать столы самому, надо обратиться к доктору, если слышите плохо! Доверие только себе - это проявление высокомерия. Мои автоматизированные модульные тесты будут моими глазами".

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

Седьмой монах сказал: "Только свиной доктор оценивает тело только по тому, что можно увидеть. Надо собрать кровь и желчь! Мой статический анализатор кода будет моими глазами".

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

Банзен сказал свой ученице Сато: "Второй монах ничего не делает. Восьмой монах ничего не делает. Что советует Ваш третий глаз?"

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

Таким образом, восьмого монаха повысили, а второго - наказали.

Original: The Blind Leading the Blind

вторник, 29 апреля 2014 г.

Средний ВО

Офис Информатики находится недалеко от 30-го лицея, т.е. достаточно далеко от метро. Да и транспортная ситуация там хреновая, причём не только для машин, но и для пешеходов. Чем ближе к метро, те больше пробок и давки. Трамваи идут так медленно, что я парочку успел обогнать. Что-то там надо менять...

Informatica

Ходил общаться в Информатику, где работает один друг. Оказалось, что в отделе кадров у них работает наш старый знакомый по TogetherSoft/Borland. Мир тесен!

Показывали позицию на проект, где собираются писать клиента на Vaadin к их БД. Вспомнилась работа в Luxoft и над Labka II в STAR. Похоже, что раньше было модно отдавать проекты на outsourcing, а теперь просто поглощают компании (в данном случае Siperian). Взгрустнулось, что интервьюирующие заметили и дали таймаут.

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

Неужели

Помнится, что я писал недовольный отзыв о ВДНХ, а на lenta.ru пишут, что недавно начали заниматься восстановлением этого памятника величию Советского Союза:
По ВДНХ, конечно, гулять неудобно, но к маю большая часть работ будет закончена. И все смогут увидеть, что ВДНХ — это уже не рынок.

понедельник, 28 апреля 2014 г.

Нет горячей воды

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

воскресенье, 27 апреля 2014 г.

Заколдованная буква

Мишка читает Денискины рассказы: "Никакие не сыски. Никакие не хыхки, а коротко и ясно: фыфки!"

Лёшка от души смеётся над этим и наизусть поправляет Мишку, когда тот сбивается.

суббота, 26 апреля 2014 г.

Мотоциклисты

Физико-математический лицей № 30 находится на Васильевском острове, достаточно далеко от обеих станций метро. Поэтому мы поехали на машине. Движение по городу достаточно плотное, но вот выехать с Васьки практически невозможно. Домой добирались полтора часа, так как мост Лейтенанта Шмидта стоит.

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

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

Олимпиада ФМЛ 30


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

пятница, 25 апреля 2014 г.

Like a cucumber

У нас в Oracle не забалуешь! Вчера мы тут одного сотрудника JetBrains избили. Хотя, он сам напросился...

четверг, 24 апреля 2014 г.

Этимология слова

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

среда, 23 апреля 2014 г.

Программисты как дети


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

Мамонт в городе

По пути к метро встретил мамонта с выставки динозавров:

Бюрократизм

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

Почему бы этим бюрократам не передать всё это в МФЦ? Суть-то та же: подаёшь заявление, получаешь сертификат, с которым потом будешь оплачивать лагерную путёвку.

вторник, 22 апреля 2014 г.

Встречу в лунном свете

По завершении презентации к Джинью подошли несколько настоятелей. Один сказал: "В своей речи Вы упомянули четыре типа участников совещания. Какие они?"

Джинью стала считать на пальцах:
   "Тот, кто приходит что-то сообщить,
    Тот, кто приходит что-то узнать,
    Тот, кто приходит, потому что послушен,
    И тот, кто приходит, чтобы его заметили".


Второй настоятель кивнул головой и сказал: "Очевидно, что у нас слишком мало участников первого и второго типов".

Джинью тут же отреагировала: "Да, да! Я тебя вижу".

Original: Ill Met By Moonlight

понедельник, 21 апреля 2014 г.

Холодное Сердце. Звездопад

Юля нашла красивую головоломку в жанре "три в ряд":

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

Конференция закончилась

В прошлую пятницу прошла конференция по Java, которую рекламировали вот таким забавным роликом:

Коллеги развлекаются в Питерском офисе. А припев привязчивый:
    Java! Это Java!
    На лучшем языке писать имеешь право...

пятница, 18 апреля 2014 г.

Простые числа

Ещё одна задачка с подковыркой:
Четверо ребят обсуждали ответ к задаче. Коля сказал: "Это число 9"; Роман сказал: "Это простое число"; Катя сказала: "Это чётное число"; Наташа сказала: "Это число 15". Назовите правильный ответ, если одни мальчик и девочка ошиблись, а другие мальчик и девочка сказали верно.

Унылый Хром

После обновления из браузера Chrome пропал плагин Hangouts. Точнее он там был, но не работал. Пришлось переустановить.

А ещё я не смог загрузить картинку в предыдущее сообщение, так как при открытии системного окна выбора файлов Google Chrome переставал отвечать, а через пару минут крэшился, унося за собой все открытые вкладки. Добавление картинки через Internet Explorer частично увенчалось успехом - картинка оказалась загружена, но соответствующие тэги не были вставлены в сообщение. Пришлось снова открывать Google Chrome и "выбирать файл из этого блога", после чего правильные тэги были вставлены. Корпорация Добра...

Удобный МФЦ

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

Удобный АИИС КУЭ

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

четверг, 17 апреля 2014 г.

Сердце истекает кровью

Послушник спросил учителя Бавана: "Поведайте что-нибудь про ошибку Heartbleed".

Баван сказал: "Чиуйин, казначей губернатора, слеп как земляной червяк. Обманщик может дать ему оловянную монету, сказав, что это серебро, и получить сдачу. Когда казна опустеет, кто окажется виноватым? Ответите правильно, и я на неделю избавлю Вас от ударов. Если нет, ударю посохом!"

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

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

Баван опустил свой посох: "А кто у нас губернатор?"

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

Баван кивнул: "Это первый урок. Слишком просто хвалить Open Source, самодовольно говоря друг другу, что 'под присмотром десяти тысяч глаз, не скроется ни одна ошибка'. Но десять тысяч человек, отводящих свой взгляд, не более полезны, чем один слепец. И теперь, когда я на неделю избавил Вас от ударов, расслабьтесь и скажите мне, какой тут второй урок?"

Послушник сказал: "Да я и понятия не имею".

Баван тут же ударил по черепу послушника своим посохом и тот завалился на пол без сознания.

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

Original: Heartbleed

На сообразительность

Прикольная задачка на тестирование сообразительности:
Художник пишет таблички с буквами. Одинаковые буквы он делает за одинаковое время. Две таблички «КАРКАС» и «СОТА» вместе он сделал за 40 минут, а одну табличку «КРАСОТА» он сделал за 30 минут. За какое время он сделает табличку «РОТА»?
Посмотрим, как сего дня Мишка справится...

среда, 16 апреля 2014 г.

RedPower on WinCE

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

вторник, 15 апреля 2014 г.

Хельга


Наш коллега, который в этой группе играет на бас-гитаре, просит присоединиться к этому проекту.

Социальный эксперимент

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

И вот сегодня на Лермонтовском я видел троллейбус, оборудованный системой самостоятельного обилечивания. Как в старые советские временя, только ручку самому не надо крутить. Посмотрим, что из этого выйдет.

понедельник, 14 апреля 2014 г.

Обратная связь

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

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

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



Следующим утром на завтраке послушник сел рядом с одним из старших настоятелей.

"Почему так мало женщин в этом храме?" - спросил послушник.

"Потому что очень мало девушек подаёт заявки на допуск в храм", - ответил настоятель.

"Почему так?" - спросил послушник.

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

"Почему так?" - спросил послушник.

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

"Почему так?" - спросил послушник.

"Потому что они здесь несчастны и плохо ладят с монахами", - ответил настоятель.

"Почему так?" - спросил послушник.

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

"Почему так?" - спросил послушник.

"Потому что очень мало женщин в этом храме", - ответил настоятель.

Original: Feedback

суббота, 12 апреля 2014 г.

Головоломка


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

А надо ли?

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

Тестирование

После собеседования мне наконец-то выслали задание:
В браузере Google Chrome есть такой пункт контекстного меню “Inspect Element”, который показывает информацию о текущем элементе на страничке с возможностью посмотреть свойства его “детей” и “родителей”. Выглядит примерно так.
Суть технического задания: ­написать плагин для IntelliJ IDEA 13, который бы эмитировал данную функциональность. Как это можно сделать? Зарегистрируйте свой action, назовите его “Inspect UI Element” и поместите в меню “Main Menu ­> Tools”.
Это заняло у меня несколько минут, включая настройку проекта, ибо в IDEA уже встроена поддержка разработки плагинов.
После вызова action ожидайте пока пользователь не кликнет куда­-нибудь в идее с зажатой кнопкой Alt. Т.е. нас интересует исключительно Alt+Click, остальные мы игнорируем.
Вот тут уже пришлось задуматься. Игнорировать можно по-разному. Сначала я начал писать обрабоку событий через GlassPane, но потом обнаружил, что полное игнорирование событий не позволяет нам найти нужный элемент UI после того, как выбран наш пункт меню. Поэтому я решил рассматривать слово "игнорировать" как "пропускать остатьные события в систему" и стал использовать AWTEventListener. Так и код короче и можно анализировать UI других приложений, запущенных из IDEA.
После Alt+Click нужно определить на каком компоненте был произведен Click (стартовый компонент) и показать информацию о нём в новом немодальном диалоге. В этом немодальном диалоге, как и в панельке Google Chrome, хочется иметь всё дерево доступных компонентов в распахнутом состоянии с выделенным стартовым компонентом. Справа от дерева нужно отобразить панель свойств (Insets, Border, Font, и другие, которые соответствуют JavaBeans нотации) Панель можно показать в виде таблицы. Конечно, большинство из свойств захочется редактировать. Чем больше их будет, тем лучше.
Теперь осталось найти время и написать этот новый диалог.
Максимальный срок выполнения задания 3 недели.
А вот с этим самое сложное. С работы уходить в отпуск нет желания, поэтому остаётся 6 выходных дней, если учесть, что мы с Мишкой на этих выходных вдвоём, то всего 5.

Все в космос

Для Chrome вышло приложение для изучения звёзд. В Google постарались и сделали хорошую подборку. Изучайте!

ЛИАП - это сила

Поздравляю всех с нашим профессиональным праздником!

Кстати, китайцы сегодня памятник Гагарину поставили.

пятница, 11 апреля 2014 г.

Продуктивно

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

четверг, 10 апреля 2014 г.

Знаете ли вы Питер?

Ночью в Питере все кошки серые. Ну, не все... не кошки... и не серые...

А эти регулярно проезжают. Особенно, когда теплеет. Не знаю, куда и откуда.

все вопросы

Шенген

Европа собирается вводить следующие санкции для россиян:
  - cокращение срока выдачи виз до 10 дней
  - обязательная выдача многократных виз сроком на 3 года
  - выдача национальных виз сроком до 15 дней на границе
  - введение нового типа виз для длительных путешествий

Провинция вечного кризиса

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

Банзен сказал : "Чтобы узнать ответ, Вы должны сначала найти свой путь к Комплексной Плоскости. Это сложная задача, ибо большая часть этого травяного поля до некоторой степени воображаемая; так как Ваша исходная точка не только реальна, но и гарантированно находится в самом центре равнины, как только Вы начнёте искать её, Вы тут же окажетесь там. Затем ступайте на северо-восток, пока не дойдёте до урчащей земли, известной как провинция Вечного Кризиса. Там земля изрыгает огонь, гнётся и вертится, как змея; горы меняются местами с долинами; реки текут в обратном направлении в полночь и вбок на новолуние. Ничто не выдерживает того места. Самый крепкий дом необходимо восстанавливать каждую весну, поэтому люди отказались от использования камня и возводят только простые хижины из веток и соломы. Там Вы не найдёте ни лошадей, ни мостов, сёдла разрушаются на засушливом ветру, через пропасти необходимо заново натягивать веревку каждую неделю, так как их края пляшут вверх и вниз. Ни один здравомыслящий человек не будет жить на этой земле, если только его не удержит возможность большого богатства. Но каждая лопата ломается в каменистой почве, каждый топор тупится, каждый бык умирает".

Джишин спросил: "Когда Вы в последний раз посещали это несчастливое место?"

Банзен ответил: "Я никогда и не покидал его. Иногда в моих скитаниях я выходил на зелёную дорогу, которая обещала вывести меня, но увы! И хотя дорожный знак встречает меня весёлым Hello World и рассказывает мне о чудесных местах, куда я смогу отправиться, меня неизбежно ждёт разочарование. Через тысячу шагов я чувствую землетрясение, земля безумно трясётся подо мной и чем быстрее я пишу код, пытаясь обогнать свою судьбу, тем больше пропадает новая дорога под обломками собственного синтаксиса. Теперь я такой, каким Вы меня видите: горький старик, который не доверяет пути, единственный, кто казнит себя. И именно поэтому я испытываю такую боль с Вами, молодой монах! Из-за Вашего неугасимого рвения создавать новые фреймворки, что Вы проявляете по глупости, а я из-за цинизма. Если я смогу научить Вас распознавать дорогу к свободе, то я, возможно, последую за Вами по ней".

Original: The Province of Eternal Crisis

среда, 9 апреля 2014 г.

Вакансия

К нам в команду ищется Java 2D Engineer, умеющий рисовать нативными средствами на разных платформах.
Шлите резюме мне - бонус пропьём ;)

Семь красных линий

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

А вот видео на русском существует уже давно, да ещё и не одно: Совещание, Профессионалы и Семь красных линий.

Chrome 34

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

Горячо

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

понедельник, 7 апреля 2014 г.

1000 слов

Одна монахиня зашла в келью писца Ци.

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

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

"Я стремлюсь быть тщательной", - сказала монахиня.

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

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

"Это число в двоичной системе", - сказал писец.

Монахиня моргнула: "Восемь слов?"

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

Original: The 1000 Words

Sir Anthony Hopkins & André Rieu

Когда-то Энтони Хопкинс написал свой вальс, а пару лет назад попросил Андре Рьё исполнить его с оркестром:

Подсмотрел сию душевную музыку на тупичке Гоблина. Есть в ней что-то неуловимое от Шостаковича.

Самостоятельный

Мишка с классом и с учителем уехал в санаторий. Насколько я понял, у школы есть возможность регулярно отправлять туда классы. Наши в первый раз поехали, а параллельный класс уже пару раз съездил. Мишка доволен как слон ;)

Холодно

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

воскресенье, 6 апреля 2014 г.

Шарманка

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

пятница, 4 апреля 2014 г.

Неподдерживаемый протокол

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

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

Не успела вечеринка начаться, как Жинг вдруг извинилась. Перед своей веб-камерой она положила наспех написанный знак BRB (скоро буду).

Через несколько часов двери Большого Зала отворились и очень бледно выглядящая монахиня прошла через них. По всей толпе быстро разошлась новость, что монахиня Жинг пришла впервые за несколько лет.

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

Когда Жинг сделала большой глоток, Йывень сказала: "Тысяча извинений за моё любопытство, но почему Вы решили прийти сюда по крутой дороге, особенно коварной сейчас из-за тающего льда и скользких камней?"

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

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


* Обычно сокращается до \s{99}\S.

Original: Unsupported Protocol

Электронное письмо

Обращался я тут с жалобой в ПетроЭлектроСбыт, а они мне письмо прислали. На двух страницах...

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

Балама

Скатались сегодня на Лиговку за респираторами для школы. Хоть и потрёпанная "совковая" контора, но люди там душевные. Лёшка перемерил все выставочные противогазы, а ему ещё с собой старую маску подарили.

Кстати, там продаётся всё для занятий по Гражданской Обороне, но меня заинтересовал макет Калашникова. Жаль, что почти 12 тысяч стоит!

четверг, 3 апреля 2014 г.

Задне-обратная совместимость

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

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

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

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



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

"Мы не можем изменить реализацию", - сказал старший монах. - "В настоящее время этот метод используется во всём Храме. Если он вдруг станет отвергать ранее принятые строки, то может произойти катастрофа".

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



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

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

В тот вечер Вангохан получил письмо от настоятеля, в котором утверждалось, что теперь метод должен работать точно как ожидается. Вангохан просмотрел код и обнаружил, что метод совсем не изменился, за исключением комментария сверху:
 /**
  * isHexNumber возвращает true для любой строки,
  * в любом месте которой присутствуют
  * ноль или более шестнадцатеричных цифр.
  */
Вангохан уронил голову на стол: "Очевидно, картонная коробка должна подходить для еды дочери Императора, ибо она присутсвует в Императорском меню".

Original: Ass-Backwards Compatibility

Плакать хочется

Яков Сироткин пишет о переводе стрелки часов:
Вчера я убрал в коде использование org.joda. time.LocalDate.toDateTimeAtMidnight(), знаете, почему этот метод deprecated? Он может бросить исключение, так как из-за перевода стрелок полночи может не быть.

среда, 2 апреля 2014 г.

JetBrains

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

Есть позиция - на Swing писать IDEA, но озвучены такие проблемы, что без исправлений в JDK не обойтись. Надо узнать, нельзя ли сохранить эту позицию в OpenJDK. На вопрос, что улучшить в IDEA, я предложил доработать диаграмму классов. Больше ничего не придумал, ибо последняя версия мне очень понравилась.

Встретил старого знакомого. Очень старого! Лет 15 не виделись. Теперь мучаюсь, пытаясь вспомнить как зовут и где вместе работали. После всего с ГерМишем кофе попили. Обещает, что следующий раз не пропустит сборище STARичков. Особенно, если оно будет у него дома ;)

вторник, 1 апреля 2014 г.

Вкалывай как вол

Ещё одна олимпиадная задачка, что с Мишкой решали:
Садовод-любитель пропалывает свои грядки только по понедельникам, четвергам и нечётным числам. Какое наибольшее число дней подряд он может полоть?
Я даже и не догадывался, что решил неправильно, пока мне не сказали правильный ответ. Изрядно был удивлён!

Тонкий лёд

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

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

Когда Банзен изучил результаты рефакторинга Джишина, он обнаружил, что код стал хорошо организован и значительно упростился. Наиболее резким было сокращение числа классов DTO (объектов передачи данных).

"Я сохранил только те классы, которые напрямую соотносятся с таблицами базы данных", - гордо пояснил Джишин. - "Глядите, вот запрос, объединяющий таблицы Кампания, Солдат и Специализация, но загружающий только по две колонки из каждой. Раньше тут был DTO, единственной целью которого было вернуть шесть значений для каждой строки - позор! Теперь запрос возвращает список кампаний, каждая из которых содержит список солдат, каждый, в свою очередь, содержит список специализаций. Правда, уровень представления теперь должен получить эти объекты, но они являются общими для всего приложения и будут знакомы всем, кто с ней работает".

Банзен погладил бороду: "Вы избрали путь ORM (объектно-реляционного отображения) в разработанной Вами самим библиотеке. Я знаком с достоинствами этого подхода, но знаком и с его недостатками. Каждая из этих трёх таблиц имеет около двадцати столбцов; доменные объекты, соответствующие им, имеют тоже по двадцать полей. Так что теперь вместо загрузки шести столбцов на строку, Вы загружаете шестьдесят? Или выполняете запрос в три прохода? Или используете кеширование?"

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

Банзен вздохнул и потянулся за посохом.



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

Длинный шест был воткнут в землю у его ног. Посередине была привязана записка. Джишин развернул её.
Я приказал клану Одного Ботинка убрать весь мусор со свалки Храма. Разве тут сейчас не мило?

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

Смотри под ноги,
Б.

Original: Thin Ice

Crack down on ...

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

А когда вступит в действие закон о запрете курения в местах употребления пищи, то будет как в Бостоне, в 1999 году. Помню, Пунтиков сильно расстраивался, что пить надо внутри, а курить снаружи. Отстаём от США всего-то на 15 лет ;)