Sunday, December 18, 2011

XPDays Ukraine 17 декабря 2011, Киев

Это перая конференция формата XPDays в Украине. Мои поздравления и благодарности организаторам - XPInjection. Местом проведения был выбран БЦ Парус на улице Мечникова. На мой взгляд место проведения имело как свои достоинства так и недостатки. Зная как тяжело с этой частью организации в Киеве я не вижу смысла особенно коментировать Парус. На конференции я присутсвовал в роли докладчика, тем удивительней, что я проспал :( и пропутил открытие, помчавшись сразу на доклады. Как я потом высянил я был далеко не один в этой роли :)
Еще пару слов об организации - думаю что все получилось очень неплохо, был ряд рабочих моментов, но организаторы выдержали их с честью.
А теперь о докладах:
1. "Сравнение тестов на поведение и тестов на состояние" Андрей Бибичев

Андрей рассказал часть своего тренинга по углубленному TDD. Понравилось обилие примеров и доступность. С утра немного не поспевал за докладчиком. Для себя отметил использование библиотеки FEST. Докладом очень доволен :)



2. "Approval Tests как альтернативный взгляд на автоматизированное тестирование" Александр Белецкий

Тема доклада была очень интересной, но на мой взгляд Александр позволил увести себя в сторону вопросами. В итоге не смог показать все заготовленные примеры. Также в очередной раз убедился что что при регламенте 50 минутного доклада live coding невозможен, насколько бы ты не был быстр за клавиатурой. Как Java разработчик отношусь с подозрением ко всему что было разработано дотнетчиками, но все равно попробую. Основные материалы по approval testing.

Слайды.



3. "Experience TDD and pair programming" Johannes Brodwall

Johannes при помощи Дмитрия Миндры продемеонстрировали практическую сессию парного программирования с использованием пинг-понг техники. Большое им за это спасибо. Давненько не видел ничего подобного, сразу пожалел что не попал на coding dojo.

4. Tools Talks
Talk #1 : Александр Коротких

Докладчику немного не хватило опыта для интересной подачи материала, а материал был конечно интересный - Использование Git для Agile проектов. Хоть сам я и отказался от Git в пользу Mercurial :) слушал с интересом.

Talk #2 : Максим Кузьмич

Коллега из Беларуси разложил по полочкам Crucible  от Atlassian. Очень грамотный доклад.
Talk #3 : Дмитрий Миндра

Дмитрий рассказывал свой любимый доклад про Software Craftsmanship. См. тут. Как обычно жег по полной :)

5. "Разворачиваем инфраструктуру для автоматизации функционального тестирования веб приложений" Андрей Дзыня


Не мог не поддержать коллегу и товарища. Как выяснилось очень правильно сделал - Андрей оказался в окружении разработчиков и ему не помешала небольшая поддержка. Андрей рассказал о внедрении автоматизированного тестирования UI для веб проектов с использованием Selenium. Слайды скоро должны быть.

6. Ваш покорный слуга с докладом о психологии Code Review.

Своим докладом оказался более-менее доволен. Карточек правда получил аж одну :(. Но зато смогу немного расшевелить аудитории и вовлечь в дискуссию на очень интересную и тонкую тему.



7. "Continuous Delivery" Николай Алименков
Николай разложил по полочкам такой нынче популярный процесс как непрерывная доставка. Единственное что хотелось бы ему заметить, так это то, что Feature Flags все таки были придуманные в канадской Flickr. Слайды думаю скоро будут.

 

Monday, October 24, 2011

Java One 2011 last day (6th of October)

1. Java Community Keynote
Video is available here.

2. Java EE Cluster Management Strategies by Chris Kasso (Principal Member of Technical Staff Oracle) and Jennifer Chou (Senior Member of Technical Staff Oracle) and Thomas Mueller (Principal Member of Technical Staff Oracle)
GlassFish development team members explained the main challenges while building Java EE cluster. Interesting talk. Could not find the slides.
Main topics and quotes:

Cluster management life cycle challenges:
- Configuration
- Monitoring
- Failures

Management strategies:
Centralized configuration management - data replication, highly available storage, operation replication (deploy,update). Server is NOT processing user requests.
Standalone instances - User or the 3rd party system do the work. Additional work vs freedom.
Distributed management - Master + "Standby masters". All servers are processing requests (Resin).

Instance management :
Centralized per-host controller talk to OS to start/stop services.

3. CDI Today and Tomorrow (open panel)
Panel was lead by Arun Gupta from GlassFish team. Panel members:
Pete Muir, RedHat, Spec Lead for CDI 1.1
Sivakumar Thyagarajan, GlassFish team
Davis Blevins, Apache OpenWebBeans
Reza Rahman, CanDI

Nothing really new. JBoss Weld will be taken as a reference implementation for the CDI 1.1

Quotes:
All existing CDI implementations already have a JavaSE mode
But CDI won't be in JDK
CDI 1.1 would have SE mode specified

4. Serialization: Tips, Traps, and Techniques by Steve Poole (Software Engineer IBM)
Steven is a JDK team member. A good metaphor was used to explain serialization tips - human teleportation.
Still looking for the slides :(
I'll pay more attention to this topics later on.

5. Java EE and Spring/MVC Shoot-out by Reza Rahman and Rohit Kelapure (IBM)
The drums of war thunder once again. From the other way around a good summary of JavaEE vs Spring features in one presentation. So it's up to you to decide which one is better for your particular problem. But I still don't understand why JSF is better than any of the Spring MVC presentation. You are free to have  your own opinion.

Slides are here.

 

That above is the last part of my JavaOne 2011 review posts, please contact me with your feedback.

Wednesday, October 19, 2011

Java One 2011 Day 4 (5th of October)

1. Building Secure, Interactive, Scalable Web Applications Easily on JVM with Lift by David Pollak (Lift Web Framework creator) and Indrajit Raychaudhuri (Committer Lift Web Framework)
A nice demonstration of the Lift Web Framework possibilities. Remind me both JSF and Portlets. Definetly should try this out.
Still looking for the slides.
Main topics and quotes:
Foursquare uses Lift
Some recommended matherials:
http://exploring.liftweb.net/master/index.html
http://simply.liftweb.net/
GitHub: https://github.com/tjweir/liftbook/

2. Project Coin in Action: Using New Java SE 7 Language Features in Real Code by Stuart Marks (Principal Member of Technical Staff Oracle)
One more about JDK 7 features. Recommended.
Slides here.

3. The Road to Java EE 7: Is It All About the Cloud? (panel discussion)
The panel consisted of the following people:
--Adam Bien, Consultant, Author, Java EE Expert
--David Blevins, Apache Software Foundation
--Emmanuel Bernard, JBoss Platform Architect, Red Hat
--Reza Rahman, Senior Software Engineer/Community Outreach Activist, Caucho Technology
--Linda DeMichiel, Java EE 7 Specification Lead, Oracle

Main topics and quotes:
Things to be small in EE 7
Change of deployment model
Containers should be lighter
API's first than cloud
Right step would be to have a cloud which supports JavaEE
Multi-tenancy should be addressed as a feature
PaaS deployment are missing business details
JavaEE 7 is not just about the cloud but service provisioning
Multi-tenancy is the challenge
Many JSR's are focused in the usage improvement
XML descriptors would probably come back

4. Asynchronous Job Execution in the Cloud by Alex Snaps (Senior Software Engineer Terracotta)
Alex summed up all problems which we are facing when doing a Task Scheduling and execution in a cluster and cloud.
Slides are here.
A PR talk about Terracotta products.

5. Patterns and Best Practices for CDI by Reza Rahman (Senior Software Engineer/Community Outreach Activist Caucho Technology) and Ryan Cuprak (e-Formulation Analyst Dassault Systemes)
The presentation is now available here.
The presentation on my mind is quite controversial. Probably the only interesting part is about scopes.
My conclusion:
CDI is a kind of unfinished spec with a lot of provider specific features.

6. Experiences with Java EE-Enabled PaaS by Anil Saldhana (Lead Middleware Security Architect Red Hat) and Scott Stark (Vice President - Technology Red Hat Inc)
Guys from RedHat presented main features of the OpenShift - Java PaaS from JBoss. I liked simply explanation about "what's in there". BTW Puppet again. Security aspect was also covered.
It's a pity that I could not find the demo code.
Slides are here.
Recommended to all that wanted to start with JavaEE PaaS.

Friday, October 14, 2011

Java One 2011 Day 3 (4th of October)

Straight to the presentations:

1. Java Strategy Keynote
Once again you are welcome to see the full video:
http://medianetwork.oracle.com/video/player/1176404813001

2. Java Enterprise Applications in the Cloud: Fast, Fun, and Easier Than Ever by Gordon Dickens (Consultant/Instructor/Mentor Chariot Solutions) and Stefan Schmidt (Software Engineer Spring Roo VMware)
I was very impressed by the presentation. Simply because it took us a lot of time to have an app deployed to GAE and now it's done ... very fast. OK this is a petclinic/pizza shop app, but is has all the infrastructure. DB reverse engineering feature is awesome.

By now found only this one:
https://github.com/gordonad/spring-roo-heroku


3. Infinispan by Manik Surtani (RedHat, spec lead for JSR-347)
First time I heard about Infinispan at GeeCon this year. Emmanuel Bernard mentioned it during his Hibernate OGM presentation. Infinispan is the distributed transactional KV storage. JBoss insist that Infinispan is more DataGrid or Distributed cache than a KV NoSQL storage.
Could not find the presentation slides :(.

4. Java EE on Google App Engine: CDI to the Rescue by Ales Justin (Software Developer Red Hat inc.)
Basically the presentation was a case study on how to use CDI (JBoss Weld) with GAE and why it's needed. Have only a few notes about it. Probably it was not very useful for me.Could not find any material about this talk by now. I'll try to add some later on.

5. Strategies and Best Practices for Highly Scalable Java Persistence Applications by Doug Clarke and Gordon Yorke (both from Oracle)
Great presentation with a set of practical advices on JPA optimizations.
Could not find the slides for this particular presentation but found Gordon' slides about EclipseLink:


Main topics and quotes:
Measure performance in regression
Providers have profilers already
Inspect @Cachable
Mapping optimization - balancing between Single table and Table per class
Use @Embedded or @Embeddable instead of @OneToOne
Pay attention to collections
Use projection, pagination, named queries, query caches
Keep number of managed entities small
Threads could be bottleneck on synchronization access
Consider locking

6. JSR 343: What's Coming in Java Message Service 2.0 by Clebert Suconic (Principal Developer and HornetQ project lead Red Hat) and Reza Rahman (Senior Software Engineer/Community Outreach Activist Caucho Technology)
A great overview of the upcoming and existing JMS features.
Still looking fro slides.
Topics and quotes:
JSR 343 - JMS 2.0 early draft
JMS has many wrappers just because it's not comfortable to work with it
JMS 2.0 is about API improvement
Reducing number of classes
Attention to multi-tenancy

7. Are Your Garbage Collection Logs Speaking to You? by Kirk Pepperdine (Performance Specialist Kodewerk Ltd.)
It's always a pleasure to be at Java Champion presentation. Very informative. A reminder that GC logs is important to read and systematically analyze. Looking for slides.

8. How Do You Update Your Java EE App in Production? by Jevgeni Kabanov (CTO ZeroTurnaround)
A presentation from JRebel creator. Quite interesting analysis of existing situation on product redeploy in production. LiveRebel product PR. But there are two tools that I decided to invest my time to Chef and Puppet



General stuff:
Try out SpringRoo with Heroku, CloudBees and CloufFoundry

Java One 2011 Day 2 (3rd of October)

On the Conference second day JavaOne moved to it's own place. Oralce OpenWorld stayed at Moscone Center and JavaOne moved to Hilton San Francisco, Nikko and Parc 55.

1. JavaOne Technical Keynote

Could be found at http://medianetwork.oracle.com/video/player/1176404809001

You should watch it. No comments.

2. Best Practices for Migrating Spring Applications to Java EE 6 by Bert Ertman and Paul Bakker from Luminis Technologies

Quite a controversial topic, but quite interesting from the technical perspective. Starting from this particular talk I understand that JBoss started a war with SpringSource for the 1st place among JavaEE platforms.

 




 

Topics:

Spring is the proprietary framework developed by a vendor who is in virtualization business

Spring does not support JavaEE

Spring + Tomcat is slower not faster than modern JavaEE containers

AOP = Evil

Source code could be found here.

2. Continuous Integration with Jenkins by Kohsuke Kawaguchi
It's nice to see the Hudson/Jenkins creator. Great talk but the first part was quite abstract and targeted to prove that Jenkins it better than Hudson and that Eclipse is wrong by supporting the last one. Still could not find the slides.

Interesting topics:
Jenkins now is not only the CI server but the code reviewer and test system. Kohsuke showed a useful integration with Gerrit, when the tests are run against the local branch before the code is pushed to a server.
This could not be reproduced for the mercurial, but there is a workaround for SVN.


3. Apache Cassandra for Java Developers by Nate McCall @zznate
Nate quickly explained the Cassandra basics and jumped to the API (Hector). The presenter speed was quite high so I tried to do my best to be on the same page. As a result a could not remember most of the presentation :(

GitHub: https://github.com/zznate/cassandra-tutorial
https://github.com/zznate/hector-examples
Main topics and quotes:
Cassandra has no ACID transactions
Static/Dynamic column families
Pre-calculated query results
Column family templates - analogue of Spring JDBCTemplate
Take a look at Hector JPA (GitHub)

4. Project Jigsaw: Putting It Together by Mark Reinhold (Chief Architect, Java Platform Group)
Mark explained the problems his team faced while developing new packaging/module system for Java. Could not find the slides.

5. JVM Bytecode for Dummies (and the Rest of Us Too) by Charles Nutter (JRuby Architect Engine Yard)
Charles probably the first person who explained using simple examples what is bytecode actually is. I'll probably post more in this topic later on.
The first person who answered the question about finally block :)



6. Simplify Your JMS Code with Spring by Bruce Snyder (Senior Software Engineer SpringSource)
Bruce explained features and usage of JMS template in Spring. Some of the stuff I already knew, some of it I was not.
Slides.
GitHub: https://github.com/bsnyder/spring-jms-examples



General topics:
Pay attention to the Arquillian framework

Thursday, October 13, 2011

Java One 2011 Day 1 (2nd of October)

This was not actually the JavaOne first day. Some sort of training day :) Keynotes, main presentations as well as exhibition and demo are starting at Day 2.
Impressions:
Moscone center is really HUGE. I haven't seen anything that could be compared to this place. Probably the one of the biggest exhibition centers in the world.
Presentations:
1. MySQL: Don't Be a Rookie Forever—Be in Command (Line) by Giuseppe Maxia @datacharmer
Great talk. Quite technical. Found a lot of stiff for myself. Felt satisfied because I'm not the only one who are using MySQL command line. Recommended to watch the presentation, read the author books. Listed below. Topics and quotes:

Giuseppe recommends to use Unix pipes for query execution. Aliases is very useful (i.e. alias myself =mysql). There are batch mode and table mode for the query results. Functions usage with $(function).



2. Importing and Exporting Data Between Hadoop and MySQL by Sarah Sproehnle
Interesting talk. Found a lot of interesting about Hadoop and it's tools. Sqoop allows to import data from RDBMS to have some sort of general data storage in Hadoop. Hive is the SQL for NoSQL.
Now I know more about Cloudera products.
Slides are here.

3. Explaining the EXPLAIN in MySQL by Ronald Bradford
Everything about EXPLAIN that I didn't know and always tried to find out. Slides.

4. JCP members panel
A very disappointing talk for me because the JUG's are weak in Ukraine and in particular in Kyiv. JCP members explained the new JCP approach to the specification development. New approach means that JUG should should influence more on the expert groups. Because specs developed only by vendors expert groups are far away from the "trenches" and not useful on a real projects.

Books:
Unix power tools
Big data analysis with Hadoop MapReduce (article)

Monday, September 26, 2011

AgileEE 2011 Day two (September 24th)

That is my AgileEE conference second day impressions. First day article is here.

Presentations:

1. Jurgen Appelo “How to Change the World”


Jurgen presented some of the main ideas of his book "Management 3.0". Once again "it's all about the people". Jurgen described 4 main facets of social change. I'll try to get the book soon. Recommended.

2.  Danny (Danko) Kovatch @DankoAgile “Motivation 3.0 and Agile”


Danko told us about what does modern science think about the motivation and what companies are doing about it. The difference is HUGE. Recommended. Not a new topic for me, I was bored a little in the middle of the presentation.

3. Lasse Koskela “Agile Workflows for Version Control”

I liked the content of the presentation where two approaches to the Agile branching strategies was compared, but I don't get the why it was given so much time for arguing. Could not find the slides.

4. Lightning talks



Felix told us about how important is to have a Stories READY before implementation is started. We already practising this in our teams, but the very useful to the see that somebody summed up this. Recommended.

5. J.B. Rainsberger “The Extreme Decade: Progress, Pain, Paradox”


Probably the best Agile presentation EVER. Recommended. And the final slides about post-Agile is probably the best thing a I've ever seen. Thank you JB! The final video (on "What we've done with the Agile?"). Could not wait till I see the video.

Books:

Things to try or think about:

  • Get a web camera :)

  • Some ideas for my presentation about he Code Review problems in the teams

  • Try Reflection workshop's

  • Read more about PDCA cycles

  • Try to get live feedback from team members on my current project

  • Try Cucumber or JBehave

AgileEE 2011 Day one (September 23rd)

That's my third AgileEE conference and I must admit that conference organization becomes better year after year. Despite that I could not say same about the venue. Third year in a row conference venue is President Hotel.

Overall impression:

A lot of new faces (last year I can name at least one third of audience).  Same string quartet during conference opening coffee brake. Personally I don't get the issue with the badges... Peace of paper without the plastic cover. Till the end of the day most of the people had to repair them. QR code with the visitor contact data on the badge  - great stuff.  Good for possible employer and for meet-up.  Wi-fi quality is the same, means that if you want to have a stable connection  - use your own mobile Internet. Android app is quite useful. I must confess that I don't not fully understand the organizers PR move  "Agile is an adventure".

Let's  move forward to the presentations I participated:
1. Dr. Alistair Cockburn "Effective Software Development In The 21st Century: The New Face Of Software Engineering"




I found Alistar's talk very inspiring, but at the same time very abstract. The keynote basic idea is "it's all about people". That would not be Alistar if he would not talk about new certification, courses and stuff. It's all about the people of course but also it's all about the money :). Slides in here. Among the quotes: "Agile is the mind set"

2. Sven R?pstorff "The fast-tracked story point oracle"




I liked a workshop very much. I've learned a couple of new estimation techniques. The slides is on the Slideshare. Had a conversation with Sven and find out that we both know a couple of German Agile coaches :) small world.

3. Lightning talks

A new format for AgileEE. Presentation should take about 8 min, with- or without the slides. So to the talks:

Dmytro Mindra @dmytromindra “Software Craftsmanship Revealed”



Really great talk about the craftsmanship and why tthe SW development is craftsmanship. Dmytro's presentation is better and better time after time. That is a geed example of right approach to the things you do. I keep a wrist belt still because I REALLY promise not write a crappy code.

Dima Malenko @dmalenko “Just Do It”



Very inspiring talk. Recommended. The first step is the most important and the hardest among all future steps.

Artjom Serdyuk @ek_artem "Why do they leave? And how make them to stay"



Artjom focused in the "people and interactions" once again. Also recommended. Slides.

Alexander Lutsaevsky @AlexLuts “The Kama Sutra of Retrospectives”



Alexander answered to a question "what to do if something is going wrong during your retrospective". Recommended.

J.B. Rainsberger fired up a short talk about SW product complexity and TDD. No slides. Great!

4. Piotr Zolnierek @pzol "Holistic Deployment"



A very very strange talk. Now looking to the slides I could not remember what exactly Piotr tried to tell us about. The presentation is about deployment and production deployment strategies. Nothing new or inspiring.

5. Andrea Provaglio (http://www.beyondagile.com/)  “Overcoming Self-organization Blocks”



Really great talk. Andrea is explaining what really "self-organizing" means and why it is so important. Quotes and thoughts: "Educational system is not up to date with the industry", "Adult to Adult instead of Parent - Child interactions",  "Rowing against the tide", "if you change something inside  - something outside changes as well"

6.  Elisabeth Hendrickson @testobsessed “Agile Testing, Uncertainty, Risk, and Why It All Works”



Probably the best talk of the day. The purpose and the meaning if the therm "testing" is defined very clearly. And the triangle "Intentions  = Actual needs = Implementation" is great. Recommended!!!

Other topics:

I decoded to place a book list and "stuff to think about" at the end of the Day 2 report

Sunday, August 21, 2011

IT-Jam 2011, 20-е августа, Одесса

Ну начнем как говорится сначала. Когда отбирали доклады на конференцию, был в свадебном путешествии. Просто так ехать не хотел, но в последнюю минуту все де передумал. И вот с билетами на "Черноморец" и бутылкой пива в пятницу вечером поехал на вокзал.

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

Площадка для проведения оказалась и правда большой, такого размера в Киеве пожалуй только МВЦ, где проходил а этом году JEEConf. Порадовал wi-fi для такого количества людей работал достаточно хорошо. Я твитил с нового смартфона, получалось медленно с непривычки, но я старался :)

Кейтеринг подкачал, что было ожидаемо для такой толпы народа, удивило поведение коллег. Бутеры, воду и печеньки с кофе разметали так, что дым стоял. Напомнило SunTechDays 2010 в Питере, правда там были, наверное студенты всех технических ВУЗов города. Ну да ладно, наша повеcть не про печеньки.

Про доклады

Отчему, что общий уровень докладов не очень высокий. В этом не меньшая вина организаторов чем, самих докладчиков. Также временами было ощущение что если "сам себя не похвалишь ...". Я имею в виду что доклабы были переполнены скрытого и не очень пиара, компаний. Чтоб быть честным отчему что доклады сотрудников моей компании в этом не уступали.

Олег Кондратенко "10 years of Java Enterprise Architecture Design in Telecom"

Олег рассказал про эволюцию продукта выпускаемого Net Cracker и условиями успеха на рынке телекома. Меседж про то, что залог успеха в том чтоб разработчик был к тому же и бизнес аналитиком мной не понят. У меня на этот счет свое мнение.

Зеник Матчишин "Building Semantic Search Engine"

Зеник разбудил уже начавшую кивать аудиторию о свое практическом опыте работы на проекте где строили движок для Семантического поиска. Для себя отметил что надо поинтересоваться плотнее что же они там такого делали. Достойный доклад на хорошем уровне.

Игорь Хотинь  "Gradle – next generation of build tools"

Заставил задуматься о том стоит ли продолжать использовать Maven. Но ненадолго, аргументов было не так уж и много, НО обьязательно попробую  Gradle на досуге. Кроме того очередной звонок не пропустить Полиглот Мавен.

Сергей Маляров "Maintenance fun using Kanban"

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

Открытая панель

Ничего особенного от открытой панели я не ожидал. Мои представления о шагах компаний-грандов в ответ на кадровый голод практически совпали с ответами участников. Правда столько внимания к вопросу "где взять джуниоров" на мой взгляд плохо закончиться. Ими же должен кто-то руководить...

Ну и как уже было сказано "сам себя не похвалишь ..."

Pecha-Kucha

Также вполне ожидаемо эта часть произвела хорошее впечатление, как и принесла массу положительных эмоций.

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

Максим Вишневецкий понравился лаконичностью и оригинальностью повествования. Его идею стоит взять на заметку.

Тарас  Калапун рассказал про свое участие в Стартап уикенде в Копенгагене. Немного нервничал, сбивался, но тема была актуальная.

Владимир Железняк попробовал немного поработать в стиле stand-up comedy но на мой взгляд это ему не удалось. Также не очень получилось и обьяснить психологию простыми словами. У Владимира "тяжелая" дикция и он похоже пытается это обыграть.

Дмитрий Маленко задел за живое. Я сам каждый раз возращаясь на родину испытываю культурный шок. Много мыслей совпали :(

Дмитрий Миндра в характерной для него манере рассказал на примерах что такое хорошо и что такое плохо в современной архитектуре программных продуктов. Мне понравилось - хочу слайды.

Алекс Туманов - "известный человек в Одессе". Первый раз услышал про такого человека. Как я понял один их деятелей академии "Шаг", энтузиаст Майкрософтовского Imagine Cup. Как человек вышедший из спорта я позитивно отношусь ко всякого рода соревнованиям, поэтому думаю что инициативу стоит поддержать.

Лина Шишкина рассказала милую историю о своей пути "через тернии к звездам". Лина выступала первый раз и заметно переживала. Мое отношение к докладу противоречивое. С одной стороны он вроде как ни о чем, а с другой впечатление положительное.

 

Monday, May 23, 2011

Отчет о JEEConf (21 мая 2011 Киев)

В этом году JEEConf проводится в первый раз, кроме того это первое подобное мероприятие после долгого перерыва. На моей памяти последний раз киевский JUG собирался года три назад. Организатором как и в случае с SeleniumCamp выступил тренинговый центр XPInjection. Место проведения, МВЦ на Левобережной, на мой взгляд, было выбрано удачно. Достаточно места и непосредственно для докладов и для общения докладчиков. Кроме того близко от моего дома :). Побеседовав с организаторами я убедился что проблема в выборе места проведения для мероприй такого рода в Киеве по прежнему остается. Например принять мероприятия порядка 500 человек уже становится невозможным.

Притен также интерес спонсоров к конференции. Хотя при текущей ситуации на рынке труда он понятен. Наличие интересных призов при этом также радует ничуть не меньше.

Ну а теперь про доклады:

1. Claus Ibsen "What Riding the Camel can do to make integration easier for you "

Сlaus  является project lead  в компании FuseSource и основный контрибьютором в Apache Camel, а также одним из авторов Camel in Action. Camel позиционируется как Open Source Integration Framework, отсюда следует и характер задач, которые он призван решать. В очередной раз идет ссылка на книгу Enterprise Integration Patterns, думаю прочитаю полностью. По большому счету Camel делает routing сообщений от отправителся к получателю при этом позволяя производить с сообщениями разноображные манипуляции, кто выступит в качестве отправителя/получателся  как и в качестве среды передачи предлагается выбрать разработчику. Библиотека старается быть как можно более легковесней и гибче. До презентации думал что Apache Camel это SOA/ESB  для бедных -  это не так. Как я уже сказал это легковесный и гибкий инструмент. Библиотека тесно интегрирована с ActiveMQ и ServiceMix. Для начинающих Claus рекомендует прочесть вот эту статью. В общем могу сказать что доклад хорошо структурирован, докладчик несмотря на непривычный английский способен удержать внимание уадитории.

2.  Ренат Ахмеров "Использование Scala и GridGain для разработки распределенных систем с высокой производительностью"

С этим докладом я немного прогадал - пришел поздно и смог месть где-то в последних рядах. После 5ти минут доклада в аудиторию рассчитаную на 120 человек набилось человек 150. Ренат является одним из разработчиков GridGain. Обьяснение "сухой" теории заняло у докладчика минут 15 от силы. Но наверное на один из самых интересных для меня вопросов ответа я так и не получил. Как ноды находят друг друга - было сказано только что это "auto-discovering". Как он работает я не услышал. Презентация предполагала "живое" написание кода в IDE с использованием slalar библиотеки Scala, разработанной для поддержки GridGain. Код на Scala из последнего ряда мне видно не было поэтому со второй части доклада сбежал на GC.

3. Владимир Иванов "Диагностирование проблем и настройка GC в HotSpot Java VM"

Владимир работает на Oracle и непосредственно проблемами рассмотреными в его докладе. Не собирался идти на доклад, но получил наводку от людей, которые слышали доклад на JavaOne. Пожалуй наиболее понравившийся мне доклад на конференции. Хорошо структурированный доклад с очень удачной манерой подачи. Наконец структурировал для себя знания о том как работает GC. Слайды тут.

4.  Евгений Компаниец "Быть в 10 раз эффективнее благодаря Groovy"

Евгений рассказал о своем текущем проекте. Это система управления рекламными блоками в эфире некоторый телеканалов. Достаточно классический для Java стек. С однним НО. Вместо Java кода используется Groovy :). На Java написан только клиентский код для GWT.  На примерах Евгений красноречиво показал как Groovy может быть эффектиыней для решения ряда бизнес задач. На самом деле очень интересный посыл, но мой вывод такой что Groovy пока не тянет на то, чтобы стать основным языком для разработки мало мальски крупных проектов - что собственно косвенно и доказывает презентация. Еще очень спорный момент с читаемостью груви-кода... Слайдов пока не нашел.

5.  Павел Яскевич "Cassandra как распределенная NoSQL база данных"

Павел является одним из разработчиков Cassandra. Презентация по своему содержанию была интересной, но многое портила подача докладчика. Я честно не понял и половины - пришло потом после прочтения интернета :). По всей видимости Павел очень сильно волновался и это подпортило общее впечатление от такой интересной темы.

6.  Dejan Bosanac "Advanced Messaging with ActiveMQ"

Dejan также как и Claus Ibsen работает на FuseSource, автор ActiveMQ in Action. Один из комитеров ActiveMQ, конечно. По словам самого докладчика организаторы попросили не делать обзорного доклада, а сосредоточиться скорее на нетривиальный ситуациях при использовании ActiveMQ. Доклад интересный, единственное что подпортило впечатление это то, что докладчик как видно из имени не носитель английского языка пытался говорить достаточно быстро и временами надо было очень напрячься чтобы понять о чем идет речь. Слайдов пока не раздобыл.

7. Николай Алименков "Особенности разработки масштабируемых приложений на Java и AWS"

Николай в обычной для него непринужденной манере рассказал о своем опыте работы с AWS на реальном проекте. Несмотря на то, что доклад обзорный из него можно получить необходимую базу для принятия решения работать с AWS или нет. Сделаю акцент что речь НЕ шла о такой интересной теме как Elastic Beanstalk, которая на мой взгляд наиболее сейчас интересна для Java разработчика. Слайды доклада тут.

PS. Организаторы обещали собраться слайды всех докладов здесь.

Sunday, May 15, 2011

GeeCON Community Day (Saturday 14th May)

Conference organizers planned Community day a informal meet-up for developers. But there still was some presentations.

1. Anton Arhipov "Binary patching of Java classes for fun (and profit)"

I've missed Anton's presentation on the Conference Day II, so I visited another one on the Community Day. There were not so many people out there we could freely talk and ask questions. Anton explained how the code transformer works and the Java built-in tools. Than some examples of JavaAssist from JBoss and than the JRebel examples. I decided to try free 3-month license for the conference attendees. I hope that Anton will have time to present in Ukraine.

2. Piotr Dziubecki "Miing Groovy, Java and BlazeDs/Flex in HPC portals"

I've missed the word "portal" in the presentation title. Just wanted to hear about Groovy and BlaseDS + Java mix. Nevertheless guys presented their framework to build portlets for Hign Performace Portals. The technology stack is described. Some interesting ideas but generally  - not my field of interest.

GeeCon Conference Day II (Friday 13th May)

So my review of the second presenattions:

1. Jim Webber "Revisiting SOA for the 21st Century"

Jim is an excellent presenter. I have no chance the take a nap on his morning presentation. A lot's of jokes, quite offensive, controversial, but funny. It makes you think about what you are actually doing and why for your projects. Liked that a lot.

2. Emmanuel Bernard "Hibernate Validator / Bean Validation Best practices"

Emmanuel is one of the Hibernate developers from the very beginning. Quite an interesting presentation about new features with Hibernate Bean Validation. A lot of good code examples. Hope to find some of that somewhere. Also a lot of non-trivial use cases for the Hibernate Validation usage.

3. Eugene Ciurana "The No-Nonsense Guide to Hadoop and HBase in Enterprise Apps"

That's the first presentation  about Hadoop and HBase that I've heard. Once again a little explanation of modern Non-RDBMS's. Eugene showed how this stuff works and what is practical benefit of adopting this stack. Good presenter, lot's of fun. Slides arehere. Oh, almost forgot. There was a cool CAP triangle with all modern Databases listed on its edges. A very descriptive.

4. Marek Matczak "10 common pitfalls when using Hibernate"

Marek works for the Capgemini and has a lot of experience with Hibernate. Some useful (non-trivial) practical advices described in the presentation. Waiting for the slides to be available.

5. Emmanuel Bernard "Hibernate OGM: JPA on Infinispan: when PaaS persistence meets Java EE"

Very interesting presentation about Hibernate OGM. Hibernate OGM main goal is to have the JPA interface to the Non-RDBMS. OGM team started with Infinispan and Hibernate search and reused a lot of existing code in it's project. I liked presentation very much despite the fact that OGM practical usage is still very unclean.

6. Eugene Ciurana "3 Case Studies in NoSQL and Java in the Real World"

This presenatation was about three stacks with short explanation. MongoDB, GigaSpaces XAP, and of course Hadoop/HBase. Than there were three case studies. A good overview once again. Slides are here.

7. Jim Webber "A programmatic introduction to Neo4j"

Once again Jim rocks. A good short introduction to the Non-RDBMS (I could not even count how much of them I heard during the conference) and after that all about Neo4j. Which is a graph database. As we all know the graph is perfect for some types of tasks but have some gaps. Looking forward to have a video to show to my colleagues.  BTW examples are on the GitHub.

 

Saturday, May 14, 2011

GeeCON Conference Day I (Thursday 12th May)

There were much more people comparing to the University Day a couple of foto's here. But this one is real good.

So to  the presentations.

1. Danny Coward "Java SE: The Road Ahead"

Danny is a principal engineer at Oracle and he took the first keynote. An overview of the SE past and future with Oracle.

Once again  - list of the language improvements for the Java SE 7 and similar list for the Java SE 8. Hope to get slides somehow - there were "Confidential" notice there.

2. Juergen Hoeller "Enterprise Java in 2011 and Beyond: From Java EE 6 to Cloud Computing"

In his presentation Jurgen how SpringFramework will adopt standards from the Java EE 6 spec and about the future for the Spring in the clouds. Jurgen started from the statement that Spring already has everything developer could imagine even without Java EE 6 but there are still some coll stuff in spec so Spring will adopt it later on. Together with the statement that that EE 6 has 1.5 year old but there is still only one certified implementation (reference implementation  - GlassFish 3) Jurgen on my mind wanted to convince developers that all you need is Spring... Second part was again about CloudFoundry from VMWare. Once again slides had a confidential mark on them so let's wait for the conference video.

3. Josh Long "The Social Service Bus"

One more talk from Josh. This time he showed examples from the SpringIntegration project about how to tight-up your app with email/twitter/REST and other stuff. Will search for a slides and samples.

4. Juergen Hoeller "Modern Component Design with Spring 3.1"

Great presentation with real overview on the Components concept in Spring, how this works, how to adjust existing features to feet your needs, and about how this concept corresponds with the Java EE 6 spec. Once again confidential slides  - hope to see a video later on.

5. Heinz Kabutz Productive Coder

Heinzs' talk was mostly about coding process than just Java. He started with statement that you should invest some time in learning your IDE tool and blind typing (I think I've heard that already somewhere :) ). Also there were some case studies about how static code analyzers could improve the project code quality. Once again a statement that IDEA rules but not Eclipse...

6. Hamlet D'Arcy "New Ideas for Old Cod"

There were no free places on this talk and people just stand for an hour. Hamlet is a great presenter. The main topic is refactoring. Some new ideas and practical advices, very fun. Slides are here.

7. Alexis Moussine-Pouchkine "Java EE 7 - flying above the cloud, a status on ongoing work"

Alexis presented a review about Java EE 7 and 8 features. Alexis is an evangelist so according to his words everything is great in the Java EE world. Adoption of the EE 6 is going quite fast especially the Web Profile stack. EE 8 will mostly consist of the new versions of the existing standards.


Thursday, May 12, 2011

GeeCON University Day (Wednesday 11th May)

When I was planning my trip to GeeCON I've decided to visit University Day along with two Conference days. So let's talk about presentations I visited.

1. Josh Long "Spring into the Next Decade"


The three hours overview of the features of Spring 3.0 and upcoming Spring 3.1.

A lots of known stuff but a lot of new also. On my opinion the presentation title does not really corresponds the presentation content. That's super cool to hear and to see (by real code examples) the Spring existing and some upcoming features BUT not so much about the future of the Framework and platform...

So future of the Spring is wait for it ... clouds of course. It will be tightly integrated with VMWare CloudFoundry which is basically a PaaS. Also Non-Relational DBMS integration is something valuable for the framework and of course Spring Social.
Among other features - interesting was to hear about declarative caching and Spring Context profiles in 3.1.

 



2. Patrycja Wegrzynowicz "Patterns and Anti-Patterns in Hibernate"


Presentation mostly related to the existing problems when trying correctly adopt ORM on the projects with complicated business logic and domain model.

A couple of interesting puzzles of Hibernate usage. At the end of the 3-rd hour a little introduction to the Yonita.

 

3. Hamlet D'Arcy "Code Generation on the JVM "


Great presentation. It was really a please to participate. Slides are here. I definitely want to try some of that stuff when came back to work. I was impressed by a Groovy toolkit. Definitely, want to find some time to try SpringRoo.

Wednesday, April 27, 2011

Wordpress upgraded

Ubuntu

В последние годы я все чаще выражал неудовольствие работой Винды. Грозился перейти на Линукс. Большое впечатление на меня в этом плане произвел eBay где ВСЕ рабочие станции работали на Ubuntu. Понятное дело что для офисных приложений народ имел или настольники или лептопы с Виндой. Но писали, тестировали и администрировали на Линухе.  долгое время хотел воплотить эту идею в жизнь, но все как-то "не складывалось". И вот две недели назад я сделал это. Более того благодаря вот этой статье и такой-то матери смог корректно настроить Exchange для работы с Thunderbird. Так что теперь имею следующую конфигурация (прямо как на Ибее)  - настольник с Убунтой для кода и ноут с Виндой для всего остального. Теперь попробую изредка писать что интересного нашел на Линухе.

Wednesday, March 16, 2011

Материалы SeleniumCamp

Стали доступны практически все материалы конференции.

Самого особенно заинтересовало видео собственного доклада. Вчера несмотря на то, что жутко хотел спать - посмотрел все 40 минут видео :)

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

Sunday, February 27, 2011

SeleniumCamp

Вчера докладывал на SeleniumCamp. Очень рад такой возможности. Конференция в целом очень понравилась. Организатором выступил тренинговый центр XPInjection. Рад был знакомству с таким количеством интересных людей, представляющих как лагерь тестировщиков и QA так и разработчиков вроде меня :)

Теперь коротко о докладах:

David Burns выступил с достаточно скучным докладом о возможностях Selenium 2. Нового почти ничего не услышал, кроме пожалуй поддержки Selenium 2 мобильных платформ Android и iOS. Сравнение достоинств и недостатков WebDriver и старого доброго Selenium RC не впечатлило, хотя примеры на Питоне были очень даже ничего.

Николай Алименков рассказал про DSL для автоматизированных тестов, PageObject и PageElements паттерны. Доклад безусловно на уровне, но напоминал скорее тренинг. Для меня же (кроме примеров Tellurium) ничего особенного нового в докладе не было.

Михаил Левин рассказал про тестирование в Яндексе. Безусловно очень интересный доклад в плане построение архитектуры тестирования в крупных проектах. В реальной жизни почти никогда не бывает таких масштабных задач и часто достаточно уже готовых решений. Но помечтать всегда приятно. В общем получил удовольствие от доклада.

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

Friday, January 14, 2011

Итоги 2011

Поскольку не писал конкретного плана то напишу скорее сумбурно об успехах и провалах.

Начнем с плохого. Итак:

1. Стартовать собственный проект не получилось.

Я оказался к этому не готов. Много для себя понял, сделал выводы.

2. Не развивался в техническом плане в течении прошедшего года.

Хотя, опять же, тешу себя надеждой что расту как менеджер среднего звена это не умоляет факта.

3. Ремонт отнял столько времени и сил, что до сих пор не могу восстановиться

4. Вопрос с личным транспортом так и не решен

Ну а теперь хорошее:

1. Переехали в новую квартиру

2. Сделал предложение своей половине и в этом году надеюсь женюсь официально

3. Занялся спортом на постоянной основе