Welcome

Welcome to our blog about all kind of topics that are related to software development. We blog about:

SOA, BPM, EDA, ECM and all the other buzz words. Beware some post might not be so common as you think. We are not scared to go against main stream thoughts.

Technologies like java, maven, springframework, OSGi and front end technologies and frameworks like jQuery, DWR, Flex.

Finally to make this happen we need tools and of course a Mac (well some of us do). So we blog about that as well.

Technorati

Add to Technorati Favorites

Linked in

We now have a linked in group, join the group if you are a regular reader and want to see who else reads this blog.

An evening on the Go

Last Thursday (July 22nd, 2010) Rob Pike, a Principal Engineer at Google, gave a talk at the O’Reilly Open Source conference. In this talk he stated that established languages such as C++ and Java are too complex and not adequately suited for today’s computing environments. He then proceeded with some criticism of dynamically typed languages (that I share) and finally ended up plugging the Go language (which he co-developed) as a solution to the problem.

Now, Rob Pike is not nobody (in addition to being a Google principle engineer he has C and Unix credentials), plus the Go language has the Google brand name on it, so I thought it would be a good idea to check it out….

Continue reading An evening on the Go

Some notes on discovering your type parameter using the Reflection API

Starting with release 5.0, the Java language comes equipped with parametric polymorphism. Also known as generics, this language feature allows for a type (a class, interface, enum or other) to be parameterized with a type variable: a variable that represents some other type. This allows for the creation of Java code that is generic with respect to the type system (like when using java.lang.Object as the type of a method parameter) yet type safe at runtime (once you’ve chosen a specific type to use, the compiler can enforce that choice).

Even though parameterized polymorphism allows you to write code that is generic with respect to the type system, sometimes you want to write code that knows which actual type(s) it has been parameterized with. This article will examine how to discover that information, as well as the discoverability limits of the Java generic type system.

Continue reading Some notes on discovering your type parameter using the Reflection API

The Long and Winding Road: a tale of grouping my mails using a user-defined field in Outlook

First and foremost an apology to all regular readers: I fully realize GridShore is not intended to deal with Microsoft technology (or whatever detritus is collected under that name). However, this one is such a beauty of having to go the long way to get things done that I don’t want to hold back.

As with many a long and winding trail, this one started this morning with what seemed like a short hike across a small and uncomplicated footpath. You see, of late I have found myself making more and more use of the different features of Outlook (something to do with becoming more senior in my company…). Among others, I’ve found that I’ve started using the little flags to mark mails that I have to get back to. But I receive so many mails nowadays that even in a single day the flags get snowed under and pushed off the list. Of course I could just sort by flag status, but I prefer to have today’s mails at the top (rather than the flags and ticks from two weeks ago). So I had myself a bright idea this morning: I’ll just change the grouping of my mails to group by received date and then flag status within the date groups. Walk in the park, right?

Oh mother….

Continue reading The Long and Winding Road: a tale of grouping my mails using a user-defined field in Outlook

Bad science…

The last few days I’ve been reading BAD Astronomy, a book by astronomer Philip Plait that describes common misconceptions, misuses and scientific abuses of astronomy. Partly written to be funny and partly to debunk the nonsense that arises from people misusing and abusing science, it’s a good and worthwhile read for anybody (especially if you have some spare time on your hands).


Bad Astronomy

Philip C. Plait. Wiley 2002, Paperback, 288 pages, $5.50

Reading through the book I came to chapter 14, which deals with the doomsday advocates who swore up and down that the world was going to come to an end on May 5, 2000 due to a planetary alignment (more or less) of Mercury, Venus, Mars, Jupiter and Saturn. It was quite funny to read Plait’s description of why this neither would nor did cause catastrophe for our planet. But more than that, the chapter got me thinking about how bad science is all around us and affects us in sometimes rather drastic ways.

Continue reading Bad science…

Upgrade woes and frustrations

This Monday my corporate laptop was upgraded. Last week I was in proud possession of an HP/Compaq NC6400, this week I have an IBM Lenovo R400 Thinkpad (an absolute Boer of a laptop, compared with the sleek and polished Compaq). It’s ugly and the control button is in the wrong place (which is inconvenient), but it has more RAM and a larger harddrive so I guess I’ll live with it.

Unfortunately, with the new laptop I was also downgraded: from Windows XP to Windows Vista and from Office 2003 to Office 2007. And no, those are not typos; I’ve been given new software with my new laptop and I hate every little bit of it. Vista is designed to kill your productivity and break your existing software. And even if you have software like Office (guaranteed to work due to the close ties between development teams), they make sure the new version is so bad that you can’t use that either.

Among my favorite bugs, failures and stupidies so far are the following:

Continue reading Upgrade woes and frustrations

Just a moment of your time….

jQuery(document).ready(function($) { window.setTimeout(‘loadFBShareMe_779()’,5000); }); function loadFBShareMe_779(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-779′).remove();$(‘.DD_FBSHAREME_AJAX_779′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_779′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_779′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://www.gridshore.nl/2009/05/21/just-a-moment-of-your-time/&size=large’); }); }

Like Jettro in his perspective on content management, I would like to draw your attention to another blog which was published on the Daily WTF and mentioned on The ServerSide. It’s hilarious and a good lesson as well: Java is Slow!

Enjoy!

Dutch Direct: Celebrating the 50th anniversary of Dijkstra’s Shortest Path algorithm

This year, 2009, we celebrate the 50th anniversary of a landmark moment for (Dutch) computing science: it is 50 years ago this year that Edsger Wybe Dijkstra, The Netherlands’ most famous computing scientist, published his Shortest Path Algorithm in Numerische Mathematik, the German journal of numerical mathematics.

The shortest path algorithm is a solution to a problem from graph mathematics. A graph is a mathematical construct consisting of vertices (or nodes) connected by edges (or sides). Each path has a value (a length, a cost, etc.). The object of the problem is to find the shortes path through the graph from one point to a certain other point. And just in case that sounds like abstract mathematical nonsense that nobody will ever have use for: this problem and its solutions have been applied to network routing, traffic pattern regulation and worldwide distribution of goods. For those of you who drive cars: next time you get in you car, take a look at your satnav — then say “thank you Edsger”.

Dijkstra’s algorithm is not the first solution to this problem. However, his solution differed from the solutions presented before in that it is simple and straightforward (most textbooks and professors covering the subject even remark that it is strange that nobody came up with this easy solution sooner). It is also one of the first solutions that was designed with implementation on a computer in mind, so it is optimal with respect to running time and storage need. This in turn undoubtedly explains its pervasiveness throughout computing even (or only?) 50 years after its invention. It’s also why Dijkstra is most famous internationlly for this algorithm; even to the point of being insulting, because it is really one of the least impressive results of his career, which literally lifted computing science from trial-and-error tinkering to a science.

Dijkstra’s career focussed mostly on developing the science of computing science, by developing techniques for constructing provably correct solutions to problems by constructing the solutions hand in hand with the proof of correctness. Dijkstra was a great believer in computing science’s mathematical roots because exactly those roots yield the properties that computing science so desperately needs: correctness, accuracy and elegance. One of Dijkstra’s axioms in fact is that Beauty is our Business. So in that spirit (and, I hope, in Dijkstra’s spirit as well) I would like to present this birthday salute to Dijkstra’s algorithm – and to the man himself as well: a construction of Dijkstra’s Algorithm.

Continue reading Dutch Direct: Celebrating the 50th anniversary of Dijkstra’s Shortest Path algorithm

On the Origin of Technologies

This year, 2009, is the 200th anniversary of Charles Darwin‘s birth and the 150th anniversary of the first publication of On the Origin of Species. In this famous publication Darwin launched his notion of how species’ survival is dictated by their ability to make the most efficient use of the available resources in their environment, how they adapt to increase that efficiency and how the combination of increased procreation and targeted adaptation mean that the most adapted and adaptable species survive longest.

Much like species of plants and animals, the software we build for our customers (and the software built by our predecessors) lives in an ever-changing environment. Business needs change and expand, fashions change, economic booms, lulls and the occasional crisis follow one another in an endless tide. Software systems face their own survival challenges, dealing with all these changes. And much like their biological counterparts it is their adaptability that rules their survival.

Continue reading On the Origin of Technologies