четверг, 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 лет ;)