Martin Gross bio photo

Martin Gross

Solution seeker, building things, often in software.

Twitter Google+ LinkedIn Github

All Posts


Action-based vs. Goal-based Doing

If you follow the ‘Getting Things Done’ approach you are aware of all the to do lists detailing all the actions. Actions you wrote down. Actions you are supp...


TLS 1.2 and Java Cryptography Extension (JCE)

TLS 1.2 needs strong encryption capabilities. TLS 1.2 defines certain cipher suites to be used to enforce strong encryption. A list of the TLS 1.2 cipher sui...


Run a simple webserver in one line of Ruby

Sometimes you just need a very basic ad hoc http static server in your current directory. If Ruby is already installed you just need to run the following on ...

The World Is the Way It Is

Steve Jobs about what you can change and influence


Mistakes Entrepreneurs Make When Managing Developers


Testing web apps with Selenium Page Objects

During the process of developing a web application, the structure of web pages is often changed. If you have several Selenium tests that test different funct...

Mocks in Java

Mock objects are simulated objects that mimic the behavior of real objects in controlled ways.

Building High Performance Development Teams

Blog about JRuby Resources

One week ago I started a blog called JRuby Scout . I blogging there about JRuby in general and interesting JRuby resources I found.

HTML5: Sectioning content elements

html5doctor has a good flowchart leading you to the right content elements in HTML5:


People who can code

“People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government,...


“Nur wenige leben in der Gegenwart; die meisten bereiten sich darauf vor, demnächst zu leben.” Jonathan Swift

Why does Test Driven Development matter?

An excellent Talk by Robert Martin called “What Killed Smalltalk Could Kill Ruby, Too” that shows why test driven development (TDD) as a concept ...

JRuby as an exceptions-as-flow-control detector

Chris Heald shows in his article ‘JRuby Performance: Exceptions are not flow control’ how the anti-pattern of using ‘exceptions as flow con...

UML Notation auf einer Seite

Eine der besten und prägnantesten Übersichten für die UML (Unified Modelling Language) habe ich bei Wikipedia gefunden.



You can think of BTrace as a scriptable debugger or logger: you set breakpoints and when your breakpoints are hit some script gets executed:

Performance Testing: Quick Tip: Handling very large log files

A dirty hack to get through an authenticating proxy with open-uri

I had problems parsing a webpage with Nokogiri on JRuby 1.5.2 . The proxy authentication was the issue.

Symbolic links for directories on Win XP

Symbolic links for directories are known as NTFS junctions in Windows. Sysinternals provides a tool for creating junctions:

17 Software Engineering Rules based on the UNIX Philosophy

Rule of Modularity: Write simple parts connected by clean interfaces. Rule of Clarity: Clarity is better than cleverness. Rule of Composition: Design pro...

git with github through a firewall

Git supports a new, much more efficient HTTP based transport as of version 1.6.6.

State of Flow

“What makes a life worth living?” Noting that money cannot make us happy, he looks to those who find pleasure and lasting satisfaction in activit...

Some successful european SaaS startups

Might serve as inspiration for bootstrapping in continental Europe:

Merging PDF files using free opensource software

Using PDFCreator you can merge any number of different file types, including (parts of) PDF files, into one PDF.

Maven Build without running JUnit tests

If you don’t want to execute the tests:

Motivation, incentives, money

The surprising truth about what motivates us:

How to easily sync multiple Google calendars with your iPad

Add account 1. Tap the Settings on your iPad’s home screen. 2. Tap Mail, Contacts, Calendars. 3. Tap Add Account…. 4. Select Microsoft Exchange.

UMTS Internetfreigabe via Mac OS X 10.6 für WIFI iPad

N.B. If someone is interested in an english version, leave a comment below.

FireBug Net Panel Explained

Jan Odvarko wrote a detailed explanation of the FireBug Net panel and another one explaining the timing data in particular.

Performance Testing: Analyzing JMeter Results

JMeter Test results

Mind Mapping

FreeMind ist meiner Meinung eines der besten Mind Mapping Tools. Es läuft auf allen wichtigen Betriebssystemen, exportiert PDF und SVG, ist OpenSource.

Software Performance Testing: The Analysis part

After the performance test is done the analysis part starts. To get a really deep understanding of the test results you can’t continue without analyzin...

Ruby and JRuby people worth following

Just created a twitter list of Ruby and JRuby people worth following, with an emphasis on JRuby: @MartinGross/jruby

A work-around for slow "git svn clone" on Windows

There are a lot of reasons to use git instead of svn . But it is hard to switch to a new version control system in a running project.

git-svn in action

Startup Entrepreneur Links of the Week

Indicators that you should take VC money

Startup Entrepreneur Links of Week 6

Copying Y Combinator WHY and HOW

How to get started designing a website



Conditionally ignore JUnit TestCases

@Ignore is one of the useful annotations of JUnit 4 and above. If you put this in front of a test method it will be ignored and the test results show that th...


Compiler Ruby script to a Java .class file: jruby -S jrubyc start.rb


Startup Entrepreneur Links of Week 37

Advisory Board: Small Investment, Large Payback

Startup Entrepreneur Links of Week 31

37 Pithy Insights From Street-Smart Entrepreneurs

Surfing in New York

Subject Key Identifier (SKI)

The X.509 standard defines extensions for Version 3. One of them is the SKI extension.

X.509 Certificate

X.509 is a standard for a public key infrastructure (PKI) and specifies, amongst other things, standard formats for public key certificates and certification...

Startup Entrepreneur Links of Week 27

Entrepreneurs are not unusually risk tolerant; rather, they are overconfident

Startup Entrepreneur Links of Week 26

Key steps for developing customer loyalty

This week's Startup Entrepreneur Links

Counterintuitive Rules For Charging For Media Online

This week's Startup Entrepreneur Links

Details are for later or Why 37signals skips Photoshop

This week's Startup Entrepreneur Links

Finding a URL and Company Name – ReadWriteStart

Keeping passwords in a safe place across different operating systems

From the KeePass project website :

JRuby und Firewall mit Proxy

Wenn man mit JRuby durch einen authentifizierenden Proxy will, z.B. weil man ein Gem installieren will, muss man vorher eine Umgebungsvariable setzen.

Web services security mit WS-Security, Teil 1

Zur Zeit arbeite ich in einem größeren Kundenprojekt, das Schnittstellen über das Internet nach aussen anbietet. Über diese Schnittstellen werden unter a...

Remote Debugging an Axis2 Web service with Intellij IDEA

At Eran Chinthaka described how to debug a web service remotely.


Agile Software-Entwicklung mit User Stories

Da ich zur Zeit mit einem Kunden die Anforderungen an eine neue Software erarbeite, hatte sich mir die Frage gestellt, wie man das am geschicktesten macht oh...

VI Cheat Sheet

JRuby Swing IRB with antaliasing

Somehow I was not really satisfied how JRuby Swing IRB (jirb_swing.bat) was looking on my windows machine.

Bash Prompt einstellen


Using Maven to build Axis 2 projects

Axis 2 provides three Maven plug-ins to build projects. These plug-ins are used to replace the commandline tools or Ant scripts usually used.


Zusammenfassung von Vorträgen

Eine interessante und ungewöhnliche, aber effektive Art und Weise der Zusammenfassung von Vorträgen einer Konferenz liefert uns Mike Rohde in der Form von so...

API Design und warum es wichtig ist

Wenn man sich mit der Entwicklung eines Application Programming Interface (API) befassen will, bekommt man in “How to Design a Good API and Why it Matt...

Browser Cache in Firefox anschauen

Mit Firefox kann man sich komfortable die gecachten Dateien, die im Hauptspeicher und auf Festplatte vorgehalten werden, anschauen. Dazu gibt man einfach in...

Produktiv Arbeiten im sogenannten Flow

Wie erreicht man den mentalen Zustand des Flows?

Der Rechtsstaat und Vorratsdatenspeicherung

“Der Rechtsstaat ist nicht in Gefahr durch den internationalen Terrorismus, er kann sich allenfalls selbst in Gefahr bringen.”

Beharrlichkeit (perseverance)

Albert Einstein said:

An interesting look at the airline business from a technological point of view.

Twenty years from now ...

“Twenty years from now you will be more disappointed by the things that you didn’t do than by the ones you did. So throw off the bowlines. Sail a...

Strategien zur Software-Dokumentation

Scott Ambler schreibt in seinem Artikel Agile Documentation Strategies : Dokumentation ist ein wichtiger Teil von jedem System, egal ob agil oder traditionell.

Besseren Java Code schreiben

Brian Goetz hat einen interessanten Artikel über die Mythen zur Java Performance geschrieben. Er behandelt unter anderem:

UMTS als DSL Ersatz?

Seit einiger Zeit nutze ich neben meinem DSL-Zugang eine UMTS Karte für mein Laptop, um eine nahezu überall verfügbare Internetverbindung zu haben. Es gib...


Needs vs. solutions

Don’t tell me you want a bridge, show me the canyon you want to cross.

Visual Dictionary

Das Visual Dictionary ist eine Sammlung von Bildern zu Wörtern, die in der realen Welt durch Fotografien festgehalten wurden.

Wicket Web Application Framework

Wicket ist ein relativ neues Web-Framework, das einen interessanten Ansatz verfolgt:

Oft unterschätzter Aufwand für Projektmanagement

Es ist immer wieder für mich erstaunlich, wieviel Zeit man für Projektmanagement benötigt. Man neigt einfach dazu, das stark zu unterschätzen. Aus eigener Er...

JCI European Conference 2006 in Tallinn: Day 3

Very interesting key note from Alexander Bard in the morning about social development of society from feudalism to capitalism and now to informationalism whi...

Weak and soft references in Java

Einen guten Artikel, warum man und wann man WeakReferences und SoftReferences in Java einsetzen sollte und wie der Garbage Collector sie behandelt, findet ma...

Java Classloaders and J2EE

Today I had a strange deserialization problem with an EJB inside a BEA Weblogic server. It finally boiled down to classloading problem which was caused by a ...


Dem Schachprogramm beim Denken zuschauen

… kann man bei Thinking Machines

Lästige Registrierungen umgehen

Useraccounts ohne Registrierung nutzen kann man bei Bug me not

Projektplanung für Software-Projekte

Joel hat schon vor längerer Zeit einen hervorragenden Artikel zu Zeitschätzung von Software-Projekten geschrieben. Verblüffend ist der einfache, aber effizie...

Wozu eigentlich Individualsoftware?

Warum braucht man eigentlich noch individuell entwickelte Software-Lösungen? Es gibt doch eigentlich schon alles fertig, könnte man meinen.

Sei ein UNIX Guru :-)

How To Look Like A UNIX Guru


E-Books: Practical Common Lisp Successful Lisp: How to Understand and Use Common Lisp Common Lisp: A Gentle Introduction to Symbolic Computation The Com...

Threads und JUnit

Wenn man Klassen mit JUnit testen will, die in einem eigenem Thread laufen, hat man ein Problem. Diese Tests werden nicht komplett ausgeführt.


Studie: Benutzerfreundlichkeit ist der Schlüssel zum Erfolg

Eigentlich kam nichts Überraschendes bei einer Studie des Fraunhofer-Instituts für Arbeitswirtschaft und Organisation (IAO) heraus. Aber trotzdem ist es doch...