Гитара — моя слабость Boyce Avenue (Music Group)

А эти парни мне весь мозг взорвали, какое звучание, какой голос, какие песни!
http://www.youtube.com/user/boyceavenue

Tracy Chapman — Fast Car (Boyce Avenue & Kina Grannis acoustic cover)

U2 — With Or Without You (Boyce Avenue & Kina Grannis acoustic cover)

Boyce Avenue — Broken Angel (Live & Acoustic at The Fort Studios)

Еще раз с наступающим всех. Хочется, чтобы в новогоднюю ночь настроение было такое же, какое создают у меня эти музыкальные композиции.
+1

Новый год без нового года

Недавно был у парикмахера. Первый вопрос, который она мне задала, новогоднее ли у меня настроение. После ответа НЕТ сказала, что у всех ее клиентов так.
А откуда у меня радости быть? Визу канадскую не дали; пытаюсь уехать с кем-то другим в конце зимы в альпийские горы, но не получается; на работе все негладко, не шатко; дела вообще идут странно, никак не могу наладить свой, так сказать, тайм-менеджмент; на НГ делать нечего, поэтому 30, 31 и после этого несколько дней планирую провести на лыжах; друзей нет, врагов тоже, плаваю в эфире; есть идеи, но нет возможностей; есть цель, но нет смысла.

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

Надеюсь, что в на майские праздники следующего года окажусь в Венесуэлле и снова буду бороздить морские просторы (windsurfing) опять наедине с собой. Это пока что самое действенное средство для осознания того, что жизни все-таки как-то движется, а не стагнировала.

А итоги… итоги подводить не хочется. Нечего подводить. Есть какие-то достигнутые меркантильные, прагматичные цели, но что о них говорить.

Будьте счастливы в новом году. Да и вообще всегда.

Горный вопрос

Кто-нибудь этой зимой едет в горы кататься на доске/лыжах? К кому-нибудь еще есть возможность прицепиться? Или может быть кто-то еще только желает собрать компанию и поехать, давайте организуем? А уж сколько в Италии мест интересных… Какие хорошие турагенты по этим местам?

Чем я занимаюсь по работе иногда

В процессе ежедневного труда в ADV приходится часто что-то программировать. В какой-то мере на мне висит сайт http://mozartframework.ru/

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

  • 17 сентября я рассказал, как работает система логирования в Mozart. Используя Apache Commons Logging мы можем подключать различные реализации логеров. В примере описал 2 варианта: java.util.logging и Log4j
  • В этом материале я показал, как удобно можно скрестить работу контроллера в Mozart и его API для реализации функционала, выходящего за рамки обычного API. С помощью контроллера, который предлагает очень широкие возможность, различные функционал можно реализовать совершенно по-разному.
  • А вот тут я рассказал, как легко скрестить Mozart со свободной библиотекой OpenCloud для реализации на сайте облака тэгов. Ну и опять же применение контроллера для кастомизации нашей задачи.

Рабочие сложности

Была задача лаконично реализовывать выборку данных по определенным правилам. Сидел, ломал голову над SQL и GROUP BY (плюс DISTINCT). А ответ оказался совсем рядом, в так называемом перемножении таблиц.

Итого, вместо неработающего, но показывающего требуемую логику, кода:
SELECT broadcast.id FROM broadcast, programme WHERE programme.recommend=1 AND broadcast.programme=programme.id AND broadcast.begintime>=NOW() — INTERVAL ’30 minutes’ GROUP BY broadcast.programme;

Достаточно было написать вот такое простое и маленькое решение:
select b1.id from broadcast as b1, programme as p, (select programme, min(begintime) as begintime from broadcast where begintime>=now() — INTERVAL ’30 minutes’ group by programme) as b2 where b1.programme=b2.programme and b1.begintime=b2.begintime and p.id=b1.programme and p.recommend=1;