Apache FreeMarker - Why Every Developer Needs A Template Engine, November 2019

Being a lazy programmer is hard work - you also need to automated those "boring copy & pasta text tasks". I started with Groovy & Apache Velocity, automated even more boring tasks, ditched Groovy & Velocity in favour of JDK & Apache FreeMarker, wrote “freemarker-cli" and use Apache FreeMarker to implement simple web UI nowadays. Long story short - if you need to transform access logs, CSV, Excel, HTML, JSON, XML or YAML into some other textual representation (aka CSV, HTML, Markdown Confluence) or require a quick & dirty UI for a JVM-based micro service then this presentation is for you.

Come To The Dark Side - We Have AcsiiDoc, February 2019

Sometimes you have to join the Dark Side – temporally. Writing documentation and preparing presentations as software developer is bad enough but using Microsoft Office makes it unbearable. Be real – BLOBs shared over email, file system and/or Slack is a thing of the past. We want our stuff text-based and version controlled but sometimes Markdown does not cut it. But help is near – learn how to get an efficient work-flow using Sublime & Maven to generate beautiful PDFs and reveal.js presentations.

What Is A Software Developer, February 2018

A non-technical presentation for HR folks to better understand a Software Developer. It covers a variety to topics including motivation, dark matters developers, constant learning, moonlighting and side projects.

Gatling - Tales From A Journey, June 2016

We all love to deliver well-tested and responsive software in rapid cycles to our customers. Consequently we invest a lot of time in test automation ranging from automated unit & integration tests to continuous performance testing. In this case study we follow the journey of introducing Gatling as simple tool to monitor the availability of REST endpoints. This monitoring turned out to be useful across multiple departments therefore a multi-tenant & multi-site test setup was introduced. To make the usage more convenient and accessible these tests were moved to a Jenkins automation server. Since Gatling test scripts are written in Scala you have all the programming power at your fingertips. The next step of the journey extended the Gatling scripts to compare the current JSON responses with recorded responses from the previous release in order to detect changes in the REST API. But at its heart Gatling is a performance test tool - turning the "functional" test suite into a full-blown performance test (including reporting) required just a few lines of code. At the end of this journey we look back at the separation of functional and performance test tools since both are means to the same end - delivering high-quality software.

Joost van Wollingen: "Siegfried Goeschl surprised with a talk on how he applied Gatling for functional smoke testing and extended it along the way at Erste Bank. Truely an excellent presentation, some humour, great examples from practice and Siegfried displayed a real understanding of how to make software usable for all engineers, even in a difficult environment such as a bank."

Groovy Scripting, March 2016

Some tasks at hand are too complex for shell scripting and not large enough for a full-blown project. Siegfried used various scripting languages (Perl, Tcl, JavaScript, Ruby) over the years and finally settled for Groovy. Let's join him on his journey through Groovy Goodness and show off some cool features such as networking, JSON processing, library management, command line parsing and configuration files.

Java Server Performance Monitoring, March 2015

You are running Java-based application servers in production and have no good understanding why customers complain about performance? Thus this presentation is for you - it introduces open-source performance monitoring tools easily embedded & deployed along with your application covering JavaMelody, JavaSimon and JAMon. With those tools you can monitor your HTTP request, method invocations and SQL queries in real-time with convenient browser access.

Java Imaging Survival Guide, Oktober 2014

If you are ever asked to convert, process and scale millions of real-world images using Java it will be a painful experience - at least it was for me. I came across unexpected problems ranging from CMYK, alpha-channel handling, multi-page TIFF, image compression algorithms, setting DPIs, PDF preview generation, decompression bombs to efficient image scaling. At hindsight I wished there was some single resource of information to guide me through my problems - and this is exactly the reason for this presentation. It provides real-life experience in replacing an ImageMagick/JMagick image conversion & scaling with a pure Java implementation covering Apache PDFBox, Java Advanced Imaging API (JAI), TwelveMonkeys ImageIO plugins, Sanselan (aks Commons Imaging) and different Java-based image-scaling libraries.

Apache JSPWiki, April 2014

Welcome to Apache JSPWiki - a Java-based Wiki using Java Server Pages (see http://jspwiki.apache.org). The presentation starts with a technical overview of Apache JSPWiki and turns to settting up JSPWiki for different environments & requirements. These environments range from your personal "Wiki On A Stick" running from an USB stick (including native launchers) up to a work-group setup deployed on a in-house server with integrated Lucene search

Surviving a Successful App Launch, October 2013

Looking back the the mobile app development and launch at willhaben.at. Starting from implementing a REST API based on Willhabens iAd platform to hard launching of the iOS and Android apps having 40.000 downloads the very first day.

Sublime Text 2, January 2013

My first thought was - "Why on earth someone is developing a new text editor". Having said that I downloaded Sublime, played with it and bought a licence ...

SOLR 24x7 - From Development to Production, December 2012

At Willhaben the Microsoft FAST ESP server was replaced with Apache SOLR and this presentation discusses the migration process in order to handle 200+ full-text search requests per second.

Using JMeter for Testing a Datacenter, November 2011

This presentation gives you first-hand information how JMeter was used for testing web applications and web services at a data center. At the beginning JMeter and the testing approach is introduced before tackling the hard problems of setting up a scalable performance test infrastructure consisting of JMeter, Ant, Hudson and Git. During the course of the project a new reporting backend for JMeter was developed overcoming the limitations of the current XSLT approach because a SLA (Service Level Agreement) performance report was required based on huge JMeter result files.

Build Management, January 2011

Some thoughts and best practices for build managment presented at a OSSBIG meeting.

Apache Commons Email, November 2010

You just wanted to send an email from within your application and got confused with BodyParts, MimeBodyParts, MimeMultiparts and friends of the Java Mail API?! If yes - have a look at commons-email to see how you can easily create text emails with attachments or HTML emails with embedded images in just a few lines of code

Apache Commons Exec, November 2010

Using a simple "Runtime.exec()" in production code won't cut it and might break your application. Using commons-exec shields you from platform-specific exit codes, blocking error streams, run-away child processes, asynchronous process execution and cross-platform issues.

Who’s Afraid of SQL Injection?!, September 2010

This presentation gives a short introduction into SQL injection before it documents the vulnerability of a the real-life application.

When Agile Meets OO Testing - A Case Study, June 2010

This presentation describes the testing approach for an object-oriented rich client application based on an agile software development process. The presentation starts with an overview of project and the testing strategy being used. It then goes on to describe the test tools used in the project and the results achieved. The presentation ends with a discussion of the discovered defects, their distribution and improvements for the testing process.

JSPWiki On A Stick, May 2010

This presentation introduces JSPWiki, a wiki implemented in Java using Java Server Pages (see http://incubator.apache.org/jspwiki/). JSPWiki is currently incubated at the Apache Software Foundation (ASF) and might become an ASF Top Level Project. The presentation starts with an overview of JSPWiki and turns to the problem you have when trying to use a wiki server without internet access. Out of this frustration the idea of a portable wiki running from an USB stick was born - a "Wiki On A Stick" (WOAS). This JSPWiki distribution can be used from an USB stick using different operating systems such as Linux, Windows and Mac OS. The presentation ends with an discussion how to keep multiple wiki instances in sync, e.g. by pushing/pulling changes using git.

Web 2.0 Goes Telco, January 2009

This presentation was held at a JUGAT meeting and introduces the "The Invite Friends Mashup" a joint project between Kapsch CarrierCom and IBM.

SOLR - A Lucene Search Server, May 2008

SOLR is a ready-to-use Enterprise Search Server implemented in Java and based on Apache Lucene. SOLR runs as stand-alone HTTP server or web application using HTTP & XML for remote communication. This makes embedding a fulltext search in your application straightforward and is independent from your favourite programming language.

CruiseControl - An Introduction, November 2007

An introduction to Continuous Integration using CruiseControl. The slides are taken from Joe Schmetzer of Exubero (see www.exubero.com) with a little bit of polishing. Having said that a lot of the polishing was already done by S5, the Simple Standards-Based Slide Show System (see http://meyerweb.com/eric/tools/s5/).

JAMon - Performance Monitoring of Java Applications, July 2007

An introduction to JAmon 2.x and how to embed it into various applications, e.g. servlet filters, manual code, dynamic proxies or using a service framework. The examples are created with fulcrum-yaafi-1.0.5 using the JAMonInterceptorService.

Canoo WebTest, May 2003

An introduction to Canoo WebTest - an ANT based functional web testing tool.

XML-RPC The Real Simple Object Access Protocol, March 2003

An introduction to XML-RPC and how to interact with Java and TCL.

CVS In The Enterprise, July 2002

An introduction to setting up a CVS server.

The Stairway To Maven, July 2002

An introduction to Maven1 and a good overview of available plugins.

Microsoft Web Application Stress Tool, July 2001

An overview of Microsoft Web Application Stress Tool, a very simple load test tool for web applications.