an

What is an "open source business"?

Paul recently wrote a great article on what it really means to be an "open source business." Its now posted on SDTimes! Read it and you'll be able to tell the fakes apart :-).




an

Its not just standalone BPM that is dead!

There was a thread recently on InfoQ asking whether standalone BPMS is dead.


Yes it is dead.

But, that's not the only standalone thing that is dead! Standalone Business Rules Systems is dead. Standalone Application Servers are dead. Standalone ETL products are dead. Standalone Messaging products are dead. Standalone ESBs are dead. Standalone Enterprise Content Management systems are dead. Standalone Security products are dead. Yes, they're all dead.

They're all dead because customers are tired of being integration companies. What happens when a customer buys one of these standalone BPMS/BRS/ETL/etc. products is that the customer has to figure out how to integrate it to the other standalone products they've bought from other vendors. How does that help the customer's IT shop deliver business value to their organization?

Enterprise problems don't come neatly packaged into BPM problems or Business Rules problems or Data Transformation problems or any one such well defined category. Instead, enterprise problems are complex problems that require an entire repertoire of tools which can be combined nicely to solve the problem at hand. Attempting to build solutions to these complex problems with a single sledgehammer approach is one of the reasons why many IT projects take so long to complete and end up being so expensive.

The customer's IT shop is like the place which maintains the vehicle that the enterprise's IT is. What happens after a few years of taking standalone products and trying to live by their rules (not to mention their expensive consultants) and creating hodge-podge solutions is that the car ends up looking like this:
That's why enterprise middleware needs to be 100% internally self-consistent and fully integrated. Without that, every turn may drive the IT shop into a wall. Behind every dark spot on the road could be a pot hole. Or, at best, the IT shop is not able to drive the car down the freeway with cruise control turned on .. instead its constantly hitting speedbumps.

Don't like that? Well then you need middleware that can scale up and offer exactly the features that you need to solve the problem cleanly. Your IBM/Oracle/Tibco/JBoss middleware can't do that? Well then you have to try WSO2 Carbon based products .. and your car will end up looking like this :-).
The best part of course is that all of our products are 100% open source under Apache license and free for you to use. If you want absolutely world class enterprise support, call us and we'll sell it to you at $8000/server. All very simple.




an

Congratulations Dr. Jaliya Ekanayake!

It gives me great personal pleasure to congratulate Jaliya on completing his Ph.D.in Computer Science from Indiana University in late December. His PhD work was on extending the applicability of Map Reduce to a larger class of problems. The software he developed as part of his work is available at http://iterativemapreduce.org/. Jaliya was a student of Prof. Geoffrey Fox.

Jaliya has already started work at Microsoft Research and works on applying map-reduce and other approaches to solve large scale systems problems.

Jaliya is the second person from the original Apache Axis2 team to complete his Ph.D. after Srinath. Jaliya is the original father of Apache Sandesha, the WS-Reliable Messaging implementation for Apache Axis. He, along with the rest of the original Axis2 crew, laid the foundation for a lot of the technology that WSO2 is built on. The remaining original Axis2 team members (and about 20+ others who have been at WSO2 at one point) are now in the pipeline to complete their Ph.D.'s over the next few years!

Congratulations and best wishes Jaliya for a bright future!




an

Cricket World Cup - kudos to Sri Lanka Cricket

I had the fortune of landing a ticket for Saturday's quarter final match between Sri Lanka and England. Someone who had 2 grandstand tickets got sick and I was lucky to be asked whether I want it at list price :). At Rs. 4000 each I felt they were pricey but then at the event I met a friend who had paid double that for his ticket! I will comment on the ticket selling process later.

First of all, the stadium atmosphere was just incredibly amazingly fantastically electric and rocking. Being there is nothing like watching at home .. despite being able to see the match poorly, the environment is of course unbeatable. The fact that Sri Lanka gave England a total drubbing was awesome, even though as a result the game became quite non-competitive .. but I'll settle for non-competitive games up to the final and thrilling victory in the final (vs. to have it stolen like the last time).

This post is not about the quarter final match - its about Sri Lanka Cricket, the embattled organization which runs the sport in Sri Lanka.

As most people in Sri Lanka know, the organizers were hammered very very hard in the press before the World Cup started about their preparations, about how the stadiums were completed last minute and about every aspect of team selection to overall management. I'm not an expert on cricket- so I have no useful views on the cricketing aspects and will leave them alone. However, I do want to comment on the overall organization of the event.

I have made it to 3 matches in Colombo - the first was the loss to Pakistan, the second the rained out draw with Australia and the third of course the drubbing of England.

All these were held at the newly refurbished Kettarama Stadium of course- an absolutely AWESOME stadium now! I have been there a few months ago and it was a nightmare to get in and out. Now its a breeze and reminds me of the convenience of getting in and out of Purdue's Mackey Arena (for basketball). Once you are inside, the view is breathtaking. The atmosphere is amazingly electric. Every match was sold out (of course) to a capacity crowd of 35,000+.

I didn't make it to Hambantota for the first match but the news from there was that the brand new stadium there was absolutely amazing as well. The words from a friend (usually a skeptic) was "money well spent".

Same has to be said for Pallekalle in Kandy. That's again a new stadium (or a refurb'ed old ground; not sure) and while its not as built up as Hambantota or Colombo the location is just amazing and all the reports are that the place was fantastic.

There was not a single time in all the matches in Sri Lanka where something went wrong with the logistics. All the comentators have been giving kudos about the venues and the amazing environments offered by them.

I too was caught up in the press vendetta against Suraj Dandeniya (the head of the World Cup organizing team in SLC). While the work was indeed completed last minute it is time to give this gentleman a tip of the hat and acknowledge the amazing work they have done to deliver perfectly for Sri Lanka. Press  stories have a way of finding individuals guilty without judge or jury and this vendetta was played out by most of the newspapers in a merciless manner. Maybe Suraj has refused some passes for the press and their buddies? Who knows.

Yes yes I know there's one more match to be played in Sri Lanka. That's the one where Sri Lanka will whack the New Zealanders home :-). I am confident that too will go off without a hitch! At one level "may the best team win" may apply but, honestly, to hell with that .. Sri Lanka has to win to set up an amazing final in India against (most probably) India. Nothing like that victory!

(The NZ team has done amazingly well to get to the semi-finals and they've always stepped up big at the big occasions. Their country also suffered a massive earthquake recently .. only to be overshadowed by an even bigger one. If they go on to winning the tournament they'll again get some all-important PR for the recovery efforts there. To that extent I want NZ to win. Yeah, treacherous.)

Now about those ticket sales.

Fundamentally, this is a no-win situation for the organizers. 35,000 tickets for the match where 500,000 at least would love to watch in person. So no matter what approach is taken, there will be 465,000+ who will be crying foul!

There have been stories about how people stood in line, bought the ticket and turned around and sold it to someone else. I see no way to stop that - and keeping the ticket price low (lowest was Rs. 50 for group stage matches in Colombo) meant that anyone could buy them without any problem - a good thing in general.

Personally I have no issue with blackmarket sales (and I don't understand why they are banned) - the only problem it highlights is that the original ticket was sold too low! Why doesn't Sri Lanka Cricket sell the ticket for Rs. 10,000 if it can get away with it and make more money? Maybe they should've also set up an auction at EBay or something where people can bid and buy tickets at whatever price above the minimum price. No I'm not suggesting doing that for all tickets but rather for a percentage- you give some on a pure lottery, some for those who stand in line .. and the rest to the best price via auction with batches sold daily. I don't understand why they created a secondary market in the first place when they themselves could've run both the primary and secondary markets. Obviously I don't know enough about market economics.

The real problem is that many tickets seem to have been sold only to "known parties". The Colombo powers-that-be who want to watch the matches shouldn't have been able to buy through back channels. If they don't want to stand in line they can certainly afford to buy the tickets on the blackmarket if they want and let some poor guy make some money. Why should these fat cats be able to buy tickets at list?!

When you are at the match (and I went to A lower the first time (Rs. 250), to C upper the second time (Rs. 100) and to the grand stand for the quarter final (Rs. 4000) its clear that most in attendance were way above average in economic terms. In practical terms, that suggests that a lot of blackmarket sales were happening. If someone's a true fan, there's no amount of money that would make them sell the ticket - so the people who sold the tickets were not real fans. Or they were true fans who felt the money was more economically valuable for them than the experience (maybe they had a sick child or needed some home repairs or whatever ..). Or they were savvy businessmen who stood in line and sold the ticket for a profit. The bottom line is that there's no way to prevent normal capitalism from taking place and the value balance ending up wherever it ends up.

So while I too am frustrated I can't get a ticket for the semi-finals, I am only upset about connected people getting tickets at list price through backchannel means. The rest of the system I have no concerns with - and next time (20-20 World Cup next year) I hope Sri Lanka Cricket does a combination of lines, lotteries and auctions to sell the tickets.

Talking about tickets .. anyone have a spare grandstand ticket for the semi final they want to sell me at list price? :-)




an

Cloud players and open source collaboration

In today's keynote at OSBC RedHat's CEO Jim Whitehurst claimed that even companies like Google, Amazon and other cloud players are always collaborating .. not directly but in the form of collaboration via the various open source projects they build their offerings on.

While that's true to some extent, the reality IMO is that many of these companies end up with forks of key projects such as MySQL or Xen or use extension points to write their own core bits that are not open source and never will be. If you talk to ex-MySQL people they will tell you that while there was a lot of testing and other "low end" contributions by the community, almost no major contributions for MySQL came from random outside users. That is the general sentiment I've heard from most open source organizations, communities and projects and certainly our experience in WSO2 as well. Even in Apache, its usually people who are fairly committed to the project (either by employment, which is most common, or by personal interest/choice) who contribute meaningfully; its very rarely that you get a sizable contribution from an outsider.

In fact, the (ab)use of open source by online services companies like Google etc. is exactly why the AGPL license was created. For the uninitiated, AGPL is a viral license like GPL except that even online hosting is considered "distribution", thereby forcing service providers to ship the source code for any modifications they've done. Personally I'm not a fan of such aggressive tactics to get people to contribute (that's why ALL WSO2 software is Apache licensed) but there are many people who come from the free software mindset, in comparison to the open source mindset, of the FOSS community who are not happy with the Googles of the world not having to share any code at all even though they get a lot out of FOSS.

So IMO Jim's wrong on this- Google and Amazon and other major closed cloud platform players will NOT share anything they absolutely don't have to. As a side-effect, they will not touch any AGPL code because it will force them to be a commodity and that results in loss of key competitive advantages for them.

The FOSS movement is about giving power to the people. Cloud is a major risk for that as the cloud vendors are incentivized NOT to have a common denominator. That's why there's no freedom in the cloud without using a truly open source PaaS and building your own thing on top of it.




an

Congratulations Dr. Eran Chintaka!

It gives me great pleasure to congratulate Eran Chinthaka on his completing his Ph.D. in Computer Science from Indiana University on the topic User Inspired Management of Scientific Jobs in Grids and Clouds. His advisor was Prof. Beth Plale.

Eran is of course one of the founding team members of Apache Axis2 in the Lanka Software Foundation. Of the original 6 person core team who created Axis2, he's the 3rd to finish his Ph.D. (joining Srinath (back in WSO2) and Jaliya (in Microsoft Research)) and the other three are getting close to finishing up their PhDs too. Eran worked in WSO2 for a couple of years before leaving for his Ph.D. and I hope that when he finishes his Wall Street stint he'll come back home and join us again :-).

Congratulations Dr. Chinthaka!




an

10 years since returning to Sri Lanka

Today marks the 10 year anniversary of our returning home to Sri Lanka.

I went to the US in 1985 where I lived for a total of nearly 16 years .. first arriving on August 18, 1985 to go to Kent State University for undergraduate studies. I lived in Kent, Ohio for 4 years, finishing both a BS and an MS, and then moved to West Lafayette, Indiana for 8 years where I was a PhD student at Purdue for 5 years and then visiting faculty for 3 more. Then I joined IBM Research in August 1997 (starting August 4th) and moved to Yorktown Heights, New York and finally left the US on August 4th 2001 and arrived back home on August 6th, 2001. That's 10 years ago today :-).

Wow, 10 years .. time flies when you are having fun!

I remember that there were pieces of airplanes on the ground at the Colombo Airport when we landed - the dreaded LTTE had brazenly attacked the airport just 10 days before that destroying 3 Sri Lankan Airlines planes and damaging 3 more as well as damaging or destroying 26 Airforce aircraft and killing a bunch of people.

What a difference 10 years makes; guns have been silent and peace reigns loudly in Sri Lanka for more than 2 years now. Whether you like the current leadership team in the country or not, we all owe them an incredible debt of gratitude for putting everything aside and destroying the LTTE menace and creating a stable nation so we have (another) chance at becoming what Sri Lanka is capable of becoming.

I was of course still working for IBM Research when I came back .. working remotely from Sri Lanka. I finally quit on April 15, 2005 and started WSO2 a few months later. I started encouraging Sri Lankan developers to contribute to open source projects in fall 2002 and ended up starting the Lanka Software Foundation in early 2003 (along with friend, colleague and mentor Jivaka Weeratunge). LSF was of course instrumental in many projects that ended up in Apache and for Sahana, the tsunami-inspired disaster management system we created. (BTW IBM recently highlighted Sahana in their 100 year celebrations .. very cool!) I also started teaching as a volunteer visiting lecturer at the Computer Science and Engineering Department of the University of Moratuwa from around 2002, where many of the brilliant brains that contributed to LSF's projects, and later WSO2, came from. (We of course get brilliant people from many sources now .. but MRT still dominates!)

One of the things I'm really proud of is that so many people have benefitted from the work done in LSF to help get them into grad school for further studies. Counting WSO2 too, there are now more than 25 people in various places doing PhD's in Computer Science. Three have finished so far.

--

Many people have asked me at various times: "Have you ever regretted coming back home?". I can honestly say: NOT EVEN ONCE!

Don't get me wrong- the US was a great country to live in and I will never forget the superb education nor the wonderful experiences and friends I made in my 16 years there. However, this is home and there's nothing like home (for me). I love the fact that I can have some small impact on young people who can help Sri Lanka get ahead in its journey. I love the fact that I am not second class in any way in my home country. I love the fact that my kids are growing up here with roots in their home country - where they end up as adults is their decision, not mine. But at least they have a firm footing here as their home.

Moving back to Sri Lanka is not without its challenges. Many things that are easy in the US are not so easy here. At the same time, many things that are hard in the US are quite easy here. So its always a mixed bag .. what matters is your mindset about the journey: if you are committed to moving back then you can come back. If you are half-hearted and look for problems instead of challenges then you will run back to wherever you attempted to move back from.

I am writing this because I am very very keen to attract Sri Lankans living in other countries to come back home. We need our educated, experienced, connected, knowledgable Lankans to come back home and help us rebuild after the 30 year nightmare that ended 2 years ago. The opportunities here are absolutely amazing and this is the start of a boom period .. now is as good as ever to come back home.

OF COURSE Sri Lanka is not a perfect place. Neither is the US (can you say "debt ceiling"?) nor any other place. The advantage Sri Lanka offers to Sri Lankans is that this is our home. Whatever hard work you do will have tremendous impact. Sri Lanka is a small country .. that means the impact of your work is much more direct and immediate too. Every problem is an opportunity if you take up the challenge!

I, along with Dulith Herath, Founder and CEO of Kapruka.com, along with SL2College (another non-profit project I'm involved in - founded by Nayana Samaranayake) are launching a "come back to Sri Lanka" effort soon. The idea is to help dispel many myths (that traffic is a nighmare, that everything is corrupt, that nothing is easy etc. etc.), get info about jobs and other opportunities, provide accurate and direct information and eventually help people who want to come back make the move and settle down (including things like kids school etc.).

BTW if you're a hardcore passionate techie wanting to come back then I know at least one great place to work ;-).

The last 10 years have been amazingly fantastic for me. The last 6 years have been most special because I have helped create a company that now employees more than 125 people here (and soon more here as well as in the US, UK and some in Europe). Thank you Paul for much of that!

The move was made easier by many many people who helped get settled in, helped get connected to various places and helped in various other ways. You are too numerous to list (and I know I will screw up by missing some key people) but please know that I know you played a crucial role in how well the last 10 years have gone. From the bottom of my heart: THANK YOU.




an

Congratulations Dr. Ajith Ranabahu!

It gives me great pleasure to post belated congratulations to Dr. Ajith Ranbahu on his completing his Ph.D. in Computer Science from Wright State University in Dayton, Ohio. Ajith's Ph.D. topic was Abstraction Driven Application and Data Portability in Cloud Computing and his advisor was Prof. Amith Sheth. You can watch his Ph.D. defense on YouTube ... a sign of the times!

Ajith is of course one of the 6 founding members of the Apache Axis2 team and the 5th to finish his Ph.D.! Now only Deepal (at Georgia Tech) is left to finish and it'll be an amazing record when he completes too :-). Ajith also worked inWSO2 for an year before leaving for grad school where he continued to work on Axis2 and WSO2 Tungsten (now WSO2 App Server) and where he was championing building developer tools (which I used to dismiss ;-)). He initially went to University of Georgia but moved to Dayton when Amith moved to Dayton. Ajith plans to stay on at Dayton for a while and is looking towards a research career.




an

API Management: The missing link for SOA success

Nearly 2 years ago I tweeted:



Well, unfortunately, I had it a bit wrong.

APIs and service do have a very direct and 1-1 relationship: an API is the interface of a service. However, what is different is that one's about the implementation and is focused on the provider, and the other is about using the functionality and is focused on the consumer. The service of course is what matters to the provider and API is what matters to the consumer.

So its clearly more than just a new name.

Services: If you build it will they come?

One of the most common anti-patterns of SOA is the one service - one client pattern. That's when the developer who wrote the service also wrote its only client. In that case there's no sharing, no common data, no common authentication and no reuse of any kind. The number one reason for SOA (improving productivity by reusing functionality as services) is gone. Its simply client-server at the cost of having to use interoperable formats like XML, JSON, XML Schema, WSDL and SOAP. 

There are two primary reasons for this pattern being so prevalent: first is due to a management failure whereby everyone is required to create services for whatever they do because that's the new "blessed way". There's no architectural vision driving proper factoring. Instead its each person or at least each team for themselves. The resulting services are only really usable for that one scenario - so no wonder no one else uses them!

Writing services that can service many users requires careful design and thinking and willingness to invest in the common good. That's against human intuition and something that will happen only if its properly guided and incentivized. The cost of writing common services must be paid by someone and will not happen by itself.

That's in effect the second reason why this anti-pattern exists: the infrastructure in place for SOA does not support or encourage reuse. Even if you had a service that is reusable how do you find out how well it works? How do you know how many people are using it? Do you know what time of day they use it most? Do you know which operations of your service get hit the hardest? Next, how do others even find out you wrote a service and it may do what they need? 

SOA Governance (for which WSO2 has an excellent product: WSO2 Governance Registry) is not focused on encouraging service reuse but rather on governing the creation and management of services. The SOA world has lacked a solution for making it easy to help people discover available services and to manage and monitor their consumption. 

API Management

What's an API? Its the interface to a service. Simple. In other words, if you don't have any services, you have no APIs to expose and manage.

API Management is about managing the entire lifecycle of APIs. This involves someone who publishes the interface of a service into a store of some kind. Next it involves developers who browse the store to find APIs they care about and get access to them (typically by acquiring an access token of some sort) and then the developers using those keys to program accesses to the service via its interface.

Why is this important? In my opinion, API Management is to SOA what Amazon EC2 is to Virtualization. Of course virtualization has been around for a long time, but EC2 changed the game by making it trivially simple for someone to get a VM. It brought self service, serendipitous consumption, and elasticity to virtualization. Similarly, API Management brings self service & serendipitous consumption by allowing developers to discover, try and use services without requiring any type of "management approval". It allows consumers to not have to worry about scaling - they just indicate the desired SLA (typically in the form of a subscription plan) and its up to the provider to make it work right. 

API Management & SOA are married at the hip

If you have an SOA strategy in your organization but don't have an API Management plan then you are doomed to failure. Notice that I didn't even talk about externally exposing APIs- even internal service consumption should be managed through an API Management system so that everyone has clear visibility into who's using what service and how much is used when. Its patently obvious why external exposition of services requires API Management.

Chris Haddad, WSO2's VP of Technology Evangelism, recently wrote a superb whitepaper that discusses and explain the connection between SOA and API Management. Check out Promoting service reuse within your enterprise and maximizing SOA success and I can guarantee you will leave enlightened.

In May this year, a blog on highscalability.com talked about how "Startups Are Creating A New System Of The World For IT". In that the author talked about open source as the foundation of this new system and SOA as the load bearing walls of the new IT landscape. I will take it to the next level and say that API Management is the roof of the new IT house.

WSO2 API Manager

We recently introduced an API Management product: WSO2 API Manager. This product comes with an application for API Providers to create and manage APIs, a store application for API Developers to discover and consume APIs and a gateway to route API traffic through. Of course all parts of the product can be scaled horizontally to deal with massive loads. The WSO2 API Manager can be deployed either for internal consumption, external consumption or both. As with any other WSO2 product, this too is 100% open source. After you read Chris' whitepaper download this product and sit it next to your SOA infrastructure (whether its from us or not) and see what happens!




an

Launching WorkInSriLanka.lk Initiative

Over the last many months, I've been privileged to be part of a fantastic team of volunteers working on a new effort:

This is an effort to help people who are considering moving to Sri Lanka to work and live. 

Me? Move to Sri Lanka?? What?!

Yes, Sri Lanka. No more war. No more bombs. No one trying to (systematically .. yeah we have our share of crazies) kill anyone. Great weather. Majorly improving infrastructure. A second airport (with no flights yet .. but that's ok everyone's gotta start at the bottom!). A real, honest-to-goodness highway (dinner in Galle tonite?) and many more coming. Apartments everywhere. Parks all over Colombo.

Compare that to where you're living? Do you go thru a metal detector to your workplace? Not in Sri Lanka any more. We had a long period of that .. but no more .. war finished in 2009, nearly to the day today (May 18th is the anniversary).

Anyway :-). Our objective is to first be a one-stop-site for anyone who's considering moving to Sri Lanka. Everything you need to know from what kind of jobs are available, how much does housing cost, how much do cars cost to kids schooling to visa stuff. All there, all in one place. All done in an objective, volunteer, independent kind of way. The site is still in its infancy of course .. more to come but its got a lot of stuff already!

With regards to jobs- if you're a senior person returning we will even help you get into the "network" to get into the loop of things. We have a pretty connected set of friends who are helping to get that done. We're also partnering with pretty much every industry body so that we can reach into all of those networks.

Going beyond the information portal we want to become an advocacy group to promote what's good about moving to Sri Lanka and also to work hard on breaking down more barriers. Even ex-Sri Lankans returning have some major barriers in the system now and we want to work towards removing them. 

This was a totally volunteer group of people from all over the place. Check us out at the site!

We had a fantastic launch event on Tuesday (May 14th) evening. We had the Governor of the Central Bank of Sri Lanka come and give the keynote talk and then had a superb panel. More on that coming soon at the site itself.

Check it out and give us your feedback - plenty of places in the site to do that. Enjoy surfing!






an

WSO2 moving to a new building in Sri Lanka

After many many months of painful work, we are finally starting work at our new location in Colombo, Sri Lanka. Here's a picture taken from my cell phone yesterday afternoon:



The most awesome thing is that we will all be in one building again in Sri Lanka! That's after more than 3 years when we started adding new offices .. we had three here until yesterday; today we have one!

We still have quite a bit of work to do to finish everything .. including a nice surprise coming in the front at the street level :-). The cage you see on the roof is our enclosed rooftop basketball court! The rest of the roof is taken up by the gym and the creche - will take another month to be fully ready. I'm waiting for the punching bag.

Today's not our official opening day - that's next Wednesday with Paul Fremantle also present. We are moving in today however and will have a small ceremony (lighting the lamp and kiribath table).

Its taken just over 8 years of incredible hard work by a super team of passionate people to get us here. Thank you to everyone who made it possible - including our customers, investors and of course the killer (past and present) team! 

This is only a small step along the way however ..





an

North Korea, The Interview and Movie Ethics

Its been quite a while since I blogged .. I'm going to try to write a bit more consistently from now (try being the key!). I thought I'll start with a light topic!

So I watched the now infamous The Interview two nights ago. I'm no movie critic, but I thought it was a cheap, crass stupid movie with no depth whatsoever. More of a dumbass slapstick movie than anything else.

Again, I'm no movie critic so I don't recommend you listen to me; watch it and make up your own mind :-). I have made up mine!

HOWEVER, I do think the Internet literati's reaction to this movie is grossly wrong, unfair and arrogant.

Has there ever been any other Hollywood movie where the SITTING president of a country is made to look like a jackass and assassinated in the most stupid way? I can't think of any movies like that. In fact, I don't think Bollywood or any other movie system has produced such a movie.

When Hollywood movies have US presidents in them they're always made out to be the hero (e.g. White House Down) and they pretty much never die. If they do die, then they die a hero (e.g. 2012) in true patriotic form.

I don't recall seeing a single movie where David Cameron or Angela Merkel or Narendra Modi or any other sitting president was made to look like a fool and gets killed as the main point of the movie (or in any other fashion).

I believe the US Secret Service takes ANY threats against the US president very seriously. According to Wikipedia, a threat against the US president is a class D felony (presumably a bad thing). I've heard of students who send anonymous (joking) email threats get tracked down and get a nice visit.

So, suppose Sony Pictures decided to make a movie which shows President Obama being a jackass and then being killed? How far would that go before the US Secret Service shuts it down?

In my view the fact that this movie was conceived, funded and made just goes to show how little respect the US system has for people that are not lined up in the US way. Its fine for the US government, and even the US people, to have no respect for some country, its president or whatever, but I have to agree with North Korea when they say that this movie is a violation of the UN charter:

With no rhetoric can the U.S. justify the screening and distribution of the movie. This is because "The Interview" is an illegal, dishonest and reactionary movie quite contrary to the UN Charter, which regards respect for sovereignty, non-interference in internal affairs and protection of human rights as a legal keynote, and international laws.
– NORTH KOREA NATIONAL DEFENCE COMMISSION SPOKESMAN
    (From: http://www.itv.com/news/story/2014-12-27/north-korea-insults-obama-and-blames-us-for-internet-outages/.)

    Would all the Internet literati who hailed the release of the movie act the same way if Bollywood produced a movie mocking Obama and killing him off? If not, why the double standard??

    Its disappointing that thinking people also get caught up in the rhetoric and ignore basic decency. Just to be clear- I'm not saying North Korea is a great place. I have no idea what things are really like there. What I do know is that I don't trust the managed news rhetoric that is delivered as fact by CNN, Fox, BBC, Al Jazeera or anyone any more about any topic. This is after observing how Sri Lanka was represented in various of these channels during the war and after being here to observe some side of it myself. After Iraq (where are those WMDs now?) you'd think that smart people wouldn't just believe any old crap that's put out .. I distinctly remember watching the news conference (broadcast on BBC) immediately after Colin Powell made his speech with pictures to the UN Security Council where the then Iraqi Foreign Minister (can't remember his name - fun looking dude) went thru each picture and gave an entirely different explanation. We now know who was telling the truth. I try hard not to get caught up in any of the rhetoric as a result now.

    There's an entirely different topic of whether the North Koreans attacked Sony Pictures' network and whether the US government hackers shut down their Internet. It seems that the general trend (as of today) is that it wasn't the North Koreans, despite what the FBI said: http://www.cnn.com/2014/12/27/tech/north-korea-expert-doubts-about-hack/index.html.

    So I'm with the North Koreans on this one: This movie should not have been conceived, funded and produced. I don't condone the hackers' approach for trying to stop it; instead Sony Pictures should've had more ethics and not done it at all. So, IMO: Shame on you Sony Pictures Entertainment!




    an

    Understanding the (Sri Lankan) IT Industry

    In the last 3+ weeks there's been war raging in the IT Crowd in Sri Lanka about the proposed CEPA/ETCA thing: Basically the part of a free trade agreement with India which might allow Indians in the IT and ship building industries to work freely in Sri Lanka. I know nothing about building ships so I don't have any opinion about whether the proposal addresses a real problem or not. I do know a thing or two about "IT" and am most certainly opinionated about it :-).

    I also know little real info about CEPA/ETCA because the government has chosen to keep the draft agreement secret. Never a good thing.

    There have been various statements made by various pundits, politicians, random Joes (Jagath's I guess in Sinhalese ;-)) and all sorts of people about how the Sri Lankan IT crowd is
    • Scared to their wits that their jobs will be taken by Indians
    • Looking for the state to give them protection from global competition
    • Unable to compete with the world's IT industry without help from Indians
    • Unpatriotic because a lot of them leave the country after getting quality free education
    • Living in a bubble because some of them get paid Rs. 150k/month straight out of university
    • Etc. etc..
    I will address a lot of these in subsequent blogs (hopefully .. every time I plan to blog a lot that plan gets bogged on).

    The purpose of this blog is to try to educate the wider community about the mythical thing called the (Sri Lankan) "IT industry". For each area I will also briefly touch upon the possible Indian relationship. Of course this is all my opinion and others in the industry (especially in the specific areas that I touch upon) may vehemently disagree with my opinion. Caveat emptor. YMMV.

    So here goes an attempt at a simple taxonomy:
    • Hardware Resellers/Vendors
    • Hardware Manufacturers
    • Software Resellers/Vendors
    • Software Manufacturers
    • System Integrators - Local Market Focused
    • System Integrators - Outsourcers
    • Enterprise Internal IT Teams
    • IT Enabled Services (ITES) and Business Process Outsourcers (BPO)
    • Universities
    • IT Training Institutes
    This became way more of a treatise than I intended. I'm sure its full of things that people will disagree with. I'll try to update it based on feedback and note changes here.

    Hardware Resellers/Vendors

    IBM Sri Lanka has been in Sri Lanka for more than 40 years I think. I imagine they came when Central Bank or some big organization bought an IBM mainframe. I remember seeing Data General, WANG, and a host of other now-dead names growing up (70s and 80s). 

    These guys basically import equipment from wherever, sell it to local customers and provide on-going support and maintenance. 

    Some of these players don't sell entire computers or systems but rather parts - visit Unity Plaza to see a plethora of them.

    Not too many Indian hardware brands being sold in Sri Lanka AFAIK but probably MicroMax (the phone) is an exception. So having the Indian IT Crowd here really has no impact on this segment.

    Hardware Manufacturers

    These are people who make some kind of "IT thing" and sell it locally or export it. When it comes to technology no one makes all of anything any more - even an iPhone consists of parts from several countries and is finally assembled in China. Same with any computer you buy or any phone you buy.

    There are a few people here who "make" (aka put together / assemble) computers and sell under their own brand. There are also a few who export them (I believe).

    There are also some others who make specific hardware devices that target specific solutions - best is the company that makes various PoS type systems that get sold as Motorola.

    Fundamentally not many hardware manufacturers in Sri Lanka yet AFAIK. In any case, they're not likely to be affected by Indians being in Sri Lanka as this is a very specialized market and its unlikely the specialized skill will migrate to Sri Lanka given that skill base has excellent opportunities anywhere. If at all, electronics related graduates in Sri Lanka do not have enough good career opportunities yet as we don't have many companies buildings things yet.

    Software Resellers/Vendors

    Takes Microsoft Sri Lanka or the 100s of other agents of global software brands that sell their wares in Sri Lanka. These guys get a cut out of the sale in some fashion. 

    Yes of course some of them sell (very good) Indian software. For example, a bunch of banks use InfoSys' Finnacle (sp?) core banking system.

    Software, used well, can increase any organization's productivity (after all, software is eating the world and all that). If there are Indian companies which have technology that can be used to improve LK orgs productivity - by all means do come and sell it here! That may even require Indian engineers to come and install / customize them - no problem at all.

    So, this segment will simply welcome more Indian presence in terms of companies. In terms of the Indian IT Crowd coming here for this segment - I guess experienced sales people are solutions engineers to help sell and deploy the Indian products are always welcome. To be successful the company will need to send good people (good luck selling software if the sales engineer sucks) - and good people are welcome anywhere.

    I should mention the global SaaS software products (e.g. Salesforce, Netsuite, Google Apps, Office 365 etc.). Most of those don't have regional sales teams etc. - you just go to the website and sign up and use it. However, they will often have local system integrators who know how to help deploy, tune, customize and integrate those systems to whatever enterprise systems are already in place.

    Software Manufacturers

    These guys make some kind of software product and sell it to whoever will buy it. More and more are selling them online as SaaS offerings only.

    Competing in the software product market means you just need to build a better product or at least have a good enough product that's cheap. To create great products you need great people who think and innovate faster and better than anyone else out in the world. More and more pretty much every product competes globally as even the smallest customer can simply use globally available SaaS offerings (some made in Sri Lanka even). 

    Every idea someone has for a product in Sri Lanka is guaranteed also conceived by at least multiple Indians. And multiple Americans. And multiple Europeans. Etc. etc..

    "Ideas are cheap. Execution is not." - Mano Sekaram at a talk he gave at the WSO2 Hackathon a few years ago.

    To make products and get them to market is not easy. Will having some Indian employees help? SURE - if they're awesome people. The 2m people who applied for a clerical job really wouldn't help. Will marketing experience help? Of course - but again high quality product marketing experience is hard to come by in Sri Lanka, in India and even in California (speaking from personal experience). 

    Despite idiotic politician statements about how advanced the Indian IT industry is, they are much more a global outsourcer and BPO operator than a product development country. That's changing rapidly but the numbers in the product side of the equation are much lower than the other side. In fact, I'd venture to say that as a %ge there are more product companies in Sri Lanka's IT ecosystem than in India's. In any case, the word "advanced" is very hard to quantify in the software world.

    So sure, let anyone come - but good luck getting too many jobs in product companies that have no patience or interest with mediocre people. You need a few superb people to build a great product and fewer great people to market and sell it. If you're a super engineer or a marketer in India, there are tons of opportunities for you in India already, so the only way you'll come is if we offer a better total package: Check out WorkInSriLanka. I hope you come and stay and never leave! 

    For WSO2, we're a BoI company. If we find a high quality person from ANYWHERE who wants to work in Sri Lanka we can bring them over. Piece of cake really - visa wise. We will NOT pay higher salaries for foreign people though - something that I know many do and something I soooooo detest. Sri Lanka seems to love reverse discrimination.

    System Integrators - Local Market Focused

    These companies take software and hardware from whoever and produce solutions for customers. These are systems that solve a particular business problem for some organization. For example, the vehicle registration system at the Department of Motor Vehicles.

    The work these guys do involve working with the customer to understand the problem domain, figure out a good solution architecture, figure out which technology to apply and then to build the full solution. All very important stuff!

    Who works in these places? Typically a combination of business analysts, architects, engineers of all kinds (software, QA, UI etc. etc.), project managers and so on.

    Sri Lankan enterprises are quite slow to adopt software technology. This (IMO) is primarily because labor costs are low, because customer expectations are still not hard meaning competition is not that intense as it is in say US. That will change and we will need a LOT more people to integrate and build solutions for local companies. Can we meet the demand with local skill - my guess is yes. If we need a few more, the integrator companies can easily import people too.

    There is one segment of this market that is special however. Small enterprises are also picking up low end solutions. These are often implemented by the owners daughter/son or niece/nephew type person. Basically some trusted computer geeky relative who "automates" the place in some form. That used to be with an Access database + VB type thing .. not sure what is in play today in that space.

    That market is critical to help develop the local IT Crowd as it gives business (aka employment) to many many relatively low skilled yet value-adding people. The people working in these places don't need 4 year CS degrees. They're simply people with a bit of knowledge (acquired from a tutory type place) and a good knack for computing. Its critical to support and protect this community because they deliver technology to the wider mom&pop / small kade business community. 

    I think a bunch of lower cost people from India working in Sri Lanka in this market could be a negative thing as it could threaten employment for low end IT workers. However, many of these deals are struck based on trust and relationships so it'll be really hard for anyone to break in.

    System Integrators - Outsourcers

    These guys take work from a foreign country (typically a more wealthy country but could be one that simply has a dearth of technical capacity) and bring it here to do the work. Virtusa is of course the largest (~3000 or so people AFAIK) but there are TONS of smaller players employing a few 10s of people and a few dozen or so in the 100s range I think.

    The smaller ones always start with a single contract the owner managed to get from his/her work in the foreign country or thru a friend/relative outside. Do one task well at 1/5th to 1/3rd the price in the US and you can clearly keep get more business. Capitalism at work.

    The bigger of these companies are great places to work for the best of the best. They may give opportunities to learn a ton of stuff, travel, develop soft skills etc. etc..  Lots of passionate employees who will not move easily.

    The middle sized ones (> 25, < too many 100s) are usually great companies. They pay people well, they provide a quality work environment, they have passionate employees and often specialize in one or few areas (e.g. Alfresco or Mobile apps or whatever) and therefore command a higher charge out rate. 

    The small companies (<= 25) tend to be more sweat-shop like from what I've seen - pay the people as little as possible and use crazy micro project management to deliver. No passionate employees typically. Its just a job that gives a paycheck for people who are relatively low skilled (and low initiative powered too).

    Virtusa has offices in India too with like 7000 people I think. If they want to hire Indians they can hire them there. If they want to bring people down here they can do it and undoubtedly do it already. (You need to go thru the Board of Investment but its trivially easy. FAR FAR FAR easier than hiring a foreigner in the US .. or I imagine India.)

    Does this part of the IT Crowd get affected by possible mass migration of the Indian IT Crowd to Sri Lanka? Not for the Virtusa's of the world IMO. However, for the smaller players, the small company CEOs who are milking money off the small outsourcing contracts, yes getting cheaper invisible people will be better for them. That could indeed mean a reduction in employment opportunities for the lower end of the technical community who work in these places as there indeed will be Indians willing to work for less (see Two million apply for 300 clerical jobs and 80% of Indian Engineering Graduates are Unemployable as recent examples).

    It would be great to have multiple Virtusa's in Sri Lanka. In 2009, Mphasis (apparently India's 7th largest service provider then) tarted operations in Sri Lanka with intent to hire 2000 but AFAIK have packed up and gone or are nowhere as big. I'm sure someone who knows will reply and I'll add a note.

    Would Infosys or TCS or whatever open up here if they have to bring people from India to Sri Lanka? I can't see why .. then why not just execute that in India itself. What am I missing in that equation?

    So I cannot see the larger players affected by this. The smaller players (and by that I mean the really small ones .. < 25 people) will probably benefit by getting cheaper workers. Will we see tons of iOS developers in LK with this? No, because they're a scarce commodity anywhere. Period. For the middle sized guys (> 25, < too many 100s) certainly getting more senior, experienced people from India will be a good thing. However, I see that as no different from attracting any national to come to Sri Lanka to work. I ABSOLUTELY want that - that's why I helped form WorkInSriLanka and am still part of it. 

    High end people (of ANY origin) moving to Sri Lanka is critical for our future .. we need to become a net brain importer and not an exporter. However, they will come only if (a) you pay them properly and (b) if the quality of life is really good. These are things that WorkInSriLanka is addressing / informing about.

    Enterprise Internal IT Teams

    This literally the IT Crowd in the companies. (Haven't seen the awesomely funny British comedy? Check it out.) 

    Well actually often they do much much more than that crowd. The IT Crowd guys are only IT operations - they keep computers running, keep networks running etc.. That's absolutely critical. But now more and more companies are using information as a key business strategy. What that means is that internal IT is becoming more and more important. Companies cannot afford to buy prepackaged solutions nor simply outsource to others - they need to innovate inside the company to create real business value for themselves in a way that differentiates them from their competitors.

    Not easy stuff.

    You need really good people. Not 100s, but a good number of really really good people and a bigger number of good people. You also need a visionary to be the CIO/CTO to drive that effort. Not at all easy.

    Sri Lanka is still in transition to that. Some big companies are doing it really well, but there's a massive dearth of really innovative CIOs in Sri Lanka yet. We're developing them as they move up the ranks but IT was kept away from the business and that needs to change for this to work. 

    Is it a possibility to import talent for this from India? Of course! However, they are not cheap as those people have 1000x more work in India than here! What will happen to less skilled people who might come to this space? Good luck getting a job.

    For smaller companies, they don't have enterprise IT. Then they have the IT guy - the jack-of-all-trades who knows how to help with Powerpoint to debugging why he can't get to FB to cleaning up after he stupidly clicked on yet another get-rich-quick email. Those guys don't have (and don't need) CS degrees or IT/IS degrees. They need some training and lot of experience. They also get paid very little (think 25-50k/month). 

    Those guys could get crunched if we allow hundreds of such people to come from India. That would be just stupid.

    IT Enabled Services (ITES) and Business Process Outsourcers (BPO)

    This is where the numbers are. Order a pizza in Texas? An Indian will answer. Call Delta airlines with an issue? An Philippino will answer. Call HSBC about an issue. A Sri Lankan will answer.

    These started off as call centers but more and more they take an entire process (e.g. claim processing for medical claims) and run the entire process in a lower cost location. All you need is a good network connection and a lot of (young) people who will work for a little amount and work odd hours and be happy with it. Sri Lanka also claims to be the largest producer of UK qualified accountants after UK .. and so does a lot of financial process outsourcing too.

    There's also high end parts of this market - research outsourcing, analytics outsourcing etc.. Great. Do more. 

    Sri Lanka produces 300-400 THOUSAND 18 years each year. Only like 25,000 get to a university of some kind (who are the ones who have a chance at a higher value job). The rest need work. 

    This low end kind of ITES/BPO work is great .. it gets them a salary and if the country keeps devaluing the LKR they even get salary raises every year! Keeping people employed prevents them from wanting to join revolutions.

    Some BPOs claim that they couldn't scale enough in LK because they can't find the large number of passionate, English capable young people. Probably true. 

    MAYBE its possible to import them from India, but presumably only those that couldn't get jobs in the myriad of Indian BPOs. However, how that helps provide employment to the droves of young people who need work in Sri Lanka I do not know.

    Universities

    These guys of course produce the IT guys. We have state universities, private universities that grant their own degrees and a plethora of private ones that provide a learning environment to get a foreign university degree.

    As with anything the quality varies. The top govt engineering / science universities and the top private ones produce AWESOME graduates who are absolutely as good as the best in any country (India, US included). WSO2 is lucky that a bunch of these guys join us :-). 

    But my focus here is on the teachers. We need more PhDs to teach in our universities - ask Jaffna Univ CS dept for example. Will Indian PhDs (good ones) come and teach there? Great if they want to! Salary is pretty poor but its what it is. Even private universities will happily hire teachers. 

    We also need top research focused scientists to come here so we can improve our research capacity. I don't think opening employment to Indians will make a single IIT professor to come :(. Even right now, they can come (visa is easy) - so please, if you want to come and teach in Sri Lanka reach out thru WorkInSriLanka and we'll help you! And don't ever leave.

    India has absolutely fantastic universities. If they want to come and set up shop in LK and offer education to our people - great! India also has a LOT of crappy universities (see the article about unemployable graduates) - we certainly don't need them here.

    IT Training Institutes

    These are the literally hundreds (and maybe even thousands) of places that offer this course or that course on this or that. 90% of them in my opinion is crap. There's too little quality control. People are getting swindled daily by these jackassses who teach their children next to nothing and yet charge a ton of money. Even some local governments are in on it - I know in Dehiwala (my area) they run a program where literally 100s of people come for IT education. Each pays like Rs. 3000/month. Poor parents can't say no so they do it somehow.

    Do we need more of these? Yes, IF THEY ARE GOOD. We need to get our house in order, put regulations in to quality control these places and then of course its great if more teachers come and teach more. 

    India has absolutely fantastic training institutes. Would be great to get them to open shop here.

    India also UNDOUBTEDLY has at least 10x crappy places than we do. Most certainly we don't need them here - we already have enough people robbing money from poor parents who desperately want to educate their children in "IT".

    (p.s.: Blogger.com has the world's WORST editor. I'm bailing to medium.com soon.)




    an

    Time for me to stop commenting about politics and other sensitive topics

    I've been cautioned and advised by several good friends that I should take a chill pill on commenting about various political things. Some of the topics I've been quite vocal about are high profile things involving high power people .. and I might be beginning to get noticed by them, which of course is not a good thing!

    I get frustrated by political actions that I find to be stupid and I don't hesitate to tell it straight the way I think about it. Obviously every such statement bothers someone else. Its one thing when its irrelevant noise, but if it gets noisy then I'm a troublemaker.

    I'm not keen to get to that state.

    Its not because I have anything to hide or protect - not in the least. Further I'm not scared off by the PM telling private sector people like me to "go home" or "be exposed" but publicly naming private individuals in parliament is rather over the top IMO. Last thing I want is to get there.

    I have an immediate family and an extended family of 500+ in WSO2 that I'm responsible for. I'm taping up my big mouth for their sake.

    Instead I will try to blog constructively & informatively whenever time permits.

    Similarly I will try to keep my big mouth controlled about US politics too. Its really not my problem to worry about issues there!

    I should really kill off my FB account. However I do enjoy getting info about friends and family life events and FB is great for that. So instead I'll stop following everyone except for close friends and family.

    Its been fun and I like intense intellectual debate. However, maybe another day - just not now.

    (P.S.: No, no one threatened me or forced me to do this. I just don't want to come close to that possibility!)




    an

    ¿Te cuesta conciliar en verano?

    Si a ti también te cuesta conciliar trabajo y familia en verano, lee esta entrada. Te damos algunas pistas para no morir en el intento. Menudo timo eso de la conciliación. ???? Con pronunciar la palabreja parece que ya está todo resuelto. ¡Pues no! Solo...

    La entrada ¿Te cuesta conciliar en verano? aparece primero en Traducción Jurídica.




    an

    Ser freelance en la era de la IA

    No es fácil ser traductor o intérprete freelance en la era de la IA. Pero tampoco es imposible. Si quieres saber cómo salir adelante y triunfar en estos momentos, sigue leyendo. Si alguien te dijo alguna vez que ser traductor o intérprete freelance es fácil, te engañó....

    La entrada Ser freelance en la era de la IA aparece primero en Traducción Jurídica.




    an

    Cómo cuidar la salud financiera de tu negocio

    ¿Cuánto debo ganar en un negocio de traducción o interpretación? Esta es una pregunta esencial que nos tenemos que hacer todos los freelancers. No hay una sola respuesta, pero sí algunas pautas que debemos tener en cuenta. Te lo contamos en esta entrada. Hace poco...

    La entrada Cómo cuidar la salud financiera de tu negocio aparece primero en Traducción Jurídica.



    • Cursos de traducción
    • cursos para traductores
    • finanzas
    • formación para traductores

    an

    Los riesgos (no tan evidentes) de la IA en la redacción de documentos jurídicos

    La IA generativa está aquí para quedarse. Debemos conocer todo su potencial y usarla en nuestro trabajo diario, pero tomando las debidas precauciones. Nos confesamos creyentes en la Inteligencia Artificial. No está aquí para sustituirnos, sino para ayudarnos a hacer mejor nuestro trabajo: pero no...

    La entrada Los riesgos (no tan evidentes) de la IA en la redacción de documentos jurídicos aparece primero en Traducción Jurídica.




    an

    WSO2 Stratos - Platform-as-a-Service for private and public cloud

    Yesterday we announced something I believe is a game-changer: WSO2 Stratos. What is Stratos?

    WSO2 Stratos is a complete SOA and developer platform offered as a self-service, multi-tenant, elastic runtime for private and public cloud infrastructures.
    What that means is that our complete SOA platform - now enhanced with Tomcat and Webapp support - is available as a  "cloud native" runtime that you can either use on the Web (yes - you can try it out right now), on Amazon VPC, or on your own internal private cloud based on Ubuntu Enterprise Cloud, Eucalyptus and (coming soon) vmWare vSphere. It is a complete Platform-as-a-Service for private and public clouds.

    I'll be writing more about Stratos over the coming weeks and months, and I'll also provide links and tweets to other Stratos blogs, but in this blog I want to simply answer three questions:

    1. I'm already talking to {vmWare, Eucalyptus, Ubuntu, Savvis, Joyent} about private cloud - what does WSO2 add that they don't have?
    2. What is the difference between Stratos and the Cloud Images that WSO2 already ships?
    3. Why would I choose WSO2 over the other vendors offering Platform-as-a-Service?
    In order to answer the first question, lets look at the cloud computing space, which is most easily divided up into:
    • Infrastructure-as-a-Service (IaaS): this is where Amazon, Eucalyptus, vmWare, Saavis and Joyent play
    • Platform-as-a-Service (PaaS): Google App Engine, vmForce, Tibco Silver and now WSO2 Stratos play in this space.
    • Software-as-a-Service (SaaS): Google Apps, Google Mail, Microsoft Office Live, Salesforce, SugarOnDemand - these and many more make up the SaaS category.
    To generalize wildly, most people talking about public cloud today are talking about SaaS. And most people talking about private cloud today are talking about IaaS.

    SaaS is fantastic for quick productivity and low cost. WSO2 uses Google Apps, Sugar on Demand and several other SaaS apps. But SaaS doesn't create competitive advantage. Mule also uses Google Apps. They may well use Salesforce. SaaS cannot produce competitive advantage because your competitors get access to exactly the same low-cost services you do. In order to create competitive advantage you need to build as well as buy. For example, we use our Mashup Server together with our Sugar Business Messaging Adapter to provide insight and management of our pipeline that goes beyond what Sugar offers.

    IaaS is of course a great basis to build apps. But it's just infrastructure. Yes - you get your VM hosted quicker. But someone has to create a useful VM. And that is where PaaS comes in. PaaS is how to speed up cloud development.

    What does Stratos give you on top of an IaaS? It gives you an Application Server, Registry, Identity Server, Portal, ESB, Business Activity Monitor and Mashup Server. And it gives you these as-a-Service: completely self-service, elasticly scalable, and granularly metered and monitored. Someone in your team needs an ESB - they can provision one for themselves instantly. And because it's multi-tenant, it costs nothing to run until it gets used. How do you know how it's used? The metering and monitoring tells you exactly how much each tenant uses.

    2. What is the difference between Stratos and the existing WSO2 Cloud Images?

    The cloud images we started shipping in December are not Cloud Native. Stratos is Cloud Native. In practice, this means that when you log into Stratos (go on try it now) you can instantly provision your own domain, together with a set of Stratos services. This saves memory - instead of allocating a new VM and minimum half a gigabyte of memory to each new server you get a new ESB with zero extra memory cost. And it's much easier. The new ESB will automatically be governed and monitored. It's automatically elastically clustered.

    3. Why would I choose WSO2 over other PaaS vendors?

    Firstly, if you look at PaaS as a whole there is a huge divide between Public PaaS and Private PaaS. The public PaaS vendors simply don't offer private options. You can't run force.com or Google App Engine applications internally, even if you want to. WSO2 bridges that gap with a PaaS you can use in the public Web, on a virtual private cloud, or on premises.

    The second big differentiator between WSO2 and the existing PaaS offerings is the architecture. Mostly PaaS is a way of building webapps. WSO2 offers a complete enterprise architecture - governance, business process, integration, portal, identity and mashups. And we support the common Enterprise Programming Model (not just Java, WebApp, JAX-WS, but also BPEL, XSLT, XPath, Google Gadgets, WSDL, etc). The only other PaaS that I know of that offers a full Enterprise architecture is Tibco Silver.

    The third and most important differentiator is about lock-in. Software vendors love lock-in - and Cloud vendors love it even more. So if you code to Google App Engine, you are tied into Google's identity model, Google's Bigtable, etc. If you code to force.com or vmForce - you are tied to force's infrastructure services. If you code to Tibco Silver, you are tied to Tibco. WSO2 fights this in three ways:
    • No code lock-in: we use standards-based coding (WAR, JAX-WS, POJO) and Stratos is 100% Apache License Open Source.
    • No model lock-in: we use standards-based services: 
      • Identity is based on OpenID, OAuth, XACML, WS-Trust
      • Registry is based on AtomPub and REST
      • Business Process is based on BPEL, etc
    • No hosting lock-in: you can take you apps and data from our public PaaS and re-deploy internally or on your own virtual private cloud anytime you like.
    I hope you found this a useful introduction to Stratos. If you want more information, contact me paul@wso2.com, or check out the Stratos website or code.




    an

    Wikileaks and Governance

    Whether or not you support the leaking of 250,000 embassy cables to the now infamous Wikileaks website, it certainly makes you think. Whatever business you are in there always emails or data that would be embarrassing or more likely harmful to our business if they were made widely available. So what is the lesson to be learnt from the Cablegate affair.

    The blame for the issue seems to be landing on a certain US private Bradley Manning. But I place the blame directly on a lack of Governance and poor IT systems. And the measures that have so far been announced - things like removing CD drives from classified systems - are simply the wrong approach. The real problem is why any one person - whatever level of clearance they had - should have access to all 250,000 cables.

    Without going into the details of XACML and policy-based entitlement models, suffice it to say that the right approach is to base access not only on the person, but the reason they have for accessing the data. Using policy-based entitlement, it is possible to have a well-defined Governance model where a person is given access to just the right data at just the right time for just the right purpose, and that this can be managed in a process-driven, auditable and controlled manner.

    If you live in a crime area and you leave your door open, you will be burgled. If you don't put in place good security and data governance, then it is you that will be blamed, not just the guy who steals your data.

    And if you want the technical low-down on XACML, start here, here and here.




    an

    Elastic Beanstalk - a PaaS fairytale

    A while back, I blogged about what it means to be Cloud Native. One of the key issues is multi-tenancy. As I discussed in that blog, there is a huge cost benefit in resources to multi-tenancy. This is how we can afford to run http://cloud.wso2.com and offer multi-tenant Tomcat currently for free beta use.

    Today Amazon announced Elastic Beanstalk. They call it a PaaS. Unfortunately Elastic Beanstalk is only multi-tenant at the VM layer - in other words it is fundamentally IaaS not PaaS. In other words you don't get the true benefit of PaaS: every Beanstalk user has to pay for at least one EC2 instance. Amazon tries to put this in a nice light:

    Each of your Elastic Beanstalk applications will be run on one or more EC2 instances that are provisioned just for your application. 
    WSO2 Stratos is designed to share the cost of the infrastructure fairly. In other words we will be charging for CPU, Bandwidth and Disk space, not for just having an app sitting waiting for requests.

    Effectively Beanstalk is a nice pre-packaged runtime with some good tooling. I have no doubt it is a major improvement over the existing model and from the look of it the tooling is pretty slick. But calling it a PaaS is simply a fairytale.




    an

    Understanding ESB Performance & Benchmarking

    ESB performance is a hot (and disputed topic). In this post I don't want to talk about different vendors or different benchmarks. I'm simply trying to help people understand some of the general aspects of benchmarking ESBs and what to look out for in the results.

    The general ESB model is that you have some service consumer, an ESB in the middle and a service provider (target service) that the ESB is calling. To benchmark this, you usually have a load driver client, an ESB, and a dummy service.

    +-------------+      +---------+      +---------------+
    | Load Driver |------|   ESB   |------| Dummy Service |
    +-------------+      +---------+      +---------------+

    Firstly, we want the Load Driver (LD), the ESB and the Dummy Service (DS) to be on different hardware. Why? Because we want to understand the ESB performance, not the performance of the DS or LD.

    The second thing to be aware of is that the performance results are completely dependent on the hardware, memory, network, etc used. So never compare different results from different hardware.

    Now there are three things we could look at:
    A) Same LD, same DS, different vendors ESBs doing the same thing (e.g. content-based routing)
    B) Same LD, same DS, different ESB configs for the same ESB, doing different things (e.g. static routing vs content-based routing)
    C) Going via ESB compared to going Direct (e.g. LD--->DS without ESB)

    Each of these provides useful data but each also needs to be understood.

    Metrics
    Before looking at the scenarios, lets look at how to measure the performance. The two metrics that are always a starting point in any benchmark of an ESB here are the throughput (requests/second) and the latency (how long each request takes). With latency we can consider overall latency - the time taken for a completed request observed at the LD, and the ESB latency, which is the time taken by the message in the ESB. The ESB latency can be hard to work out. A well designed ESB will already be sending bytes to the DS before its finished reading the bytes the LD has sent it. This is called pipelining. Some ESBs attempt to measure the ESB latency inside the ESB using clever calculations. Alternatively scenario C (comparing via ESB vs Direct) can give an idea of ESB Latency. 

    But before we look at the metrics we need to understand the load driver.

    There are two different models to doing Load Driving:
    1) Do a realistic load test based on your requirements. For example if you know you want to support up to 50 concurrent clients each making a call every 5 seconds on average, you can simulate this.
    2) Saturation! Have a large number of clients, each making a call as soon as the last one finishes.

    The first one is aimed at testing what the ESB does before its fully CPU loaded. In other words, if you are looking to see the effect of adding an ESB, or the comparison of one ESB to another under realistic load, then #1 is the right approach. In this approach, looking at throughput may not be useful, because all the different approaches have similar results. If I'm only putting in 300 requests a sec on a modern system, I'm likely to see 300 request a sec. Nothing exciting. But the latency is revealing here. If one ESB responds in less time than another ESB thats a very good sign, because with the same DS the average time per request is very telling.

    On the other hand the saturation test is where the throughput is interesting. Before you look at the throughput though, check three things:
    1) Is the LD CPU running close to 100%?
    2) Is the DS CPU running close to 100%?
    3) Is the network bandwidth running close to 100%?

    If any of these are true, you aren't doing a good test of the ESB throughput. Because if you are looking at throughput then you want the ESB to be the bottleneck. If something else is the bottleneck then the ESB is not providing its max throughput and you aren't giving it a fair chance. For this reason, most benchmarks use a very very lightweight LD or a clustered LD, and similarly use a DS that is superfast and not a realistic DS. Sometimes the DS is coded to do some real work or sleep the thread while its executing to provide a more realistic load test. In this case you probably want to look at latency more than throughput.

    Finally you are looking to see a particular behaviour for throughput testing as you increase load.
    Throughput vs Load
    The shape of this graph shows an ideal scenario. As the LD puts more work through the ESB it responds linearly. At some point the CPU of the ESB hits maximum, and then the throughput stabilizes.  What we don't want to see is the line drooping at the far right. That would mean that the ESB is crumpling under the extra load, and its failing to manage the extra load effectively. This is like the office worker whose efficiency increases as you give them more work but eventually they start spending all their time re-organizing their todo lists and less work overall gets done.

    Under the saturation test you really want to see the CPU of the ESB close to 100% utilised. Why? This is a sign that its doing as much as possible. Why would it not be 100%? Two reasons: I/O, multi-processing and thread locks: either the network card or disk or other I/O is holding it up, the code is not efficiently using the available cores, or there are thread contention issues.

    Finally its worth noting that you expect the latency to increase a lot under the saturation test. A classic result is this: I do static routing for different size messages with 100 clients LD. For message sizes up to 100k maybe I see a constant 2ms overhead for using the ESB. Suddenly as the message size grows from 100k to 200k I see the overhead growing in proportion to the message size.


    Is this such a bad thing? No, in fact this is what you would expect. Before 100K message size, the ESB is underloaded. The straight line up to this point is a great sign that the ESB is pipelining properly. Once the CPU becomes loaded, each request is taking longer because its being made to wait its turn at the ESB while the ESB deals with the increased load.

    A big hint here: When you look at this graph, the most interesting latency numbers occur before the CPU is fully loaded. The latency after the CPU is fully loaded is not that interesting, because its simply a function of the number of queued requests.

    Now we understand the metrics, lets look at the actual scenarios.

    A. Different Vendors, Same Workload
    For the first comparison (different vendors) the first thing to be careful of is that the scenario is implemented in the best way possible in each ESB. There are usually a number of ways of implementing the same scenario. For example the same ESB may offer two different HTTP transports (or more!). For example blocking vs non-blocking, servlet vs library, etc. There may be an optimum approach and its worth reading the docs and talking to the vendor to understand the performance tradeoffs of each approach.

    Another thing to be careful of in this scenario is the tuning parameters. Each ESB has various tuning aspects that may affect the performance depending on the available hardware. For example, setting the number of threads and memory based on the number of cores and physical memory may make a big difference.

    Once you have your results, assuming everything we've already looked at is tickety-boo, then both latency and throughput are interesting and valid comparisons here. 

    B. Different Workloads, Same Vendor
    What this is measuring is what it costs you to do different activities with the same ESB. For example, doing a static routing is likely to be faster than a content-based routing, which in turn is faster than a transformation. The data from this tells you the cost of doing different functions with the ESB. For example you might want to do a security authentication/authorization check. You should see a constant bump in latency for the security check, irrespective of message size. But if you were doing complex transformation, you would expect to see higher latency for larger messages, because they take more time to transform. 

    C. Direct vs ESB
    This is an interesting one. Usually this is done for a simple static routing/passthrough scenario. In other words, we are testing the ESB doing its minimum possible. Why bother? Well there are two different reasons. Firstly ESB vendors usually do this for their own benefit as a baseline test. In other words, once you understand the passthrough performance you can then see the cost of doing more work (e.g. logging a header, validating security, transforming the message). 

    Remember the two testing methodologies (realistic load vs saturation)? You will see very very different results in each for this, and the data may seem surprising. For the realistic test, remember we want to look at latency. This is a good comparison for the ESB. How much extra time is spent going through the ESB per request under normal conditions. For example, if the average request to the backend takes 18ms and the average request via the ESB takes 19ms, we have an average ESB latency of 1ms. This is a good result - the client is not going to notice much difference - less than 5% extra. 

    The saturation test here is a good test to compare different ESBs. For example, suppose I can get 5000 reqs/sec direct. Via ESB_A the number is 3000 reqs/sec and via ESB_B the number is 2000 reqs/sec, I can say that ESB_A is providing better throughput than ESB_B. 

    What is not  a good metric here is comparing throughput in saturation mode for direct vs ESB. 


    Why not? The reason here is a little complex to explain. Remember how we coded DS to be as fast as possible so as not to be a bottleneck? So what is DS doing? Its really just reading bytes and sending bytes as fast as it can. Assuming the DS code is written efficiently using something really fast (e.g. just a servlet), what this is testing is how fast the hardware (CPU plus Network Card) can read and write through user space in the operating system. On a modern server hardware box you might get a very high number of transactions/sec. Maybe 5000req/s with each message in and out being 1k in size.

    So we have 1k in and 1k out = 2k IO.
    2k IO x 5000 reqs/sec x 8bits gives us the total network bandwidth of 80Mbits/sec (excluding ethernet headers and overhead).

    Now lets look at the ESB. Imagine it can handle 100% of the direct load. There is no slowdown in throughput for the ESB. For each request it has to read the message in from LD and send it out to DS. Even if its doing this in pipelining mode, there is still a CPU cost and an IO cost for this. So the ESB latency of the ESB maybe 1ms, but the CPU and IO cost is much higher. Now, for each response it also has to read it in from DS and write it out to LD. So if the DS is doing 80Mbits/second, the ESB must be doing 160Mbits/second. 

    Here is a picture.

    Now if the LD is good enough, it will have loaded the DS to the max. CPU or IO capacity or both will be maxed out. Suppose the ESB is running on the same hardware platform as the DS. If the DS machine can do 80Mbit/s flat out, there is no way that the same hardware running as an ESB can do 160Mbit/s! In fact, if the ESB and DS code are both as efficient as possible, then the throughput via ESB will always be 50% of the throughput direct to the DS. Now there is a possible way for the ESB to do better: it can be better coded than the DS. For example, if the ESB did transfers in kernel space instead of user space then it might make a difference. The real answer here is to look at the latency. What is the overhead of adding the ESB to each request. If the ESB latency is small, then we can solve this problem by clustering the ESB. In this case we would put two ESBs in and then get back to full throughput.

    The real point of this discussion is that this is not a useful comparison. In reality backend target services are usually pretty slow. If the same dual core server is actually doing some real work - e.g. database lookups, calculations, business logic - then its much more likely to be doing 500 requests a second or even less. 

    The following chart shows real data to demonstrate this. The X-Axis shows increasing complexity of work at the backend (DS). As the effort taken by the backend becomes more realistic, the loss in throughput of having an ESB in the way reduces. So with a blindingly fast backend, we see the ESB struggling to provide just 55% of the throughput of the direct case. But as the backend becomes more realistic, we see much better numbers. So at 2000 requests a second there is barely a difference (around 10% reduction in throughput). 


    In real life, what we actually see is that often you have many fewer ESBs than backend servers. For example, if we took the scenario of a backend server that can handle 500 reqs/sec, then we might end up with a cluster of two ESBs handling a cluster of 8 backends. 

    Conclusion
    I hope this blog has given a good overview of ESB performance and benchmarking. In particular, when is a good idea to look at latency and when to use throughput. 





    an

    Synapse and WSO2 ESB myths

    There are a few myths about Synapse and the WSO2 ESB I'd like to address. Its amazing they still come up.

    Not an ESB?
    The first and oldest myth is that Synapse is not an ESB. This dates back to the initial creation of the project - before there was even any code! Dave Chappell was at Sonic at the time and he said "This project is related to ESB , but it is not in itself an ESB".

    Well, firstly, since at that time Sonic was the ESB leader, he would say that! Secondly, this was purely theoretical - no code had been written at that point. While I love the internet's ability to archive everything for years, to quote this several years later (like the ServiceMix guys do here: http://servicemix.apache.org/how-does-servicemix-compare-to-synapse.html) is disingenuous to say the least.

    The fact is that Synapse - both as a pure Apache project and when packaged as the runtime engine of the WSO2 ESB is an ESB. Rather than argue about the definition of an ESB, it would be simpler to describe a few of the many usecases it is in production for:

    * Getting the latest trades from a legacy financial system and reporting them to third-parties to meet regulatory requirements.
    * Linking an SAP/R3 system with a .NET-based Point-of-Sale (POS) system in 40+ retails stores to distribute the latest price updates.
    * Integrating between BMC Remedy, Salesforce and Peoplesoft.
    * Providing a full SOA bus for a telecom operator linking to provide a common fabric for payment services, SMS top up and other integrations.
    * Lightweight Service Orchestration (what we call Service Chaining) - providing simple non-persistent flows across multiple services.
    * Integrating FIX messaging to existing systems.
    * etc etc

    In addition, the beauty of the Synapse ESB (and WSO2 ESB) is that it can also provide very high performance lightweight routing, load-balancing, failover and security management, so it is often used for high throughput scenarios as well - for example at eBay where it handles well over 1bn request/response interactions/day.

    Synapse (and WSO2 ESB) only support SOAP or translate every message into SOAP
    This is also a complete myth. The WSO2 ESB has a very effective model for dealing with content that only parses the content as needed. This model is based on the concept of a message formatter and builder. These objects handle the internal representation of content and are very flexible. For example, the normal approach to handling non-XML data is to keep it as a binary stream. In addition, a new transport in the WSO2 ESB (the Passthru transport) supports even higher performance routing of messages where the message body is simply passed from one HTTP endpoint to the next, while still supporting useful functions like header-based routing, authentication and authorization, logging, throttling and cacheing.

    For XML data, we have an internal model that unifies SOAP and non-SOAP. What this means is that for non-SOAP payloads, there are two extra objects in memory that represent the envelope and body. This makes it very easy (and performant) to handle scenarios like taking the SOAP body and publishing it (without the SOAP wrapper) onto a JMS queue.

     Because the XML object model we use (Apache Axiom) supports streaming (via StAX), the message is only built into a tree if a mediator such as the XSLT transform requests it.

    I think this is where the mistaken belief lies. This is a bit like Heisenberg's Uncertainty Principle! The act of observing a quantum level action affects the action. Similarly, if you examine the message, then if you ask for it as SOAP, we will build it into a SOAP message and give it to you. Of course that doesn't mean it was a SOAP message until you asked for it as SOAP. If you were to ask for the message as pure XML then you would get it as a pure XML element. In both cases it remains as a binary stream until the point you ask for the message. If you simply route the message out to another system, it will not have been converted to or from anything:  Synapse will simply stream the message through and out to the target.

    I hope that this clears up these two myths!




    an

    Understanding Logging in the Cloud

    I recently read an interesting pair of articles about Application Logging in OpenShift. While these are great articles on how to use log4j and Apache Commons Logging, they don't address the cloud logging issue at all.

    What is the cloud logging issue?

    Suppose I have an application I want to deploy in the cloud. I also want to automatically elastically scale this app. In fact I'm hoping that this app will succeed - and then I'm going to want to deploy it in different geos. I'm using EC2 for starters, but I might need to move it later. Ok, so that sounds a bit YAGNI. Let's cut back the requirements. I'm running my app in the cloud, on a single server in a single geo.

    I do not want to log to the local filesystem.

    Why not? Well firstly if this is say EC2, then the server might get terminated and I'm going to lose my logs. If it doesn't get restarted then they are going to grow and kill my local filesystem. Either way, I'm in a mess.

    I need to log my logs somewhere that is:
    1) designed to support getting logs from multiple places - e.g. whichever EC2 or other instance my server happens to be hosted today
    2) separate from my worker instance so when that gets stopped and started it lives
    3) supports proper log rotation, etc

    If I have this then it supports my initial problem, but it actually also supports my bigger requirements around autoscaling and geos.

    Stratos is an open source Platform-as-a-Service foundation that we've created at WSO2. In Stratos we had to deal with this early on because we support elastic auto-scaling by default.

    In Stratos 1.x we built a model based on syslog-ng. Basically we used log4j for applications to log. So just as any normal log4j logging you would do something like:


    Logger  logger = Logger.getLogger("org.fremantle.myApp");
    logger.warn("This is a warning");


    We automatically setup the log appenders in the Stratos services to use the log4j syslog appender. When we start an instance we automatically set it up under the covers to pipe the syslog output to syslog-ng. Then we automatically collate these logs and make them available.

    In Stratos 2.x we have improved this.
    The syslog-ng model is not as efficient as we needed, and also we needed a better way of slicing and dicing the resulting log files.

    In the Stratos PaaS we also have another key requirement - multi-tenancy. We have lots of instances of servers, some of which are one instance per tenant/domain, and some which are shared between tenants. In both cases we need to split out the logs so that each tenant only sees their own logs.

    So in Stratos 2.x (due in the next couple of months) we have a simple Apache Thrift interface (and a JSON/REST one too). We already have a log4j target that pushes to this. So exactly the same code as above works in Stratos 2.x with no changes. 



    We are also going to add models for non-Java (e.g. syslog, log4php, etc).

    Now what happens next? The local agent on the cloud instance is setup automatically to publish to the local central log server. This takes the logs and publishes them to an Apache Cassandra database. We then run Apache Hive scripts that slice the logs per tenant and per application. These are then available to the user via our web interface and also via simple network calls. Why this model? This is really scalable. I mean really, really scalable. Cassandra can scale to hundreds of nodes, if necessary. Also its really fast. Our benchmarks show that we can write >10k entries/second on a normal server.

    Summary

    Logging in the cloud isn't just about logging to your local disk. That is not a robust or scalable answer. Logging to the cloud needs a proper cloud logging model. In Stratos we have built one. You can use it from Java today and from Stratos 2.0 we are adding support to publish log entries just with a simple REST interface, or a super-fast highly scalable approach with Apache Thrift.




    an

    OAuth2 Introspection with WSO2 ESB and WSO2 Identity Server

    The OAuth2 specification defines several parties: the Client, the Resource Owner, the Authorization Server and the Resource Server. Here is the (textual) diagram from the spec:


    
         +--------+                               +---------------+
         |        |--(A)- Authorization Request ->|   Resource    |
         |        |                               |     Owner     |
         |        |<-(B)-- Authorization Grant ---|               |
         |        |                               +---------------+
         |        |
         |        |                               +---------------+
         |        |--(C)-- Authorization Grant -->| Authorization |
         | Client |                               |     Server    |
         |        |<-(D)----- Access Token -------|               |
         |        |                               +---------------+
         |        |
         |        |                               +---------------+
         |        |--(E)----- Access Token ------>|    Resource   |
         |        |                               |     Server    |
         |        |<-(F)--- Protected Resource ---|               |
         +--------+                               +---------------+
    
                         Figure 1: Abstract Protocol Flow
    
    
    One flow that is not defined by the OAuth specification is any flow from the Resource Server to the Authorization server to validate an existing Bearer Token (or other token). 
    The spec says:
    The interaction between the authorization server and resource server is beyond the scope of this specification.  The authorization server may be the same server as the resource server or a separate entity. A single authorization server may issue access tokens accepted by multiple resource servers.
    In many cases the Authorization server offers an API to access this. For example, Google allows you to call a TokenInfo APIto validate tokens. Similarly Facebook offers an API to "debug" a token. The WSO2 Identity Server also offers an API, but (shock and horror) we don't document it yet. The ESB and API manager both utilize this API to validate OAuth2 bearer tokens. The ESB code is of course available, and with a quick look at the code and also the use of TCPMON it didn't take me long to reverse engineer the API. This Gist has a sample HTTP SOAP request against the WSO2 IS to validate a token:
    It turns out that the OAuth Working Group at the IETF is working on this and has a draft specification available, using a RESTful service. They call this OAuth Token Introspection. I figured this would be easier (and more pleasant) to call from my Python code, so I knocked up a quick WSO2 ESB API mediation flow to convert from the RESTful API to the existing WSO2 SOAP-based API.
    I know that Prabath and the security and identity team at WSO2 will soon add this useful REST API, but in the meantime, here is a quick hack to help you out. Please note you need to hardcode the URL of the IS and the userid/password into the ESB flow. Also I assume if you don't provide a token_type_hint then this is a bearer token. And here is the Gist showing a sample interaction: 




    an

    Internet of Things - protocols and access keys

    I've just read this article from Mark O'Neill on the 10 concerns for the Internet of Things. Mark brings up some very interesting aspects and concerns. I'd like to comment on two of those: protocols and access keys.

    His primary concern is protocol proliferation. I agree this is an issue. Mark explicitly mentions CoAP, MQTT, AMQP and XMPP. Interestingly he doesn't mention HTTP, which I have found to be heavily used by devices, especially the new generation of Raspberry Pi based systems. Many Arduino's also use HTTP.

    I will admit to a strong bias. I think that MQTT is the best of these protocols for IoT devices, with CoAP a distant second.

    Let's get XMPP out of the way. I love XMPP. I think its a fantastic protocol. Do I want to create XML packets on my Arduino? Er... nope. Even on 32-bit controllers, there is still the network traffic to consider: suppose I'm using a GPRS connection and I have thousands of devices deployed: minimizing network traffic is important for cost and efficiency, and XMPP was not designed for that.

    AMQP is not an appropriate protocol for IoT devices and was not designed for that. It is designed for "the efficient exchange of information within and between enterprises". It was certainly not designed for lightweight, non-persistent, non-transactional systems. To that end, my own system (WSO2) will be providing efficient bridging for AMQP and MQTT to enable lightweight systems to get their data into wider enterprise contexts. I also demonstrated HTTP to MQTT bridging with the WSO2 ESB at the MQTT Interop held last week at EclipseCon.

    How about CoAP vs MQTT. Firstly, CoAP is more appropriate to compare to MQTT-SN. It is UDP only, and designed to emulate a RESTful model over UDP. My biggest concern with CoAP is this: most people don't actually understand REST - they understand HTTP. If I had a dollar for every time I've come across supposedly RESTful interfaces that are really HTTP interfaces, I'd be a rich man! 

    Interestingly, despite MQTT having been around for 10 years, the Google Trend shows that it has only recently hit the public notice:
    However, as you can see, it has quickly overtaken CoAP. In terms of traffic, it is a clear winner: every Facebook mobile app uses MQTT to communicate with the Facebook servers.

    The other area I'd like to comment on is access keys. I agree this is a big issue, and that is the reason I've been working on using OAuth2 access keys with MQTT and IoT devices. I recently gave talks about this at FOSDEM, QCon London, and EclipseCon.  The EclipseCon talk also covered a set of wider security concerns and the slides are available here. OAuth2 and OpenID Connect are important standards that have got incredible traction in a short period of time. They have evolved out of 10+ years of trying to solve the distributed, federated identity and access control problems of the Internet. 

    In my presentation I strongly argued that passwords are bad for users, but worse for devices. Tokens are the correct model, and the OAuth2 token is the best available token to use at this point. There was considerable interest in the MQTT interop session on standardizing the use of OAuth2 tokens with the protocol. 

    My personal prediction is that we will see MQTT and HTTP become the most-used IoT protocols, and I strongly urge (and hope) that OAuth2 tokens will become the de-facto model across both of these.







    an

    A rose by any other name would smell as sweet, but with no name, maybe not

    The famous quotation from Shakespeare is that "a rose by any other name would smell as sweet". But what if the rose had no name. What if every time you talked about it, you had to come up with a description, you know that thing with the pretty pink petals, except sometimes they are red, and sometimes white, but it smells really nice, except some don't really smell and others do. You know the thing with multiple layers of petals except for the wild ones that only have one layer of petals.

    Maybe not so sweet.

    What about the other way round? You build a really cool system that works effectively and then it turns out that someone has named it? Now that is nice, and yes, your thing suddenly smells sweeter.

    I've had this happen a lot. When we first started WSO2 we applied a lot of cool approaches that we learnt from Apache. But they weren't about Open Source, they were about Open Source Development. And when they got names it became easier to explain. One aspect of that is Agile. We all know what Agile means and why its good. Another aspect is Meritocracy. So now I talk about a meritocratic, agile development team and people get me. It helps them to understand why WSO2 is a good thing.

    When Sanjiva and I started WSO2 we wanted to get rid of EJBs: we wanted to remove the onion-layers of technology that had built up in middleware and create a simpler, smaller, more effective stack. It turns out we created lean software, and that is what we call it today. We also create orthogonal (or maybe even orthonormal) software. That term isn't so well understood, but if you are a mathematician you will get what we mean.

    Why am I suddenly talking about this? Because today, Srinath posted a note letting me know that something else we have been doing for a while has a nice name.

    It turns out that the architecture we promote for Big Data analysis, you know, the one where we pipe the data through an event bus, into both real-time complex event processing and also into Cassandra where we apply Hive running on Hadoop to crunch it up and batch analyse it, and then store it either in a traditional SQL database for reports to be generated, or occasionally in different Cassandra NoSQL tables, you know that architecture?

    Aha! Its the Lambda Architecture. And yes, its so much easier to explain now its got a nice name. Read more here: http://srinathsview.blogspot.co.uk/2014/03/implementing-bigdata-lambda.html




    an

    Languages

    Inspired by #FirstSevenLanguages here is a complete list (apart from the one's I've forgotten).

    BASIC (ZX80/ZX81/TRS80/BBC/HP/Atari ST)
    Z80 / 6502 / 8086 Asm
    REXX
    APL
    PL/1

    C++ 
    C#
    COBOL
    FORTH
    LISP / Scheme
    Lotus 123 script
    Batch/Shell scripts (DOS, OS/2, Bash)
    Visual Basic 
    Pascal / Delphi
    SAS Language
    SQL
    Haskell
    CAML Light
    Oberon
    Perl
    Java
    JavaScript
    Python 
    PHP
    BPEL
    BPMN
    Synapse ESB Language

    (edited to include the last three which I'd forgotten)




    an

    Treat For Legal Interpreters and an Archive for Translators As Well

    OpenCourt is an experimental project run by WBUR, Boston’s NPR news station, that uses digital technology to make Quincy District Court more accessible to the public.

    Full Article

    an

    Berkeley, UCLA, Harvard, MIT, Princeton, Stanford y Yale en Academic Earth

    Si utilizás el buscador Google Chrome podés encontrar herramientas de mucho provecho. Acabo de toparme con la extensión en línea de Academic Earth, que ofrece el acceso gratuito a videos de los cursos y conferencias de las universidades más destacadas de Estados Unidos y en las materias más diversas. ENJOY KNOWLEDGE!

     
    Podrás presenciar conferencias como, por ejemplo,
    Language in the Brain, Mouth and the Hands
    By Paul Bloom - Yale



    Watch it on Academic Earth





    an

    Curso de traducción audiovisual en Santa Fe

    El Colegio de Traductores de la Provincia de Santa Fe, 1ra. Circunscripción, ha organizado el curso TRADUCCIÓN AUDIOVISUAL, a cargo del Traductor Público Daniel Yagolkowsky destinado a traductores y estudiantes de traductorado de todos los idiomas.

    DÍAS: 09 y 10 de marzo de 2012.

    HORARIOS: viernes 09 de marzo de 18:30 a 21:30 h.
    sábado 10 de marzo de 10.00 a 13:00 y de 14:00 a 17:00 h.

    LUGAR: San Martín 2819, 2do. Piso, Santa Fe.

    ARANCEL: Matriculados y estudiantes $ 190

    Público en general: $ 230


    INFORMES E INSCRIPCIÓN: San Martín 2819, 2do Piso, Oficina 6.

    HORARIOS DE ATENCIÓN: Lunes, miércoles y viernes de 08:30 a 12:30 h; martes y jueves de 15:00 a 19:00 h.

    Esperamos su participación y los saludamos cordialmente.

    Comisión de Perfeccionamiento
    CTPSF, 1.ª Circ.


    PROGRAMA DEL CURSO DE TRADUCCIÓN AUDIOVISUAL (TAV)
    (Versión abreviada para el Colegio de Traductores de Santa Fe, 1 Circunscripción, los días 9 y 10 de marzo de 2012).

    Primera clase

    La TAV como forma de traducción literaria. Formas de arte audiovisual: teatro y cine. Características de la TAV: forma de trabajo. Problemas de la traducción audiovisual: principio de simetría y principio de lógica interna: papel del traductor; sobretraducción y subtraducción. Las palabras soeces y escatológicas. Traducción del teatro: traducción de libretos; esfuerzo de imaginar los personajes. La traducción teatral como trabajo preproducción.

    Traducción para cine: trabajo con guión técnico, lista de parlamentos, transcripción; importancia de conservar la relación imagen-sonido. Observación de los personajes: importancia para el registro. Nociones de lenguaje cinematográfico; nociones de terminología cinematográfica.Teoría del escopo. “Los primeros diez minutos”.

    Traducción del humor: algunas propuestas básicas para encararla; gag visual, gag verbal; gag verbal –visual. Traducción de canciones: música incidental (extradiegética) y música dietética. Traducción de dibujos animados.

    Ejemplos con material visual e impreso aportado por la cátedra.

    Segunda clase

    Doblaje: características generales. Indicaciones que el traductor debe dar para el caso del doblaje. El TCR (Time Code Register): su empleo para señalar cuándo se han de emitir los parlamentos.

    Determinación aproximada de la longitud correcta del parlamento traducido.

    Sincronización labial: cómo se hace.

    Subtitulado: características generales. La gran pérdida de información: tensión entre qué traducir y qué desechar. Subtitulado para sordos.

    Orototipografía de subtítulos: cómo dividir un texto completo en subtítulos, siguiendo las pautas de esa ortotipografía. Signos de puntuación: su importancia

    Cálculo de subtítulos para películas que se ha de proyectar en sala y en TV. 
    Nociones de operación de un programa para subtitulado.

    Daniel Ricardo Yagolkowski




    an

    Taller a distancia de Traducción de textos al inglés

    LA ASOCIACIÓN ARGENTINA
    DE TRADUCTORES E INTÉRPRETES
    (AATI)
    tiene el agrado de presentar su

    Taller a distancia de traducción de textos al inglés
    coordinado por la Trad. Marita Propato
    Inicio                       Lunes 16 de abril
    Duración                 cuatro semanas
    Modalidad              a distancia (exclusivamente a través de Internet y el foro de la AATI)
     Preinscripción y consultas: escribir a cursos@aati.org.ar
    hasta el miércoles 11 de abril.

    Socios AATI*, socios FAT* y alumnos de traductorados: AR$ 420
    No socios residentes en la Argentina: AR$ 650
    Futuros profesionales: AR $ 340
    Socios AATI* y socios FAT* residentes en el exterior: US$ 105
    No socios residentes en el exterior: US$ 170
    *Importe válido únicamente para socios con la cuota al día.
    Nota para traductores certificados por la American Translators Association: La asistencia a este curso otorga puntos para el programa de educación continua (CE) de la ATA.
     
    Finalidad: Perfeccionar habilidades y estrategias de traducción al inglés.
    Material: Se trabajará con material nuevo especialmente diseñado para cursos 2012, que incluirá una selección de textos auténticos periodísticos, de marketing y de comunicaciones institucionales para traducir al inglés. El curso puede tomarse como un módulo independiente o como un segundo módulo de práctica realizada en cursos anteriores.
    Modalidad de las clases:
    En la primera comunicación con los participantes, se establecerán las pautas de trabajo, se distribuirá el material para traducir y se definirán las fechas de entrega de las traducciones. La longitud de los textos será de 1000 palabras por semana. Los participantes tendrán un plazo de una semana para entregar sus trabajos. La profesora corregirá un porcentaje de los trabajos y reenviará las correcciones al total de los inscriptos al taller. La profesora corregirá al menos una vez el trabajo de cada participante.
    Inquietudes: Los participantes podrán enviar todas sus inquietudes (sin límite) a la casilla de correo que disponga el profesor. Dos veces por semana el profesor contestará estas preguntas de manera general.


    Trad. Marita Propato

    Traductora Literaria y Científico-técnica en Inglés - Intérprete Traductora Pública matriculada en el CTPCBA

    Certificada por la American Translators Association (ATA) en Inglés <>Español

    Socia AATI con acreditación FIT 998

    Traductora e intérprete freelance para IBM, Telecom, Pfizer, Quilmes, Credit Suisse y Tenaris, entre otras empresas e instituciones


    VACANTES LIMITADAS
     
     
     
     




    an

    Jornadas: 20.º Aniversario del Colegio de Traductores de Sta. Fe, 1.ª C.

    Estimados matriculados, colegas y estudiantes:

    Como muchos de ustedes sabrán, nuestro Colegio cumple 20 años. Por eso, les proponemos que en septiembre, nuestro mes aniversario, participemos de un intercambio enriquecedor de experiencias e inquietudes en las Jornadas sobre traducción, que hemos organizado para los sábados 8 y 15, en el salón de reuniones del Centro Comercial (San Martín 2819 - 2.º Piso).

    Es una gran oportunidad para escucharnos, compartir experiencias y estrechar lazos entre colegas.
    El sábado 15, una vez finalizadas las jornadas, tendremos la posibilidad de compartir un almuerzo de cierre para brindar por todos estos años vividos junto a la institución (costo no incluido en las tarifas de las jornadas). Pueden descargar el cronograma de actividades aquí.

    Esperamos la participación de todos ustedes.

    Saludos cordiales.

    Consejo Directivo
    CTPSF - Primera Circunscripción




    an

    CURSO TRADOS STUDIO Y MULTITERM en la ciudad de Santa Fe

    Comparto con ustedes el curso que organiza el Colegio de Traductores de la Provincia de Santa Fe, 1.ª C.

    Estimados colegas y estudiantes:

    El CTPSF —Primera Circunscripción— tiene el agrado de invitarlos a participar del CURSO TRADOS STUDIO Y MULTITERM 2011 que hemos organizado en conjunto con TRANSeconomy para el sábado 20 de octubre de 2012 de 10:00 a 13:00 y de 14:30 a 19:30 hs. en la sala de informática de ATE, sita en el edificio de calle San Luis 2858, Santa Fe. El curso estará a cargo de la Trad. Graciela Atencio, cuya biodata adjuntamos con el programa.

    Consultas e inscripción:

    CTPSF - Primera Circunscripción - San Martín 2819, Piso 2 - Oficina 6

    Tel.: 4565922

    E-mail: coletradusafe@gmail.com



    Fecha límite de inscripción: Martes 16 de octubre de 2012. CUPOS LIMITADOS



    Aranceles

    Matriculados en Colegios miembros de FAT y estudiantes: $ 180.

    No matriculados: $ 230.


    Los saludamos cordialmente.



    Comisión de Perfeccionamiento
    CTPSF - Primera Circuscripción




    an

    La partida de Miguel Llorens, el traductor financiero

    Cuando comencé este blog por el año 2008, me propuse encontrar y compartir información valiosa para nosotros, los traductores junior, y por eso siempre tomé como referencia a muchos profesionales con más experiencia en esta profesión.

    Uno de ellos es Miguel Llorens, el traductor financiero, que con su inteligencia y sarcasmo me resonaba un poco al Dr. House de la traducción.

    Miguel es, tiempo presente, porque las personas que dejan huellas profundas, en algunos o no tanto en otros, no se van. Su energía deambula en los pensamientos de aquellos que mascullando sobre algún tema traductoril percibe el roce ligero de su impresión.

    Por eso nos encontraremos a la vuelta de la esquina o de algún término enrevesado.




    an

    Training for legal translators. Part IV. Make at least one big study commitment.

    This is the last part of a series on training for legal translators. See the first post here. To put yourself on the path to becoming a good legal translator, you need to make one big study commitment. A big study commitment is anything that takes at least a year, challenges you, and costs a lot of […]




    an

    Translating notary terms 1: What do notaries do?

    In Spain and other civil law countries, you seem to need a notary for anything of gravity. You buy a house, you need a notary. You inherit some money, you need a notary. You start a company, you need a notary. The list goes on. What do notaries do in common law countries? So little […]




    an

    Translating notary terms 2: What are public-form and private-form notarial acts?

    A public-form notarial act is a document drafted by a notary that contains the entire notarial act. It is narrated from the notary’s perspective and includes all the details and circumstances of the act. All Spanish notarial acts are in public form (documents elevados a público). In England and Wales, notarial acts are usually in […]




    an

    Translating notary terms 3: How to translate the names of Spanish public-form notarial acts into English

    This post looks at how to translate the names of the two* main types of public-form Spanish notarial acts, escrituras públicas and actas notariales. It also identifies handy language to use in translations of them. Escritura pública An escritura pública records an act executed before a notary. How you translate the name of an escritura […]




    an

    Translating notary terms 4: Is “deed” a good translation for escritura pública?

    “Deed” is sometimes used as a translation for escritura pública. Is it a good translation? What is a deed? A deed is a formal legal document. In England and Wales, transfers of land, mortgages, powers of attorney, some business agreements and wills must be executed as deeds. In the US, deeds are only required for […]




    an

    How to translate de una parte and de otra parte into English (contract translation tip 9)

    How should you translate into English the terms de una parte and de otra parte that you find at the start of Spanish contracts?   What’s the job of de una parte and de otra parte in a Spanish contract? If you’ve read a couple of Spanish contracts, this seems obvious. But there is a […]




    an

    Dilemmas of style when translating legislation

    Many dilemmas of style arise when translating legislation into English. This post looks at the most common ones and solutions to them. By legislation I mean any laws or rules set down by a governing body, be that of a country, company or university. So everything from a criminal code to a health and safety […]




    an

    Five things your translator should know when translating legislation into English

    Translating the legislation or regulations of a country, company or university into English requires certain skills and know-how. This post lists five things your translator should know when translating legislation into English. 1. How to apply English drafting conventions Conventions on headings, numbering, referencing and capitalisation differ from one legal language to another. For instance, […]




    an

    How do you translate “registro” (as in Registro Civil)?

    What is a registro? A registro, as in the Registro Civil, is an official place or list for recording information or events. The one registro can even be both a list and a place. For instance, the Registro Mercantil and the Registro de la Propiedad can each be three things: a list (i.e. a set […]




    an

    Spain’s main registros: translations and background info

    This post looks at the main public registers (registros) in Spain. It outlines what they are for and lists common translations and similar entities in English-speaking countries. Whether each registro is more a list or a place (or both) is also covered. This key distinction (described in this post) can affect the translation or at […]




    an

    Pourquoi la victoire de Trump arrange Mélenchon

    Les Insoumis estiment que Kamala Harris a perdu parce que sa campagne n'etait pas assez radicale. Une grille de lecture qui permet de conforter la strategie de Melenchon.




    an

    De Trump à Villiers, quand sonnent les cloches

    L'EDITO DE FOG. Trump, rempart contre l'ideologie des elites. En France, une partie de la classe politique, en pleine deconstruction, serait-elle en train de pratiquer l'<< ablation de la memoire >>, selon la formule de Philippe de Villiers ?




    an

    Guillaume Kasbarian félicite Elon Musk tout juste nommé ministre par Trump, la gauche s’insurge

    Apres la nomination d'Elon Musk a la tete d'un ministere de l'Efficacite gouvernementale, le ministre de la Fonction publique francais a exprime sa << hate >> de << partager les meilleures pratiques >>.




    an

    Gauche radicale : demandez le pogrom !

    CHRONIQUE. Les accusations de << genocide >> contre Israel se multiplient, revelant la derive antisioniste d'une partie de la gauche radicale.