С утра с одним из пап поехали на Крупу, где я в среду заказал канцелярию. Получилось ровно по тысяче на каждого из 14-ти.
Домой везти кучу барахла никому не хотелось, поэтому решили наудачу заехать в школу. Повезло, что там оказалась директор. Она ждала работяг, ну и пустила нас в класс.
Я уже заходил в подъезд как начался ливень. Опять повезло!
суббота, 4 августа 2012 г.
пятница, 3 августа 2012 г.
100 Doors
Интересная головоломка под Android. Иногда уровни просто решаются, иногда несколько дней думать приходится.Но показанный на картинке уровень мне пришлось подсмотреть. Я со своим дальтонизмом смог определить только cyan, orange и red. Тяжело не англоговорящему определить, что бордовый - dark red и зелёный - light green, а не green. Иногда, бесит страшно!
Гордость
После беглой экспертизы учитель Java постановил, что каждый монах клана Следа Слона должен отныне сам ловить себе рыбу, сам собирать себе рис, сам шить себе одежду и латать себе обувь.
В течение месяца монахи ходили полуголые и истощенные. Сроки окончания работ начали сдвигаться. Настоятель попросил учителя Java пересмотреть свое решение.
"Очень хорошо", - сказал учитель Java. "Пусть они сжигают одежду и обувь, а также выкидывают в реку рис и рыбу каждый четверг".
Настоятель спросил, за какой проступок его клан заслужил такое наказание.
"Наказание?" - сказал учитель Java. "Я намеревался только вознаградить. Не монахи ли клана Следа Слона наслаждались своей независимостью и самодостаточностью? Их код говорит мне о многом!"
"Каждый разработал практически такие же объекты доступа к данным (DAO) и объекты значений (VO), как и его коллеги. Каждый написал собственные утилиты работы со строками и собственные синтаксические анализаторы файлов конфигурации. Каждый упорно трудился над разработкой, внедрением, интеграцией, тестированием, отладкой, исправлением и улучшением того, что он мог бы просто позаимствовать у одного из братьев."
"Должен ли я предположить некомпетентность?
Ежели да, то все до последнего монаха клана Следа Слона должны быть изгнаны из монастыря."
"Должен ли я предположить умышленное игнорирование?
Если это так, то согласно традиции они сами должны ослепить себя крапивой, а затем быть изгнаны."
"Должен ли я предположить презрение к ценности времени?
Если это так, то подземелья ждут..."
"Но нет," - закончил учитель Java. "Вместо этого я предположил гордость - каждый гордится тем, что его код лучше, чем у его братьев. Гордость является одним из Четырех Начал Величия и должна поощряться. Пусть клан Следа Слона оттачивает свои навыки владения ножницами и копьями, иглами и серпами до тех пор, пока каждый монах не будет гордиться своей прекрасной одеждой и щедрыми дарами на тарелке!"
"Тогда останется мало времени для кодирования", - заметил настоятель. "Император вполне буквально трактует слова: срок окончания (deadline)".
Учитель кивнул. "Только что разорённый купец знает только муки потерь. Тогда как старый отшельник нахваливает достоинства аскезы и не собирается менять своё положение. Но не являются ли они одним и тем же человеком, разделенным лишь пропастью лет?"
Таким образом, клан Следа Слона был спасён дважды и исправлен.
В течение месяца монахи ходили полуголые и истощенные. Сроки окончания работ начали сдвигаться. Настоятель попросил учителя Java пересмотреть свое решение.
"Очень хорошо", - сказал учитель Java. "Пусть они сжигают одежду и обувь, а также выкидывают в реку рис и рыбу каждый четверг".
Настоятель спросил, за какой проступок его клан заслужил такое наказание.
"Наказание?" - сказал учитель Java. "Я намеревался только вознаградить. Не монахи ли клана Следа Слона наслаждались своей независимостью и самодостаточностью? Их код говорит мне о многом!"
"Каждый разработал практически такие же объекты доступа к данным (DAO) и объекты значений (VO), как и его коллеги. Каждый написал собственные утилиты работы со строками и собственные синтаксические анализаторы файлов конфигурации. Каждый упорно трудился над разработкой, внедрением, интеграцией, тестированием, отладкой, исправлением и улучшением того, что он мог бы просто позаимствовать у одного из братьев."
"Должен ли я предположить некомпетентность?
Ежели да, то все до последнего монаха клана Следа Слона должны быть изгнаны из монастыря."
"Должен ли я предположить умышленное игнорирование?
Если это так, то согласно традиции они сами должны ослепить себя крапивой, а затем быть изгнаны."
"Должен ли я предположить презрение к ценности времени?
Если это так, то подземелья ждут..."
"Но нет," - закончил учитель Java. "Вместо этого я предположил гордость - каждый гордится тем, что его код лучше, чем у его братьев. Гордость является одним из Четырех Начал Величия и должна поощряться. Пусть клан Следа Слона оттачивает свои навыки владения ножницами и копьями, иглами и серпами до тех пор, пока каждый монах не будет гордиться своей прекрасной одеждой и щедрыми дарами на тарелке!"
"Тогда останется мало времени для кодирования", - заметил настоятель. "Император вполне буквально трактует слова: срок окончания (deadline)".
Учитель кивнул. "Только что разорённый купец знает только муки потерь. Тогда как старый отшельник нахваливает достоинства аскезы и не собирается менять своё положение. Но не являются ли они одним и тем же человеком, разделенным лишь пропастью лет?"
Таким образом, клан Следа Слона был спасён дважды и исправлен.
Original: Pride
- Клан Следа Слона
Специалисты уровня хранения данных. Где бы мы были без наших баз данных и их API? Без JDBC, SQL или Hibernate? Представьте этот мир: лишенный дисковой памяти, без таблиц и последовательностей, без триггеров и хранимых процедур и бесконечное, бесконечное улучшение производительности...
Извините. Кажется, я попал в лучший мир и потерял ход мысли...
четверг, 2 августа 2012 г.
ID карта
А вот это уже интересно. Надо будет попробовать получить такую карту. Надеюсь, что бумажный паспорт они всё-таки ликвидируют.
Chrome 21
На этот раз браузер обновился очень заметно, за что спасибо криворуким программистам. Сегодня он покрэшился и поднялся с уже новой версией. Куча данных слетела нафиг, например, прогресс в лабиринте. Так лениво заново начинать!
Официально они залатали 15 секьюрити дыр и добавили API для передачи высококачественного видео. А на деле - осадок остался...
Официально они залатали 15 секьюрити дыр и добавили API для передачи высококачественного видео. А на деле - осадок остался...
Бесконечности
Два монаха из клана Паука спорили, вошла ли в бесконечный цикл новая процедура проверки входных данных.
"Как долго это работает?" - спросил настоятель.
"Не более тридцати минут", - сказал бледный и худой монах.
"Но и не меньше, чем всё остальное", - сказал загорелый и толстый монах.
"И всё это время вы ничего не делали, ожидая завершения?" - спросил настоятель.
Монахи от стыда склонили головы.
Настоятель сообщил об этом учителю Java, который кивнул: "Который из них считает, что цикл не бесконечный?"
"Бледный и худой", - сказал настоятель.
"Тогда выдайте ему бурдюк с вином, ибо он мудр. Ни один цикл не может быть по-настоящему бесконечным. Когда-нибудь произойдёт сбой питания, сервер заржавеет, храм рухнет и солнце поглотит землю".
И спросил настоятель: "А как быть с загорелым и толстым, считающим, что цикл бесконечен?"
"Выдайте ему два бурдюка с вином, ибо он мудрее. Для пользователя, ожидающего ответа браузера, десять секунд - агония, минута - вечность, а если дольше, то фактически бесконечность. Когда тигр терзает антилопу, её не интересует, используется восемь когтей или миллион".
"Как долго это работает?" - спросил настоятель.
"Не более тридцати минут", - сказал бледный и худой монах.
"Но и не меньше, чем всё остальное", - сказал загорелый и толстый монах.
"И всё это время вы ничего не делали, ожидая завершения?" - спросил настоятель.
Монахи от стыда склонили головы.
Настоятель сообщил об этом учителю Java, который кивнул: "Который из них считает, что цикл не бесконечный?"
"Бледный и худой", - сказал настоятель.
"Тогда выдайте ему бурдюк с вином, ибо он мудр. Ни один цикл не может быть по-настоящему бесконечным. Когда-нибудь произойдёт сбой питания, сервер заржавеет, храм рухнет и солнце поглотит землю".
И спросил настоятель: "А как быть с загорелым и толстым, считающим, что цикл бесконечен?"
"Выдайте ему два бурдюка с вином, ибо он мудрее. Для пользователя, ожидающего ответа браузера, десять секунд - агония, минута - вечность, а если дольше, то фактически бесконечность. Когда тигр терзает антилопу, её не интересует, используется восемь когтей или миллион".
Original: Infinities
- Клан Паука
- Разработчики пользовательского интерфейса для Web. Да, все смеются, когда вы говорите, что "программируете" на HTML, JSTL, CSS или JavaScript. Но это только до тех пор, пока заказчик не решит, что на главной странице приложения обязательно должны быть танцующие полупрозрачные свиньи, двигающиеся вслед за курсором мыши.
Обстановка накаляется
Россия и Китай решили побряцать оружием. Не к добру всё это. Слабо верится про "учения". Для них могли найти другое место.
We will survive
Вот так придёшь слушать камерную музыку, а там такое:
I will survive - известная тема, оригинал можно найти на youtube.
Я даже вспомнил фильм, где её слышал...
I will survive - известная тема, оригинал можно найти на youtube.
Я даже вспомнил фильм, где её слышал...
среда, 1 августа 2012 г.
Сокращение, переиспользование, утилизация
Послушник спросил великого учителя: "Что такое Путь?"
Учитель ответил: "Написание кода - Путь".
Затем послушник спросил: "Что такое не Путь?"
Учитель ответил: "Написание кода - не Путь".
Послушник сказал: "Тогда написание кода это всё".
Учитель ответил: "И не написание кода тоже".
Послушник спросил: "А сейчас мы пишем код или нет?"
Учитель ответил: "Мы есть код".
Учитель ответил: "Написание кода - Путь".
Затем послушник спросил: "Что такое не Путь?"
Учитель ответил: "Написание кода - не Путь".
Послушник сказал: "Тогда написание кода это всё".
Учитель ответил: "И не написание кода тоже".
Послушник спросил: "А сейчас мы пишем код или нет?"
Учитель ответил: "Мы есть код".
Original: Reduce, Reuse, Recycle
USB-зарядка
Народ так уже привык заряжать телефоны и другие устройства через USB, что консорциум разработал новую спецификацию для передачи энергии. Интересно, а если подключить питание ноутбука к его разъёму USB, то получится вечный двигатель?
Но больше всего мне понравились стишки из комментариев к соответствующей новостной статье на habrahabr.ru.
Маленький хакер в подстанцию влез,
Перенаправил поток он с АЭС.
Клевая мощность - два мегаватта,
Быстро горит материнская плата!
Маленький мальчик компьютер чинил,
Какую-то пимпочку там открутил...
Долго ругались в РАО «ЕЭС»:
На компьютер работал весь «ДнепроГЭС».
Но больше всего мне понравились стишки из комментариев к соответствующей новостной статье на habrahabr.ru.
Маленький хакер в подстанцию влез,
Перенаправил поток он с АЭС.
Клевая мощность - два мегаватта,
Быстро горит материнская плата!
Маленький мальчик компьютер чинил,
Какую-то пимпочку там открутил...
Долго ругались в РАО «ЕЭС»:
На компьютер работал весь «ДнепроГЭС».
Враг хорошего
Монахи клана Смеющейся Обезьяны подошли к учителю Java со списком жалоб.
"Более всего нас расстраивает процесс тестирования", - настаивал самый молодой монах. - "Ручное тестирование утомляет, а автоматические тесты хлопотно создавать. И то, и другое отвлекает от написания кода".
Учитель обдумал это и произнёс: "Очевидно, что мы могли бы отказаться от тестирования, если бы мы знали, что наш код совершенен. А как мы можем достичь совершенства?"
"Практикуясь", - сказал один монах.
"Усердно обучаясь", - сказал другой.
"Ублажая надлежащих богов", - сказал третий.
Старый седобородый монах, тихо сидевший в углу, поднял голову:
"Я знаю, как можно достичь совершенства", - сказал он. "Но я боюсь, что все, кто услышит мой ответ, будут всегда сомневаться в его правильности, пока я не скажу именно те слова, что нужно, с наиболее приятной интонацией и в самый благоприятный момент дня. А сейчас я должен подумать, как это сделать лучше всего".
Старый монах надолго замолчал. В конце концов зазвонил обеденный колокол.
"Сколько времени это займет?" - спросил один из послушников.
"Не более сотни лет", - ответил старый монах.
"Более всего нас расстраивает процесс тестирования", - настаивал самый молодой монах. - "Ручное тестирование утомляет, а автоматические тесты хлопотно создавать. И то, и другое отвлекает от написания кода".
Учитель обдумал это и произнёс: "Очевидно, что мы могли бы отказаться от тестирования, если бы мы знали, что наш код совершенен. А как мы можем достичь совершенства?"
"Практикуясь", - сказал один монах.
"Усердно обучаясь", - сказал другой.
"Ублажая надлежащих богов", - сказал третий.
Старый седобородый монах, тихо сидевший в углу, поднял голову:
"Я знаю, как можно достичь совершенства", - сказал он. "Но я боюсь, что все, кто услышит мой ответ, будут всегда сомневаться в его правильности, пока я не скажу именно те слова, что нужно, с наиболее приятной интонацией и в самый благоприятный момент дня. А сейчас я должен подумать, как это сделать лучше всего".
Старый монах надолго замолчал. В конце концов зазвонил обеденный колокол.
"Сколько времени это займет?" - спросил один из послушников.
"Не более сотни лет", - ответил старый монах.
Original: The Enemy of the Good
- Клан Смеющейся Обезьяны
- Специалисты по бизнес-логике. Бесконечное [практически] количество монахов за бесконечным множеством клавиатур, радостно набирающее всякую чушь и иногда получающее компилируемый код.
вторник, 31 июля 2012 г.
Typical Java-developer
На детской площадке в Часцах, где большинство знают друг друга с детства, к Юле подошла знакомая и спросила:
- А твой муж, случайно, не программист?
- Да, а как ты догадалась?
- Мой муж сказал, что он выглядит как типичный программист. А что он программирует?
Моя жена более-менее представляет, чем я занимаюсь, но понимает, что многие не поймут. Поэтому она ответила просто:
- Он разрабатывает саму джаву...
Даже такой простой ответ вогнал спросившую в глубокий ступор.
- А твой муж, случайно, не программист?
- Да, а как ты догадалась?
- Мой муж сказал, что он выглядит как типичный программист. А что он программирует?
Моя жена более-менее представляет, чем я занимаюсь, но понимает, что многие не поймут. Поэтому она ответила просто:
- Он разрабатывает саму джаву...
Даже такой простой ответ вогнал спросившую в глубокий ступор.
Если нельзя, но хочется
Буквально одновременно с моим коллегой мы наткнулись на проблему с использованием классов из JDK, расположенных на четвёртом уровне вложенности пакетов. В частности, мой тест для класса
С локальной сборкой тест работал как ожидалось, поэтому был отправлен в пространство на сервер. Через некоторое время на меня выставили баг, что тест не работает, так как класс ClassFinder не найден. Я скачал последние сырцы, скомпилировал и у меня заработало. В результате долгой с тестерами выяснилось, что тест не работает только с построенным для публикации bundle.
Оказалось, что при компиляции Java использует символьный файл lib\ct.sym, который создаётся автоматически. Как его обновлять никто не знает. В моём случае это не актуально, но неожиднно для публичных классов, которые использовал мой коллега.
Зачем этот класс тоже никто не знает, но он есть и портит всем жизнь. Если бы он был нужен для обеспечения security, то это было бы понятно, но можно просто обойти это ограничение, использовав следующий ключ для компиляции:
PS. Век живи - век учись. Вроде уже столько лет разрабатываю саму Java и, всё-равно, нашёл что-то новенькое, про что большинство и не знает.
com.sun.beans.TypeResolver работает уже давно, а с новым тестом для com.sun.beans.finder.ClassFinder началась мистика.С локальной сборкой тест работал как ожидалось, поэтому был отправлен в пространство на сервер. Через некоторое время на меня выставили баг, что тест не работает, так как класс ClassFinder не найден. Я скачал последние сырцы, скомпилировал и у меня заработало. В результате долгой с тестерами выяснилось, что тест не работает только с построенным для публикации bundle.
Оказалось, что при компиляции Java использует символьный файл lib\ct.sym, который создаётся автоматически. Как его обновлять никто не знает. В моём случае это не актуально, но неожиднно для публичных классов, которые использовал мой коллега.
Зачем этот класс тоже никто не знает, но он есть и портит всем жизнь. Если бы он был нужен для обеспечения security, то это было бы понятно, но можно просто обойти это ограничение, использовав следующий ключ для компиляции:
java -XDignore.symbol.file ClassName.javaPS. Век живи - век учись. Вроде уже столько лет разрабатываю саму Java и, всё-равно, нашёл что-то новенькое, про что большинство и не знает.
Олимпиада
Олимпиаду я не смотрю, но за новостями пытаюсь следить. И самое неприятное, когда по телевизору говорят, что Россия в десятке лучших. Даже не в тройке!
Хотя более-менее понятно, что это результат развала страны и полной разрухи 90-ых. Как раз именно тогда родились современные спортсмены. А у нас было снижение рождаемости, закрытие спортивных секций или перевод их на самоокупаемость.
Надеюсь, что лет через десять результат будет лучше.
Хотя более-менее понятно, что это результат развала страны и полной разрухи 90-ых. Как раз именно тогда родились современные спортсмены. А у нас было снижение рождаемости, закрытие спортивных секций или перевод их на самоокупаемость.
Надеюсь, что лет через десять результат будет лучше.
понедельник, 30 июля 2012 г.
Пусто
Вернувшись из отпуска, главный настоятель клана Смеющейся Обезьяны нашел свой храм в состоянии паники и хаоса. Финансовая система, которую они намедни изменили, стала генерировать
С трудом настоятель нашёл проблему в использовании метода, заявленной целью которого было вернуть список пользовательских транзакций. Если же транзакций не было, то возвращался
"Приведите ко мне монаха, написавшего этот метод", - сказал он стражам храма, - "а также монаха, который его использовал."
Первый монах, старший из двух, сразу же обвинил второго: "Спецификация метода в высшей степени однозначна. Не моя вина, что он не проверил результат на
Настоятель хлопнул в ладоши и на пол перед каждым монахом были поставлены две высокие нефритовые урны. "Ваши наказания написаны на свитках, находящихся внутри. Каждый день вы должны доставать первый попавшийся свиток и исполнять указанное. И так до тех пор, пока ваша урна не станет пустой".
Младшему монаху было велено идти первым. Не успел он опустить руку и наполовину, как услышал шелест бумаги. Прочитав свиток он поклонился и вышел из комнаты.
Старший монах засунул руку так глубоко, что его пальцы коснулись холодного дна. "В этой урне нет свитка", - сказал монах и слегка улыбнулся уголком рта.
"Там нету ни рыбы, ни десяти гор", - произнёс настоятель.
И тут старший монах вскрикнул от боли. Урна упала и разбилась. Скорпион торопливо побежал по плиткам.
Настоятель посмотрел на умирающего монаха. "Все пустышки не равны".
NullPointerException для всех новых клиентов. Чрезвычайно обеспокоенные пользователи стали закрывать свои счета едва ли не в тот же день.С трудом настоятель нашёл проблему в использовании метода, заявленной целью которого было вернуть список пользовательских транзакций. Если же транзакций не было, то возвращался
null, а не пустой список."Приведите ко мне монаха, написавшего этот метод", - сказал он стражам храма, - "а также монаха, который его использовал."
Первый монах, старший из двух, сразу же обвинил второго: "Спецификация метода в высшей степени однозначна. Не моя вина, что он не проверил результат на
null". Второй монах опустил голову от стыда и промолчал.Младшему монаху было велено идти первым. Не успел он опустить руку и наполовину, как услышал шелест бумаги. Прочитав свиток он поклонился и вышел из комнаты.
Старший монах засунул руку так глубоко, что его пальцы коснулись холодного дна. "В этой урне нет свитка", - сказал монах и слегка улыбнулся уголком рта.
"Там нету ни рыбы, ни десяти гор", - произнёс настоятель.
И тут старший монах вскрикнул от боли. Урна упала и разбилась. Скорпион торопливо побежал по плиткам.
Настоятель посмотрел на умирающего монаха. "Все пустышки не равны".
Original: Empty
- Клан Смеющейся Обезьяны
- Специалисты по бизнес-логике. Бесконечное [практически] количество монахов за бесконечным множеством клавиатур, радостно набирающее всякую чушь и иногда получающее компилируемый код.
Липкая лента
Залез с утра на гараж и клеил его скотчем. Конечно, можно прикалываться долго, но я использовал опыт ремонта крыш времён студенчества. Осталось поверх скотча просмолить или мастикой какой-нибудь пройтись. А вчера не залез только по одной причине: к вечеру крыша накалилась так, что обжечься можно было.
Подписаться на:
Сообщения (Atom)

