Архив метки: adv

Жаль, молодость проходит

В последнее время я что-то много о себе вещаю, да? Эдакий склонный к самосозерцанию, интроверт, аутистический, стремящийся постичь свое истинное «Я».

Иногда лица аутистического характера идут по наиболее легкому пути – общаются только с похожими на себя. Это отчасти правильно, но может усилить имеющиеся особенности характера. А вот общение с эмоциональным, открытым, доброжелательным другом порой полностью меняет характер человека.
Если таким характером обладаете вы сами, то выслушайте добрый совет: не стремитесь усиливать замкнутость, отрешенность, сдержанность чувств в общении. Положительные черты личности, доведенные до крайней степени, превращаются в отрицательные. Старайтесь развивать эмоциональность и умение выражать чувства. Эмоциональная твердость, определенность, умение отстоять свою позицию – это так же необходимо человеку, как и развитие других качеств – интеллектуальных, культурных, профессиональных, деловых и т. п. От недостатка этого страдает человеческое общение – одна из ценнейших сторон жизни. И в конечном итоге – профессиональная деятельность.
(c)

И все-таки это случилось

То, что я не смог осуществить, на что решиться, 10 месяцев назад, осуществилось сегодня. Мой последний день. Он был такой… непонятный. И по настроению тоже. Удивительно, как много новых людей в компании я каким-то образом смог заинтересовать, но сегодня всему этому пришел конец. Останется, видимо, только виртуальное общение. Очень хочется, чтобы ребятам, в комнате с которыми я провел не один год и которые стали как родные (потому что обсуждения создают впечатления, что я знаю все про их жизнь, а они про мою), на мое место/должность посадили более веселого и умного человека, чем я, чтобы все стало еще лучше.

Я не сказал многим «до свидания». Думаю, все меня поймут. Помню, в детстве на летних каникулах в деревне я читал книгу «Пеппи Длинный чулок». Читал я ее все лето, потому что никогда не любил читать, да и всегда было веселее пойти купаться на речку или на веранде порезаться в «дурачка». И вот, когда спустя 2-3 месяца я ее дочитал, мне стало грустно, даже, помню, проступили слезы, потому что история закончилась. Закончился такой большой для меня этап, пережитая совместно история уходит в прошлое. Сейчас я взрослый и реветь, безусловно, не собираюсь, но погрустить можно.

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

«Немного» о работе

А. Носик (dolboeb в ЖЖ) недавно упомянул, что для него оптимальным сроком работы в одной компании является 2 года. Что не сделано за этот период, потом либо вообще не будет сделано, либо очень медленно и неэффективно. Моя текущая занятость продолжается уже 5-й год. Занимался я многим, но в данный момент, как и последние полгода и больше, реализовываю часть крупного портала для известного брэнда. Все это касается непосредственной той программной системы Mozart (http://www.mozartframework.ru/), с которой я начал работать на заре прихода в ADV (http://adv.ru/) и над которой непосредственно уже продолжил работу немного позже.

Будь я менее интровертен, я бы, наверное, мог стать IT-евангелистом этого продукта и всячески старался бы распространять информацию и мнение об этом непростом, но в тоже время довольно интересном фреймворке. Сейчас же я понимаю, что занимаюсь тем, что иду по дороге в никуда. Mozart хоть и открыт для всех, но реально им пользуются лишь несколько людей за пределами компании, а сама компания, ее менеджеры, лишь косвенно заинтересована в продвижении продукта. Поэтому все мои текущие знания — они теоретически. И практическая часть никак не пригодиться мне в будущем. Именно поэтому в свободное от работы время я интересует иными смежными технологями, поддерживаю свои сайты и блоги и общаюсь с людьми, которые работую с иными технологями (netcat, 1с-битрикс и даже umi.cms). Это мне нравится. Но это хобби, я не умею зарабатывать на своих хобби приличных денег. Это позволяет, работая над одним продуктом, заглядывать в другие и что-то портировать от них. Или наооборот что-то советовать пользователям на них и их разработчиком. Довольно интересно работать по линии фриланса (приятно порой один выходной день потратить на решение какой-то замороченной задачи для стороннего заказчика) и смотреть, как были реализованы некоторые функциональные части другими девелоперами до меня.

На Хабре имеется мое резюме. Оттуда мне порой пишут работодатели на предмет поработать над «крупным проектом». Иногда в роли девелопера, иногда в роли руководителя (резюме у меня двойственно). И все они касаются PHP. Это немного скучно. Из меня плохой программист, ибо какой-то непонятный склад ума. Никогда не любил погружаться глубоко в математику, да и разбираться с памятью своей тоже порой сложно. И иногда присылают заявки менеджеры каких-то совершенно разных компаний, которым надо портировать сайт на определенную CMS или переделать все. И вот тут начинается самое веселое, поэтому довольно часто я отказываюсь от подобных работ только на основании того, что на той стороне сидишь обычный менеджер, которые понимает лишь как все это работает внешне. Очень не хочется быть менеджером проекта и разбираться во всех нелепостях. Хочется быть просто технарем, которые красиво и быстро реализует поставленную задачу. А управлением пусть занимаются те, кому интересно читать Адовых клиентов (http://clientsfromhell.ru)

К чему я это все написал… Стою перед дилеммой, когда хочется заниматься тем, чем хочется, что нравится, к чему лежит душа. И не хочется тем, что попадается, навязывает. Но не складывается все. Точнее, большая часть. Ощущение, что занимаюсь чем-то никому не нужным, преследует меня. Никак не находится место под солнцем. И уж тем более речь не о трудоголизме. Речь лишь о том, чтобы делать и приносить этим пользу. Красиво об этом написано в Rework от 37signals, но уж больно идеализированно.

Недавно тут рассказывал, как без особых сложностей реализовывал облако «тэгов». А в блоге на bbz.ru уведомил об улучшениях по интеграции с известными музыкальными сервисами (у самого нет денег поднять хостинг в рамках проекта, уж больно много вкладываться в это). Но кому это надо и как от этого получить требуемое… Безумно хочется красиво писать о своих достижениях и наработках, но нет их. В последнее время мое руководство гонится за непонятными мне профитами.

Do you hate your job? Good. At least, you’re not bored with it. That’s how Tim Ferriss looks at it. According to Ferriss, feeling comfortable at your job can be a trap. «It’s worse to tolerate your job than to hate it because, if the pain is painful enough, you’ll make a change,» he says. «But if it’s tolerable mediocrity, and you’re like, ‘Well, you know it could be worse. At least I’m getting paid.’ Then you wind up in a job that is slowly killing your soul and you’re allowing that to happen. Comfort can be a very, very dangerous thing.» Tim Ferriss on tolerable mediocrity, false idols, diversifying your identity, and the advice he gives startups

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

В процессе ежедневного труда в 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;