Software Engineering Candies - Gallery


Top 10 Security Misconceptions in 
Software Engineering
The following article describes the most 
important misconceptions concerning 
IT security. Includes some helpful tipps 
and links. 

THREE.SimpleDatGui A Pure WebGL
User Interface for THREE.js

User interface rendered with THREE.js so
that it can be displayed in Oculus Rift for
both eyes.
You may start here with desktop browser.
Extremely Fast and Simple WebGL
Motion Detector to Rotate 3D Graphic

The browser captures the video signal and
compares subsequent frames to detect
motion of the user. 
You may start here with desktop browser.


Finite Element Method Running In the
Browser and Uses Device Orientation

Finite Element Method Simulation running
in a web browser and uses device
orientation signals. 
You may start here with mobile browser.

Solve Verbal Arithmetic 
How to Solve Verbal Arithmetic with
Constraint Programming in Java? 

Describes basics of Constraint Programming
with CHOCO3. Constraint Programming is a
very powerful method to solve certain
classes of real world problems and puzzles. 

Findbugs, Checkstyle and PMD to HTML Report with XSLT 2.0 

How to Transform the Results from
Findbugs, Checkstyle and PMD to
HTML Report with XSLT 2.0 and Java? 

For some tasks pure Java is not my first
choice, this is especially true for the
manipulation of XML files. 


Java 8 Streams & Lambda Expressions
by Examples 

Lambda Expression have been released
with Java 8. So, they are not completely
new, but I know many experienced
developers which are not familiar with
them and/or use them where reasonable. 

A Library to Empirically Estimate Big-O Time Efficiency and Check Results of Analysis in JUnit Tests

Library to Empirically Estimate Big-O
Time Efficiency and Check Results of
Analysis in JUnit Tests with Java 8
Measure big-o time efficiency and checks
results of this analysis in standard JUnit

op 12 Things Every Software Engineer Should Know

Top 12 Things Every Software Engineer
Should Know
The technical and business know-how is
more important for younger software
engineers and the soft skills getting
increasingly relevant for senior software

Top 10 Things Software Developers Can Learn from Martial Arts

Top 10 Things Software Developers can
Learn from Martial Arts

Practicing martial arts and working in
software development has more in common
than you may think. The following list is a
collection of my personal lessons learned
from training martial arts.

Top 11 Tips to Develop Unmaintainable Code
Top 12 Tips to Develop Unmaintainable 

Have an excellent paid job for the rest of 
your life. The key skill is the obfuscation 
of the code, besides poor design, no test 
cases and overly complex algorithms.


Visualisation of Artificial Neural Network 
This experiment shows an Artificial Neural 
Network which learns to detect the frequency 
of the input signal independent from the 
You may start here with desktop browser.


YACA-Monitor 4.0 - In Situ Diagnostics of 
Java 8 Programms with 3D Visualization 
of Call Stack Dependencies

A Web Application that visualizes the activities 
in a running server with WebGL.


How to Tunnel HTTP-Protocol with a 
Simple Java Proxy Server through 

A small Java example which demonstrates a 
simple way to tunnel HTTP protocol through 

How to Successfully Pretend to Work Hard as Software Developer?
How to Successfully Pretend to Work 
Hard as Software Developer?

Work hard, be clever and fast if you work, 
then allow yourself to do what you like to 
do in the remaining time.

An Unfair and Incomplete Comparison between Spring 3 Framework and Java EE 6
Unfair and Incomplete Comparison 
between Spring Framework and Java 
Enterprise Edition

From the architectural point of view the 
approach of Spring Framework and Java 
Enterprise Edition are competitors.

Periodic Table of Software Engineering

The Dunning-Kruger-Effect in Software 

In this short article you may read that 
low-skilled developers tend to mistakenly 
overrate their own and others abilities. 

Memory and Runtime Analysis for the removeAll() Method of Java TreeSet and ArrayList

Memory and Runtime Analysis for the 
removeAll() Method of Java TreeSet and 

This article describes the differences 
between using the removeAll() method 
of TreeSet and ArrayList class.

Periodic Table of Software Engineering

Periodic Table of Software Engineering 
Collection of most important and 
fundamental elements of software 
engineering. It may serve as a guideline 
what a software engineer or programmer 
should learn, know and most of 
them practice.

Simple Damped Pendulum - Solved and Visualised with R

Simple Damped Pendulum - Solved and 
Visualised with R

This article describes how to solve the 
differential equations of a damped pendulum 
with the R language and visualise resulting 
diagrams in a web page. 

Simulated Annealing
Simulated Annealing for global optimisation 
problems using Java. The application reads a 
caller-callee-graph, some initial cluster 
information and makes a cluster analysis. 

Disastrous Impact of IT Outsourcing ? 

The Disastrous Impact of IT Outsourcing 
to the Motivation of Software Developers

Just the discussion and/or rumors about 
a possible outsourcing has bad effects. 

Disastrous Impact of IT Outsourcing ? 

Top 5 Reasons for Not Using JavaDoc 
in the Next Project

For in house enterprise software and/or 
product development there are for me 
the following 5 reasons to don't follow 
a '100%-JavaDoc' policy in the next project. 

Disastrous Impact of IT Outsourcing ? 

What has Picasso's Guernica to do with 
Software Engineering?
Defining the term 'inner-beauty of source 
code' is a difficult task. You may know it 
when you see it, but to define a clear criterion 
is far more complex than it seems. 

Lessons Learned from GPU Experiments with Aparapi

Lessons Learned from GPU Experiments 
with Aparapi

In the following you can read about some 
experiments with Aparapi for GPU 
programming. The results have not been 
completely satisfying, but after all very 

Reduce Waste with Clever Communication

How to Reduce Waste with Clever 

A lot of time and energy is wasted every 
day in development projects, maintenance
 teams and IT operations units due to 
inefficient communication.

Reduce Waste with Clever Communication

Selected Rules of Thumb in Software 

The following rules of thumb should be 
helpful to get quick effort estimations. 
They explain typical scenarios in 
development and/or maintenance tasks.

Rube Goldberg Software 
Lessons Learned from a Rube Goldberg 
Software written in Java, Python and C++ 

Three programs in different languages, i.e.
Java, Python and C++ and with identical 
functionality create and call each other
in a cyclic manner. 

Find Valid Email Addresses 

How to Find Valid Email Addresses in Java 
with Regular Expressions or with 
EmailValidator from Apache Commons? 

Validating email addresses can be a tricky 
task. The class RegularExpression reads a 
file and tries to find all valid email addresses. 
Why Should Software Engineers Read Books Even in the Future? 
Why Should Software Engineers Read 
Books Even in the Future?

When I started with software development - 
the only way to learn software engineering 
was to buy & read books, take lectures at 
university and/or attend expensive 
commercial training.