четверг, 22 мая 2014 г.
Стареем
Сегодня видел рекламу про очковые линзы и очень удивился, так как у нас в семье всегда использовали слова очёчный или очёчник. Словарь говорит, что это уже устаревшие слова.
Ищу замену
У нас в отделе открыто две вакансии:
IRC2535612: JavaBeans/Swing position
IRC2527554: AWT/Swing position
Ищите указанный номер на сайте вакансий.
IRC2535612: JavaBeans/Swing position
IRC2527554: AWT/Swing position
Ищите указанный номер на сайте вакансий.
среда, 21 мая 2014 г.
Сегодня заглянул в LinkedIn, где я отключил всякие надоедливые напоминания, и обнаружил, что тот сотрудник отдела кадров JetBrains, с которым я последние пару месяцев общался по рекомендации бывшего (и будущего) коллеги, ещё в январе прошлого года пытался связаться со мной через LinkedIn, чтобы предложить работу в этой компании.
Надо будет посмотреть, что нового в этой социальной сети, обновить резюме и наладить теряемые контакты.
Надо будет посмотреть, что нового в этой социальной сети, обновить резюме и наладить теряемые контакты.
Что можно улучшить
На собеседовании меня спросили, что можно улучшить в IDEA. Сразу я затруднился ответить, но потом предложил один финт ушами. Коллеги по Oracle, хорошо знающие API, оценили.
Очень часто в нашей работе появляется необходимость перейти к определённому методу определённого класса:
1. Ctrl+N - ищем класс, а потом
2. Ctrl+F12 - ищем в нём метод.
CamelCase спасает, но... это 2 действия!
Я предложил сделать поддержку точки в окне поиска класса. Например, нажимаем Ctrl+N и вводим
Navigate/Symbol (Ctrl+Alt+Shift+N) работает очень долго, но ничего не находит, а если задать
Константин мне ответил, что он делал что-то подобное, но в текущей версии IntelliJ IDEA этого нет. Мы с коллегами считаем, что это полезная функциональность, особенно для такого развесистого API как у Java. А вы что думаете по этому поводу?
Очень часто в нашей работе появляется необходимость перейти к определённому методу определённого класса:
1. Ctrl+N - ищем класс, а потом
2. Ctrl+F12 - ищем в нём метод.
CamelCase спасает, но... это 2 действия!
Я предложил сделать поддержку точки в окне поиска класса. Например, нажимаем Ctrl+N и вводим
LiBo.pa, чтобы открылся класс LineBorder и сразу выбрался метод paintBorder.Navigate/Symbol (Ctrl+Alt+Shift+N) работает очень долго, но ничего не находит, а если задать
paBo он предлагает метод paintBorder кучи классов, кроме нужного. Search Everywhere (Double Shift) работает тоже не быстро и результат выдаёт совсем левый.Константин мне ответил, что он делал что-то подобное, но в текущей версии IntelliJ IDEA этого нет. Мы с коллегами считаем, что это полезная функциональность, особенно для такого развесистого API как у Java. А вы что думаете по этому поводу?
Мнемоника
Как только Джишин покинул Храм Чугунного Неба, чтобы вернуться домой, ему на плечо упала рука. "Брат", - сказал монах в белых одеждах, - "По твоему прикиду я определил, что ты из храма Утреннего Медного Гонга".
"Отрицать это - значит говорить неправду", - сказал Джишин.
"Я слышал, что это жестокое место, где глупость исправляется унижением и травмами, если не сказать прямо - экзекуцией", - сказал монах.
"Отрицать это - значит говорить неправду", - сказал Джишин, - "но и подтверждать это - тоже лгать".
"Я не понимаю", - сказал монах.
"Величие храма заключается в рассказах о нём", - сказал Джишин, - "Поэтому наш писец иногда корректирует наши летописи, чтобы сделать описанные там истории более... запоминающимися".
"Получается, что вашему самому священному журналу событий нельзя доверять?" - спросил монах в изумлении.
"Null", - ответил Джишин спокойно, как делал его учитель Кайму. - "Можно верить летописям, что описывают верный дух произошедших событий, а не детали тех событий".
Монах плюнул под ноги Джишина: "Ты используешь запутанную логику того, кто ещё кодирует в процедурном стиле. Как ты мог прийти сюда в надежде понять основы правильных алгоритмов, если даже не можешь отличить истинное от ложного?"
Быстрый как молния Джишин отломил ветку с дерева и ударил монаха в белых одеждах по животу. Джишин продолжал бить безмолвного монаха, при каждом ударе приговаривая:
"В языке Perl подчёркивание является понятным!
В языке Perl подчёркивание является понятным!"
Испуганный монах убежал от Джишина и скрылся в башне, чуть не сбив на ёё ступенях старую монахиню.
"Какую цель преследует такое насилие?" - спросила монахиня Джишина.
"Я хотел, чтобы монах выучил мнемонику
"Но мы здесь не используем Perl", - сказал монахиня.
"Именно поэтому я и выбрал его", - сказал Джишин. - "С этого момента, когда монах будет рассказывать о сумасшедшем посетителе, который ответил на его вопрос веткой дерева, он процитирует странные слова, что я приговаривал. И когда он поймёт, почему он их всё ещё знает, он поймёт алгоритм писца из храма Утреннего Медного Гонга".
"Отрицать это - значит говорить неправду", - сказал Джишин.
"Я слышал, что это жестокое место, где глупость исправляется унижением и травмами, если не сказать прямо - экзекуцией", - сказал монах.
"Отрицать это - значит говорить неправду", - сказал Джишин, - "но и подтверждать это - тоже лгать".
"Я не понимаю", - сказал монах.
"Величие храма заключается в рассказах о нём", - сказал Джишин, - "Поэтому наш писец иногда корректирует наши летописи, чтобы сделать описанные там истории более... запоминающимися".
"Получается, что вашему самому священному журналу событий нельзя доверять?" - спросил монах в изумлении.
"Null", - ответил Джишин спокойно, как делал его учитель Кайму. - "Можно верить летописям, что описывают верный дух произошедших событий, а не детали тех событий".
Монах плюнул под ноги Джишина: "Ты используешь запутанную логику того, кто ещё кодирует в процедурном стиле. Как ты мог прийти сюда в надежде понять основы правильных алгоритмов, если даже не можешь отличить истинное от ложного?"
Быстрый как молния Джишин отломил ветку с дерева и ударил монаха в белых одеждах по животу. Джишин продолжал бить безмолвного монаха, при каждом ударе приговаривая:
"В языке Perl подчёркивание является понятным!
В языке Perl подчёркивание является понятным!"
Испуганный монах убежал от Джишина и скрылся в башне, чуть не сбив на ёё ступенях старую монахиню.
"Какую цель преследует такое насилие?" - спросила монахиня Джишина.
"Я хотел, чтобы монах выучил мнемонику
$_ языка Perl и никогда не забывал её", - сказал Джишин."Но мы здесь не используем Perl", - сказал монахиня.
"Именно поэтому я и выбрал его", - сказал Джишин. - "С этого момента, когда монах будет рассказывать о сумасшедшем посетителе, который ответил на его вопрос веткой дерева, он процитирует странные слова, что я приговаривал. И когда он поймёт, почему он их всё ещё знает, он поймёт алгоритм писца из храма Утреннего Медного Гонга".
Original: Mnemonic
вторник, 20 мая 2014 г.
Решение принято
Перед майскими праздниками я доделал тестовое задание и уехал в отпуск. Там его проверили и написали:
Я попробовал заменить одно слово и всё заработало.
Пришлось письмо переписывать...
Вчера прислали предложение, от которого сложно было отказаться. Долго думал, шевелил мозговой извилиной, сегодня сказал: да.
Впечатляет кол-во того, что можно менять. Есть ряд недостатков, которые хочется исправить:Со вторым и третьим пунктами проблем не возникло. Но, как оказалось, GlassPane окна IDEA не заменить, поэтому я попытался разобраться в их API, подсунув Painter в IdeGlassPane. Всю субботу на это убил, но ничего не получилось. В воскресенье я уже написал письмо, что подсветка будет работать только с обычнами окнами, но не успел отправить, как мне в голову пришла идея.
1. Когда выделяем компонент в дереве, хочется понимать где он находится. Как вариант, можно заливать выбранный компонент каким-нибудь полупрозрачным цветом на glasspane.
2. Было бы здорово сделать Инспектор Darcula-aware. По сути, почти везде где вы используете java.awt.Color нужно использовать JBColor.
3. Color-editor прикольный :-) Но его сложно использовать. Можно использовать платформенный.
Я попробовал заменить одно слово и всё заработало.
Пришлось письмо переписывать...
Вчера прислали предложение, от которого сложно было отказаться. Долго думал, шевелил мозговой извилиной, сегодня сказал: да.
понедельник, 19 мая 2014 г.
Бомж
У нас возле метро есть Макдональдс, причём есть одно окно для проходящих мимо, чтобы велосипедисты тоже могли купить чего-нибудь. Я по пути домой заказал там мороженое и жду. Подходят две девицы и одна другой говорит: пошли внутрь, а то тут только бомжи покупают. Я, вроде, нормально одет был...
Может надо побриться? А то хожу с бородой как баба!
Может надо побриться? А то хожу с бородой как баба!
Ворота
У меня в гараже недавно одна воротина с петель слетела и я сегодня договорился со сварщиком её приварить. Ох, как он ругался на изготовителей гаража, что металл тонкий. Хотя, если бы он был не один миллиметр, а два, то и весили бы ворота в два раза больше, и петли более массивные потребовались.
Реклама SkyNet
Сейсас дома закончился интернет, но не как в прошлый раз, а по-доброму. Я запросил отложенный платёж на день и тут же погасил долг по карточке. Надеюсь завтра не отключат ;)
воскресенье, 18 мая 2014 г.
Сезон шашлыков открыт
суббота, 17 мая 2014 г.
Estranged: Act I
В живом журнале нашёл описание одной халявной игрушки, построенной на движке Half-Life 2. Там и моделей много оттуда, причём они сильно отличаются от более топорных моделей, созданных для этой игры. Хотя, может я и придираюсь...


В игре есть и знакомый профессор, и подъёмный кран, которым мы машину когда-то тягали. Даже на электровозе приходится кататься.


Насчёт того, что "геймплей сочетает головоломки с экшеном", могу заявить, что ни до экшена, ни до головоломок, особенно "основанных на массе и размерах свободно перемещаемых предметов", я пока не добрался. Местами дизайнер уровней очевидно халтурил: кусты - разукрашенные прямоугольные стены, дорога - прямолинейна, триггеры появления врагов - ожидаемы. Ну, кроме нескольких мест. Можно "запустить кирпич в окно и разбить его", но только если оно рассчитано на это. Закрытые стеклянные двери офисов не расстрелять даже из автомата и они не откроются, пока не пройдёшь соответсвующий триггер. Можно на игровых компьютерах почитать почту, но там нет описания мира, как в том же DE:HR. Более того, в одном из компьютеров есть программа, требующая пароль с подсказкой "Как зовут вашего питомца?". Так в том же компьютере совершенно свободно можно прочитать письмо из ветеринарной клиники по поводу собаки. Детям будет легко.


В игре есть и знакомый профессор, и подъёмный кран, которым мы машину когда-то тягали. Даже на электровозе приходится кататься.


Насчёт того, что "геймплей сочетает головоломки с экшеном", могу заявить, что ни до экшена, ни до головоломок, особенно "основанных на массе и размерах свободно перемещаемых предметов", я пока не добрался. Местами дизайнер уровней очевидно халтурил: кусты - разукрашенные прямоугольные стены, дорога - прямолинейна, триггеры появления врагов - ожидаемы. Ну, кроме нескольких мест. Можно "запустить кирпич в окно и разбить его", но только если оно рассчитано на это. Закрытые стеклянные двери офисов не расстрелять даже из автомата и они не откроются, пока не пройдёшь соответсвующий триггер. Можно на игровых компьютерах почитать почту, но там нет описания мира, как в том же DE:HR. Более того, в одном из компьютеров есть программа, требующая пароль с подсказкой "Как зовут вашего питомца?". Так в том же компьютере совершенно свободно можно прочитать письмо из ветеринарной клиники по поводу собаки. Детям будет легко.
Вместимость
пятница, 16 мая 2014 г.
Монолит
Молодой монах Джишин подошёл к учителю Кайму и сказал: "Расскажите мне о Храме Чугунного Неба, где вы были первым учеником".
Кайму ответил: "Это странное и опасное место. Знание висит в воздухе густом как туман, но если там задержаться на час, Вы будете знать меньше, чем когда туда вошли."
Джишин решил, что надо увидеть, как такое может быть правдой. Так он туда и отправился.
Согласно его карте этот храм располагался в районе лесистого холма у подножия высоких гор; дорожный знак на главной дороге указывал на заброшенную тропу. По ней Джишин прошёл через большие Врата AND и обнаружил, что поднимающаяся тропа действительно скрывается в тумане, поднимающемся большими клубами из рощи кипарисов, лежащей далее по склону. Туман сгущался у основания бледной башни в центре храмовой территории. Тропа, отмеченная влажными камнями, привела Джишина к её ступеням.
"Что это за место, приятель?" - спросил он монаха в белых одеждах, сидящего на ступенях.
Монах оторвался от кода Haskell, который он изучал: "Посторонние называют его Башней Слоновьего Бивня, хотя мы знаем её под другим именем. Но ответьте мне на вопрос: Вы инженер-программист?"
"И в сердце, и на деле", - ответил Джишин.
"Если хотите, можете всё обдумать, а затем следуйте по тропе к кипарисовой роще и побеседуйте с медитирующими там монахинями", - сказал монах в белых одеждах. - "Эта башня пока не для Вас".
В роще туман сгустился, став тёплым и горьким на вкус; откуда-то спереди шёл звук пузырящейся воды. Деревья расступились, и Джишин оказался на поляне, где сидели четыре монахини в белых одеждах, созерцая монолит из блестящего чёрного базальта. На нём были надписи, каких монах никогда раньше не видел:
"Мы называем его Монада", - сказала первая монахиня.
"Почему вы так почитаете его?" - спросил Джишин.
"Через него мы можем прикоснуться к нечистому не боясь повреждений", - сказала вторая монахиня. - "Мы можем срубить Вроде-дерево Вроде-топором и всегда слышать Вроде-звук, когда оно падает - даже если звук вообще Ничто, топор не реален или нет дерева, чтобы срубить".
"Не могли бы вы... объяснить это объяснение?" - спросил Джишин.
"Он даёт нам возможность кодировать без ошибок", - сказала третья монахиня, - "ибо мы считаем функцию безопасной, только если один её вход определяет её выход. Но когда функция сочится побочными эффектами, то из каждой капли вина может выскочить виноградная лоза и проколоть наше приложение своими шипами. Монада говорит нам, как накладывать повязку, чтобы остановить это течение. Мы оборачиваем функцию сверху, связываем с реальным миром снизу; мы передаем это внутрь, трясём и вытаскиваем обратно. И всё!"
"А эта надпись... Это код?" - спросил Джишин, восхищаясь монолитом.
Монахини переглянулись: "Когда-нибудь все будут знать его так же как и
"Я больше не уверен", - ответил Джишин, окончательно запутавшись.
И в тот момент молодой монах просветился.
Точки с запятой прыгают по четырём углам окна.
Буря может сравнять высокий холм с землёй -
Но когда меняется мир, результат бури - большая загадка.
Кайму ответил: "Это странное и опасное место. Знание висит в воздухе густом как туман, но если там задержаться на час, Вы будете знать меньше, чем когда туда вошли."
Джишин решил, что надо увидеть, как такое может быть правдой. Так он туда и отправился.
Согласно его карте этот храм располагался в районе лесистого холма у подножия высоких гор; дорожный знак на главной дороге указывал на заброшенную тропу. По ней Джишин прошёл через большие Врата AND и обнаружил, что поднимающаяся тропа действительно скрывается в тумане, поднимающемся большими клубами из рощи кипарисов, лежащей далее по склону. Туман сгущался у основания бледной башни в центре храмовой территории. Тропа, отмеченная влажными камнями, привела Джишина к её ступеням.
"Что это за место, приятель?" - спросил он монаха в белых одеждах, сидящего на ступенях.
Монах оторвался от кода Haskell, который он изучал: "Посторонние называют его Башней Слоновьего Бивня, хотя мы знаем её под другим именем. Но ответьте мне на вопрос: Вы инженер-программист?"
"И в сердце, и на деле", - ответил Джишин.
"Если хотите, можете всё обдумать, а затем следуйте по тропе к кипарисовой роще и побеседуйте с медитирующими там монахинями", - сказал монах в белых одеждах. - "Эта башня пока не для Вас".
В роще туман сгустился, став тёплым и горьким на вкус; откуда-то спереди шёл звук пузырящейся воды. Деревья расступились, и Джишин оказался на поляне, где сидели четыре монахини в белых одеждах, созерцая монолит из блестящего чёрного базальта. На нём были надписи, каких монах никогда раньше не видел:
(>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b return :: a -> m a"Что это за камень, уважаемые дамы?" - спросил Джишин.
"Мы называем его Монада", - сказала первая монахиня.
"Почему вы так почитаете его?" - спросил Джишин.
"Через него мы можем прикоснуться к нечистому не боясь повреждений", - сказала вторая монахиня. - "Мы можем срубить Вроде-дерево Вроде-топором и всегда слышать Вроде-звук, когда оно падает - даже если звук вообще Ничто, топор не реален или нет дерева, чтобы срубить".
"Не могли бы вы... объяснить это объяснение?" - спросил Джишин.
"Он даёт нам возможность кодировать без ошибок", - сказала третья монахиня, - "ибо мы считаем функцию безопасной, только если один её вход определяет её выход. Но когда функция сочится побочными эффектами, то из каждой капли вина может выскочить виноградная лоза и проколоть наше приложение своими шипами. Монада говорит нам, как накладывать повязку, чтобы остановить это течение. Мы оборачиваем функцию сверху, связываем с реальным миром снизу; мы передаем это внутрь, трясём и вытаскиваем обратно. И всё!"
"А эта надпись... Это код?" - спросил Джишин, восхищаясь монолитом.
Монахини переглянулись: "Когда-нибудь все будут знать его так же как и
20 GOTO 10 и так же легко читать. Но ответьте нам на вопрос: Вы инженер-программист?""Я больше не уверен", - ответил Джишин, окончательно запутавшись.
И в тот момент молодой монах просветился.
Комментарий Ци
По иронии судьбы, у Монады всегда есть как минимум один побочный эффект: она заставляет меня чувствовать себя идиотом.Стихотворение Ци
Экран темнеет.Точки с запятой прыгают по четырём углам окна.
Буря может сравнять высокий холм с землёй -
Но когда меняется мир, результат бури - большая загадка.
Original: Monolith
четверг, 15 мая 2014 г.
Райффайзен
Вчера расплатился в аптеке по карте и пришло SMS, где остаток на счету отличался от предыдущего на 1000 рублей. Я даже зашёл в банк, чтобы разобраться, но они мне сказали, что раз я расплачивался в евро, то это разница в курсах евро дня оплаты и дня списания денег. Я сказал, что даже если курс отличался на 1 рубль, я всё-равно не потратил 1000€. Но мне выдали распечатку и сказали разбираться самому. Я нашёл эти деньги, потратив час...
Конечно, разница в рублях есть, но она незначительна. Оказалось, что мне не пришло несколько SMS. В основном, это происходило в тех случаях, когда сделав покупку я возвращался и делал ещё одну на меньшу сумму. Типа в магазине забыли воду купить или в музее докупили сувениры. Так и продолбался пяток SMS.
Конечно, разница в рублях есть, но она незначительна. Оказалось, что мне не пришло несколько SMS. В основном, это происходило в тех случаях, когда сделав покупку я возвращался и делал ещё одну на меньшу сумму. Типа в магазине забыли воду купить или в музее докупили сувениры. Так и продолбался пяток SMS.
среда, 14 мая 2014 г.
Отключаем GPS
Рогозин объявил, что скоро отключат наземные станции GPS. Похоже, что санкции становятся двусторонними.
воскресенье, 11 мая 2014 г.
Союзмультфильм в Ленте
В магазине обнаружили красочные добротные игрушки по мотивам старых советских мультфильмов. Забавно, раньше всё было только западное...
суббота, 10 мая 2014 г.
Круиз-контроль
Круиз-контроль - это круто! Особенно за границей. У нас же дороги сильно перегружены автомобилями и приходится постоянно отключать круиз-контроль. А в Таллине мы даже по городу ездили с ним на 50-ти км/ч. Не везде, конечно, но всё же!
Очередь домой
Eckerö Line
Чтобы не встрясть в Нарве как в прошлый раз, мы решили поехать на пароме и взяли билеты на 12 часов. Немного дороже, чем Viking Line, зато время удобнее.
Приехали за час одними из первых и наблюдали прибытие парома в порт и его разгрузку. Оказывается, что там помещается куча машин!
Я сначала переживал, что придётся доплачивать, так как у нас машина длиннее пяти метров, но всё обошлось.
Паром слегка отличается от того, на котором мы плавали раньше. Например, тут нет детской площадки. Зато недалеко от наз гитарист исполнял старые хиты.
Приехали за час одними из первых и наблюдали прибытие парома в порт и его разгрузку. Оказывается, что там помещается куча машин!
Я сначала переживал, что придётся доплачивать, так как у нас машина длиннее пяти метров, но всё обошлось.
Паром слегка отличается от того, на котором мы плавали раньше. Например, тут нет детской площадки. Зато недалеко от наз гитарист исполнял старые хиты.
Подписаться на:
Сообщения (Atom)









