It is a great day

There is a snow today!… :)

Andriod in the house

Давненько я тут ничего не писал… Но лучше поздно, чем никогда ;)

Возможно кому-то будет интересно, что же меня “зацепило” на написание очередного поста. Это событие связано с желанием поделиться радостью счастливого обладателя новенького смартфона – Nexus S.

Nexus S

Nexus S

Пока конечно все не привычно и удивительно т.к. еще пару дней назад средством коммуникации в моих руках был Nokia 6120c. Разница разительна скажу вам…

Единственным не очень положительным нюансом на данный момент является сложность фокусирования на задачах, потому что много внимания забирает на себя телефон :) , но надеюсь это не на долго.

Вот результат одной из сессий, поглащенной телефоном ;)

Andoidified me ;)

Andoidified me ;)

Всем удачной недели!

GDD2010Moscow – I was there… #gddru #kyivgtug

На прошедших выходных мне довелось побывать на одном из запоминающихся мероприятий уходящего года – Google Developer Day 2010. Это мероприятие организованное компанией Google для разработчиков и просто людей, влюбленных в эту компанию и использующих её сервисы.

Мероприятие поразило своей организацией, масштабностью и количеством участников. Честно, я первый раз на мероприятии такого уровня. Хотелось бы отметить отзывчивость и готовность ответить на любой поставленный вопрос сотрудников Google – докладчиков. Среди них Michael Mahemoff, Paul Kinlan, Roman Nurik и Fred Sauer, с ними мне удалось пообщаться, а с некоторыми и сфотографироваться.

Roman Nurik (Android Developer Advocate from Google) and me

Roman Nurik (Android Developer Advocate from Google) and me

Как результат общения, удалось услышать информацию о возможности разработки расширений для Chrome на GWT и GWT Dev Plugin for Chrome on Linux, Fred сказал, что он часто слышит этот вопрос, и поспособствует сдвигу в этом направлении, что касается же Dev Mode в Chrome на Linux, то оказывается большинство разработчиков GWT используют Linux… вывод напрашиывается сам. К стати, для особо интересующихся тут есть проектик, с помошью которого можно создавать расширения используя GWT http://github.com/webdizz/gwt4chrome, а тут пример использования http://github.com/webdizz/terciman, само же расширение можно установить отсюда https://chrome.google.com/extensions/detail/kalnlennobeikiffcdhdnjpnmmbjdigi.

С Paul Kinlan и Michael Mahemoff была дискуссия про приложения и возможности монетизации, Paul является автором ряда приложений для twitter, и Michael тоже имеет ряд, но ни кто не пытался продавать свои творения, в прочем как и я… пока;)

Было очень круто, побывать на сцене  - мы – Andrey Yasinetskiy и я учавствовали в секции демо-презентаций. Презентовалось насше расширение, написанное в соавторстве с Timur Porkuyan и занявшее первое место на хаккатоне 23.10.10 в Киевском GTUG.  Расширение можно установить отсюда https://chrome.google.com/extensions/detail/ahmidlokhademhclkbapnlokgdhijjgj, а исходный код лежит тут http://github.com/Yasik/mapemall.

Вобщем впечатлений было масса.

За день же до вышеуказанного события мы, комманда GTUG из Киева, успели поучавствовать в хаккатоне и еще занять призовые места. На этот раз мы с Andrey Yasinetskiy испытывали свои силы в написании приложения для Android, за что получили по симпатичной мягкой игрушке с одноименным названием.

Следующий же день обещал быть не менее интересным – нам повезло посетить новый офис Google в Москве. Компания переехала туда только две недели назад и еще не было официальной презентации, но мы с удовольствием совершили это открытие, правда, фотографиорвать нам не разрешили, но зато очень приятно пообщались с Alexey Shelestenko и приходящими и уходящими сотрудниками попить кофе и других напитков.

Был очень смешной инцидент – мне хотели подарить футболку с логотипом GTUG размера XS (я даже не знал, что такой существует) – было очень много хохота, когда я достал её и попытался примерить…

Затем последовали часы ожидания поезда до Киева, которые мы провели на Арбате.

P.S. Огромное спасибо всем, кто принимал участие во всех вышеперечисленных мероприятиях.

P.P.S. Обзор о случившемся вы так же можете почитать тут.

Kyiv GTUG HTML5 hackathon #chromekyiv.

Last saturday (23.10.10) I was a participant of the HTML5 hackathon day organized by Kyiv GTUG can be followed in twitter #chromekyiv . There were a lot of fun.

Excellent speech by Michael Mahemoff @mahemoff about HTML5 features and perfect talks at coffee-breaks and lunch. I’ve got a lot of good impressions and spent my day with a big pleasure.

After Michael’s speech we had a lunch, during that we (@yasik and @shooshpanchick and me aka @webdizz) were involved in discussions regarding different aspects of developer’s life and technologies and generating ideas for our demos.

From the beginning of idea generating period of the day we decided to build up an app that will show tweets on the Earth rotating with appropriate speed  from twitter . But after several attempts to get a developer key we’ve got stocked. dev.twitter.com was down:(. It was a really shame.

Then we decided to move to something another and again was in a stock.

And time gone on…

So at last we found out an idea to work with. We decided to build an extension for Google Chrome to grab addresses from current page and display those addresses on the Google Maps or on the Yandex Maps and dived in coding.

Our extension contains HTML5 elements tag “nav” in the menu to choose map to display found addresses on and tag “canvas” circles to highlight found and not found addresses on the Google Maps. Also there is a lot of JavaScript magic.

So, time again was against us and it blown out.

The time for demo begun. We were first to demonstrate our work and seems it was ok according to results.

There are following results, we took first place as a team and one girl between all participants Anna Shaban with CSS3 photo gallery and hard-to-describe visual effect involving your name being shown at a million angles and opacities.

All winners were awarded with great presents and invitation to GDD 2010 in Moscow.

I’d like to thank to people who organized such a great event from Kyiv GTUG and to Michael Mahemoff.

SIP soft-phone for Linux – Twinkle

В связи с проектной необходимостью в коммуникациях и прошляпнутой вчера конференции, транслирующейся по Webex, решил разобраться с наличием приложений для VoIP на Linux.
Какое-то время назад у меня уже была попытка настроить себе телефон, но не сложилось… Уже не помню что я тогда пробовал ставить, но все без результатно.
Сегодня же все получилось буквально с пару кликов. Что значит необходимость ;) Первый же ответ на запрос в Google дал очевидные результаты. И выбор пал на Twinkle, далее последовала комманда установки:

sudo aptitude  install twinkle

Далее последовали незамысловатые клики мышкой в определенных местах для настройки сего приложения и “вуаля” – все получилось. Тестовый звонок на свой мобильный успешно произведен. Как говориться – счастье привалило :) .
Всем удачного дня.

Kubuntu 10.10 update

Вчера, как все посвященные уже заметили, вышла новая версия Ubuntu. Простите за тафтологию, но я так же как и все произвел соответствующие телодвижения и апргрейдился до десятки.
Первые сутки, полет нормальный.
Из нестандартных изменений – заработал плагин для сворачивания в трей плеера Quod Libet :)
Впечатления: очень нравятся обновленные иконки в трее и новый шрифт (Eclipse выглядит намного приятнее и рабочее пространство увеличилось).

Git survey

If you have something to improve in the Git follow next link and make an influence http://tinyurl.com/GitSurvey2010-Anonymous .

Spring WS difficulties or lack of documentation

В этот раз история будет о неожидонных сложностях, возникшых с одним из замечательных модулей Spring, а именно Spring WS.

На проекте возникла необходимость написания WebService с нуля, было решено использовать Spring и стандартные технологии  в качестве связующей платформы в пользу проприетарных BEA, а теперь уже Oracle принадлежащих решениях. В частности для слоя работы с базой данных мы решили использовать JPA, а в качестве провайдера OpenJPA, до этоо в компании использовалось DSP, честно, первый раз услышал, разбираться не стали. Для WebService стека соответственно Spring WS, вместо чистого JAX WS со связкой через EJB, DAO и BO слои, вы можете сказать, что JAX WS это тоже стандарт, да не могу с вами не согласиться, но Spring WS находится на грани между стандартами и предоставляет гибкость при использовани разных технологий.

В общем после выбора технологий мы принялись за реализацию, и тут нас настигли небольшие трудности… Spring WS навязывает использование подхода – сначала XML потом Java код, это объясняется необхоимостью обеспечения портированности. Это достигается за счет того, что вы продумываете используемые типы данных в WebService и при генерации кода, можно получить не только для языка, с которым вы работаете, но и для любого другого, либо с вашим WebService сможет работать лубой другой клиент, написанный на любом языке.

Так же одной из еще возникших непонятностей, это возвращаемые и принимаемые на вход аргументы и их типы. Как оказалось после дебага в течении итеративных правок кода, сборки, деплоя на WebLogic, и запуском SOATest на запущенном в режиме отладки WebService, было выяснено, что WSDL, предложенный нам архитекторами не совместим с подходом Spring WS. В частности по привычке работы с JAX WS, методы WebService принимали несколько аргументов как примитивных, так и комплексных типов, что так же было присуще и возвращаемым типам данных. По-началу мысли были в стороне приведения типов аргументов и возвращаемых значений к примитивным, но этот фокус не удался. После дальнейшего “дебага” мы наконец-то поняли – Spring WS поддерживает в качестве аргумента только комплексный тип, описанный в XML, при чем аргумент должен быть один. Ну и возвращаемый тип значения тоже должен быть комплексным и описанным в XML. Таким образом если вы возвращаете значение примитивного типа, то вам нужно обвернуть его в комплексный тип и задекларировать в XML (WSDL или XSD).

После приведенных выше правок, наш WebService закрутился на ура, оставалось соглавсовать наши правки в WSDL с архитекторами.

На первый взгляд упомянутые выше ограничения не логичны, но если поразмыслить, то все становится на свои места. Делая обвертки для множества аргументов и примитивных типов возвращаемых значений в виде комплексного типа, мы увеличиваем уровень абстракции и инкапсуляции WebService.

На этом пожалуй мое повествование можно считать завершенным.

Всем удачи и ожидаемых ожиданий ;)

Guitr – the ease of git usage with multi-git-repo-project structure v0.0.6

Today new version 0.0.6 of the Guitr gem was released with following enhancements:

  • git related operations should be silent to not spam if there is nothing to display
  • options resolving logic was rewritten with OptionParser
  • –exec – a new operation allows to invoke commands against repository directory. For example, you can run guitr –exec ‘git status’ command git status will be invoked against repository directory. It will be helpful if you need to perform similar operations against each repository directory but guitr does not support it. Also the command can be any system command.

For now that’s it.

Enjoy playing Guitr ;)

Medeniye loogat Google Chrome extension

Вот и настал этот долгожданный час:) Сегодня вышла первая версия расширения для Google Chrome.

Функциональность расширения заключается в обеспечении возможности поиска перевода для выбранного слова в словаре Medeniye loogat. Для поиска перевода необходимо нажать кнопку Ctrl и кликнуть 2 раза на интересующем слове для его выделения, затем отобразится найденный перевод либо похожие слова.

Описанный выше функционал пожалуй весь арсенал данного расширения, основной же особенностью является техническая сторона, а именно – оно написано полностью на GWT.

Расширение можно установить с этой страници: https://chrome.google.com/extensions/detail/kalnlennobeikiffcdhdnjpnmmbjdigi .

Copyright © Lead your flow
Just another blog about someone' …

Built on Notes Blog Core
Powered by WordPress