Sunday, October 13, 2013

Warsjawa 2013

To be honest I'm still quite shocked how it all developed and worked out. Warsjawa since few years has been quite exceptional kind of conference. It was always free, organised by community and for the community. However since few years it is containing only workshops - no pure traditional presentations at all. Now it seems that it may be one of the largest events of this kind around - or at least I'm not really aware of any other one like that. 

Year ago it contained 10 workshops and nearly 200 attendees showed up. This year it grew into:

- 42 workshops
- 53 presenters/coaches (tbd)
- Nearly 500 attendees
- 12 sponsors
- 8 volunteers

During retrospective within organising committee after previous edition we had few ambitious plans for next one. Ok… it was mainly Wojtek Erbetowski who was throwing ambitious ideas while I was the sceptical one ;) Last Saturday most of those actually happened and worked beyond our initial expectations. After several months of preparations this is really rewarding experience. :)

It is worth mentioning that this is also quite an achievement for the whole Warsaw/Warszawa JUG community. Other conference under JUG umbrella - Confitura - had over 900 registered attendees this year. Nowadays there are 3 well organised and independent groups of people responsible for biweekly WJUG meetings, Confitura and Warsjawahttp://warsjawa.pl/ conferences. However we are still one WJUG community and it is truly awesome to be part of it. During past few years I was not that much active however I had chance to be one of JUG leaders and part of organising committees for both conferences in 2008. Looking back I think this community has never been as vibrant and active as now. 

Just to complete the picture with few highlights about Warsjawa 2013…. 

This year we had really great variety of topics. Main categories:

- JVM - inlc. Profiling, Java 8..
- Frameworks: incl. Wiciet, AngularJS, Vert.x, JBPM, Struts2
- Design Patterns 
- Scala - 3 different ones about language itself, Play2, Akka…
- Architecture and Testing
- Cloud Computing - Vagrant, Chef
- Build Tools - Gradle, Phabricator
- Mobile - iOS, Android
- Hardware Fun - Arduino
- Soft & Agile
- NoSQL / Big Data - Storm, Cassandra, R, ElasticSearch

Dedication from presenters and coaches was quite amazing. Many workshops lasted 6h. Konrad Malawski deserves to be mentioned separately for teaching Scala for the whole day. 9h in raw…. it is quite an achievement! 

Most stressful part for the organisers was to provide stable and reliable internet connection - really critical for workshops. Wifi is pretty known to have reliability issues with so many devices around. Therefore we invested significant part of conference budget into huge number of network switches and patch cords. This should really give you an idea about our dedication… 

Traditionally we are really grateful for the support from Warsaw University. Warsjawa hijacked over 20 rooms at the The Faculty of Mathematics, Informatics and Mechanics. It really matters for us that we are always warmly welcomed there.


We also had really exceptional squad of volunteers that helped a lot with final preparation. Few coming from Krakow - which is not a short journey to make. Such people really bring the motivation! 

Ok… I could go on and on… Looking forward for next year and enjoy the photos!


Sunday, October 28, 2012

WarsJawa 2012 and 100th Warsaw JUG meeting


Warsaw JUG is traditionally hosting 2 bigger events during the year. First one is Confitura (former Javarsovia) which is a full scale free Java conference - with around 800 attendees this year. Second one is WarsJawa (former WarsJava...) which is smaller and more workshop focused event. This year I had an honor to be one of co organizers of it


2012 edition was a bit special as we also celebrated 100th meeting of Warsaw JUG. Therefore during opening session several people who have been engaged in local Java community over past years shared some of their memories. 






Bartek Zdanowski, Tomasz Szymanski, Paweł Wrzeszcz, Łukasz Lenart, Jakub Nabrdalik, Wojciech Erbertowski, Kamil Szymański, Marcin Zajączkowski and me came on stage. Few opening words from JUG founder Jacek Laskowski were played from video as he could not join us. Maybe it is a sign of future direction to consider video streaming more … :) 



To be honest many people who have been engaged over the years were missing. There would have been A LOT of different folks on stage if we had manage to grab everyone involved from day one…  

During next session Grzegorz Duda shared his view on current status of Java community in Poland. Then there was a key part of the conference - 10 different workshops that lasted 7 hours with ~170 attendees in total. 



Not all of  them were purely Java or software development focused. Besides Jenkins, Git, or Qooxdoo there was also Arduino, iOS Kickstart and purely "soft" one called "One day with difficult customer".





From my perspective it is really good to see that Warsaw JUG is not closed to non Java topics and is serving different needs.

That would be all for the short summary. I had to leave early but from what I heard that was a cool afterparty :) 

Here is my photo gallery from the event. Check some more photos from Marcin Zajączkowski and blog relation (in polish) from Bartek Zdanowski. 

Looking forward for WarsJawa 2013!

Sunday, March 21, 2010

Time for some screencasts

Inspired by awesome work that Wesley Hales is doing in the JBoss Portlet Community I recently decided to try doing screencasts myself. Today I would like to share my first attempts with you. Movies below cover GateIn Portal integration with LDAP and give some insight about internal Picketlink IDM usage. First one demonstrates how you can start experimenting with sample configuration in few simple steps and uses OpenDS as an example server. Second one separately shows Active Directory integration as it requires few special config tweaks and includes MSAD installation instructions (in Part 1).









Both screencasts are based on tutorials that can be found in GateIn wiki:
- http://community.jboss.org/wiki/GateInwithLDAPasadefaultuserandgroupstore
- http://community.jboss.org/wiki/GateInwithLDAPinreadonlymode

So far my experience is that.... doing screencasts is way more challenging and time consuming than it seems :)

I hope to get some feedback from you (and I'm already aware about few things that I could have done better...)

P.S. Big thanks to Wesley for sharing his screencast experience

Monday, February 9, 2009

Another LDAP SDK option for Java

Last week Neil A. Wilson announced on his blog a new alternative to JNDI, Netscape SDK and Spring LDAP providing LDAP support in Java. It is called UnboundID LDAP SDK and I must say that features comparision and code examples look quite promising. Definitely want to look at it closer in the future.

Tuesday, November 25, 2008

Warsjawa Eclipse DemoCamp 2008

Last week Warsaw JUG held "Warsjawa Eclipse DemoCamp 2008" event. I'd had a chance to help a bit with preparations (blame me if you don't like the T-shirt ;). As it was not meant to be a big conference the numbers are quite impressive: 153 attendees! Łukasz and Jacek have already written more complete reviews on their blogs (in Polish). I will just leave you with photos ;)

Tuesday, July 29, 2008

Embedded OpenDS 1.0.0

I was recently playing with OpenDS LDAP server 1.0.0. As its pure Java implementation it is used in embedded mode in JBoss AS and JBoss Portal testsuites. What is so cool about embedded OpenDS and why you should look at it?
  • It requires only two jar files for basic features support
  • Just few lines of code for management operations are needed.
  • Community on the mailing lists is very responsive
There are few good resources describing how to embed OpenDS available on the web:
However as the project evolves rapidly they don't cover the most recent 1.0.0 version. Here are few simple steps needed to bootstrap OpenDS from Java code:

  1. Download OpenDS 1.0.0 and unzip it.
  2. Fire the 'setup' config script from the main directory and alter the configuration as you need. Remember to shutdown the server if you let to start it.
  3. Embedded OpenDS will require a special directory structure to be able to start. All needed files can be copied from the server directory and are shown on the picture below:

    The 'db' directory can be left empty if you want to add the root entry manually in the code

  4. Copy OpenDS.jar and je.jar files from OpenDS-1.0.0/lib/ directory and add them to the project classpath
  5. Edit opends/config/config.ldif and remove following entry:

    dn: cn=SNMP Connection Handler,cn=Connection Handlers,cn=config
    objectClass: top
    objectClass: ds-cfg-snmp-connection-handler
    objectClass: ds-cfg-connection-handler
    ds-cfg-listen-port: 161
    ds-cfg-enabled: false
    ds-cfg-trap-port: 162
    ds-cfg-java-class: org.opends.server.snmp.SNMPConnectionHandler
    cn: SNMP Connection Handler


    (This entry requires to have OpenDS-1.0.0/lib/extensions/snmp-mib2605.jar file on the classpath)
Now with such prepared directory structure OpenDS can be started directly from the Java code. Belpw there is a very simple class that manages server lifecycle - it just needs two jar files in the classpath (OpenDS.jar and je.jar)




public class OpenDSService
{
private String serverRoot = "";

public DirectoryEnvironmentConfig getConfig()
{
DirectoryEnvironmentConfig config = new DirectoryEnvironmentConfig();

try
{

// Server root points to the directory with opends configuration
config.setServerRoot(new File(getServerRoot()));
config.setForceDaemonThreads(true);

}
catch (InitializationException e)
{
e.printStackTrace();
}

return config;
}


public void start()
{
if (!EmbeddedUtils.isRunning())
{
try
{
EmbeddedUtils.startServer(getConfig());
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

public void stop()
{
if (EmbeddedUtils.isRunning())
{
EmbeddedUtils.stopServer(this.getClass().getName(), null);
}
}

public String getServerRoot()
{
return serverRoot;
}

public void setServerRoot(String serverRoot)
{
this.serverRoot = serverRoot;
}
}





Here there is a trivial example maven project that starts opends and performs simple JNDI search.

Thursday, June 12, 2008

Book Review: Business Process Management with JBoss jBPM

Probably all of you have a private list of technologies that you want to look more deeply at but don't have much time to do so because of other duties. BPM was one of those on my private list so when Packt Publishing asked me to write a review of their book "Business Process Management with JBoss jBPM" I decided it was the right moment to give it a try. Although a subtitle on the main page states that it is "A Practical Guide for Business Analysts" it turns out a perfect position for anyone who does a first look on the technology.

The author begins with a brief high level overview of what Business Process Management is and what benefits it can give to the enterprise. Then we are introduced to the example project case study - Bland Records Inc. and it explains the whole context of introducing BPM in real life and unveil all the non-technical aspects of it. Step by step we learn how to work with people to discover all the processes that are defined in the company and how to describe and improve them.

The book goes step by step through the whole process from gathering requirements to deploying complete system and introducing it to the real users. The amount of technical knowledge required from the reader is really low. At some points it can be even a bit boring for a JEE developer to read about how to install Java on Windows machine and configure MySQL database with JBoss Application Server, but it gives an opportunity to quickly learn all the basics of jBPM framework. Author shows how to leverage JBoss Developer Studio for most of tasks described in the book. It also covers Business Activity Monitoring and explains integration with the SeeWhy Business Intelligence platform.

All activities described in the book are illustrated with lots of screenshots, diagrams and dialogs. It is written with a very easy informative style. The author achieved a good balance between explaining the methodology behind introducing BPM in the company and technical details about jBPM framework. I can recommend this book to anyone who wants to quickly gain a base knowledge about jBPM.