Keynote at 4developers: The Game Of Life – Java‘s Siblings and Heirs are populating the Ecosystem

I was invited to give a keynote talk at the 4developers conference in Poznan, Poland.
Topic
I’d liked to talk about the Java.next programming languages on the JVM and polyglot programming. When pondering how to address this issue, two things came into my mind.
Read more…
Switching to Wordpress
After running this blog for some years on Serendipity, I finally switched to wordpress. All my other blogs are running on wordpress, so this was the only black sheep.
I use the Aspire theme for many of my other blogs but for this one a work/desk like theme seemed more appropriate. So I took a quick look and chose Desk Mess Mirrored.
Importing the content worked like a charm using the S9 Importer plugin.
So here we are.
For the interested here is the list of the other blogs I’m running:
97TESPK: Scoping Methods
Now that 97 things every programmer should know lies on my compass table, I’ll post my contributions here that didn’t make it into the book.
The first is “scoping methods” which I thought about while reading Uncle Bob Martin’s Clean Code. He discussed scoping variables but only about putting methods near to each other. Obviously there was a missing piece. I tried to write it down.
Read more…
12 patterns of development
Martin Fowlers Pattern talk at #jaoo made me make this 12 patterns of development song.
Have fun
Michael
On the twelfth day of Development,
my true dev sent to me
Twelve bridges bridging,
Eleven factories making,
Ten observers observing,
Nine builders building,
Eight visitors a-visiting,
Seven composites composing,
Six iterarators iterating,
Five golden states,
Four calling proxies,
Three nice adaptors,
Two commands commanding,
And a singleton in a pair tree!
On Unicode in DSLs
Guy Steeles Talk on Fortress reminded me on the possibility of using Unicode characters in strings and identifiers in most current programming languages.
That also opens the way for using them in DSLs. Either in internal or external ones. If the special symbols have already a defined meaning in the domain (perhaps as part of a standard notation) this should make DSLs even more readable for the people with the domain knowledge.
All that came to my mind when talking with Dan North about the great new JBehave 2 BDD Framework for Java. When parsing and converting scenario step text tokens, the usage of unicode symbols could improve conciseness and readability.
From Sam Aaron I learned that a ton of unicode characters is just an (ALT-)Keystroke away on a Mac keyboard. He also showed me that in Ruby Unicode is no problem for identifiers and string content.
On Signing MacBooks
Today was the last day of this great JAOO Conference. Rickard, Emil and Irene had to leave. I’ll stay for two more days. Tomorrow some tutorials and squill hacking with Jevgeni .
I had some really great discussions over the last couple of days. The conference atmosphere is the best place to breed new ideas.
As a final gift to myself I had my MacBook Air signed by some of the speakers. I wanted to do that already when attending the QCon London in March, but back then it was to late when the idea crossed my mind.
I am happy that the following (in no particular order) people where so kind to sign my daily development tool :
Dan North, Big Dave Thomas, Dick Gabriel, Guy Steele, Martin Fowler, Ola Bini, Neal Ford, Kirk Pepperdine, Erik Meijers, Linda Rising, Jeff Sutherland, Kresten Krab Thorup, Kevlin Henney, Frank Buschmann and Bill Venners.
Becoming a PC was a very unpleasant experience for it but its still working and hasn’t shown a blue screen since.
I now just need some very resistant coating for that.
Looking forward to the next conference (QCon in March) and to the lots of interesting follow up projects in the mean time.
On Coloring Lego – Print your own
I thought about extending Lego Time Tracking to a kind of Agile story and task management. There you take the time estimated for the task and put that many bricks of the color assigned to the task away to a central location where it is clearly visible (area of stacked bricks). Everyone contributing to the task takes away the bricks he needs for tracking his work time done on this task. The count of bricks still available at the information radar visualizes the remaining estimated time needed for the task. If the bricks are used up and the task not done its obvious that the team overpromised on this task (also noticeable much earlier).
This is something XylonSextuswrote in the comments to the lifehacker post. I just recently discovered the comment.
I quickly came to the conclusion that the existing eight colors available (plus the ones on sale at the online lego shop) are by far not enough to cover the tasks for a whole iteration. When pondering it I came across the printing possibilities my friend Mattcher has available at his company.
So we did a quick prototype on printing onto lego bricks and here are the results:



I’m currently thinking about further uses of this idea besides puzzles, learning materials, additional time tracking/project management colors…
Regarding the additional colors: As you can print a color on both sides you can reuse the bricks for different task (one of the two colors).
On Boosting My IDE(A) – Jetbrains IntelliJ IDEA is fast again
Performance Problems
After struggling for some time with the performance problems with recent IDEA versions on my clients workstations, I’ve finally found a solution. After upgrading from version five the performance of IDEA began to degrade.
I had many hangs and a general sluggish feel.
Read more…
On Finding The Anykey
Finally I’ve found it: The mysterious “Anykey” is living under the strange name of “QuickFix” in your IDE of choice.

Pressing Alt+Enter (Cmd+Enter) in Intellij IDEA or Ctrl+1 in Eclipse enables you to program on a “per example” basis. You can do
introduction of variables, fields, classes,
renaming
changing method signatures
completing structure
surrounding code with live template
importing dependencies
and much more …

and much more just by pressing the “AnyKey” at any offending piece of code. Especially the ton (600+) of intentions of IDEA fixes almost each possible syntax problem using a single key.
Kent Beck used the AnyKey (QuickFix) when describing the Refactoring By Example.
You can find further keystroke reference cards in the help menus of your IDE.
DZone made up a nice collection of refcardz:
IntelliJ IDEA DZone Refcard
NetBeans 6.1 Refcard
On LEGO Powered Time-Tracking; My Daily Column
I’ve had troubles with time tracking my worktime for all the years. I always found this to be a tedious burden and inconvenience. So one morning in my blue hour (reading in a cafe before work) I spent the time pondering the alternatives.
I started listing software and realworld solutions to timetracking that are possible and tried to contemplate if they would (or had) worked out for me.
Read more…



