Embrace change

«The best way to predict the future is to invent it» — Alan Kay 

Joy and sorrow

Sometimes life is really strange. Yeasterday has been such a day. There has been real great joy, when our local team, the EWE Baskets Oldenburg, won the German basketball championship. It has been a close game in a hard playoff final, but in the end we all had a party together with the team and the trainer at the EWE Arena and later in the city. A great day!
 
But on the other hand two people that accompanied my youth died: Farah Fawcett and Michael Jackson. It's not that I'm the greatest fan of both, but both have been a part of a real important time. We watched Charlies Angels, listened and danced to the music of Michael, and my wife has also been able to visit a concert of him.
 
May both now rest in peace and their family and friends be strong enough.

Filed under  //   life  

Comments [0]

No new integration platform

I thought a bit about my idea for a next generation Tideland EAS and now made a decision. It is really an appealing idea building a new integration platform for event-driven solutions based on technologies like JSON, HTTP, and JavaScript for the service subscription. But that's not my goal. I've got real applications in mind, currently three different ones. And the EAS is just intended to be the backend framework which allows to implement them as event-driven solutions which work reliable in a 24/7 environment. So I'll continue the development as planed. Additionally I've started writing a small article about my motivation for event-driven architectures on http://www.tideland.biz which will be published soon.
Filed under  //   development   erlang   tideland  

Comments [0]

Tideland EAS next generation idea

When I started the development of the Tideland EAS I had a small pure Erlang event-driven architecture in, just as the middleware for my apps. But sometimes ideas assume in an independent existence. OK, the old concept would also benefit from the reliability and scalability of Erlang/OTP, but not as much as it is in the possibilities of this platform.
 
So, while reading about and evaluating CouchDB, my concept changes. I'm currently thinking about reimplementing it as a real middleware for event-driven architectures. This draft gives a better insight:

The black steps (1) to (3) show the subscription process where a service provider sends a JavaScript filtering the subscribed events. The EAS will store some administrative data, like the ID of the subscription and the service provider, and sends the JavaScript to CouchDB as the database server. CouchDB uses the script to create a view for the subscription.
 
The red steps (1) to (6) show the event processing. A raised event sent to the EAS will be stored inside the CouchDB event table and will so also be visible in all matching views. In case of a polling service the new events will be retrieved and sent to the service. It now can process the event and send the reply or new continuing events back to the EAS. Finally - if wanted by the event source - a reply will be sent back.
 
There are still several open aspects I've got to think about. But I think it looks promising. I'll test the concept with a quick prototype.

Filed under  //   development   erlang   tideland  

Comments [2]

A new era

Today my new mobile arrived, and no, it's no Apple iPhone. But it is almost like that, it's a HTC Magic with Android as operating system. The first impressions are really fine, it's fun to use it. OK, the software isn't very mature, it's still release 1.5. But there are already many apps available in the Android Market and they are easy to install, test and remove if not neaded. You'll read more about my experiences the next days.
 
But that's not the important point today. I've started my online carreer somewhere in the 80s when I've used a 1200/75 acoustic coupler. It has been fun, but due to the time-based costs I've had to take care to not stay online too long. While the technology changed and got faster the cost first changed with DSL and flatrates. Today we've got VDSL with 50 mbit/s down- and 10 mbits upstream. Beside using this bandwidth for IPTV we don't care for size and time. This already changed the media behaviour of our childs. Their passive TV consumption is less than ours in the same age. But they are using the net activly for watching those music videos they want (both got no mainstream liking), for learing for school, and for learning their hobbies. The older one learned playing piano, the younger one drawing mangas. And both are really good. *smile*
 
So while this already has been one step the next one - the era I'm writing about - will be the mobile net. First Apple, now Google, are pushing mobile devices which are allways online, use location based services in many ways, and are extentable with lots of apps. Those devices - portable computers which coincidentally can also be used as a telephone - together with the flatrates and now available higher bandwidths will change the mobile world like DSL and flatrates changed the world of standalone PCs into the networked world of today. So let's welcome this new era, the mobile networked world of the future.

Filed under  //   internet   mobile  

Comments [0]

Approaching beta step by step

During the last days I've had to stop my development on the Tideland EAS due to the migration of my root server to two new ones. Now my own projects as well as my customers do have a better environment.
 
But after that I've been able to continue the work on my small event-driven middleware for Erlang based solutions. The completion of a test business process helped to make the API for service developers more simple and consistent. Additionally the configuration and the error handling have been improved. Now there's only the configuration - and usage - of functions for the preprocessing of events and postprocessing the results is missing for a beta release. They are intended to allow the transformation of data from one format into another if e.g. two service interfaces doesn't fit.
 
After this extension the functional part for release 1.0.0 is complete. But I still have to add some functionality for reliability and scalability. So the dispatcher shall notify others if a service registers or unregisters. And in case of a restart through the supervisor they shall retrieve the registered services from other nodes. The same is needed for the configuration. So still some work to do, but that's exactly Erlangs playground. *smile*

Filed under  //   development   erlang  

Comments [0]

Good idea urgently needed

Oh yes, I know, there's no chance to get one of the 77 Aston Martin One-77 (http://www.one-77.com). *sigh* It's irrational, by far too expensive, not drivable without the fear of someone else will crash it. But I really like this fantastic car.

So I urgently need a neat idea, create a prototype, it will spread, Google will buy it, e.g. for 300 or 400 million $ - here I'm flexible, and I can try to get one. *smile*

Filed under  //   dream  

Comments [0]

Three in a row

When I drive to work by bike one part of this tour is alongside the Osternburger Kanal. (http://maps.google.com/?ie=UTF8&ll=53.12056,8.213782&spn=0.017951,0.037551&t=h&z=15)

From time to time you can see a grey heron there, standing majestic waiting for his chance to get a fish. This morning I've seen three of them. Great feeling having this kind of nature so near.

Filed under  //   life  

Comments [0]

Great wedding anniversary

On May, 5th Carmen and I had our 20th wedding anniversary. Today we've had the party with our family. 8 hours starting with coffee and a long BBQ, once again with a lot of fun. But there has been a real surprise. We didn't expect any present, maybe only some flowers or some greeting cards. But our family gave as two cards for the Coldplay concert in August in Hannover. That's great, we really appreciate it. Thanks again.
Filed under  //   life  

Comments [0]

Workshop Software Cost Estimation

Yesterday I hold a workshop about software cost estimation in our team. It contains an introduction into the problematic of effort estimation, the integration into a process, and one simple method - a modified PERT. The second part has been an estimation group exercise. In our case we've chosen something different from software development - the building of a house.
 
Especially this training has been real fun. It's interesting to see how different the groups tried to solve this job. And the discussion about the experiences they've made has been informative for many colleagues. Mostly the importance of good and detailed requirements, the participation of experienced personell, and how bad time pressure is for an accurate estimation.
 
I think I'll publish my experiences - I've already got a long article in my old german wiki - on the new Tideland site (http://www.tideland.biz).
Filed under  //   training  

Comments [0]

Why there will be no dominant programming language

These days we once again have a large discussion about the next dominant programming language. Due to multi-core and distributed systems everyone is looking for a new and better approach. Old and new functional programming languages get into focus. Erlang, Scala, Haskell, F#, Clojure, just to name a few.
 
But I don't think one will be dominant. It's like before that people have different experiences, come from different environments, and have different preferences. So while Java developers may tend to Scala and old Lispers who are working with Java in their daily job tend to Clojure the Microsoft community may prefer F#.
 
But what about Cobol, what about ABAP? They may be past their peak, but they are still working in a large number of systems for many users. And they will do so in the next years. The only thing that will change is their share. Due to the immense growing number of systems new languages and environments only prevail for new solutions while the number of legacy systems slowly declines over a long time. And here I'm not only think about Cobol and ABAP, but in some cases maybe also Java and C#.
 
So what's needed for such new environments? It's multilingual knowledge, it's the knowledge about multiple paradigms, it's the knowledge about distributed systems, and it's the knowledge about integration, service-orientation, and - in my opinion - event-driven architectures. The picture of the software developer more and more converges into the picture of the zookeeper.

Filed under  //   development  

Comments [0]