The other day I was explaining again how to build an MVP and I was using the skateboard picture (again :)).
OK … it took me a while, but … hopefully it was worth it!!!
Back to the roots!!!
Nitro’s mission statement is …
MOOCs (Massive Open Online Courses) are massive!!!
The dust has settled. All opinions have been voiced. All articles have been written. Not quite … here is another one :).
A lot has been written and said about what you need to do as a manager or more specifically as a manager of a software development team/group/organisation.
As already discussed: I am obsessed with building cars!!!
If you are here for some advise on how to invest your money (using options), you are in the wrong place.
Productive Friction and Diversity ... the pillars of innovation ... or: How not to build faster horses!
In the week of Jul., 10th we are going to do our next Hackweek.
The other day I was reading the letter that Jeff Bezo’s is writing to shareholders every year.
I am reading it again: Clean Code.
Sometimes for me discussions about Operational Excellence sound like discussions about teenager sex: Everybody is talking about it, nobody …
I am driving an electric car. It is a great experience. Not to a small part, because the Irish government is trying very hard to make it a good experience. Government grants, good infrastructure, friendly people.
Architecting and designing large (distributed) systems makes you think about complexity. A lot!!!
Last year we visited some of our customers in EMEA to get some video footage about their Nitro Experience.
Sometimes it takes a while to get to it …
Finding a good and maybe even the right org structure for an engineering organization is something of a dark art.
We are redoing our engineering website and our blog (stay tuned).
Updated: On Oct., 29th, 2016
Yesterday I had a good day in the office!
In terms of technologies right now I am very much focused on Functional Programming and Machine Learning and Software Engineering for Mobile Devices and … a couple of other things (Rust, Go, …), but wanted to dedicate a blog post to a technology that will (IMHO) have a significant impact on our future: Blockchains (or more specfically the Ethereum project).
A long weekend in San Francisco (Jul., 4th - Independence Day), great weather and nothing to do?
Christina loves me. For a lot of reasons. One of them is that I have this habit of putting stuff into the microwave, heat it for 10 mins (I am exhaturating) and then try to take it out with my bare hands, while shouting (with this expression of total surprise on my face) “hot, hot, hot”.
Yep … I got a new job and yep … I got a new website.
Nuclear power plant offered to usReports are current in political circles that the Government has received an offer from a German industrialist to build a nuclear reactor in Ireland as part of his plan to provide power for industrial development.
My friend Klaus and myself have spend more time and more miles (on motorbike(s)) together than we care to count. And the pattern is that once in a while we need to do something crazy. This time around we decided that in the next 5 years we will visit all of the major road races in the UK & Ireland (at least) once. To refresh your memory, these are ...
Beginning of the year we had one of our Microsoft Senior Architects from the GDC (Global Delivery Center) in India with us. Over a couple of pints the obvious happened: I sparked his interest in functional programming and he sparked my interest in F#.
First I made Mono and Emacs work, but then I started to use Xamarin.
Not so much, because I needed a better IDE (Emacs rules :)), but because I got interested in the claim that you can use Xamarin to do Android and iOS cross-platform development with #F.
If you need to develop a mobile application (and these days ... who doesn't :)) your choices are full of compromises. There might be cases, when you can get away with supporting only Android or iOS, but in general you need both. To support both you can ...
- getting my first companion app done for my Pebble, I also spend some time on X-Mas to start porting the Android UI samples to Scala.
I like Source Code Pro!
A couple of weeks ago I got myself a new MacBook Air (and resisted the temptation to get the 13-inch and like the 11-inch a lot) and installed Source Code Pro again. Getting it installed using FontBook was no problem, but then I could not remember how make it the default font for Emacs and all the tips and tricks that I was able to find did not work for me.
At the end the solution was simple: I am using GNU Emacs and to start it I am using the Terminal app, means I just created a new profile, made sure that the Meta-key works, changed the font to Source Code Pro and started Emacs from this window and voila ... I am in business.
PS: Ctrl-+ and Ctrl-- also works to increase/decrease the font size, in case you want to show source code on a screen during a presentation.
Ok, I admit it: This post is a little bit off-topic, but we had too much fun not to talk about it.
It all started with an afternoon and nothing to do. At the end my dad, Alexandros and myself decided to get my dad's old Mignon box and just build "something". Amazing experience.
Alexandros did build a canard plane (probably inspired by the Beechcraft Spaceship).
My wife turns the house into the home of all homes, I get to see my all (or at least most of) my friends and ... I get to work on special projects :).
My first special project was to extend the standard Pebble Tutorial a little bit and show how to build a simple companion app that exchanges data with the watch.
As a first step I added some text to the standard Pebble Tutorial. The second step was to implement a companion app that can change the text.
This is not really a tutorial. Instead I will share the code and will highlight the changes and extension I made.
The main value is in showing what can be done and also in the configuration of the build systems.
everything is better with bluetooth :).
Originally I was thinking to do a presentation, but Martin convinced me to turn my talk for the Scala Meetup in Dublin into a hands-on tutorial.
The main objective was to talk people through a couple of demos that can serve as starting points, so that they can start to do their own development.
We talked about, how to write, compile and run ...
- your first Scala App
- your first Macroid App
- your first Scaloid App
- a simple BLE scanner
- and a more complex weather station (using the TI SensorTag)
Update 2004-04-02: The first nightlies for M4 got released on CyanogenMod. Testing now ...
The short answer is: NO!
At least not in my case (anymore). I just removed all (common) Sense from my phone. HTC Sense that is!
3 month ago I got myself a new phone and decided to go with the HTC One Mini. It is my kind of phone. It runs Android (means I can write Scala apps for it), it is sturdy, looks good and is not too big.
Reality is ... triggered by the release of the Pebble SDK 2.0 on Feb., 3rd (iOS only, more on this later) and after more than 20 years of JVM based software development I willingful decided to write some C code again!!!
And I liked it. Mainly because of CloudPebble. As pointed out here, setting up a software development environment can be a daunting task. Not so with CloudPebble. Long term I will probably install the SDK, but to get something simple done fast and to experiment with the SDK and its capabilities it is a very interesting approach. Not to mention that it works using my ChromeBook.
... in my case, when I look at a new technology, one of the main (or first) hurdles is, that it takes some time to get the initial development environment up and running.
This is why I figured it probably makes sense to polish and publish something that I did a couple of month ago: Porting the basic Android tutorial to Scala.
Enjoy :) ...
... sometimes I have an hour to kill in a coffee shop and would like to do some software development (in my case and these days mainly Scala) and started to wonder, if and how this is possible.
The good news is ... you just have to think about it differently and (everything :)) becomes possible, means instead of running the software development environment on the box, you do what the Chromebook can do best and access a software development environment in the cloud (i.e. in my case an Ubuntu box on EC2).
presenting a talk at FutureStack in SFO.
Very interesting trip. Got very positive feedback on what we are doing. Did meet a lot of people with very interesting ideas (e.g. my friend Klaus (see below)). Lew's keynote on Rubicon was insightful and inspiring. Kate was talking on the art of self-management and Peter talked about how to run hundreds of Postgres databases for Heroku. Checking out these (and all of the the other talks) is recommended.
It is Sunday, the sun is shining ... in Ireland!!! What do you do? Right: You get your laptop and finally start to get your head around the actor model in Scala.
In my case I tried to come up with a simulation for the Dining Philosophers Problem (DPP). There are implementations available, but I consolidated them and renamed the states and transitions to make it more obvious what is going on and used plantUML to come up with State Transition Diagrams (STDs) that show what is going on.
The model detects potential deadlocks and asks the philosopher to put down all forks, before trying again.The epiphany of the day was that you need to use become() to model the states :).
work and writing great code.
Sometimes we like to party. Especially when something like FlightFest comes along and the office is located right down by the Liffey overlooking the river and the Samuel Beckett Bridge.
Sometimes it is too good not to do it.
interview with Steve. Too good not to turn it into a blog post ...
"When people talk about innovation they are often talking about the solution to some problem. But the real source of innovation is figuring out what the right problem is to solve. Take Gilt for example: Gilt took the invite only friends & family sample sale invite that existed for coveted brands in cities like New York and moved that model online. This allowed consumers all over the US to have access to designer apparel and accessories for a short period of time, similar to a two day offline sample sale, and it allowed the brands to have another outlet to sell end of season merchandise. Gilt was perfectly positioned to meet both the brand’s needs and the customer’s needs. The identification of the problem is the hardest part. The solution, once you’ve identified the problem, tends to be pretty easy. If you give any set of engineers a problem, they’ll figure out a solution with confidence. But really, picking which problems to go after in a world of limited resources is where the magic of innovation happens. I think often times people focus on a solution or cool technology that’s really innovative, but it’s only innovative if it solves a substantial problem."
True, true, true, ... let's continue to find and pick the right problems!!!
Jim Carrey "How Roland rolls" and while looking at it I started to think about my name: What does it mean? What is the origin? What are other well-known usages?
Here is what I found out ...
Picking something from your list of urgent things to do is kind of easy, but how can you make sure you are not missing the opportunity/chance to work on something important, if you get the chance to do so?
Gilt Tech KPIs available in one place. There are lots of dashboard solutions available, but nothing really did what we wanted it to do or it was clumsy to use. At the end we decided to build a small Scala Play app to get what we want.
As part of that exercise we had to find a way to visualise the history of the KPI values (timestamp, value pairs) and I started to play around with charting frameworks and figured it makes sense to write up what I have found out. The list of solutions is kind of arbitrary and is by all-means not aiming to be a complete list of available charting frameworks, but gives you a glimpse of what is out there.
The source code is available on my Github account. Feel free to clone the repo and play around with it yourself. There are 4 tagged versions available ...
One of the books I was (re)reading was Clean Code and there are lots of good ideas in it, e.g. after reading the book 15 years ago I got into the habit of refactoring, whenever I feel the urge to put a comment in the code, which is an indication that the code is not clear/self-documenting enough. The only comments I am writing these days are comments on why the code is doing what it is doing, not what it is doing (that should be apparent from the code itself).
Eiffel) at my old university in Germany.
This week I got the chance to experience a deja-vu, because earlier this year I did run into Glenn Strong who is teaching Functional Programming in TCD in Dublin and we started to develop the idea that it would be useful to add a Scala module to his Haskell based lecture.
The main idea was that the module could complement the lecture by exposing the students to a second functional programming language and at the same time highlight why at the current point in time Scala is the programming language of choice when large corporations decide to adopt a more functional programming paradigm (Gilt being one of them).
In that context the module focused mainly on how well Scala co-exists with Java. The two real-world scenarios that got implemented in the lab exercises was to rewrite a piece of Java in Scala and to integrate Scala with existing Java source code. Feel free to clone the repo and play with it yourself. My stuff is in the roland.tritsch folder.
Sometimes small things can make a big difference. Like a dot. You can put it at the end of the sentence or in a number (1.001 vs. 100.1 - can make a "small" difference) or you put it into the zero to make it easily distinguishable from capital O.
Now you might say, who cares, but if you read a lot of source code (like I do) Source Code Pro is a real pleasure for your eyes. Give it a try. Highly recommended.
PS: Source Code Pro works with all kinds of IDEs, not only Emacs.
I like OSGi and Scala ... and therefore it was only a question of time until I started to wonder, if there is anything that would prevent me from using OSGi from/with Scala. The short answer and the good news is ... nothing.
I just checked in my port of the original Apache Felix Tutorial to Scala. As mentioned in the README I do not want to claim that this boilerplate code, but it is a working development environment that you can use as a starting point for your own experiments.
Gilt Tech than you WILL (sooner or later ... somehow) get involved in our Machine Learning and Recommendation efforts. Our requirements are extremely complex and challenging. We have over 5 million members (fast growing) and a product catalog which features products that are selling out between 10 secs and 3 days, means we need to make recommendations for products that have (almost) no history to members that might not be with us for a long time (yet). In that context we are constantly investing in making our personalized EMails and also the content of the WebSite more relevant to the member who is looking at it.If you do/get this right, it is Mass-Customization (the art of cost-effectivly build instances of one (store)) at its best ...“If I have 3 million customers on the Web, I should have 3 million stores on the Web.” – Jeff Bezos, CEO of Amazon.comThe difference between Amazon and Gilt is that Amazon got a "lot" of time to build these stores (hours, days, ...) . In our case we almost need to build these stores on the fly (seconds, minutes, ...). This requires new thinking, new approaches, new algorithms, ... it requires innovation. Got ideas? Let's talk!Anyway ...In that context I started to play with Apache Mahout and found this good (old) tutorial (still top of the list when you Google "Apache Mahout Tutorial") from Grant and decided to "maven-ize" it. Just install git and run ...> git clone git://github.com/rolandtritsch/Apache-Mahout-Tutorial.git... and then install maven and follow the instructions in the README. Enjoy!
Dublin Innovation Festival - Talking about Innovation, Gilt and Ireland ... and Evolution and DarwinismA couple of weeks ago I had the chance to talk about three things I care about: Innovation, Gilt and Ireland. The occasion was the Dublin Chamber of Commerce Smart Series Event on Innovation (that was the day after Dundrum Shopping Center and half of Dublin got flooded). The objective was to share a couple of thoughts on what innovation is (or is not), what Gilt is doing to foster innovation and what Ireland has to offer to companies like Gilt.To start ... Innovation is probably on all our minds. If you get it right as an individual or as a company or as a country, you create a differentiator for yourself. Everybody wants to be innovative. The main point of the talk was to point out the similarities between innovation and evolution.Going forward, I will (continue to) send my "diary" updates to @rolandtritsch, but will send my more work related tweeds (e.g. Blogging about ..., Reading about ..., Looking at ...) to @innolocity. @innolocity is a public feed. Just register here to follow.
- Gilt Groupe in NYC and they asked, if I would be interested in joining Gilt Groupe to build a software development center in Dublin. I went to NY and met some of the brightest engineers in the industry and was totally blown away by the enthusiasm and the commitment to build and run the best e-commerce shopping experience on the web.
And here I am today sitting in a room with the Irish Finance Minister Michael Noonan announcing that Gilt is establishing its International HQ and a software development center in Dublin. And I can't tell you how exited I am about being part of that adventure.And ... it is not this easy. I am now working on this for a couple of weeks (elapse time that is - CPU time probably more 16 hours).There is documentation available how to develop Flex/Air apps for Android using Flash Builder 4 (and other Adobe tools like Adobe Flash Professional CS5), but as soon as you want to use your own IDE (in my case AquaEmacs and Maven), things get difficult.
AquaEmacs and JDEE and Method Completion - Cannot find JDK's tools jar file (or equivalent). Type M-x describe-function [RET] jde-get-jdk-dir for moreHhhmmm ... nerd alert: If you do not like AquaEmacs, JDEE and Method Completion ... don't read this :).Otherwise ... good news: Not sure, if you have stumbled over this, but if you try to make your method completion work you might get an error message along the lines of ...I am happy to present such an opportunity, since my colleague Susan O'Hara is organizing a charity event in the Sugar Club on Lower Leeson Street to watch "The Commitments" on Wednesday, 15 September 2010 at 7pm.The cost is EUR 15,- pp. The feeling to have some fun and do something good is priceless.For all inquires, please feel free to contact Susan directly. Hope to see you there :).
- Brian Kelly made me revisit the stuff that Dan Pink did and is doing.The main idea behind Drive (RSA, TED) is that Autonomy, Mastery and Purpose unleash the creative power of individuals and teams, not material/monetary incentives. Opensource and Wikipedia and ... are obviously the classic/legendary examples for this FACT (and yes, it is a fact :)).Check it out. It is an Idea Worth Spreading :).Right now the Brandvis SelectPortal system is based on Microsoft .NET and we constantly improve it and add features. While we do this we also constantly refactor the system to eliminate complexity to make it easier to maintain/extend.Triggered by this work and triggered by a talk on reuse of OSGi bundles that I attended a couple of years ago, I started to think about complexity again. The main conclusion of that thought process is that there is probably an optimal (means minimal) complexity for any given system.To get to that optimal level of complexity you constantly refactor the system (because there is no chance in hell that you will get it right the first time around by thinking about it and then implementing it) and change the granularity/size of your reusable software artifacts (classes, bundles, services).Getting the granularity/size (and the responsibilities) of a reusable software artifact right, is probably the holy-grail of software engineering and there is no easy answer, because if you cut it too small and build the system from a lot of very simple, small software artifacts the complexity and dependencies and relationships between the artifacts get out of hand. Going the other way you can try to reduce the complexity of the system, by building it from larger software artifacts, but then these artifacts itself will become more complex.That means that in any case you need to build your system on a software platform that allows you to iterate on getting the granularity of the software artifacts right. I believe OSGi is such a platform.About the importance of templates and platforms for "managed customization" in the garment industryThe garment industry is not only looking for a solution to address the increasing demand for customized product solutions for end-customers. As with other industries the solution/approach must take a more hollistic view to also cater for a wider variety of legal (certification) and manufacturing (small batches, short leadtime) requirements ("managed customization").The proposed paper will suggest a software-based approach and will discuss the experience with respect to the relevance of templates and platforms for the given solution.CU there :).As most of you know, I am married to a greek woman and life in Ireland. Therefore the current economic crisis is omnipresent in my life.A couple of weeks ago Chris Horn posted an interesting article about certain economical key indicators and what they mean for Ireland. I also saw a good article in the NYT about why and how the US and Ireland and Greece are different (from a financial crises/debt point of view).Now I can't resist anymore: I have to write up my own "Bierdeckel" assessment of where we are (in Germany we say, that if you can't explain it by writing it up on the back of a beermat its not any good. The beermat thing became famous 5 years ago when Friedrich Merz suggested that you should be able to do your Tax Return on the back of a beermat).
This blog is now located at http://blog.tritsch.org/.
You will be automatically redirected in 30 seconds, or you may click here.
For feed subscribers, please update your feed subscriptions to
- Adobe Flash/Flex, but as we all know, a fool with a tool is still a ... and therefore there are lots of examples out there where the design and implementation of the UI leaves "room for improvement".At the same there are also examples of very clever and thought-through UI design/implementation. One example in this category is the website for the movie "Creation". I really like the way they implemented the Zoom feature (and the moving bug :)).Check it out.20 years ago I started my career as a Technical Project Manager/Lead Architect for EDS and was working on Bill-of-Material solutions for the Automotive Industry (e.g. Opel).During my self-declared summer-sabbatical, I was musing over what I want to do next and felt that (if possible) I would like to work again in a business domain and (if possible) maybe (again) in manufacturing.I am happy to report that it worked out just fine!
- Facebook status update from Oisin Hurley ...
Oisin Hurley is starting to get a bit irritated with people that unselectively duplicate their twitter stream to their Facebook status. They're different interactions, people.This is an interesting observation and creates a bigger question: where do we go with this social-networking, micro-blogging, status-update thingy?
- ACCU 2009 to deliver a talk on "RESTful Services and Distributed OSGi - Friends or Foes" and "AJAX for Mobile Devices - Using Apache Projects to get the job done". The conference was very well organized (thanks Giovanni) and took place in the beautiful city of Oxford. The format (keynote presentations and smaller breakout sessions) allowed for a good mix of thought-provoking presentations and good discussions. The audience was made up from very-experienced software-engineers and no-BS project-mangers.My most favorite presentation/keynote was delivered by Linda Rising (The Benefits of Abstraction in Patterns). She talked about the potential of patterns going beyond the ability to put structure into the domain of software engineering.I am looking forward to learn about the agenda for next year.
Sorry - this is a non-technical blog post. If you are not interested in having a good time, stop reading now. Otherwise ...
I am on the LUAS on the way home from the Street Performance World Championship in Dublin.
Go and check it out. It is worth-while the time.
- Science Gallery. To make a long story short ... it was a GREAT event. Great people, great presentations, great location. If you ever get the chance to attend a TEDx event or maybe even to attend a TED conference ... DO IT!!!Just in case you have never heard about TED I suggest you check out the website. There are hundreds of thought-provoking videos and presentations available. TED stands for Technology, Entertainment and Design. TED conferences are held every two years and provide a platform for Ideas Worth Spreading. And my god, some of these ideas are worth spreading indeed.Here are a couple of presentations I found interesting ...A year ago I had a couple of pints with Dan Salt (Chief Software Architect at GE Energy) and we discussed the current state of affairs with respect to IT and Software Architectures/Solutions in the Energy/Utility sector. As a result I started to develop an interest in Smart Meter (just watch the first 5 min), Smart Grid, Micro Grid and Grid 2.0 concepts/solutions.Here is a summary of the problems as I see them ...
The main focus of this blog entry is on the first bullet point, but I also quickly want to talk about the second and third bullet. Becoming more intelligent about producing, distributing and storing energy and that means first of all becoming more intelligent about producing, distributing and storing renewable energy (wind, water, solar, ...). Micro Grids might be an interesting approach to consider in this area, but this means that the IT infrastructure must be able to deal with lots small independent energy "providers" (maybe even down to the household level). There are ideas how to implement something like this, but nothing ready for prime time yet. Storing energy to deal with the peaks is another dimension of the problem that needs to be consider, but a combination of old and new (e.g. V2G - Vehicle to Grid) approaches might be suitable to provide some relief here.Let's come back to the main topic: How to become more intelligent about consuming (less) energy (in the first place).I started with "ICon: The Greatest Second Act in the History of Business". It is obviously a biography about Steve Jobs, but it is also a good book on the history of Apple, the Silicon Valley, Next, Disney and Pixar. It is an unauthorized biography and is (sometimes very) critical of Steve Jobs and how he got to where he is today."Raising boys" was the next one and is a must read for Mums and Dads. Some of the stuff is common sense, but some chapters give a good insight into what the hell is going on sometimes and why.Currently I am reading "Isaac Asimov's - The Complete Robot" a collection of short stories about robots and how they will (potentially) become part of our society. One story talks about a boy who prefers his robot-dog over a real one. Just wondering how many children prefer their gameboy over a (real) dog. Good food for thought.
- we need to become more intelligent about how to consume energy
- we need to become more intelligent about how to produce energy
- and we need to become more intelligent about how to distribute/store energy
- Distributed OSGi spec (RFC 119) is coming along nicely, means now might be a good time to raise the head and start to think about what might come next. A couple of month ago David, Roman and myself got together and concluded to set up a research project on the alternatives available to potentially extend the Distributed OSGi spec with some asynchronous messaging concepts/capabilities.The research is still ongoing, but the intermediate results (including a first demo!!!) are now available on FUSEforge (Project Lightsabre).The demo will also be presented at OSGi DevCon Europe. Maybe (another) reason to attend. Enjoy and stay tuned.Chris Horn has published a couple of interesting blog entries and articles on the topic.For me the key is skills and innovation. Skill comes in two flavors: expertise and experience. The Celtic Tiger 1.0 was based on expertise. At the time Ireland was building a very well educated workforce (Trinity College, UCD, University of Limerick, ... ) and was also enjoying (or creating) other (monetary) benefits (like low corporate taxes, low wages, lots of EU aids, ...).These times are clearly over and Ireland has to find a new (the next) niche to compete in the global economy. My hope and my belief is that Ireland can reinvent itself around a different set of skills, namely the experience the workforce has gained in the last 10 years. Right now is the (a good) time to reinvent Ireland as a place, where small startups can flourish and succeed: A European (Software) Business Incubator.Lets make it happen.At the end I figured it might make sense to write up a cookbook on what to do when you finally get your hands on the box and unwrap your new toy. Here we go ...The (ultimate :)) Android Getting Started Guide (for Mac Users :))First things first: This guide assumes that you got yourself an Android Dev Phone 1. It will not work for the T-Mobile G1.
Last year I introduced categories like "Link of the Month" and "Effective Mac" to my bloging". Heads up ... there is a new category coming: Effective Android will talk about my adventures with my new Android phone.
- Andrew and Adrian in Kerry. By now everybody knows the story: I drowned my iPhone in Adrian's backpack. The backpack was 100% water-proof, means it did not let any water out and at the end of a 4 1/2 hour (irish) survival tour with heavy, "horizontal" rain the iPhone did not pass the "can-your-iPhone-also-work-under-water" test.I decided to look at it as an opportunity. An opportunity to also "test" one of the last mobile devices I never had before: A Blackberry (Curve).
- JawBone Bluetooth headset to make a Skype call. The quality was bad and therefore I decided to switch to my headset. The result was better, but still not what I was looking for. At the end I took the time to really understand, where the sound is coming from and to my big surprise I found out that the line-in jack is not working with normal headsets.On the Mac you need a mic (or a headset) with "power" (e.g. a USB mic or a pre-amp mic).Conclusion: I have stored away my headset and will use the built-in speaker/built-in mic to make calls. In case I need privacy I will just plug in my iPhone earbuds. That sounds like a/the winning configuration. But that also means that I do not have a solution for environments with a lot of background noise. Maybe I need to go back and need to find out why the quality with the JawBone was bad in the first place.
- Klaus Grieger. He is a Principal Architect with CIMT AG. Klaus is what I would call a "deep thinker". Discussions with him are in between interesting, challenging, invigorating and exhausting :).The topic of the Christmas Lunch (we had the choice between "The best Worscht in Town" (Worscht is Hessian Slang for sausage) and "Positive Eating" and we did the right thing) was his observation that there is good news and bad news when it comes to the topic of (services) orchestration: the (from my point of view) good news is that more and more companies start to use orchestration concepts to introduce a cleaner separation of concern to their (service-oriented) architectures. The bad news is that a lot of customers seem to be confused what orchestration is (e.g. "orchestration is BEPL") and how to use/implement it.Before we start we should probably introduce a couple of standards, abbreviations and concepts:
- another company offering commercial support for Apache ServiceMix and Apache ActiveMQ (like we do :)). For me this is good news. It shows that more and more people use Apache integration projects in mission-critical deployment scenarios. And that these deployments generate enough value for customers to warrant an "insurance" against worst-case scenarios.For me it was never the goal to be the only company to offer consulting, training and support for Apache integration projects. My goal was (and will always be) to provide the "best" (read most valuable) consulting, training and support offerings you can get for these projects.Luckily Progress shares this ambition. This year we will increase the revenue we generate with FUSE (and the budget that comes with it) by roughly 200%.Statements like this ...
"With the recent announcement of Progress Software acquiring Iona Technologies, Freedom OSS believes that professional support for Servicemix ESB and Active MQ will be dropped from IONA/Fuse."... can safely be considered FUD.I was looking for a way to hibernate the machine on demand. This is also useful if you want to conserve battery power (e.g. while one a plane). The sleep mode is a drain on the battery, because the RAM needs to be kept alive/refreshed. This is especially a problem, if you have a lot of RAM.Found the following applescript. Seems useful.The result is surprising (and maybe not :)). If you use the "native" formats (e.g. ODF, .key/.page) everything works fine. Obviously things get more interesting, if you want to use these tools to read and write MS-Office files (.ppt/.doc/.xls) or even MS-Office 2007 files (.pptx, etc.).In this case it is my experience that you (still) have to limit yourself to a (non-obvious) subset of the functionality to make sure you can import/export your files to/from MS-Office. Especially for Powerpoint 2007 files I currently have to use all three tools and see, which tool will give me the best result, when I import .pptx files. In some cases entire slides show up blank. In other cases they are "reformated" in a way that makes them unreadable.Buttom line: It seems that for the time being, neither OpenOffice nor NeoOffice is a solution on its own, when it comes to importing/exporting to/from MS-Office. But that may change in the future.* And myself will talk/present at ACCU 2009 in Oxford (UK)Don't miss the chance to drop us a line or just corner us to catch up on the state of affairs with respect to Open Source, Integration, Mobile Computing, Live, Universe and everything else.
- website, blog, twitter, linked-in, ...). Obviously I try to minimize the maintenance effort for me, but maximize the user experience for the "customers" of my online presence (I am talking about you, dear reader :)).One great tool in this regard is TwitterFeed. It allows you to create "feeds", which will "listen" on RSS feeds and will then turn them into tweets. An obvious use case is to create a "listener" on your own block and make sure your followers learn when you publish a new blog entry.A more sophisticated, integrated (and wwwwaaaayyyyy cooler) use case is to use NetNewsWire to read your RSS feeds/news/articles and use the integration with del.ico.us to bookmark what you read. You then go to TwitterFeed and create a listener on the RSS feed on your del.ico.us account and voila: everytime you are reading something and bookmark it with del.ico.us a tweet gets generated. Very elegant. I like it.I also added a "My Del.ico.us" widget to my blog (on the right hand side), which means that my reading list will also get updated automatically.Check it out. Let me know, if there are more better ways to integrate your online presence.
Sales Kickoff in Miami.)
* Axis 2 is not as easy to use as CXF, but is more ubiquitous in the
marketplace (and got better documentation, including a book in german)
* CXF is a very well developed piece of software, but needs more
people using it (and needs more/better documentation, including a book
in any language, but preferably in english)
I need to think about this book thing. Anybody interested to write a
book about CXF in English?
<Couldn't keep my mouth shut>
I am volunteering myself to translate it into German.
</Couldn't keep my mouth shut>
- CAOS Theory podcast from the 451 Group.Yesterday I was listening to one that discussed the current state of affairs with respect to the Open Source Middleware space. One of the conclusions was that FUSE will probably benefit from the Progress acquisition, because Progress made a clear commitment to Open Source and will increase the investment in FUSE.Just for the record: These conclusions are correct.
- FUSEsource :). First we published a/the first set of FUSE TV videos and next we are going to publish a set of "FUSE Quickstart" screen casts. Take a look at the sneak preview and/or wait for the high-res versions to become available on FUSEsource later on this month.Tip/Hint: The best way to get the sneak preview is to subscribe to the podcast and download all videos into iTunes :).From a marketing point of view the most famous example is probably Gillette. They give away the handles and make a lot of money with the blades. This works because they have a very strong brand and because they "own" the interface between the handle and the blade.
- discussion is really refreshing! Lots of good ideas and lots of good energy. Obviously the "earlier" versions of the model were more oriented towards a "bait-and-switch" approach (get a good stack for free, but then if you want to do real/serious enterprise computing, you have to to buy the real thing :)). Right now the models have evolved into more mature "suggest-and-complement" models (aka. Open Core Licensing). And I am using the word "mature", because talking about it (the desire the make money with open source) like this, should be the norm and not the exception.Yes, I am working for Progress (the software company, not the vacuum cleaners :)) and we have an Open Core Licensing Strategy (looking into the "Open Source is not a Business Model" report it is debatable, if Progress (formerly known as IONA) may also fall into the open-closed category) and I am proud of it.
- blogger.com :))
The other day I updated my website with the details of my new employer and decided to give a second live to my del.icio.us account by using one of the widgets to include my reading list on my blog. I also had to decide, which of my social networks I reference on my site.
Currently I am using ...
Just from a technical point of view this is good news (assuming it will help the adoption of the Advanced Message Queueing Protocol (AMQP)), because AMQP is a very cool (and extremely well thought through) standard.
Given that there might be a renewed interest in the standard, let me just try to explain (again) what it is good for: The main benefit of AMQP (besides a couple of very cool features in the standard itself) is that it will (finally and for the first time) allow messaging stacks to interoperate. Today we have lots of good payload formats/protocols (e.g. XML) and even better standard APIs (e.g. JMS), but no standard wire-level protocol to allow one messaging stack talk to another. That means that currently all of your messaging endpoints need to have the same message stack. This creates a huge, hidden vendor lock-in. Yes, your JMS API allows your to replace a JMS provider with another one, but then you need to do it for all endpoints at the same time, because the wire-level protocol is different (and proprietary) for each and every message broker implementation.
Means right now you can only build homogenous messaging infrastructures. AMQP would allow you to build heterogenous messaging infrastructures, break the vendor lock-in and enjoy the power of choice. AMQP is the HTTP of messaging. I see AMQP as an enabler for
- FUSEsource.com!4 weeks ago we huddled in our "new" HQ in Bedford for Managment Meetings (and other fun :)). Debbie had the great idea to take advantage of our presence there and record a first set of FUSE TV sessions. Great fun! Check out the result.And yes mea culpa, "aaaeeeehhhhhhmmmm" is not a german word. No Oscar for me (this time :)).I like the new name better, because what we do here is not about a company (be it IONA or Progress). It is about a project. In our case FUSE.The renaming will also allow us to role out more interesting stuff in the near future on a new, consistent family of good host/domain names. Stay tuned :).Especially on the tooling side. The other day I was riding in the car with Oisin Hurley (Head of Tool Development for FUSE) and we discussed the value of having NOT a lot of screen real-estate, because it really makes you think about what the problem is the user wants/needs to solve and how you can guide the user through that process.There is a good video-cast available from Apple, which talks about the principles of good UI design for the iPhone. I believe these principles are good principles regardless how much screen real-estate you have. To that extend designing UIs for limited screen real-estate is more a solution than a problem. It creates the right attitude :).Other opinions? Thoughts?
- Complex Event Processing (CEP). There are a couple of obvious use cases in finance (e.g. algorithmic stock trading) and manufacturing (e.g. detecting possible problems in the assembly line, which might effect your just-in-time service-level-agreements).Complex Event Processing or Intelligent Event Correlation is not what excites me. That was/is also possible using large data-warehouses and suitable data-mining solutions, but then you learn about it after the fact. It is not so much Complex Event Processing, it is more Complex Event Analysis.What excites me is the real-time aspect. The possibility to re-act to a set of correlated events as they happen.The longer I think about it the more use-cases I see. Last month a large (if not the largest) utility provider world-wide visited us in Dublin for a 4-day SOA workshop. Among other things, they are looking for a solution to detect failures in the power grid before they happen or narrow down the location of the failure (faulty transformer) after it happens (e.g. to get a repair team onsite faster).Last night I found a talk on Google Talks describing a solution for Device-free Passive Localization for Wireless Environments. Another interesting use-case.CEP is everywhere. I am dying to find out, what the value of a solution for this kind of problems is.But hey ... look at the bright side: I got to replace my 160GB disk with a bigger 250GB disk and got to test, if my Time Machine backup really works.And there is where the problem starts. In an ill-conceived effort to minimize the disk space and the time I need for my backup, I excluded all directories besides my "User" directory. This will allow you to recover single files (and/or mails, photos, etc.), but will make it very hard to recover a machine, since Time Machine (when you run the app) cannot restore all data from a given date.The better/only way to do it, is to backup everything (including all apps, system folders, libraries) and just exclude a folder (e.g. the download folder), which has recoverable (fast changing, big, volatile) data in it (e.g. my iTunes Library). Basically reverse my backup strategy. This will create Time Machine backups, which include a snapshot of the entire system (including the operating system).These backups can then be used with the migration assistant to restore the machine with the last backup or even better you boot from the install DVD and use the restore from Time Machine utility to restore to a backup of your choice.I can tell you, restoring a system file by file is tedious :).
- this interesting website. I am already using half of the apps, but will take a look at the other half too :).
- useful software for the Mac and added Growl to my list of software that you need have/use to be effective, but was not able to make it work with X-Chat (AquaChat). Confronted with the option to figure out what is wrong or to try something new, I took the easy way out: I tried Colloquy. This worked out of the box. I know need to find out how to make my Twitter tweeds show up in Growl.
Ok, let's make it as short and as sweet as possible :).
This morning I was reading Matt Aslett's comment on Andrew Lampitt's blog entry on "Open-Core" licensing (which actually contains a link to a good presentation by MySQL chief Marten Mickos).
What I like about the approach is that it tries to take the emotion out of the discussion. We obviously all know in our head that open-source is about free speech and not free beer, but the heart then still reacts (at least sometimes) disappointed, when companies show that they are not pursuing an open-source strategy for purely philosophical and/or altruistic reasons. In that context some of the hybrid models (e.g. selling closed-source features on top of a open-source core) got a bad reputation and got dismissed as "bait-and-switch" models.
The value of open-source is NOT in the absence of a desire to make money with it. This is actually healthy and will make sure the approach/model with survive in the long-run.
- Klaus Grieger. Klaus and myself know each other from ObjectDesign and Versant. Right now he is a partner with CIMT AG in Germany. As always talking to him was invigorating. He is one of the most innovative people I know.
The topic of the drive was the future of Solid State Disks (SSDs). His thought was/is that with the arrival of in-expensive, fast SSDs we can potentially rethink the way we structure memory and storage in general. Right now, we "load" executables from a "disk" into "main memory". What if, we turn the disk into a level 5 CPU cache, means programs never get loaded and/or started. They get installed into "memory" and will stay there all the time. Instructions get fetched into lower-level CPU caches on as needed basis. This would/could probably work for instructions, but not for data. Means for data you would still needs a disk with a file-system.
Hhhhmmmmmm, ... can somebody help me to think this through?
There are two school of thoughts out there: First, there are lots of people, who say that open-source is not fostering innovation or even killing it, because it is just about the reimplementation of already solved problems and that it actually kills innovation, because it keeps people from implementing solutions that can not be protected from being reimplemented as an open-source solution. Second there are at least as many people, who say that open-source is actually creating/fostering innovation, because a company can not hide behind a bad implementation and will always be forced to look for ways to make its solution better, faster and more affordable.
- software crisis" was coined 1968 by F.L. Bauer during the first NATO Software Engineering Conference in Garmisch, Germany and was used by Dijkstra in his very famous lecture on "The humble programmer":
[The major cause of the software crisis is] that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.
– Edsger Dijkstra, The Humble Programmer
Right now there are lots of people who are saying two things: First, embedded devices and embedded software will change and transform our way of life in a similar or even stronger way than the arrival of the internet and second, the resulting software engineering challenges are huge.
- Randy Pausch died. With all the hype around his cancer and "the last lecture", it was/is kind of hard to see who he was or what he was. Yesterday I tried to find out a little bit more and watched his presentation on time management. Good presentation, but not something that we haven't heard before. In the end I have to agree with him: He is a smart professor, but there are lots of smart professors out there. What made him unique was not what he did, but why he did it and how he did it. From what I saw of him, he had a passionate ambition to make learning fun. His students were his customers and he felt an obligation to deliver value to them. He found his purpose and lived it. And this makes him a role model.
Here are my personal take-aways ...
- if there is an elephant in the room ... then talk about it!
- "experience is what you get, when you don't get what you want"
- walls are there to show you how much you really want something
- if your children want to paint their room ... let them do it!
- switch off the godd.... television
- archived webinar and the source code will be available on open.iona.com.
Check it out.
- David Greco finally pointed me to NetNewsWire. This seems to be it :).
Check it out.
- article on Businessweek about the new iPhone 3G contracts. The article made me think again.
- sailesh panchal (Enterprise Architect - Payments at Lloyds TSB) and hermann sauer (EDS - Integration Engineering Lead EMEA North/Central) about the future of mobile payment.
there is clearly a need and a benefit to find a solution, but implementations are not available yet (leaving aside lots of POCs that are out there).overall it went well. i did an erase and install (as a 20 year windows user i feel much more comfortable with clean installs. maybe next time if will try it the mac-way :)) and also used the exercise to clean up my disk and the way i work. the biggest problem was that leopard does not come with iLife, means you need to find your old tiger CDs and reinstall iLife from there (or buy (!?!?) iLife 08, no comment).using a mac is like using any other tool. just using it is not going to give you the maximum ROI. using it effectively is going to make the difference.
- Software Engineering Radio and talks about trends and technologies in Software Engineering (OSGi, Rest, Opensource, ...). I was told that one of the next issues will be an interview with Peter Kriens on the current state of affairs with respect to OSGi.Check it out.
- OSGi Community Event in Berlin.One of the presentations was from Deutsche Bahn about their new Mobile Integration Platform (MIP). It was not only in this presentation that I felt that OSGi has become the ICE of deployment platforms. A 300 km/h high-speed trend/train with a lot of momentum. Think about it: Do you want to be on the train or in front of it.There were lots of good and interesting presentations. Here are a couple of highlights ...Join us on July, 15th for this existing Webinar on REST and RESTful Services. Will include a live demo of a RESTful iPhone integration.CU there.
- Sailesh Panchal. He is an Enterprise Architect with the payments division of Lloyds TSB in London. Part of his responsibility is to foster innovation in Lloyds.
- FUSE Master Class Series on the open.iona.com wiki. Sooner or later we might link to it from the top page, but for the time being they are hidden gems :). The videos are also available from my homepage.
- Belfast at the Mobile Monday, presenting on "How to access WebServices from the iPhone" (pictures are available upon request :)).Good event. We had 30 people in the room. Good format. Four short presentations with good networking before and after the talks.Very innovative.
- great presentation on security and security concepts published by Ciaran McHale on www.ciaranmchale.com.His claim is that 80% of the the perceived complexity of any given subject is not in the concept, but in the way it is explained to people. His quest is to fix this. Therefore he has started to publish a series of very well written presentations to introduce technical concepts in the most simple way possible.He also plays with the idea to use opensource engineering principles to develop courseware.Very innovative.Check it out.
- local art (flee) market. We were looking for some paintings for our new house. At the end we could not agree on anything, but I was in the right mindset to find something that will focus the mind, when I am at my desk.I like innovation and I like to innovate. Sometimes this requires to take a leap of faith to produce a quantum leap. Just bought Quantum Leap from Anne Nielsen.
- Mobile Monday Series in Belfast.Looks interesting/promising. Will publish a post lateronnext week.And there is a lot to talk about ...
subscribe via RSS