непутёвые заметки

Post Factum: #GeeCON, #JEEConf, Odessa #JavaTechTalks
[info]anton_arhipov
Сделал самый интенсивный тур за последнее время: 3 эвента за 6 дней, со всем что к эвентам обычно прилагается - аэропорты, автобусы, пьянки, гостиницы..

GeeCON

Началось всё в Познани, на конференции GeeCON. 17 мая выступил там с докладом Mastering java bytecode with ASM. Ничего сверхестественного не рассказывал, тем не менее получил довольно хорошие отзывы - это всегда приятно.

В первый день было аж 3 пленарных доклада где выступали Bruce Eckel, Ivar Jacobson и тадааа! - Gavin King. К моему (и не только) разочарованию все три доклада были довольно посредственными. Брюс бубнил чтото про разные языки программирования и про полиглотство в программировании, Ивар гнал чтото про кернели и гласил что "каждый должен найти _свой_ микрокернель", что было скорее понятием филосовским, чем техническим. Гевин болтал про Ceylon, со слайдами без кода - поэтому я вообще решил этот доклд не слушать, ибо знал что смогу допросить Гевина позже.

Больше на доклады не ходил.

Вечером была пьянка - организаторы GeeCON умеют организовывать сабантуи :) Сначала междусобойчик с докладчиками, потом поход по пабам в центре Познани всей толпой (кто присоеденился).



Ceylon - как выяснилось - довольно жутковатая поделка. Мне сейчас кажется что это язык, который всасывает в себя весь энтерпрайз стек. Болтал за ужином с Гевином, о том какие у него планы, и как это вообще всё заводится. У Ceylon - система модулей, для которой поднимаеются свои загрузщики - JBoss Modules. Благодаря этому в Ceylon становятся возможны всяческие эзотерические действия, типа как генерация кода на лету, трансформации, итд итп. Сейчас они раздумывают как же всё таки сделать интерцепторы... Словом, за довольно интересными идеями в плане синтаксиса и системы типов стоят довольно суровые детали энтерпрайзной реализации. Чёто мне этот язык стал меньше нравиться после таких открытий. Хотя, может я не всё понял.

После возвращения в гостинцу к 5 часам утра, и трёх часов сна, был перелёт из Познани в Варшаву и далее в Киев, дабы принять участие в JEEConf

JEEConf

В Киев летели одним самолётом с Андреем Бреславым - мало того что на одни и те же конференции попадаем, так теперь ещё и одним транспортом добераемся :D



По докладам особо вспомнить ничего не могу - разве что ребята из Oracle порадовали народ как всегда выступлениями про Performance Tuning, Fork/Join, G1. Интересно, что на таких докладах находятся таки люди с полным непониманием того, где они находятся - как результат, вопросы "а когда починят фонты!?" - вполне нормальное явление. Ад. Треш. Угар.

Сам я пробубнил доклад про Jenkins и про то как мы его используем для тестирования JRebel. Рассказывал этот доклад первый раз. На моё удивление, после доклада подходили люди - благодарили за информацию.

Днём успели с другими докладчиками сразиться в настольный футбол, где мне неплохо удалось настрелять голов ребятам из Оракла :)

CeeCON vs JEEConf

GeeCON и JEEConf - вполне сравнимые конференции: в обоих случаях довольно низакая цена, примерно одинаковое количество участников, на экспо - большинство будок от спонсоров-рекрутеров. С GeeCON, правда, по атмосфере всего происходящего, довольно трудно сравниться любой конференции в Европе. Разве что Devoxx, за счёт своей массовости можно поставить выше в моём рейтинге :).

GeeCon-ом драйвит сообщество, местный JUG - не наживы ради - а просто для собственной радости. Правда, ребята говорят, что довольно трудно становится поддерживать мотивацию делая это забесплатно. Но тем не менее - контент они собирают очень приличный. Спонсорский список у них тоже внушительный. Атмосфера на конференции и в вечернии часы - приотличнейшая. Это конференция-праздник.

JEEConf в этом смысле поскромнее - организаторов раз в 10 меньше, спонсоров тоже меньше. Организовать такое мероприятие тамими малыми силами, даже при помощи волантёров - адский труд. Единственный серьёзный момент в на JEEConf - это процесс отбора докладов. Со всех докладчиков требуют слайды заранее, в несколько этапов, очень тщательно рассматривая заявки. Оно и не мудрено - если будет приниматься всё что угодно, то билеты на конференцию будет просто не продать - люди не хотят жалеть о потраченых на конференцию деньгах.

По докладам JEEConf более практичен - большинство докладов рассказывают о каких то успехах или проблемах в использовании того или иного инструмента/фреймворка/методики. Это на самом деле очень даже здорово.

А вот чего сильно нехватает обоим конференциям - и GeeCON, и JEEConf - так это нормальных спонсорских будок на экспо. В большинстве случаев на экспо выставлены будки рекрутёров с которыми болтать особо интереса нет. Я знаю что организаторы со мной в этом моменте не согласятся, но компании которые реально что-то производят вносят в конференции свою изюминку - можно пойти, вместо неинтересного тебе доклада, побеседовать с представителями компании, выложить им кучу притензий относительно их продукта, например :) А ещё можно очень много чего узнать.

А ещё, ночной Киев тоже довольно прикольный. Девушек много красивых ходит :)



Odessa JavaTechTalks

6 часовой переезд из Киева в Одессу был почти незаметен по причине почти полностью безсонной ночи: смотрели футбол (финал лиги чемпионов), пили пиво, болтали на всякие программерские темы, вобщем заснул опять под утро и уром же рано надо было уже гнать на вокзал.

В Одессе, первое, что я услышал выйдя из автобуса, был возглас, "ну що он стоить!?!?" - шла какая то перебранка между водителями трамвая. Повеселило :)

Заехал в гостиницу под названием F.Koklen - таких отелей и в Европе не всегда найдёшь, был очень приятно удивлён.



Надо сказать, что еда в ресторане отеля была просто замечательная.

На утро успел прогуляться по историческому центру Одессы - потёмкинская лестница, ул. Дерибасовская, приморский бульвар, итд.






Погулять успел только рано утром - далее стало невыносимо жалко, и я решил поехать в офис компании Lohika, которая меня в Одессу и пригласила.



В офисе было запланировано мероприятие - названное JavaTechTalks. Получилось что-то вроде нашего девклуба, примерно на 50 человек, но аж на 5 полноценных докладов. Я отбубнил свои стандартные доклады - в немного более сжатой форме, но вроде мысль до людей донёс.

На утро следующего дня, после почти безсонной ночи, был 6-часовой автобусный рейс обратно в Киев, и из Киева в перелёт обратно домой. Фсё - теперь отдых от поездок на месяц.

  • Add to Memories

Developer Productivity Report 2012: Java Tools, Tech, Devs and Data
[info]anton_arhipov
"мы строили, строили, и наконец то построили!" (с)

Отличный рапорт получился. Качайте ПДФ-ку! :)

http://zeroturnaround.com/blog/developer-productivity-report-2012-java-tools-tech-devs-and-data/
  • Add to Memories

Devclub в мае и бесплатный билет на #GeekOUT_ee
[info]anton_arhipov
Ходят слухи, началась регистрация на майскую встречу в девклубе - http://www.devclub.eu/2012/05/15/register-22-05-2012/

А ещё, говорят, что доклады будут интересные - http://www.devclub.eu/2012/05/07/may-announce-2012/

А самое интересное - проходит лотерея, где главный приз (он же и единственный) - бесплатный (!) билет на конференцию GeekOUT.

Что бы участвовать в розыгрыше приза номиналом 200€, необходимо сделать всего 2 шага:
1) разместить ссылку на конференцию или семинары в любом месте, где ее увидят заинтересованные люди (подсказка: Facebook, Twitter, LiveJournal, … – подойдут для этого “на отлично”);
2) заполнить форму участника лотереи.

вуаля!
  • Add to Memories

Всякое опунсорсное. Violet UML Editor
[info]anton_arhipov
Буду тут выкладывать ссылки на некоторые OSS-проекты, которые мы поддерживаем лицензиями на JRebel. Так об этих проектах хоть кто-то узнает :)

Так вот, встречайте - Violet UML Editor, http://violet.sourceforge.net

Не то чтобы я очень уважал такие проекты, но парни вроде трятят время на это и искренне верят, что проект изменит мир :)
  • Add to Memories

Poznan, Kiev, Odessa
[info]anton_arhipov
Следующие в графике поездок:

16-18/05: Познань, GeeCON - 1 доклад
18-20/05: Киев, JEEConf - 1 доклад
20-22/05: Одесса, Java Tech Talks - 2 доклада

а потом будет перерыффф
Tags: , ,
  • Add to Memories

Leogang, Austria
[info]anton_arhipov
Приехал на очередную конференцию. Неплохое место выбрано для проведения :)






А вот и небольшой отчётег о первом дне http://arhipov.blogspot.com/2012/05/con-fess-2012-day-1.html
День второй: http://arhipov.blogspot.com/2012/05/con-fess-2012-day-2.html
  • Add to Memories

мысль
[info]anton_arhipov
Многие ИТ-шники, в частности - программисты, ненавидят продавцов и маркетологов. А ведь если бы не они, то многие интересные поделия так бы и оставались неизвестными и программисты не обращали бы на них внимания. Потому, что мысль крутится и некогда отвлечься.

Знаете ли вы про Aqua Data Studio? А Talend? А Artifactory?! Это замечательные инструменты! А узнал я о них от "продавцов".

Крики "ненавижу маркетологов!" с пеной у рта - не от большого ума, думаю я.

Кстати, на конференциях мне нравится больше на product-oriented доклады ходить - так хоть можно узнать кто и что делает, в отличие от всяких "аджайльных" и идеологических докладов.
Tags:
  • Add to Memories

про #GeekOut
[info]anton_arhipov
Developers! Developers! Developers!!!

В этом году конференция GeekOut займёт аж 2 дня и народу ожидается гораздо больше, чем в прошлом году. Позитивно, что в этот раз на данное мероприятие обратили внимание и в Финляндии, и в Латвии. Интересно, будет ли кто из России, Литвы, Польши, Шведции?

По докладам.

Номером один у меня лично записан доклад Hack into Your Compiler! который проведёт Jaroslav Tulach - кто не в курсе, Ярослав - автор NetBeans. Мне довелось общаться с ним на нескольких конференциях - очень осведомлённый товарищ, от него много узнать много чего интересного. Так что сам факт что он доберётся в наши края не может не радовать.

Любители NoSql будут поставлены перед нелёгким выбором. А именно, во второй день, в одно и то же время пройдут 2 доклада: один - о Neo4j, второй - о Cassandra. Кто был в прошлом году, наверное помнят доклад про Neo4j - это было очень интересно. В этом году, как видно из описания, доклад будет тоже весьма интересным. Доклад про Cassandra обещает быть тоже довольно информативным т.к. по слухам в Odnoklassniki.ru программисты поломали об неё не один зуб - всегда интересно узнать об опыте использования таких поделок.

Каждый уважающий себя Java программист должен бы интересоваться всякими performance-штучками. Доклад про GC - фишка первого дня. А ещё будет workshop по смежным проблемам.

В последнее время я изучал Gradle и в процессе даже случайно достучался до разработчиков. Результат - Hans Dockter едет к нам рассказать про Gradle :) Могу сказать, что когда Hans начинает рассказывать про Gradle, более фанатичного человека трудно себе представить :)

“Graphs, Hashes, and Compression, Oh My!” - доклад про Git, будет интересен даже тем кто использует Git каждый день, я уверен. Кроме того - за день до конференции пройдёт специализированный workshop про Git с разбором полётов, что и как. Хочу сходить!

Программа конференции уже давно опубликована.
  • Add to Memories

JAX.de/Meinz
[info]anton_arhipov
Выступил на JAX.de. Внезапно, народ не закидал меня помидорами а даже накидали хорошие отзывы в твиттер, а организаторы затребовали чтоб приехал снова болтать осенью. И чё их от этого доклада так прёт.

теперь есть 2 недели поработать :) Далее - Con-FESS, GeeCON, JEEConf..
  • Add to Memories

отстрелялся JavaOne Moscow #javaoneru
[info]anton_arhipov
Доклад прошёл на ура. Не знаю, что именно понравилось слушателям - может [trollface] на одном из слайдов, а може ещё что. Сам думал, что выступил фигово - аллергия на пыль жуткая идёт - не сосредоточиться. Вопросами закидывали ещё в течении часа после доклада - просто супер!

Организаторы порадовали. Были и хлеб, и зрелища. И вообще всё замечательно организовано - был приятно удивлён. Пионерки на страже порядка - это ещё тот креатив :)



После мероприятия замечательно пообщались с другими докладчиками, большинство - инженеры из Oracle.

На второй день, к сожалению остаться не получается - а там очень классные доклады в программе. Далее Франкфурт.
  • Add to Memories

In Moscow 17-18.04
[info]anton_arhipov
Сегодня-завтра буду в Москве. Побухчу на JavaOne, и сразу двинусь на JAX.de во Франкфурт.
Tags: ,
  • Add to Memories

Maven -> Gradle
[info]anton_arhipov
Попробовал перевести с maven-а на gradle небольшой "правильный" проект с несколькими модулями - т.е. в pom-ах написаны только зависимости, и парочка плагинов, ну и модули зависят один от другого.

Открыл для довольно интересные способы описания проекта в Gradle. Можно, например, описать всю сборку в одном файле (в двух, если считать settings.gradle), при этом правила сборки подпроектов определены в build.gradle самого проекта. Получается примерно так:

//settings.gradle
rootProject.name='myproject'
include 'a', 'b', 'c'


//build.gradle
subprojects {
  apply plugin: 'java'
  repositories { mavenCentral() }
  version = '1.0'
}

project(':a'){}

project(':b'){
  dependencies {
    compile project(':a')
  }
}

project(':c'){
  apply plugin: 'war'
  dependencies {
    compile project(':b')
  }
}


Второй вариант, выносить настройки каждого модуля в отдельный файл в каждом модуле. Это будет скорее всего так в случае, когда в проекте 100500 модулей и настройки при этом часто разные.

При "стандартной" структуре проекта, никаких приемуществ перед maven вроде бы не видно, разве что меньше писанины. Надо бы попробовать проекты с нетривиальной структурой, как легко будет там добавить "перломутровые пуговицы".
  • Add to Memories

Krakow, 33rd Degree
[info]anton_arhipov
Съездил в Краков на 33rd Degree



Народу было прилично - по заявлениям организаторов, примерно 650. На доклады ходить особо не получилось - залы забиты людьми до отказа. На доклады Венката попасть просто нереально, так же как и к Дяде Бобу

Я сам немного побухтел про ASM. Чёто, неочень внятно получилось, но народ, на удивление, заинтересовался и облепил вопросами.



Из технических трендов даже особо и не вынести ничего существенного.
- в Польше почему то довольно много Scala программистов
- Много спрашивают про GWT
- Довольно высокий интерес к LiveRebel, даже у разработчиков
- JRebel знают уже довольно многие и используют тоже
- много расспрашивали про JRebel Remoting
  • Add to Memories

#JRebel @ JUG.ru (#javausergroups)
[info]anton_arhipov
Раз



Два

  • Add to Memories

Product placement
[info]anton_arhipov
кто заметит, что в этой фотке не так - тот молодец :)

  • Add to Memories

Птички
[info]anton_arhipov
  • Add to Memories

JRebel + Vaadin
[info]anton_arhipov
Внезапно!
Tags: , ,
  • Add to Memories

SPB, JUG.ru
[info]anton_arhipov
Завтра еду в СПб, побухтеть на JUG.ru
Tags: , ,
  • Add to Memories

Небольшой обзор Jfokus 2012
[info]anton_arhipov
Внезапно, я вернулся из Стокгольма! :)

В этот раз путь в Стокгольм лежал через Хельсинки на пароме MS Star, где прошёл Vaadin Meetup.





Были доклады о Spring, Vaadin 7, и Scala/GWT. В заключении вечера мы анонсировали о включении JRebel-я в сервис Vaadin Pro. Здорово, да? :)

Далее... )
Tags: , ,
  • Add to Memories

JUG.ru
[info]anton_arhipov
Внезапно!
  • Add to Memories

И снова Луна
[info]anton_arhipov
Сегодняшняя Луна - подарок :)

  • Add to Memories

Upcoming Travel
[info]anton_arhipov
Планы на ближайшие месяцы

13-15.02 Стокгольм - JFokus
24-26.02 СПб
19-21.03 Краков - 33rd Degree
17-20.04 Майнц - JAX.de
07-09.05 Вена - CONFESS
16-18.05 Познань - GeeCON
19-20.05 Киев - JEEConf

работа в ZT кипит :)
Tags: , ,
  • Add to Memories

#Devclub-Видео. Программирование на Node.js
[info]anton_arhipov
классный докладек получился :)

  • Add to Memories

Всякие фреймворки
[info]anton_arhipov
Копался в дебрях интернетов, изучал всякие Java OSS фреймворки. Есть довольно интересные и даже извесные проекты, которые вроде бы не так сильно популярны в энтерпрайзах, но при этом у этих фреймворков есть свои пользователи и это вполне себе живущие проекты. Не то чтобы в них было что-то выдающееся, просто захотелось о них написать.

PicoContainer http://picocontainer.org

Да, есть Spring и Guice. А IntelliJ использует PicoContainer. Вот.

MVEL http://mvel.codehaus.org

Кто застрял на OGNL - мазохисты. MVEL в 100500 раз быстрее работает.

Restlet http://www.restlet.org

Прикольный и простой фреймворк, судя по сайту и документации. API тоже кажется довольно лёгкий.

Activiti http://activiti.org

Не то чтобы я был в восторге от всяких workflow-движков, но Activiti на фоне остальных аналогов выглядит довольно красиво. Интересен список участников проекта - судя по тому какие фирмы в этом зайдествованы, у Activiti может быть довольно хорошее будешее в OSS мире.
  • Add to Memories

Kotlin. Проба пера
[info]anton_arhipov
Итак, последние несколько днейночей были проведены в изучении данного ЯП (тем самым я уже нарушил одно из своих обещаний самому себе (: ).

Некоторое время назад был открыт сайт, где можно попробовать написать код на Kotlin и получить результат компиляции и выполнения. Редактор на самом сайте напомнинает мини-IDE - есть подсказки, форматирование, подсветка - приятно поиграться.

Веб-IDE это здорово, но мне повезло получить доступ к EAP и поиграться с настощим компилятором и поддержкой в настоящей IDE, конечно же в IntelliJ.



Впечатления очень позитивные. Сам язык очень сильно напоминает Groovy, но со статической типизацией и некоторыми отголосками C# (все классы и методы по-умолчанию невиртуальные). Скорость компиляции - радует. Ясно, что компилятор сам ещё не готов, и много ещё не делает, но всё таки компиляция тех простых примеров, которые мне захотелось написать, занимала по ощущениям сколько же как и компиляция обычного Java-кода.

В Kotlin есть некоторые моменты, которые наверное будут непривычны для Java-программиста на первый взгляд. Во первых, как я уже упомянул - всё final по умолчанию (я об этом уже один раз возмущался в случае с ЯП Fantom).
Во вторых, немного другая система типов: есть всякие Any, Unit, Nothing, итд. Зато нет примитивных типов.
Функции первого порвого порядка - заметил, что многих закостенелых Java программистов самостоятельные функции вводят в тупик, особенно при объявлении сигнатур (выше на картинке есть пример). Мне кажется, что синтаксис для этого выбран вполне читаемый.
Лямбды (они же замыкания) - тоже не так уж сразу воспринимаются застывшим сознанием, но привыкаешь довольно быстро, как и с Groovy.
Есть полно всяких других приятных прибамбасов, таких как null-safety или pattern matching, extension functions и т.д. Самой сложной мне на данный момент кажется часть с генериками, но всё же вполне перевариваемо.

Кривая обучения у Kotlin, наверное, будет совпадать с Groovy, с той разницей, что Groovy, в своё время, преподносили как суперпозицию от Java, т.е. "скомпилируйте Java-код компилятором Groovy и с небольшими поправками (== VS ===) оно всё должно завестись". В Kotlin же такого подхода нет. Для большинства вещей в Kotlin свой синтаксис и своя идеология, что меня, лично, радует.

К слову поддержка в IDE уже тоже вполне сносная. Рефакторингов таких, как для Java пока что нет, но я думаю это всё не за горами.
  • Add to Memories