I’ll be presenting (in french) with Jean-Laurent de Morlhon at ValtechDays 2009 on November 17th a talk titled “Where are my Beans, Contracts and workflows? WOA and Rest: An enterprise mindset shift”
Jean-Laurent did a brief introduction to the talk on his blog.
“With the rise of web 2.0, Rest and Web Oriented Architecture emerged as inevitable solutions to today’s business challenges. However, to realize the benefits of this approach requires a comprehensive look at the whole model together with its composing technologies, design patterns and best practices. In this talk, we will go with you discovering this approach, highlighting its principal elements (standard Web technologies, linked data, Mashups…) helping you finding architecture values you care about in a dynamic, extremely extensible model, hoping you get an “AHA!” moment by the end of the day.”
If you’re a JavaScript hater, a SOA lord or a GWT geek come in to exchange with us on the differents views to solve a common problem
And yes there is one slide about functional programming with JS )
This was a not satisfying test of integrating a google wave in the blog. I’ll make a summary of the wave later.
I’ll remove the wave for now from the blog because 1: It is not viewable by eveyone 2: It takes quite some time to load.
Sorry for inconvinience…
If you look at Haskell, Erlang, Scala and F#, what do you see? If you look at Haskell, you see something which, within its context, within the little framework it sets up for its sandbox, it’s very consistent, it’s very beautiful. You look at Erlang, it kind of fits, the bits fit together nicely. Of course, they don’t fit together nicely with the JVM or with .NET or anything like that. If you want to use all the nice things that are there, you can’t use them, or you can use them, but it’s difficult. So the other approach is, you say “Let’s use the JVM and target lots of different languages, so that the different languages can use each other” or you can do that within the .NET framework, you get Scala and you get F#.
The benefit there is you can use all these other things that are available, but in order to do them, you have to break them, massively corrupt and break these abstraction boundaries and I don’t like that. I think you are breaking abstraction boundaries in the wrong place. How I would like to see systems built is through communicating back boxes. And I would like to see the type systems applied to the definition of the protocols themselves and I haven’t seen that done.
Joe Armstrong from http://www.infoq.com/interviews/armstrong-peyton-jones-erlang-haskell
ps: reminds me of “And you get all the VM libraries for free! Is it actually what I want when I switch languages?“

Useability: Not just a pretty interface
Reflecting user’s model in code
Ergonomics and interface design are often approached as if all what they are about were a pretty GUI that hides the complexity of the underlying software. This is the reason why, even though the importance of this issue is well acknowledged, it is often treated at the later stages of the software development cycle, once modules and components are conceived and already developed. At this stage, achieving real productivity and usability becomes too costly and might require complete rewrite and recomposition of some modules. In this presentation, I will try to put the emphasis on the importance of considering interface design early in the development cycle, and provide insights into some practices that may be instrumental for creating better and simpler user interface, such as Domain driven design and user model mapping (reflecting the way user perceives software).
The LinQ Experience
Better expressiveness with less code
For a long time now, we’ve been failing, or at best not terribly succeeding, in achieving our ultimate dream of code reuse as a means for reducing code base and avoiding recurrent bugs. In the mainstream OOP approach, and even at the enterprise level, the idea of designing pluggable reusable modules doesn’t seem to work quite often. Having a potentially reusable component implies that it becomes more generic, requiring extra parameters and logic to satisfy more than one use case thus raising complexity level. Inspired from an already mature approach to functional programming, LinQ adopts a different approach to code reusability which operates rather at the micro level. It provides language constructs that allow functionalities to be composed of smaller functions (cells) that are themselves of composite nature.
Based on my experience from a recent real world enterprise project, I will provide you with insights and examples about adopting such an approach reviewing the consequences, pros and cons of this experience, showing how composability and reuse at the micro level can yield a more expressive code with fewer bugs.
http://www.infoq.com/presentations/Agile-Architecture-Is-Not-Fragile-Architecture-James-Coplien-Kevlin-Henney
Making the tough decisions early make the other decisions easier
To do agile you should be standing on a firm foundation
Stability != Static
YAGNI? not extremely!
Fainting Ignorance :Don’t Play dumb! If you know some stuff celebrate that you know it and put a peg in the ground.
It is ok to know stuff, it is alright.
One of my childhood dreams was to have a time machine. A machine that can show me what will happen in the future. Thinking about it, this can be a huge opportunity of making money and fame. Bringing all the future inventions and innovations to the actuality will no doubt make you a hero.
Actually I won’t need a lot of years ahead, just enough that allows me to introduce a new concept or a new idea to a world that didn’t get to it yet. Of course there is credits and merits, but that idea did anyway have its value in its time (in the future), all what I will be doing is giving it yes more value and that is well rewarding for the idea itself.
No, I am not about science fiction here. We can almost predict the future without the need of a time machine. If we have a look at technology adoption, we can clearly see that, at least in IT, Europe is slightly behind the US. However there are countries (like my own) with a longer delay of adoption.In my opinion this is a huge opportunity of investment especially when we see with a simple observation how the technology adoption follows almost exactly the same steps, maybe with a faster rhythm, but with an considerable delay despite the wide spread of Internet and cheap communication. I guess the reason to that is that adoption should pass by the same stages of try and failure until it moves to the next level, rediscovering the wheel.
A company in the style of Y-Combinator that helps startups do shortcuts in these countries can be a good investment. Especially knowing that, in order to be integrated in the word’s economy, information should flow satisfying existing standard from the… future!
So, any investors?
The transcript of Steve Yegge’s presentation on dynamic languages in Stanford University, which he posted on his blog, triggered many reactions in the blog sphere. Cedric Beust, Ted Neward, Ola Beni and Greg Young provided their viewpoints and arguments on different tradeoffs involved in dynamic vs. static debate.
(more…)
Adapting to multicore paradigm is one of the emerging challenges in the software industry. What if the solution lays at the hardware level? Bob Warfield suggests that creation of chips optimized for running specific virtual machines could reduce the gap between the potential performance of processors and the actual capacity of software to take advantage from it.
(more…)
Here goes my schedule for Qcon London 2008Â
See you there :) (more…)
In his latest article Martin Fowler suggests that what matters most while building a team is not experience or thorough knowledge of the specific platform and business domain, but rather some broader skills that allow building quality software and delivering value.
(more…)