<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2124153373622490226</id><updated>2012-02-15T13:54:12.890Z</updated><title type='text'>Innolocity</title><subtitle type='html'>Lets talk about Innolocity. Innolocity is the velocity of Innovation. Lets talk about the nature of innovation and about innovations and trends. The aim of the blog is to identify real innovations and to find out, why it is so difficult to create effective innovation.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.tritsch.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default?start-index=26&amp;max-results=25'/><author><name>Roland Tritsch</name><uri>http://www.blogger.com/profile/14908731650640104394</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://4.bp.blogspot.com/-T0t5_pOhgpQ/TxXuTGO8NyI/AAAAAAAAAAQ/10qMu1WmESk/s220/yoda.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>76</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-7040339093914352810</id><published>2011-12-11T07:46:00.008Z</published><updated>2011-12-17T21:19:55.587Z</updated><title type='text'>Machine Learning at Gilt - "Maven-izing" a/the Apache Mahout tutorial</title><content type='html'>If you work for &lt;a href="http://tech.gilt.com/"&gt;Gilt Tech&lt;/a&gt; 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.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you do/get this right, it is &lt;a href="http://en.wikipedia.org/wiki/Mass_customization"&gt;Mass-Customization&lt;/a&gt; (the art of cost-effectivly build instances of one (store)) &lt;a href="http://www.grouplens.org/papers/pdf/ECRA.pdf"&gt;at its best&lt;/a&gt; ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;b&gt;“If I have 3 million customers on the Web, I should have 3 million stores on the Web.” – Jeff Bezos, CEO of Amazon.com&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The 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 &lt;a href="mailto:roland@tritsch.org"&gt;talk&lt;/a&gt;!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Anyway ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In that context I started to play with Apache Mahout and found this good (old) &lt;a href="http://www.ibm.com/developerworks/java/library/j-mahout/"&gt;tutorial&lt;/a&gt; (still top of the list when you &lt;a href="http://www.google.com/search?q=apache+mahout+tutorial"&gt;Google&lt;/a&gt; "Apache Mahout Tutorial") from &lt;a href="http://www.linkedin.com/in/grantingersoll"&gt;Grant&lt;/a&gt; and decided to "maven-ize" it. Just install &lt;a href="http://git-scm.com/"&gt;git&lt;/a&gt; and run ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;gt; git clone git://github.com/rolandtritsch/Apache-Mahout-Tutorial.git&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;... and then install &lt;a href="http://maven.apache.org/"&gt;maven&lt;/a&gt; and follow the instructions in the README. Enjoy!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-7040339093914352810?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/7040339093914352810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=7040339093914352810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7040339093914352810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7040339093914352810'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2011/12/machine-learning-at-gilt-maven-izing.html' title='Machine Learning at Gilt - &quot;Maven-izing&quot; a/the Apache Mahout tutorial'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-1356454808725879101</id><published>2011-11-24T17:00:00.000Z</published><updated>2011-11-24T16:52:15.592Z</updated><title type='text'>Dublin Innovation Festival - Talking about Innovation, Gilt and Ireland ... and Evolution and Darwinism</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-SKu1QBbZHOw/Ts5wRNhbAPI/AAAAAAAAAUQ/n0NNY_QoLzE/s1600/Diversity_Matters_photo_without_wording_.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;/a&gt;&lt;div&gt;A couple of weeks ago I had the chance to talk about three things I care about: Innovation, Gilt and Ireland. The occasion was the &lt;a href="http://www.innovationdublin.ie/festival/2011/view_event/ID259/"&gt;Dublin Chamber of Commerce Smart Series Event on Innovation&lt;/a&gt; (that was the day after Dundrum Shopping Center and half of Dublin got &lt;a href="http://www.youtube.com/watch?v=_OWG_XjmLNQ"&gt;flooded&lt;/a&gt;). 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.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;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 &lt;b&gt;similarities between innovation and evolution.&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 133px; height: 200px;" src="http://4.bp.blogspot.com/-8gs1e4uZGog/TrhNBkJH6cI/AAAAAAAAAR0/U9s3UzZ1fp8/s200/sally-gap-wicklow-county-ireland-r115-21222196.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5672368419950291394" /&gt;There are lots of definitions available, but one way to think about innovation is in terms of the hard and the brain. The hard tells us that innovation is this wonderful thing that happens in the shower or in my case on the bike on the way up to &lt;a href="http://www.mapmyride.com/s/routes/view/bike-ride-map/ireland/kildare/885363"&gt;Sally Gap&lt;/a&gt;, when you have this moment of brilliance for the next best, bigger business idea that will actually change the world. And then we look at individuals like Steve Jobs, who are obviously either showering a lot or who know the way up to Sally Gap like the back of their hands, because it seems they innovate everyday and we start to wonder what is wrong with us.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;The short answer is actually: nothing. Nothing, because in my opinion it does not work this way. Even in the case of the iPod you could argue that the real innovation was the Sony Walkman and the iPod was a refinement on the original idea.&lt;/div&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 156px; height: 200px;" src="http://1.bp.blogspot.com/-NIH8w4fcdYs/TrhN7Hxmd_I/AAAAAAAAASA/Y2-ppMip7Cs/s200/charles_darwin_01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5672369408767850482" /&gt;&lt;div&gt;The more rational definition behind innovation is that innovation is not a thing or an event that "happens". It is the result of a process. I am personally a big fan of evolution and Darwinism. There is only so much you can plan and/or foresee. For the rest you have to try (a lot) and see what works. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;That sounds easy, but it isn't, because it is counterintuitive. You have to embrace mutation and selection. You first have to create a "creative" environment that produces a lot of (hopefully) good, new ideas and then you have to filter them and needs to happen early, because being innovative does not mean to be just creative. It means to be successful and that means it is not about creating a lot of good, new ideas, it is also about finding the ones that make a difference for your business and for your customers and if your are lucky for your industry.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Not to a small extend it is this “bi-polar” nature of innovation that makes it difficult for us to implement innovation. Just think about it: On one hand you ask people to mutate (means to come up with a lot of good, new ideas) and to be passionate about these ideas and then you need to have strong selection in place to kill most of them. If you do it wrong it will frustrate people, because they might get the impression that nobody is listening and innovation will just stop to happen.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In a lot cases we fail to get good innovation because we either mutate too much and do not select enough or the other way around. Good innovative environments show both characteristics: A lot of mutation and strong selection. &lt;b&gt;Innovation is the evolution of ideas. It is Darwinism of ideas. It is the survival of the fittest idea.&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;To create such an environment and to maybe avoid the frustration mentioned above, you should reward people equally for coming up with an idea and also for giving up on an idea. Failure must become an option and maybe even something that you should or could celebrate.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Let's talk about Gilt. Gilt is innovative. Let me talk about two examples that will illustrate how innovation based on strong selective pressure  (means a well-defined niche that you need to adapt to) and/or strong mutation (means a good idea) can look like.&lt;/div&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/-zhsSpr5dwtw/TrhPSKiDnyI/AAAAAAAAASM/9jrn5zHvyo0/s200/Hackathon.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5672370904156577570" style="float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 200px; height: 146px; " /&gt;The first example I want to talk about is inventory management. Normal retail business models allow you to do inventory management based on thresholds, means as soon as your inventory goes beyond a certain threshold you reorder. When you reorder has something to do with your lead times and also with the quality of your inventory management, means you actually do not care, if there is a little bit more or little bit less in stock, as long as you never run out of stock.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;The Gilt business model requires a totally different approach. Because in most cases we are selling excess stock, 80% of all products we have ever sold we have sold only once, means we never really can reorder and that &lt;b&gt;means we are in the business of selling down to the very last unit. Always!!!&lt;/b&gt; And we need to do that while we maintain highest possible availability and scalability. To deliver on these business requirements we had to question conventional wisdom and build a very innovative inventory management runtime platform, based on highly available and highly scalable NoSQL databases that actually relax some of the transactional ACID properties, but still allows us to sell down to the very last unit. And we succeeded. That’s an example for innovation out of necessity to adapt to a niche.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The second example for an innovation at Gilt is the &lt;a href="http://www.youtube.com/watch?v=xna2YVgXY7c"&gt;360 degree "look-around" Jetsetter iPad app.&lt;/a&gt; The application allows you to take a 360 degree view of a room and explore literally every ankle of it. This is an example for a strong mutation.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Gilt is still a very young company, means we are still learning how to institutionalize innovation in the company, but so far I believe that the 3 pillars of innovation in Gilt are &lt;b&gt;people, process and culture. &lt;/b&gt;You need people that are creative and intelligent. You need a process that is open and transparent. And you need a culture that equally celebrates success and failure.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In that context we are experimenting with "Unstructured Time" where we bring people together without an agenda. We also believe that a lot of good ideas will not come from us, but from outside the company and in that context we are currently building a public API that we will expose to partners and other interested parties, so that they can innovate independently from us. Earlier this year we did a &lt;a href="http://money.cnn.com/2011/03/09/technology/hackathons/index.htm"&gt;hackathon&lt;/a&gt; and had the entire SW development organization on the hunt for the next better idea and also prove it (within 24 hours). Our &lt;a href="http://itunes.apple.com/us/app/gilt-on-the-go/id331804452?mt=8"&gt;color search feature&lt;/a&gt; (which allows you to take a picture of a color and search for similar products) and the public API were actually incubated in the hackthon. We are also doing a lot of A/B testing to measure the "goodness" of our ideas. This allows us to rationalize the conversation about the value of certain ideas. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;But there is always more to do. Right now, we are thinking about a "follow-the-sun" hackathon were global teams will implement something over a period of three days, because we are suspicious that some good ideas, will get conceived, when people from different cultural backgrounds work together, means it is not only about creativity and intelligence, but also about heterogeneity.&lt;/div&gt;&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 165px;" src="http://4.bp.blogspot.com/-SKu1QBbZHOw/Ts5wRNhbAPI/AAAAAAAAAUQ/n0NNY_QoLzE/s200/Diversity_Matters_photo_without_wording_.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5678599621150703858" /&gt;&lt;div&gt;Let me wrap up, by exploring that thought more. &lt;b&gt;It is my believe that culturally diverse, cultur&lt;/b&gt;&lt;b&gt;ally heterogeneous environments are more likely to be innovative than homogeneous environments.&lt;/b&gt; If you also believe in the value of heterogeneity than there is good news, because the Irish software engineering population is among the most heterogeneous and diverse in Europe, maybe even in the world, means Ireland allows you to build teams that will look at problems and possible solutions in different/unique ways. They all went to different schools and had different experiences before they came to Ireland. This creates an environment for innovation to happen.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Ireland is the only English speaking country in the Eurozone. This makes it easy for talent to relocate to Ireland and to work here. Building an innovation hub will probably to a certain extend rely on our ability to take advantage of the talent in the rest of Europe and to use the heterogeneity and diversity that comes with it as a driver to build creative, innovative teams here in Ireland.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Gilt is very excited to be in Ireland. We are looking to use our presence here to build a stronger, more scalable, even more innovative Gilt Technologie Organisation.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-1356454808725879101?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/1356454808725879101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=1356454808725879101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1356454808725879101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1356454808725879101'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2011/11/dublin-innovation-festival-talking.html' title='Dublin Innovation Festival - Talking about Innovation, Gilt and Ireland ... and Evolution and Darwinism'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-8gs1e4uZGog/TrhNBkJH6cI/AAAAAAAAAR0/U9s3UzZ1fp8/s72-c/sally-gap-wicklow-county-ireland-r115-21222196.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-4566049506338319106</id><published>2011-06-26T14:51:00.002+01:00</published><updated>2011-06-26T15:02:06.213+01:00</updated><title type='text'>(Small) change to my social networking ...</title><content type='html'>First of all ... apologies!!! In the last 2 weeks my (private) tweeds (almost) completely died away. I was just madly busy with work :(. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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 &lt;a href="http://twitter.com/innolocity"&gt;here&lt;/a&gt; to follow. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-4566049506338319106?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/4566049506338319106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=4566049506338319106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/4566049506338319106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/4566049506338319106'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2011/06/small-change-to-my-social-networking.html' title='(Small) change to my social networking ...'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-8017525618183388184</id><published>2011-05-01T08:55:00.005+01:00</published><updated>2011-05-01T09:51:56.292+01:00</updated><title type='text'>Cloud Computing - A practical guide for the common user</title><content type='html'>These days (and especially after the Amazon EC2 outage :)) everybody is talking about cloud computing. It seems you cannot be sexy, if you do not "live" in the cloud. But most of the more "common" users (and for the sake of the discussion, I am including myself in that group) probably think that cloud computing and using "the cloud" is something that enterprises use to (potentially) safe cost and also to (potentially) gain flexibility.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first observation is that there is a fair amount of confusion about what cloud computing is. The reason is that everybody is latching on to the buzz and is using the word cloud to make the product or the service at hand look more trendy.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To bring order to the chaos you could probably say that there are three categories of cloud computing solutions:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Data Clouds - Give access to a large amount of disk space and allow the disk space to be shared between a (potentially) large number of users (e.g. DropBox)&lt;/li&gt;&lt;li&gt;Computing Clouds - Give access to large amount of computing (CPU) and hardware power in general (including main memory, disk space and in most cases a/the operating system) to run whatever application you want to run (e.g. Amazon EC2)&lt;/li&gt;&lt;li&gt;Services/Application Clouds - Give access to ready-to-run/ready-to-use services/application to solve a specific problem (e.g. Google Mail (running a mail server for you), GitHub (running a source code repository for you), SalesForce.com (running a CRM for you))&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;So question becomes, why is this important or relevant to a/the common (means non-enterprise) user? For me personally I get two benefits out of it: I use "cloud computing" as a (you could call it) "poor-mans backup solution" and also as an "information sharing/syncing solution". Specifically I am using ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Google Mail/Calendar - to "host/store" all my email folders, contacts and my personal calendar&lt;/li&gt;&lt;li&gt;DropBox - to store all my files (including picture and music libraries)&lt;/li&gt;&lt;li&gt;GitHub - to store all my source code&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Syncing the data is kind of automatic and there is always an offline version of the data available, which gives me very good protection against disk failures (but on top of that I am also running a TimeMachine backup (better safe than sorry :))), means in case of a disk failure, I can install an IMAP email client, a DropBox client and Git on a new piece of hardware and I am up and running again in no time.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The second value is information sharing. By now I have 3 devices (laptop, tablet, phone) and need to share/sync data between the devices and my wife got a laptop and a phone too and I also need to share/sync information with her (especially my source code :)). Having the data/information available in "the cloud" makes that syncing/sharing exercise straight forward (will publish a blog post on how to share/sync music using DropBox in due course).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Buttom line: "Cloud computing" is not only for enterprises :). &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-8017525618183388184?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/8017525618183388184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=8017525618183388184' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8017525618183388184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8017525618183388184'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2011/05/cloud-computing-practical-guide-for.html' title='Cloud Computing - A practical guide for the common user'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-6298109367296249356</id><published>2011-04-19T16:26:00.005+01:00</published><updated>2011-04-21T13:19:42.389+01:00</updated><title type='text'>Adventure 2.0 - Building the Gilt Software Development Center in Dublin</title><content type='html'>A couple of weeks ago I got a call from the &lt;a href="http://www.youtube.com/watch?v=Bx9WjvNGHPE"&gt;Gilt Groupe in NYC&lt;/a&gt; and they asked, if I would be interested in joining Gilt Groupe to build a software development center in Dublin. &lt;a href="http://www.flickr.com/photos/rolandtritsch/5508724707/in/set-72157626372178226"&gt;I went to NY&lt;/a&gt; and met some of &lt;a href="http://money.cnn.com/video/technology/2011/03/08/t_tt_gilt_groupe_hackathon.cnnmoney/"&gt;the brightest engineers in the industry&lt;/a&gt; and was totally blown away by the enthusiasm and the commitment to build and run the best e-commerce shopping experience on the web.&lt;br /&gt;&lt;br /&gt;And here I am today sitting in a room with the Irish Finance Minister Michael Noonan &lt;a href="http://www.delicious.com/rolandtritsch/Gilt+Announcement"&gt;announcing&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;Gilt is the number one flash sales site in the US. Within 3 years they went from 0 to more than USD 400M in revenue. Flash sales is outlet shopping over the internet and allows large designer brands to get the best possible deal on their excess stock. And it is frantic. Gilt has close to 5M members and sends 3M emails every day (within 15 mins) to notify its members about upcoming sales events. The next day at noon(est) the sale goes live and it is first-come first-served on all kinds of goods from a wide variety of designer brands. The discounts are from 20 to (sometimes) over 70 percent.&lt;br /&gt;&lt;br /&gt;That presents a "small" technical challenge, because at noon within seconds the traffic on the website goes from decent to 5000 pages/sec. At peak time the site processes over USD 1M in revenue within 30 mins (every day). And it serves 99.7% of all pages, fully dynamic and personalized, within 100 ms at all times. And it cannot go down, meaning scalability, performance and availability are at the top of the requirements list. Fortunately Gilt employs only the brightest and the best.&lt;br /&gt;&lt;br /&gt;Let me know, if you are interest to join us. I am &lt;a href="http://www.gilt.com/careers/tech/2011/04/14/dublin/?cat=dup"&gt;hiring&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-6298109367296249356?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/6298109367296249356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=6298109367296249356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/6298109367296249356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/6298109367296249356'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2011/04/adventure-20-launching-gilt-software.html' title='Adventure 2.0 - Building the Gilt Software Development Center in Dublin'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-4237839738449993794</id><published>2010-12-19T14:30:00.012Z</published><updated>2010-12-19T20:06:25.457Z</updated><title type='text'>Maven, Flex/Air and Android - Trinity or Bermuda Triangle</title><content type='html'>Partially for professional reasons, partially out of plain, naked, old-fashioned curiosity (and also triggered by the Adobe announcement that Adobe Air now runs on Android) I am currently looking to find out how to use Maven to build a Flex/Air application for the Android phone. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The components that you need to make work together and that have dependencies are ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The Maven release - I started with 2.2.1, but found out that I need to use flex-mojo 4.0-SNAPSHOT and this requires 3.0.1&lt;/li&gt;&lt;li&gt;The flex-mojo release - I started with 3.7.1, but need to use Air 2.5, which is only packaged with Flex SDK 4.5, which requires flex-mojo 4.0-SNAPSHOT (have not tried, if it also works with 4.0-beta-3)&lt;/li&gt;&lt;li&gt;The Flex SDK release - I started with 4.1, but found out that this release is not packaged to support Air 2.5, means I need to use Flex SDK 4.5&lt;/li&gt;&lt;li&gt;The Air SDK release - I started with 1.5, but need to use 2.5, because this is the one that runs on Android&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;... means the winning configuration is ...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Maven 3.0.1&lt;/li&gt;&lt;li&gt;Flex-mojo 4.0-SNAPSHOT&lt;/li&gt;&lt;li&gt;Flex SDK 4.5.0 (build 17689) (this includes Air SDK 2.5)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The only thing you need to install is &lt;a href="http://maven.apache.org/download.html"&gt;Maven 3.0.1&lt;/a&gt; (the rest will be downloaded as part of the build process).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now the hard work starts and it is mainly hard work, because if you do something wrong the build process will just display a stack trace that points to a NullPointer exception, but that is maybe the price for doing leading (bleeding) edge stuff.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The next step is to get a project that works. You can get this by checking out the &lt;a href="https://docs.sonatype.org/display/FLEXMOJOS/Building+an+AIR+Application"&gt;Maven/Flex 4.1/Air 1.5&lt;/a&gt; sample from ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;svn co http://svn.sonatype.org/flexmojos/trunk/flexmojos-testing/flexmojos-test-harness/projects/concept/simple-air SimpleAir&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;... and edit the pom.xml to look like this ...&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush: xml; gutter: false; toolbar: false; highlight: [13,14,15,16,36,39,40,41,42,43,44,45,46,47,48,49,50,61]" &gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;  &amp;lt;!--&lt;br /&gt;&lt;br /&gt;    Copyright 2008 Marvin Herman Froeder Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;&lt;br /&gt;    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language&lt;br /&gt;    governing permissions and limitations under the License.&lt;br /&gt;  --&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&gt;&lt;br /&gt;  &amp;lt;modelVersion&gt;4.0.0&amp;lt;/modelVersion&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;properties&gt;&lt;br /&gt;    &amp;lt;flexmojos.version&gt;4.0-SNAPSHOT&amp;lt;/flexmojos.version&gt;&lt;br /&gt;    &amp;lt;flex.version&gt;4.5.0.17689&amp;lt;/flex.version&gt;&lt;br /&gt;  &amp;lt;/properties&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;groupId&gt;info.rvin.itest&amp;lt;/groupId&gt;&lt;br /&gt;  &amp;lt;artifactId&gt;simple-air&amp;lt;/artifactId&gt;&lt;br /&gt;  &amp;lt;version&gt;1.0-SNAPSHOT&amp;lt;/version&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;packaging&gt;pom&amp;lt;/packaging&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;modules&gt;&lt;br /&gt;    &amp;lt;module&gt;air&amp;lt;/module&gt;&lt;br /&gt;    &amp;lt;module&gt;swf&amp;lt;/module&gt;&lt;br /&gt;    &amp;lt;module&gt;swc&amp;lt;/module&gt;&lt;br /&gt;  &amp;lt;/modules&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;build&gt;&lt;br /&gt;    &amp;lt;sourceDirectory&gt;src/main/flex&amp;lt;/sourceDirectory&gt;&lt;br /&gt;    &amp;lt;plugins&gt;&lt;br /&gt;      &amp;lt;plugin&gt;&lt;br /&gt;        &amp;lt;groupId&gt;org.sonatype.flexmojos&amp;lt;/groupId&gt;&lt;br /&gt;        &amp;lt;artifactId&gt;flexmojos-maven-plugin&amp;lt;/artifactId&gt;&lt;br /&gt;        &amp;lt;version&gt;${flexmojos.version}&amp;lt;/version&gt;&lt;br /&gt;        &amp;lt;extensions&gt;true&amp;lt;/extensions&gt;&lt;br /&gt;        &amp;lt;dependencies&gt;&lt;br /&gt;          &amp;lt;dependency&gt;&lt;br /&gt;            &amp;lt;groupId&gt;com.adobe.flex&amp;lt;/groupId&gt;&lt;br /&gt;            &amp;lt;artifactId&gt;compiler&amp;lt;/artifactId&gt;&lt;br /&gt;            &amp;lt;version&gt;${flex.version}&amp;lt;/version&gt;&lt;br /&gt;            &amp;lt;type&gt;pom&amp;lt;/type&gt;&lt;br /&gt;          &amp;lt;/dependency&gt;&lt;br /&gt;          &amp;lt;dependency&gt;&lt;br /&gt;            &amp;lt;groupId&gt;com.adobe.flex.compiler&amp;lt;/groupId&gt;&lt;br /&gt;            &amp;lt;artifactId&gt;adt&amp;lt;/artifactId&gt;&lt;br /&gt;            &amp;lt;version&gt;${flex.version}&amp;lt;/version&gt;&lt;br /&gt;            &amp;lt;scope&gt;compile&amp;lt;/scope&gt;&lt;br /&gt;          &amp;lt;/dependency&gt;&lt;br /&gt;        &amp;lt;/dependencies&gt;&lt;br /&gt;      &amp;lt;/plugin&gt;&lt;br /&gt;    &amp;lt;/plugins&gt;&lt;br /&gt;  &amp;lt;/build&gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;dependencies&gt;&lt;br /&gt;    &amp;lt;!-- Air SDK dependencies --&gt;&lt;br /&gt;    &amp;lt;dependency&gt;&lt;br /&gt;      &amp;lt;groupId&gt;com.adobe.flex.framework&amp;lt;/groupId&gt;&lt;br /&gt;      &amp;lt;artifactId&gt;air-framework&amp;lt;/artifactId&gt;&lt;br /&gt;      &amp;lt;version&gt;${flex.version}&amp;lt;/version&gt;&lt;br /&gt;      &amp;lt;type&gt;pom&amp;lt;/type&gt;&lt;br /&gt;    &amp;lt;/dependency&gt;&lt;br /&gt;  &amp;lt;/dependencies&gt;&lt;br /&gt;&amp;lt;/project&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;Please also edit .../air/pom.xml and replace %{flexmojos.version} with ${flexmojos.version}.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now comes the big trick ... please edit .../air/src/main/resources/descriptor.xml and to look like this ...&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush: xml; gutter: false; toolbar: false; highlight: [24,50]"&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="utf-8" standalone="no"?&gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;&lt;br /&gt;      Copyright 2008 Marvin Herman Froeder&lt;br /&gt;    --&gt;&lt;br /&gt;    &amp;lt;!--&lt;br /&gt;    Licensed under the Apache License, Version 2.0 (the "License");&lt;br /&gt;    you may not use this file except in compliance with the License.&lt;br /&gt;    You may obtain a copy of the License at&lt;br /&gt;    --&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;!--&lt;br /&gt;        http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;    --&gt;&lt;br /&gt;&lt;br /&gt;    &amp;lt;!--&lt;br /&gt;    Unless required by applicable law or agreed to in writing, software&lt;br /&gt;    distributed under the License is distributed on an "AS IS" BASIS,&lt;br /&gt;    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;    See the License for the specific language governing permissions and&lt;br /&gt;    limitations under the License.&lt;br /&gt;&lt;br /&gt;--&gt;&lt;br /&gt;&amp;lt;application xmlns="http://ns.adobe.com/air/application/2.5"&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!-- Adobe AIR Application Descriptor File Template.&lt;br /&gt;&lt;br /&gt; Specifies parameters for identifying, installing, and launching AIR applications.&lt;br /&gt; See http://www.adobe.com/go/air_1.0_application_descriptor for complete documentation.&lt;br /&gt;&lt;br /&gt; xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/1.0&lt;br /&gt;   The last segment of the namespace specifies the version &lt;br /&gt;   of the AIR runtime required for this application to run.&lt;br /&gt;   &lt;br /&gt; minimumPatchLevel - The minimum patch level of the AIR runtime required to run &lt;br /&gt;   the application. Optional.&lt;br /&gt;--&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- The application identifier string, unique to this application. Required. --&gt;&lt;br /&gt; &amp;lt;id&gt;main&amp;lt;/id&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Used as the filename for the application. Required. --&gt;&lt;br /&gt; &amp;lt;filename&gt;main&amp;lt;/filename&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- The name that is displayed in the AIR application installer. Optional. --&gt;&lt;br /&gt; &amp;lt;name&gt;main&amp;lt;/name&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;version&gt;v1&amp;lt;/version&gt; --&gt;&lt;br /&gt; &amp;lt;versionNumber&gt;1&amp;lt;/versionNumber&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Description, displayed in the AIR application installer. Optional. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;description&gt;&amp;lt;/description&gt; --&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Copyright information. Optional --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;copyright&gt;&amp;lt;/copyright&gt; --&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Settings for the application's initial window. Required. --&gt;&lt;br /&gt; &amp;lt;initialWindow&gt;&lt;br /&gt;  &amp;lt;!-- The main SWF or HTML file of the application. Required. --&gt;&lt;br /&gt;  &amp;lt;!-- Note: In Flex Builder, the SWF reference is set automatically. --&gt;&lt;br /&gt;  &amp;lt;content&gt;${output}&amp;lt;/content&gt;&lt;br /&gt;  &lt;br /&gt;  &amp;lt;!-- The title of the main window. Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;title&gt;&amp;lt;/title&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;systemChrome&gt;&amp;lt;/systemChrome&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Whether the window is transparent. Only applicable when systemChrome is false. Optional. Default false. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;transparent&gt;&amp;lt;/transparent&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Whether the window is initially visible. Optional. Default false. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;visible&gt;&amp;lt;/visible&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Whether the user can minimize the window. Optional. Default true. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;minimizable&gt;&amp;lt;/minimizable&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Whether the user can maximize the window. Optional. Default true. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;maximizable&gt;&amp;lt;/maximizable&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Whether the user can resize the window. Optional. Default true. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;resizable&gt;&amp;lt;/resizable&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The window's initial width. Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;width&gt;&amp;lt;/width&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The window's initial height. Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;height&gt;&amp;lt;/height&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The window's initial x position. Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;x&gt;&amp;lt;/x&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The window's initial y position. Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;y&gt;&amp;lt;/y&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The window's minimum size, specified as a width/height pair, such as "400 200". Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;minSize&gt;&amp;lt;/minSize&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- The window's initial maximum size, specified as a width/height pair, such as "1600 1200". Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;maxSize&gt;&amp;lt;/maxSize&gt; --&gt;&lt;br /&gt; &amp;lt;/initialWindow&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- The subpath of the standard default installation location to use. Optional. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;installFolder&gt;&amp;lt;/installFolder&gt; --&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- The subpath of the Windows Start/Programs menu to use. Optional. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;programMenuFolder&gt;&amp;lt;/programMenuFolder&gt; --&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- The icon the system uses for the application. For at least one resolution,&lt;br /&gt;   specify the path to a PNG file included in the AIR package. Optional. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;icon&gt;&lt;br /&gt;  &amp;lt;image16x16&gt;&amp;lt;/image16x16&gt;&lt;br /&gt;  &amp;lt;image32x32&gt;&amp;lt;/image32x32&gt;&lt;br /&gt;  &amp;lt;image48x48&gt;&amp;lt;/image48x48&gt;&lt;br /&gt;  &amp;lt;image128x128&gt;&amp;lt;/image128x128&gt;&lt;br /&gt; &amp;lt;/icon&gt; --&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Whether the application handles the update when a user double-clicks an update version&lt;br /&gt; of the AIR file (true), or the default AIR application installer handles the update (false).&lt;br /&gt; Optional. Default false. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;customUpdateUI&gt;&amp;lt;/customUpdateUI&gt; --&gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;!-- Whether the application can be launched when the user clicks a link in a web browser.&lt;br /&gt; Optional. Default false. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;allowBrowserInvocation&gt;&amp;lt;/allowBrowserInvocation&gt; --&gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;!-- Listing of file types for which the application can register. Optional. --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;fileTypes&gt; --&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;!-- Defines one file type. Optional. --&gt;&lt;br /&gt;  &amp;lt;!-- &amp;lt;fileType&gt; --&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;!-- The name that the system displays for the registered file type. Required. --&gt;&lt;br /&gt;   &amp;lt;!-- &amp;lt;name&gt;&amp;lt;/name&gt; --&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;!-- The extension to register. Required. --&gt;&lt;br /&gt;   &amp;lt;!-- &amp;lt;extension&gt;&amp;lt;/extension&gt; --&gt;&lt;br /&gt;   &lt;br /&gt;   &amp;lt;!-- The description of the file type. Optional. --&gt;&lt;br /&gt;   &amp;lt;!-- &amp;lt;description&gt;&amp;lt;/description&gt; --&gt;&lt;br /&gt;   &lt;br /&gt;   &amp;lt;!-- The MIME type. Optional. --&gt;&lt;br /&gt;   &amp;lt;!-- &amp;lt;contentType&gt;&amp;lt;/contentType&gt; --&gt;&lt;br /&gt;   &lt;br /&gt;   &amp;lt;!-- The icon to display for the file type. Optional. --&gt;&lt;br /&gt;   &amp;lt;!-- &amp;lt;icon&gt;&lt;br /&gt;    &amp;lt;image16x16&gt;&amp;lt;/image16x16&gt;&lt;br /&gt;    &amp;lt;image32x32&gt;&amp;lt;/image32x32&gt;&lt;br /&gt;    &amp;lt;image48x48&gt;&amp;lt;/image48x48&gt;&lt;br /&gt;    &amp;lt;image128x128&gt;&amp;lt;/image128x128&gt;&lt;br /&gt;   &amp;lt;/icon&gt; --&gt;&lt;br /&gt;   &lt;br /&gt;  &amp;lt;!-- &amp;lt;/fileType&gt; --&gt;&lt;br /&gt; &amp;lt;!-- &amp;lt;/fileTypes&gt; --&gt;&lt;br /&gt;&amp;lt;/application&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;... and you are (almost) done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Last put not least, you need to make sure Maven is correctly configured to find the right components and the right plugins. My ${HOME}/.m2/settings.xml looks like this ...&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush: xml; gutter: false; toolbar: false; highlight: [27,28,29,30,31,32,33,34,35,36,37,38,39]" &gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;&amp;lt;settings &lt;br /&gt;    xmlns="http://maven.apache.org/settings/1.0.0" &lt;br /&gt;    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" &lt;br /&gt;    xsi:schemaLocation="&lt;br /&gt;                        http://maven.apache.org/SETTINGS/1.0.0 &lt;br /&gt;                        http://maven.apache.org/xsd/settings-1.0.0.xsd&lt;br /&gt;                        "&lt;br /&gt;&gt;&lt;br /&gt;  &amp;lt;localRepository&gt;/Downloads/maven/repository&amp;lt;/localRepository&gt;&lt;br /&gt;  &amp;lt;profiles&gt;&lt;br /&gt;    &amp;lt;profile&gt;&lt;br /&gt;      &amp;lt;id&gt;roland&amp;lt;/id&gt;&lt;br /&gt;      &amp;lt;repositories&gt;&lt;br /&gt;        &amp;lt;repository&gt;&lt;br /&gt;          &amp;lt;id&gt;mvndefault&amp;lt;/id&gt;&lt;br /&gt;          &amp;lt;name&gt;Maven Default Repo&amp;lt;/name&gt;&lt;br /&gt;          &amp;lt;url&gt;http://repo1.maven.org/maven2&amp;lt;/url&gt;&lt;br /&gt;          &amp;lt;layout&gt;default&amp;lt;/layout&gt;&lt;br /&gt;        &amp;lt;/repository&gt;&lt;br /&gt;        &amp;lt;repository&gt;&lt;br /&gt;          &amp;lt;id&gt;mvnsearch&amp;lt;/id&gt;&lt;br /&gt;          &amp;lt;name&gt;Maven Search Repo&amp;lt;/name&gt;&lt;br /&gt;          &amp;lt;url&gt;http://www.mvnsearch.org/maven2&amp;lt;/url&gt;&lt;br /&gt;          &amp;lt;layout&gt;default&amp;lt;/layout&gt;&lt;br /&gt;        &amp;lt;/repository&gt;&lt;br /&gt; &amp;lt;repository&gt;&lt;br /&gt;   &amp;lt;id&gt;flexmojos&amp;lt;/id&gt;&lt;br /&gt;   &amp;lt;url&gt;http://repository.sonatype.org/content/groups/flexgroup&amp;lt;/url&gt;&lt;br /&gt;          &amp;lt;layout&gt;default&amp;lt;/layout&gt;&lt;br /&gt; &amp;lt;/repository&gt;&lt;br /&gt;      &amp;lt;/repositories&gt;&lt;br /&gt;      &amp;lt;pluginRepositories&gt;&lt;br /&gt; &amp;lt;pluginRepository&gt;&lt;br /&gt;   &amp;lt;id&gt;flexmojos&amp;lt;/id&gt;&lt;br /&gt;   &amp;lt;url&gt;http://repository.sonatype.org/content/groups/flexgroup&amp;lt;/url&gt;&lt;br /&gt;          &amp;lt;layout&gt;default&amp;lt;/layout&gt;&lt;br /&gt; &amp;lt;/pluginRepository&gt;&lt;br /&gt;      &amp;lt;/pluginRepositories&gt;&lt;br /&gt;    &amp;lt;/profile&gt;&lt;br /&gt;  &amp;lt;/profiles&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;activeProfiles&gt;&lt;br /&gt;    &amp;lt;activeProfile&gt;roland&amp;lt;/activeProfile&gt;&lt;br /&gt;  &amp;lt;/activeProfiles&gt;&lt;br /&gt;&amp;lt;/settings&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div&gt;Finally change directory to the base directory of the checkout and run ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;&gt; mvn clean install&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After 5 mins of downloads you should be done building your first Maven, Flex 4.5, Air 2.5 app.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The next step is to build and install an Android apk package, but I am still working to make this work. Stay tuned.&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-4237839738449993794?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/4237839738449993794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=4237839738449993794' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/4237839738449993794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/4237839738449993794'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/12/maven-flexair-and-android-trinity-or.html' title='Maven, Flex/Air and Android - Trinity or Bermuda Triangle'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-1387903693424990893</id><published>2010-11-24T16:07:00.005Z</published><updated>2010-11-25T16:03:50.803Z</updated><title type='text'>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 more</title><content type='html'>Hhhmmm ... nerd alert: If you do not like &lt;a href="http://aquamacs.org/"&gt;AquaEmacs&lt;/a&gt;, &lt;a href="http://jdee.sourceforge.net/"&gt;JDEE&lt;/a&gt; and &lt;a href="http://jdee.sourceforge.net/jdedoc/html/jde-ug/jde-ug.html"&gt;Method Completion&lt;/a&gt; ... don't read this :).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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 ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;Cannot find JDK's tools jar file (or equivalent). Type M-x describe-function [RET] jde-get-jdk-dir for more info.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;... when you hit C-c C-v . to complete a method name. The problem is that the beanshell cannot find tools.jar (or more specifically classes.jar (on MacOS)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In my case my jde-get-jdk-dir returns ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;... but if you look the error message up in ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;~/Library/Application Support/Aquamacs Emacs/jdee-2.4.0.1/lisp/jde.el&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;... you will see that on the darwin platform (MacOS) it tries to find the classes.jar file (which contains the tools stuff on darwin) in Classes/classes.jar, but the correct location is ../Classes/classes.jar, means to make it work you have to change jde-get-tools-jar() in jde.el to ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;(defun jde-get-tools-jar ()&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;  "Gets the correct tools.jar or equivalent. Signals an&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;error if it cannot find the jar."&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;  (let ((tools&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt; (expand-file-name&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt;  (if (eq system-type 'darwin)&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt;      "&lt;span class="Apple-style-span"&gt;&lt;b&gt;../&lt;/b&gt;&lt;/span&gt;Classes/classes.jar"&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt;    "lib/tools.jar")&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt;  (jde-get-jdk-dir))))&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;    (if (file-exists-p tools)&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;i&gt;tools&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;      (error (concat "Cannot find JDK's tools jar file (or equivalent)."&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt;  &lt;/i&gt;&lt;/span&gt;&lt;i&gt;     "Type M-x describe-function [RET] jde-get-jdk-dir for more info.")))))&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;... and then byte-compile it (just go to the Emacs-Lisp menu and select "Byte-compile this File"). Last but not least, you need to restart AquaEmacs and you are done.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OK. I admit it ... this is nerdy :).&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-1387903693424990893?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/1387903693424990893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=1387903693424990893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1387903693424990893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1387903693424990893'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/11/aquaemacs-and-jdee-and-method.html' title='AquaEmacs and JDEE and Method Completion - Cannot find JDK&apos;s tools jar file (or equivalent). Type M-x describe-function [RET] jde-get-jdk-dir for more'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-537260037139602990</id><published>2010-08-31T19:53:00.003+01:00</published><updated>2010-08-31T20:04:53.678+01:00</updated><title type='text'>Cinema Screening in Aid of Haiti - Watching "The Commitments" (for a good cause)</title><content type='html'>Sometimes it is possible to combine something that is fun with something that is useful.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am happy to present such an opportunity, since my colleague Susan O'Hara is organizing a charity event in the &lt;a href="http://www.thesugarclub.com"&gt;Sugar Club on Lower Leeson Street&lt;/a&gt; to watch &lt;a href="http://en.wikipedia.org/wiki/The_Commitments_(film)"&gt;"The Commitments"&lt;/a&gt; on Wednesday,  15 September 2010 at 7pm.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The cost is EUR 15,- pp. The feeling to have some fun and do something good is priceless.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For all inquires, please feel free to contact &lt;a href="mailto:susanmaryohara@hotmail.com"&gt;Susan&lt;/a&gt; directly. Hope to see you there :).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-537260037139602990?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/537260037139602990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=537260037139602990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/537260037139602990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/537260037139602990'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/08/cinema-screening-in-aid-of-haiti.html' title='Cinema Screening in Aid of Haiti - Watching &quot;The Commitments&quot; (for a good cause)'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-495637556627714205</id><published>2010-06-08T13:25:00.002+01:00</published><updated>2010-06-08T13:51:13.398+01:00</updated><title type='text'>Autonomy, Mastery, Purpose - ... or ... how to unleash creativity.</title><content type='html'>This is going to be a short blog post. A Facebook post by &lt;a href="http://www.facebook.com/brikelly"&gt;Brian Kelly&lt;/a&gt; made me revisit the stuff that &lt;a href="http://en.wikipedia.org/wiki/Daniel_H._Pink"&gt;Dan Pink&lt;/a&gt; did and is doing.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The main idea behind Drive (&lt;a href="http://www.youtube.com/watch?v=u6XAPnuFjJc&amp;amp;feature=player_embedded"&gt;RSA&lt;/a&gt;, &lt;a href="http://www.ted.com/talks/dan_pink_on_motivation.html"&gt;TED&lt;/a&gt;) 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 :)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Check it out. It is an Idea Worth Spreading :).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-495637556627714205?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/495637556627714205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=495637556627714205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/495637556627714205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/495637556627714205'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/06/autonomy-mastery-purpose-or-how-to.html' title='Autonomy, Mastery, Purpose - ... or ... how to unleash creativity.'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-5231847783449661917</id><published>2010-04-22T14:28:00.008+01:00</published><updated>2010-04-22T15:34:10.547+01:00</updated><title type='text'>Managing complexity with OSGi - In bundles and between bundles</title><content type='html'>&lt;div style="text-align: left;"&gt;Right now the &lt;a href="http://sp.brandvis.com/"&gt;Brandvis SelectPortal system&lt;/a&gt; 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.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Triggered by this work and triggered by a talk on reuse of &lt;a href="http://www.osgi.org/"&gt;OSGi&lt;/a&gt; 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.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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.&lt;/div&gt;&lt;img src="http://1.bp.blogspot.com/_L_-HX5TQh_I/S9BaOYSBu_I/AAAAAAAAACE/QrK0pPgsm8I/s320/Slide1.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5462965551083142130" /&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-5231847783449661917?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/5231847783449661917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=5231847783449661917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/5231847783449661917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/5231847783449661917'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/04/managing-complexity-with-osgi-in-and.html' title='Managing complexity with OSGi - In bundles and between bundles'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_L_-HX5TQh_I/S9BaOYSBu_I/AAAAAAAAACE/QrK0pPgsm8I/s72-c/Slide1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-8031998165534429629</id><published>2010-04-07T09:21:00.003+01:00</published><updated>2010-04-07T09:41:42.889+01:00</updated><title type='text'>International Conference on Mass Customization and Personalization in Central Europe (MCP-CE 2010)</title><content type='html'>Good news :). My talk on ...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;hr /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;b&gt;About the importance of templates and platforms for "managed customization" in the garment industry&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;The 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").&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;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.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;hr /&gt;&lt;div&gt;... was accepted. The &lt;a href="http://mass-customization.blogs.com/mass_customization_open_i/2010/01/call-for-papers-international-conference-on-mass-customization-and-personalization-in-central-europe.html"&gt;conference&lt;/a&gt; will happen on Sep., 22nd-24th 2010 in &lt;a href="http://en.wikipedia.org/wiki/Novi_Sad"&gt;Novi Sad, Serbia&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;CU there :).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-8031998165534429629?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/8031998165534429629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=8031998165534429629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8031998165534429629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8031998165534429629'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/04/international-conference-on-mass.html' title='International Conference on Mass Customization and Personalization in Central Europe (MCP-CE 2010)'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-742817765212297352</id><published>2010-04-05T06:43:00.006+01:00</published><updated>2010-04-05T09:41:02.012+01:00</updated><title type='text'>Bierdeckel Economics vs. Armchair Economics - ... and what it got to do with Greece and Ireland</title><content type='html'>&lt;div&gt;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.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;A couple of weeks ago &lt;a href="http://chrisjhorn.wordpress.com/"&gt;Chris Horn&lt;/a&gt; posted an &lt;a href="http://chrisjhorn.wordpress.com/2010/02/11/armchair-economics/"&gt;interesting article&lt;/a&gt; about certain economical key indicators and what they mean for Ireland. I also saw a &lt;a href="http://economix.blogs.nytimes.com/2010/03/18/will-the-u-s-become-the-next-ireland/"&gt;good article in the NYT&lt;/a&gt; about why and how the US and Ireland and Greece are different (from a financial crises/debt point of view).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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 &lt;a href="http://kinggolo.vox.com/library/post/life-is-complicated-tax-form-terror.html"&gt;Tax Return on the back of a beermat&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The main purpose of the exercise is to come to my own conclusions on, how deep the sh... is we are in and to summarize it in a way that will allow us to grab the essence of the problem on a page. Here we go ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To start I have to say that I do not share the obsession with the "Budget Deficit as percentage of GDP" as being the biggest problem of all. I agree it is a good early warning indicator that there is (maybe) something about to go wrong, but a budget deficit of more than 3% (the Maastrich-Criteria) is no reason to panic. Just think about it: Because the impact and significants of borrowing a certain amount of money (or increasing your debt) clearly depends on your ability to pay it back (your income),  it obviously does not make sense to express budget deficits as absolut numbers, because a budget deficit of EUR 1000M might be a problem for a small country (with less (tax) income), but not problem for a bigger country. Therefore expressing the budget deficit as percentage of &lt;a href="http://en.wikipedia.org/wiki/Gross_domestic_product"&gt;GDP&lt;/a&gt; (Gross Domestic Product) make sense (Warning: currently some people try to confuse the situation by expressing key indicators as percentages of &lt;a href="http://en.wikipedia.org/wiki/Measures_of_national_income_and_output"&gt;GNP&lt;/a&gt; (Gross National Product). That does not make sense and is dangerous, because the numbers might look better, but the problem is not smaller).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My point is now, that a budget deficit of &gt;3% (e.g. 12% for Greece, Ireland, ...) is not a problem. Just imagine you have a debt free country and in (one) given year you need to borrow some money to get things back to normal and to make some investments and then you pay it back over a period of 10 years. I don't think that this is a problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem is, what happens if you keep on doing this. Then (over the years) you will accumulate dept and this is a key indicator that is much more interesting. Again it probably does not make sense to look at absolute numbers and it is probably much more telling to look at &lt;a href="http://en.wikipedia.org/wiki/List_of_countries_by_public_debt#cite_note-3"&gt;debt as percentage of GDP&lt;/a&gt;. Here are a couple of examples (2009) ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Zimbabwe - 303%&lt;/li&gt;&lt;li&gt;Japan - 192%&lt;/li&gt;&lt;li&gt;Italy - 115%&lt;/li&gt;&lt;li&gt;Greece - 108%&lt;/li&gt;&lt;li&gt;France - 79%&lt;/li&gt;&lt;li&gt;Germany - 77%&lt;/li&gt;&lt;li&gt;UK - 68%&lt;/li&gt;&lt;li&gt;Ireland - 63%&lt;/li&gt;&lt;li&gt;USA - 53%&lt;/li&gt;&lt;li&gt;China - 18%&lt;/li&gt;&lt;li&gt;Equatorial Guinea - 2%&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;From that list you can clearly see that Japan, Italy and Greece are in trouble.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The reason why this is a problem is interest. Obviously if you borrow money you need to pay it back, but you also need to pay interest on it (sorry, I am obviously teaching cranny how to suck eggs here, but when I see what some politicians do, I start to wonder). And you need to pay this interest from your income (the taxes your citizens pay). If you now accumulate to much debt and/or your credit rating goes down, your interest payments go up and that can become a real problem, because at the end they might eat up a huge amount of your income, leaving you with very little to spend on infrastructure (and other investment) projects. Therefore the next better metric is to look at interest payments as percentage of GDP. Unfortunately I was not able to find any current data, but here are &lt;a href="http://findarticles.com/p/articles/mi_m4456/is_2002_Dec/ai_98032799/"&gt;some examples from 2004 (estimated)&lt;/a&gt; , which will give us some indication ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;France - 2.8%&lt;/li&gt;&lt;li&gt;Germany - 3.3%&lt;/li&gt;&lt;li&gt;Greece - 5.1% (questionable, this was probably higher)&lt;/li&gt;&lt;li&gt;Ireland - 0%&lt;/li&gt;&lt;li&gt;Italy - 5.4%&lt;/li&gt;&lt;li&gt;UK - 1.8%&lt;/li&gt;&lt;li&gt;USA - 2.0%&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Update: Just found &lt;a href="http://ec.europa.eu/economy_finance/publications/publication_summary16053_en.htm"&gt;better more current/accurate data&lt;/a&gt;, which confirms the trend. Here we go (estimations for 2011) ...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Germany - 2.9%&lt;/li&gt;&lt;li&gt;Ireland - 4.0%&lt;/li&gt;&lt;li&gt;Greece - 6.1%&lt;/li&gt;&lt;li&gt;France - 3.0%&lt;/li&gt;&lt;li&gt;Italy - 5.1%&lt;/li&gt;&lt;li&gt;USA - 3.2%&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;In the case of Greece it means that &lt;a href="http://www.eliamep.gr/en/wp-content/uploads/2010/02/Fact-Sheet-Greece-200911.pdf"&gt;in 2009 they had to spend more than 10% of the annual budget to service debt&lt;/a&gt;. This is a huge iron ball around the leg to carry around.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ireland is different. Ireland got a fighting chance, because Ireland has much less accumulated debt, but the time to act is now. Ireland can spend some money this year, but needs to go back to a budget deficit below 3% within 2 years. And the money spend this year must create sustainable growth.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-742817765212297352?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/742817765212297352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=742817765212297352' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/742817765212297352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/742817765212297352'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/04/bierdeckel-economics-vs-armchair.html' title='Bierdeckel Economics vs. Armchair Economics - ... and what it got to do with Greece and Ireland'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-2273991877526078501</id><published>2010-03-06T17:16:00.001Z</published><updated>2010-03-06T17:17:18.440Z</updated><title type='text'>This blog has moved</title><content type='html'>&lt;br /&gt;       This blog is now located at http://blog.tritsch.org/.&lt;br /&gt;       You will be automatically redirected in 30 seconds, or you may click &lt;a href='http://blog.tritsch.org/'&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;       For feed subscribers, please update your feed subscriptions to&lt;br /&gt;       http://blog.tritsch.org/atom.xml.&lt;br /&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-2273991877526078501?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.tritsch.org/' title='This blog has moved'/><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/2273991877526078501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=2273991877526078501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/2273991877526078501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/2273991877526078501'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/03/this-blog-has-moved.html' title='This blog has moved'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-7159307199272531815</id><published>2010-02-17T08:58:00.000Z</published><updated>2010-02-17T12:05:10.934Z</updated><title type='text'>Greek Vacation - Food for thought</title><content type='html'>It is happening again :). I am in Greece ... on vacation. My wife has this unbelievable ability to find wonderful places for us to explore and experience the best of Greece. The (non-complete) list of breaks encompasses ...&lt;div&gt;&lt;ul&gt;&lt;li&gt;Visit the home of &lt;a href="http://en.wikipedia.org/wiki/Zeus"&gt;Zeus&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Mount_Olympus_(Mountain)"&gt;Mount Olympus&lt;/a&gt;) (&lt;a href="http://www.semeliresort.gr/data/home.php?sl=US"&gt;Mountain Resort Semeli&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Find out how colosal &lt;span&gt;&lt;span&gt;the &lt;a href="http://en.wikipedia.org/wiki/Colossus_of_Rhodes"&gt;Colossus of Rhodes&lt;/a&gt; really&lt;/span&gt;&lt;/span&gt; was (&lt;a href="http://www.nikostakishotel.com/"&gt;Fashion Hotel Nikos&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Take a 6 hour hike through &lt;a href="http://www.blogger.com/Vikos_Gorge"&gt;Vikos Canyon&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Explore the beauty of &lt;a href="http://en.wikipedia.org/wiki/Pelion"&gt;Piliou&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Follow the footsteps of &lt;a href="http://en.wikipedia.org/wiki/Leonard_Cohen"&gt;Leonard Cohen&lt;/a&gt; on &lt;a href="http://en.wikipedia.org/wiki/Hydra,_Saronic_Islands"&gt;Hydra&lt;/a&gt; (&lt;a href="http://www.fourseasonshydra.gr/default.aspx?sector_id=187&amp;amp;lang_id=2"&gt;Four Seasons Hotel&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Right now I am in the &lt;a href="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;hl=en&amp;amp;msa=0&amp;amp;ll=37.436158,21.948538&amp;amp;spn=0.019253,0.03798&amp;amp;z=15&amp;amp;msid=110664402557387540287.00047f9fba5998de94a20"&gt;middle of nowhere&lt;/a&gt; in a place called &lt;a href="http://www.epohes.gr/default.asp?la=2"&gt;Epohes&lt;/a&gt;  and again ... I am loving it. These trips are and the nature around me, put me into a very good, peaceful, thoughful frame of mind. Will send &lt;a href="http://www.flickr.com/photos/rolandtritsch/"&gt;pictures&lt;/a&gt; later this week.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also assuming that the (deep) thinking will result in one (or two) blog entries :). &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-7159307199272531815?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/7159307199272531815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=7159307199272531815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7159307199272531815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7159307199272531815'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2010/02/greek-vacation-food-for-thought.html' title='Greek Vacation - Food for thought'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-3925860689445767640</id><published>2009-12-16T04:34:00.002Z</published><updated>2009-12-16T04:57:37.867Z</updated><title type='text'>Link of the Month - The best Zoom feature ever</title><content type='html'>The frontend for many mass-customization, product-configurators is based on &lt;a href="http://www.adobe.com/products/flex/"&gt;Adobe Flash/Flex&lt;/a&gt;, 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".&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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 &lt;a href="http://creationthemovie.com"&gt;"Creation"&lt;/a&gt;. I really like the way they implemented the Zoom feature (and the moving bug :)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Check it out.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-3925860689445767640?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/3925860689445767640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=3925860689445767640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/3925860689445767640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/3925860689445767640'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/12/link-of-month-best-zoom-feature-ever.html' title='Link of the Month - The best Zoom feature ever'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-2064784561591426896</id><published>2009-12-15T16:50:00.004Z</published><updated>2009-12-15T17:27:58.854Z</updated><title type='text'>Mass-customization delivered - Back to the roots ...</title><content type='html'>&lt;div&gt;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).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am happy to report that it worked out just fine!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;A couple of month ago I was approached by &lt;a href="http://www.brandvis.com/"&gt;Brandvis Ltd&lt;/a&gt; and they were looking for a Chief Architect with manufacturing background to help them with the implementation of their next-generation mass-customization platform. For the time being the platform is targeted at the garment industry (or to be precise at &lt;a href="http://en.wikipedia.org/wiki/High-visibility_clothing"&gt;high-visible, high-performance, technical workwear&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Personal_protective_equipment"&gt;Personal Protective Equipment (PPE)&lt;/a&gt;). The Brandvis Software Solution allows you to customize these garments and (if necessary) certify the garments (in real-time) against the &lt;a href="http://en.wikipedia.org/wiki/High-visibility_clothing#BS_EN_471:2003"&gt;relevant standards&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The software that is behind the solution needs to be tightly integrated with underlying Bill-of-Material information and also with the Supply-Chain that is driving the manufacturing process. What we (Brandvis) have right now is a good start, but lots remains to be done. I am really looking forward to the adventure of building this.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ultimately/Potentially the Brandvis Solution might evolve into a general-purpose solution to deliver on the promises of the holy-grail of manufacturing: the implementation of a general-purpose &lt;a href="http://en.wikipedia.org/wiki/Mass_customization"&gt;mass-customization&lt;/a&gt; solution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mass-customization is a very interesting and exciting concept and you can expect that I will start to talk about it more on this blog.  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-2064784561591426896?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/2064784561591426896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=2064784561591426896' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/2064784561591426896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/2064784561591426896'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/12/mass-customization-delivered-back-to.html' title='Mass-customization delivered - Back to the roots ...'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-5597661726496460704</id><published>2009-09-22T07:28:00.003+01:00</published><updated>2009-09-22T18:45:17.307+01:00</updated><title type='text'>Effective Android - Using Apache CXF to access SOAP services</title><content type='html'>A year ago I developed a small set of demos to show how to&lt;a href="http://www.tritsch.org/Blog/2008/04/apache-cxf-generates-client-side-soap.html"&gt; access SOAP services from the iPhone&lt;/a&gt;. To do this I used a very interesting feature of Apache CXF: The ability to generate a complete &lt;a href="http://cwiki.apache.org/CXF20DOC/javascript-clients.html"&gt;JavaScript client-side SOAP-stack&lt;/a&gt; on the fly.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I just finished an update/upgrade of this demo to show &lt;a href="http://www.flickr.com/photos/rolandtritsch/3601394870/"&gt;that it also works with the Android Phone&lt;/a&gt;. I also ported it to maven, means installing, building and running the demo is much easier now. The source code and the maven build environment is available for &lt;a href="http://www.tritsch.org/downloads/iphone.v3.zip"&gt;download&lt;/a&gt; and here is the &lt;a href="http://www.tritsch.org/downloads/README-iphone_v3.txt"&gt;README&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enjoy :). &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-5597661726496460704?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/5597661726496460704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=5597661726496460704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/5597661726496460704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/5597661726496460704'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/effective-android-using-apache-cxf-to.html' title='Effective Android - Using Apache CXF to access SOAP services'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-8285497658038658614</id><published>2009-09-17T08:05:00.005+01:00</published><updated>2009-09-17T09:03:19.850+01:00</updated><title type='text'>Social Networking - Updating your status: all or nothing?</title><content type='html'>Yesterday I was stumbling over a &lt;a href="http://www.facebook.com/oisin.hurley?ref=mf"&gt;Facebook status update from Oisin Hurley&lt;/a&gt; ...&lt;div&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;b&gt;O&lt;/b&gt;&lt;b&gt;isin Hurley &lt;i&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;is starting to get a bit irritated with people that unselectively duplicate their twitter stream to their Facebook status. They're different interactions, people.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is an interesting observation and creates a bigger question: where do we go with this social-networking, micro-blogging, status-update thingy?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Initially it was easy: there was just/only twitter and this was the place to do micro-blogging and status-updates, but by now all social-networking sites (Facebook, Linked-In, XING, Plaxo, Bebo, ...) have a similar feature. On top of that all major IM platforms (AIM, MSN, Skype, ...) by now also feature a status-update feature, means as a user you are between a rock and a hard place: you either update them all at once (and "over-communicate") or you update them separately (and spend a lot of time on it).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In my case my social networks are not segmented by type/kind or friend, means it is not that all my personal friends are on Facebook and my business friends are on Twitter. The segmentation is more on the tools side. Some of my friends use Facebook (only), some use Twitter (only) and some use both. Looking at it from this point of view I want to send my micro-blog entries/status updates to both or even all of of my social-networking sites (this is what Barack Obama is doing :)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another way to look at it is maybe a segmentation by content type, means there are probably different kind of messages: more private/personal mood-messages/updates (Roland is happy. Just started a rocket with Alexandros.) , more professional micro-blog entries (Roland is working to make Lightsabre run on Android), more factual statements (e.g. a location) (Roland is in Dublin), ... and so on. Question is ... do these content types somehow map themselves to different sites/tools? I am not really sure about this, because currently people do not pick their social networking sites/tools on purpose or by brand (e.g. Facebook is the social-network for friends and Twitter is the social-network for news, professional live and marketing), means one content type might be interesting for half the people on my Facebook network and half the people on my Twitter network.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That kind of leads me to a (suggested) conclusion: the solution is not to send certain updates only to one site or the other. The solution is to create groups of people in every network and have tools which allow you to send certain messages to these groups on your networks.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Any other thoughts? Suggestions?&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 11px; color: rgb(51, 51, 51); "&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-8285497658038658614?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/8285497658038658614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=8285497658038658614' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8285497658038658614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8285497658038658614'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/09/social-networking-updating-your-status.html' title='Social Networking - Updating your status: all or nothing?'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-1522285952984725520</id><published>2009-09-12T18:38:00.004+01:00</published><updated>2009-09-12T19:20:23.569+01:00</updated><title type='text'>Effective Mac - Using TimeMachine Part II or Why Restore was greyed out?</title><content type='html'>It happened again!!! Another HD crash. A year ago I lost my original 160GB drive and replaced it with a 250GB drive. Now this one failed only 12 month later. I am not sure what is happening here, but I do not feel that I "mishandle" my MacBook in a way that would explain this rate of failure. Let me know, what your experience is. Are MacBooks DiskEaters?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway ... in any case I had a chance to see, if my new backup strategy is better than my old one. You might remember (or not :)) that last year I found out that you have to &lt;a href="http://www.tritsch.org/Blog/2008/09/effective-mac-using-time-maschine.html"&gt;use TimeMachine the "right way"&lt;/a&gt;, if you want to have a pleasant restore experience.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This time around I booted from &lt;a href="http://docs.info.apple.com/article.html?path=Mac/10.5/en/15638.html"&gt;the Installation CD, went to Utilities and selected "Restore System from Backup ..."&lt;/a&gt;. Imagine my surprise when I was confronted with a selection of snapshots until 2 month ago (and I was sure that the last backup was from Sep., 03rd), but I figured "Hey, better *something* from mid of May than nothing and maybe I can restore more files using the TimeMachine application after the initial restore" and of we go ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6 hours later my system is restored and I start the TimeMachine application and surprise (again :)) I can see all me backups until Sep., 03rd, but all backups between mid of May and Sep., 03rd are greyed out (including the Restore button). Weird and frustrating. What the hell did I do to make all of these backups "un-restoreable"?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After an hour of investigation I found the problem: Mid of may I renamed the disk in the MacBook from "Macintosh HD" to "Roland's HD". Trivial, simple change, nothing to think about, nothing to worry about and TimeMachine continues to back up as normal, but will create a new backup set with the new volume name.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is not really immediately obvious is that you can restore from various backup sets, when you run "Restore System from Backup ...". After you have selected the disk to restore from, there is a drop-down box at the top of the screen, that will allow you to select a backup set (in case you have more than one on the disk) and the next screen will then display all snapshots in that set, means the solution to my problem was to select the "Roland's HD" set and voila ... suddenly the snapshots between mid of May and Sep., 03rd are displayed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After another 6 hours I was in pretty good shape and I now like TimeMachine even more than before.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BTW, ... if you are in Dublin and need help with your Mac I recommend the guys from the &lt;a href="http://www.themacshop.ie/"&gt;MacShop&lt;/a&gt; at Merrion Square. Good, competent, fast. This is how it should be.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-1522285952984725520?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/1522285952984725520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=1522285952984725520' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1522285952984725520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1522285952984725520'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/09/effective-mac-using-timemachine-part-ii.html' title='Effective Mac - Using TimeMachine Part II or Why Restore was greyed out?'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-1370729833123353388</id><published>2009-06-20T11:22:00.003+01:00</published><updated>2009-06-20T11:46:30.982+01:00</updated><title type='text'>ACCU 2009 - Slides are available</title><content type='html'>A couple of weeks ago I attended &lt;a href="http://accu.org/index.php/conferences"&gt;ACCU 2009&lt;/a&gt; to deliver a talk on "&lt;a href="http://accu.org/index.php/conferences/accu_conference_2009/accu2009_sessions#RESTful%20Services%20and%20Distributed%20OSGi%20-%20Friends%20or%20Foes"&gt;RESTful Services and Distributed OSGi - Friends or Foes&lt;/a&gt;" and "&lt;a href="http://accu.org/index.php/conferences/accu_conference_2009/accu2009_sessions#AJAX%20for%20Mobile%20Devices%20-%20Using%20Apache%20Projects%20to%20get%20the%20job%20done"&gt;AJAX for Mobile Devices - Using Apache Projects to get the job done&lt;/a&gt;". 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.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My most favorite presentation/keynote was delivered by &lt;a href="http://accu.org/index.php/conferences/accu_conference_2009/accu2009_sessions#The%20Benefits%20of%20Abstraction%20in%20Patterns"&gt;Linda Rising (The Benefits of Abstraction in Patterns)&lt;/a&gt;. She talked about the potential of patterns going beyond the ability to put structure into the domain of software engineering.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am looking forward to learn about the agenda for next year.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-1370729833123353388?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/1370729833123353388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=1370729833123353388' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1370729833123353388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/1370729833123353388'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/accu-2009-slides-are-available.html' title='ACCU 2009 - Slides are available'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-6660684063725135009</id><published>2009-06-19T18:46:00.000+01:00</published><updated>2009-06-19T18:41:53.091+01:00</updated><title type='text'>Street Performance World Championship - a non-technical blog post</title><content type='html'>&lt;div class="pp_items"&gt;&lt;div class="pp_item" align="left"&gt;&lt;p&gt;Sorry - this is a non-technical blog post. If you are not interested in having a good time, stop reading now. Otherwise ...&lt;br /&gt;&lt;br /&gt;I am on the LUAS on the way home from &lt;span&gt;&lt;span&gt;the &lt;a href="http://www.spwc.ie"&gt;Street Performance World Championship&lt;/a&gt; in Dublin.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px; white-space: pre; "&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;All of the performances are good/funny, but my personal favorite are &lt;a href="http://www.myspace.com/thehumanknot"&gt;Alakazam&lt;/a&gt; and &lt;a href="http://www.mr-toons.dk"&gt;Mr. Toons&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Go and check it out. It is worth-while the time.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-6660684063725135009?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/6660684063725135009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=6660684063725135009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/6660684063725135009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/6660684063725135009'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/street-performance-world-championship.html' title='Street Performance World Championship - a non-technical blog post'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-7134869683879284678</id><published>2009-06-18T12:12:00.001+01:00</published><updated>2009-06-18T12:21:14.748+01:00</updated><title type='text'>Smart Energy - let's bring Smart Meters, Smart Grid, Micro Grid and the software behind it together</title><content type='html'>&lt;div&gt;A year ago I had a couple of pints with &lt;a href="http://www.linkedin.com/pub/dan-salt/5/409/835"&gt;Dan Sal&lt;/a&gt;&lt;span&gt;&lt;span&gt;&lt;a href="http://www.linkedin.com/pub/dan-salt/5/409/835"&gt;t&lt;/a&gt; (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 &lt;a href="http://www.youtube.com/watch?v=DGiy7Safnhg"&gt;Smart Meter&lt;/a&gt; (just watch the first 5 min), &lt;a href="http://www.youtube.com/watch?v=9Ylcpyqz4fk&amp;amp;feature=related"&gt;Smart Grid&lt;/a&gt;, &lt;a href="http://www.youtube.com/watch?v=3XuCJBvq6Sk"&gt;Micro Grid&lt;/a&gt; and &lt;a href="http://www.youtube.com/watch?v=H1L5HjtxJQY"&gt;Grid 2.0&lt;/a&gt; concepts/solutions.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is a summary of the problems as I see them ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;we need to become more intelligent about how to consume energy&lt;/li&gt;&lt;li&gt;we need to become more intelligent about how to produce energy&lt;/li&gt;&lt;li&gt;and we need to become more intelligent about how to distribute/store energy&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;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 &lt;a href="http://www.nytimes.com/2008/08/27/business/27grid.html?_r=2&amp;amp;oref=slogin"&gt;becoming more intelligent about producing, distributing and storing renewable energy (wind, water, solar, ...)&lt;/a&gt;. &lt;a href="http://www.youtube.com/watch?v=3XuCJBvq6Sk"&gt;Micro Grids&lt;/a&gt; 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 &lt;a href="http://en.wikipedia.org/wiki/Pumped-storage_hydroelectricity"&gt;old&lt;/a&gt; and &lt;a href="http://www.greentechmedia.com/articles/read/electric-vehicles-could-surpass-grid-or-support-it/"&gt;new&lt;/a&gt; (e.g. V2G - Vehicle to Grid) approaches might be suitable to provide some relief here.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's come back to the main topic: How to become more intelligent about consuming (less) energy (in the first place). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Three years ago I was driving in a cab from Zuerich Airport to a customer meeting. The cab was a &lt;a href="http://www.toyota.com/prius-hybrid/"&gt;Toyota Prius&lt;/a&gt;. It was my first time in a Prius. In general I work in a cab (email, phone, SMS, whatever, ...), but this time I was totally fascinated by a/the display in the middle of the dashboard. &lt;a href="http://www.flickr.com/photos/its_our_city/2838668732/"&gt;The display&lt;/a&gt; showed how the Prius was producing and consuming energy with its fuel-/electro- engines and -dynamos (in (soft-/near-) real-time). Brilliant!!! You get into a traffic jam and the natural play-/compete-with-your-car instinct kicks in and you try to move the car through the traffic jam, just by using the electro-engine (just by being gentle on the accelerator).  And even without a traffic jam you are tempted to constantly compete with the car to make optimal usage of the available energy. The question is not anymore how fast you get from A to B. The question becomes "can I get from A to B using less than a gallon (less than 4 liters) of fuel". The display creates a totally new sense of awareness about what is going on and with that it starts to change behavior. The guys behind the Prius are geniuses. Adding the display makes the difference between a good and a great car, because with the display the Prius is not only a good car it is also changing societies, by changing awareness levels and behaviors.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What can we learn from this? Easy ... it is not good enough to optimize the way you consume energy, you also need to provide direct feedback to the consumer on how he/she is doing and must give the consumer tools/ways to influence the amount of energy that gets consumed. Basically you need to empower the consumer!!! You need to share the responsibility between those who produce the energy (to produce energy with the lowest environmental impact possible at the lowest possible cost) and those who consume the energy (to consume as less as possible).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The bad news is that in general right now households/consumers of energy (gas, oil, electricity, ...) are not aware of what, when, how (much) they consume. They get a bill (every month or every quarter) and have no insight into why they consumed this amount of energy and what to do/change to maybe reduce the energy consumption. The (immediate) feedback is missing. The &lt;i&gt;display&lt;/i&gt; is missing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But there is also good news. We can fix this. Originally Smart Meters concepts and technologies got introduced to allow the utility companies to read your meter without sending somebody to your house (a clear benefit for them; not so much for you :)). In the meantime smart meters have evolved. They can and will fix the "remote reading" problem, but they also allow you (the consumer) to get immediate feedback on your energy consumption.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But it might be a couple of years until smart meters get installed in (all of) the households (&lt;a href="http://en.wikipedia.org/wiki/Smart_meter"&gt;the only country in Europe, which is almost done with this is Italy&lt;/a&gt;). What do you do in the meantime? One option is to use a &lt;a href="http://www.electricity-monitor.com/energy-monitor-comparison-chart-i-26.html"&gt;wireless energy monitor&lt;/a&gt;. The good news is &lt;a href="http://www.bluelineinnovations.com/flash/corporatevideo/video_large_medium.html"&gt;these devices are available, do not cost a lot and are easy to install&lt;/a&gt;. The bad news is they are very limited with respect to their capabilities and connectivity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What I am looking for is a smart meter or an energy monitor that is connected to my (W)LAN and is able to dump/collect the data to a hard-disk of my choice (laptop or special purpose appliance). I then want to be able to display the data in real-time on a display of my choice (TV, computer screen, mobile phone, ...).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To my knowledge such a device/appliance does not exist today.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now things get even more tricky. How can I find out if my energy consumption is good or good enough (read near the optimum)? And how can I analyze/break down my energy consumption to identify potential culprits?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the end we could upload the (location-aware) data to a data-warehouse and run analytics on it that would allow us to calculate the average per person per household in a certain area and provide feedback to the best/worst five energy consumers in the area. If you consume much more energy than you neighbors (per person) you might want to find out what the hell is going on (&lt;a href="http://www.google.org/powermeter"&gt;Google is working on something like this&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bottom line: To change the behavior we need to visualize the problem (i.e. how much energy (electricity, gas, oil, ... you consume). It will take 5-10 years to bring smart meters to the majority of households in the developed world. In the meantime energy monitors can/should be used to give immediate feedback to you (the consumer), but currently these devices are very limited in terms of what they can monitor (most of them can only monitor electricity), capability (storing historic data) and connectivity (make the data available to a/the community for analysis).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hhhhhhmmmmm ... any ideas??? Otherwise it seems I need to get my soldering gun out. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-7134869683879284678?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/7134869683879284678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=7134869683879284678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7134869683879284678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7134869683879284678'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/smart-energy-lets-bring-smart-meters.html' title='Smart Energy - let&apos;s bring Smart Meters, Smart Grid, Micro Grid and the software behind it together'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-457192709581314432</id><published>2009-06-18T10:50:00.004+01:00</published><updated>2009-06-18T11:19:35.102+01:00</updated><title type='text'>Reading books - Steve Jobs, Raising Boys and The Complete Robot</title><content type='html'>A month ago I decided to use some of my time during the summer and work my way through the pile of books that I always wanted to read and never really got to. The first four weeks proofed to be interesting, very interesting.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I started with "&lt;a href="http://books.google.com/books?id=peqmAAAACAAJ&amp;amp;dq=icon+steve&amp;amp;client=firefox-a"&gt;ICon: The Greatest Second Act in the History of Business&lt;/a&gt;". 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.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"&lt;a href="http://books.google.com/books?id=z1YbQMpZwR8C&amp;amp;dq=raising+boys+book&amp;amp;printsec=frontcover&amp;amp;source=bn&amp;amp;hl=en&amp;amp;ei=WBI6SqGJE9mM_AbyyN28Bg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=4"&gt;Raising boys&lt;/a&gt;" 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.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Currently I am reading&lt;a href="http://en.wikipedia.org/wiki/The_Complete_Robot"&gt; "Isaac Asimov's - The Complete Robot&lt;/a&gt;" 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. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-457192709581314432?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/457192709581314432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=457192709581314432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/457192709581314432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/457192709581314432'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/reading-books-steve-jobs-raising-boys.html' title='Reading books - Steve Jobs, Raising Boys and The Complete Robot'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-8536005941634667394</id><published>2009-06-18T08:40:00.005+01:00</published><updated>2009-06-18T10:49:58.221+01:00</updated><title type='text'>TEDx Dublin - Reviewing a very nice friday evening</title><content type='html'>Last friday (means already almost a week ago) I had the chance to attend the first TEDx event in Dublin at the &lt;a href="http://sciencegallery.com/tedxdublin"&gt;Science Gallery&lt;/a&gt;. 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!!!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just in case you have never heard about TED I suggest you check out the &lt;a href="http://www.ted.com/"&gt;website&lt;/a&gt;. 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 &lt;b&gt;Ideas Worth Spreading&lt;/b&gt;. And my god, some of these ideas are worth spreading indeed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are a couple of presentations I found interesting ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/robert_full_learning_from_the_gecko_s_tail.html"&gt;Robert Full Learning from the gecko's tail&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/blaise_aguera_y_arcas_demos_photosynth.html"&gt;Blaise Aguera y Arcas demos Photosynth&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/al_gore_warns_on_latest_climate_trends.html"&gt;Al Gore warns on latest climate trends&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/matthieu_ricard_on_the_habits_of_happiness.html"&gt;Matthieu Ricard on the habits of happiness&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/brian_greene_on_string_theory.html"&gt;Brian Greene on string theory&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/lang/eng/jill_bolte_taylor_s_powerful_stroke_of_insight.html"&gt;Jill Bolte Taylor's stroke of insight&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html"&gt;Pattie Maes on the Sixth Sense&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;... and there are lots more. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Back to the event in Dublin ... we had about 200 people in the room (packed) and the event was very well organized and moderated by &lt;a href="http://aquigley.blogspot.com/2009/06/june-2009-tedxdublin.html"&gt;Aaron Quigley&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The presenters talked about ...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.ted.com/speakers/blaise_aguera_y_arcas.html"&gt;Blaise Aguera y Arcas&lt;/a&gt; - &lt;a href="http://photosynth.net"&gt;Photosynth&lt;/a&gt; and ways to construct 3D models from 2D pictures&lt;/li&gt;&lt;li&gt;&lt;a href="http://eleceng.ucd.ie/~srickard"&gt;Scott Rickard&lt;/a&gt; - &lt;a href="http://sparse.ucd.ie/"&gt;Noise Separation and Sparsity&lt;/a&gt; (Using DUET to separate the sparsity) &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hitlabnz.org/wiki/M._Billinghurst"&gt;Mark Billinghurst&lt;/a&gt; - How to make &lt;a href="http://www.hitlabnz.org/wiki/Video_-_The_Interesting_Mechanism"&gt;Augmented Reality (AR)&lt;/a&gt; more accessible for the masses&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;... and all of the presentations featured live demos of the research results (very impressive). There are &lt;a href="http://fortifyservices.blogspot.com/2009/06/tedx-dublin-overview-and-pics.html"&gt;good blog posts&lt;/a&gt; and &lt;a href="http://www.flickr.com/photos/aquigley"&gt;pictures&lt;/a&gt; about the event available.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My personal favorite was Mark's presentation on AR. Can't wait for the Mac version of &lt;a href="http://www.hitlabnz.org/wiki/BuildAR"&gt;BuildAR&lt;/a&gt; to become available.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-8536005941634667394?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/8536005941634667394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=8536005941634667394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8536005941634667394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/8536005941634667394'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/tedx-dublin-reviewing-very-nice-friday.html' title='TEDx Dublin - Reviewing a very nice friday evening'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2124153373622490226.post-7948301990580144010</id><published>2009-06-09T09:23:00.007+01:00</published><updated>2009-06-10T09:13:53.777+01:00</updated><title type='text'>FUSEforge Lightsaber/Lightsabre - Research on Asynchronous Distributed OSGi (for Jedi's :))</title><content type='html'>The &lt;a href="http://cxf.apache.org/distributed-osgi.html"&gt;Distributed OSGi spec (RFC 119)&lt;/a&gt; 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 &lt;a href="http://coderthoughts.blogspot.com/"&gt;David&lt;/a&gt;, &lt;a href="http://romanroe.blogspot.com"&gt;Roman&lt;/a&gt; and &lt;a href="http://www.tritsch.org/"&gt;myself&lt;/a&gt; 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.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The research is still ongoing, but the intermediate results (including a first demo!!!) are now available on &lt;a href="http://fusesource.com/forge/"&gt;FUSEforge&lt;/a&gt; (Project &lt;a href="http://fusesource.com/forge/projects/LIGHTSABRE"&gt;Lightsabre&lt;/a&gt;). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The demo will also be presented at &lt;a href="http://www.osgi.org/DevConEurope2009/HomePage"&gt;OSGi DevCon Europe&lt;/a&gt;. Maybe (another) reason to attend. Enjoy and stay tuned.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2124153373622490226-7948301990580144010?l=blog.tritsch.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.tritsch.org/feeds/7948301990580144010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2124153373622490226&amp;postID=7948301990580144010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7948301990580144010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2124153373622490226/posts/default/7948301990580144010'/><link rel='alternate' type='text/html' href='http://blog.tritsch.org/2009/06/fuseforge-lightsaberlightsabre-research.html' title='FUSEforge Lightsaber/Lightsabre - Research on Asynchronous Distributed OSGi (for Jedi&apos;s :))'/><author><name>Roland Tritsch</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='20' src='http://bp0.blogger.com/_L_-HX5TQh_I/R_SOgE1SPWI/AAAAAAAAAAM/Gt-L0DQ3H4g/S220/yoda.jpg'/></author><thr:total>0</thr:total></entry></feed>
