Saturday, September 10, 2016

Learn American English

This is for people who struggle in the US visa interviews due to lack of exposure to American English. Forwarded by AMCHAM

Mail from AMCHAM

Dear Member,

Often times, we find that visa applicants aren’t able to articulate themselves properly while at the visa interview stage at the Consulate / Embassy. To overcome this handicap, may I suggest you introduce such visa applicants to the “English for All” program provided by the US Department of State.

This is a new initiative of the United States government to help people around the world to learn American English.

The process to enroll is simple. Employees could log onto the Facebook page : https://www.facebook.com/AmericanEnglishatState and continue from there. Ideally a few months practice would help them immensely not only at the visa interview stage, but also through their visit to the US and at their work here in India. This would boost their morale and interactive skills.

Please pass on this mail to the concerned persons in your company and spread this information amongst employees. This is a free service and there is no fee.

More details are available below in this mail.


English for All: A New Identity for U.S. Government English Programs

The U.S. Department of State and Peace Corps are launching “English for All,” a new initiative highlighting the U.S. government’s commitment to help people around the world learn American English. The U.S. government invests more than $200 million a year in English instruction programs, providing a gateway to opportunity for millions worldwide. English for All provides a unified brand to promote all English language teaching programs run by the State Department and Peace Corps. The English for All website will serve as a resource for foreign audiences interested in learning about the range of English programs supported by the U.S. government, and for Americans looking to serve their country by teaching English abroad.
English for All is the culmination of this Administration’s drive to promote English-language skills globally. English-language instruction programs include the State Department Fulbright English Teaching Assistant Program, English Language Specialist Program, and English Language Fellow Program, as well as the Peace Corps Volunteer and Peace Corps Response Volunteer programs. The U.S government also provides online American English tools and resources for both teachers and learners, including the American English Facebook page.
Find more opportunities and follow updates on social media at #EnglishforAll, and join Under Secretary for Public Diplomacy and Public Affairs Richard Stengel for a Twitter Q & A September 8 at 10:45 a.m. EDT to learn more. For press inquiries, contact ECA-Press@state.gov.

This service is provided to you at no charge by U.S. Department of State.

Thursday, July 28, 2016

Decline of App Economy

Though this article speaks about it on a different context, the loud message is mobile apps are on a saturation path with more than 2 million apps on the Apple and Google stores each. There are too many confusing choices and app loyalty is no more possible unless the app is enabling/serving a solid business on the field (like Amazon or facebook). That tells me we should never attempt to develop a mobile app unless we have a pioneering idea (which is very difficult after ~ 4M apps) or we own a sound non-IT business. Hoping to build a software platform that will be used by businesses themselves may be too much of a wishful thinking (Ex. a generic taxi app that could be used by many logistics companies and pay a fee for usage every time)

So what’s the alternative? Use web technologies to bring about an app-like experience. Don’t force the users to download your app, but let them see your offerings without app install rigors by giving the same experience in the browser. If the concept/experience is good, people would find it through google and use it since they don’t need to install anything. And this model is a good old one with 20 years of successful existence


Monday, July 4, 2016

Java VS Microsoft Technology Stack

When we started the Java practice, my ears were flooded with new technology names, but then they were doing just familiar jobs or taking up usual enterprise workloads which I was talking about or facing every day. I decided to list the technology options available in the Java and Microsoft worlds for my convenience


Java Ecosystem
.NET Ecosystem
Language
Core Java
C#, VB.NET
Web Development Framework
Servlets, JSP
ASP.NET MVC, ASP.NET Web Forms, ASP.NET SPA
Web Service Development Framework
Apache CXF, JAX-RS
ASP.NET Web API, WCF
Native GUI Application
AWT, Swing
WPF, Windows Forms
RAD Framework
JSF, Struts, Spring, Play, Spark etc.
.NET Framework, Enterprise Library etc.
Messaging Framework
Kafka, ActiveMQ
MSMQ
Message Transfer
JSON, XML
JSON, XML
Data Access Technology
Hibernate, JDBC, HSQL

Entity Framework, LINQ, nHibernate
Web Server
Tomcat
IIS
Application Server
WebLogic, Web Sphere, JBOSS
IIS
IDE
Eclipse, JBuilder, IntelliJ
Visual Studio.NET
Source Code Repository
GIT, SVN, Perforce etc.
TFS, VSS, VS Online etc.
Build/Continuous Deployment Tool
Ant, Maven, Gradle, Jenkins
TFS, MS Release Management
Unit Testing Frameworks
JUnit, TestNG, Mockito

VS.NET Unit Testing, NUnit
Static Code Analysis
SonarCube, PMD etc.
Style Cop, Code Analysis Tool, Resharper
  


Sunday, May 15, 2016

A Great Case Study: Netflix' migration to AWS, the public cloud

To read the Netflix blog post please click here.

Very interesting and important read, the article is from a team that has taken 7 years to complete the AWS migration of the global internet TV streaming service provider Netflix’ important systems including their customer facing ones. Along the way there are important lessons. The ones that caught my attention are-


  • Cloud is not about cost-saving. In fact, it’s the other way round. However if you optimize your app to cloud and build elasticity into your app, you will essentially save significant dollars. So cost saving is not taken for granted with cloud migration, it’s to be accomplished with real hard work and world class engineering
  • You just cannot move all the bits in your own data center and drop them all in the cloud. That’s a sure recipe for failure. You need to re-engineer your apps for the cloud to derive benefits
  • Vertically scalable RDBMS’ are not good for internet enterprises like Netflix, they need to horizontally distribute their apps, possibly with a NoSQL database
  • Most importantly you may need to dump your monolithic apps (apps with the popular 3-layer model – UI, Biz, Data) and embrace a host of microservices

Thursday, March 31, 2016

Microservices - A trending architectural style for enterprise apps

We are quite used to building 3-layered (UI, business and data) monolithic applications and it’s very difficult NOT to see this style of layering in any enterprise app that’s worth its salt. This style of architecture is highly tried, tested and documented. We know the merits and limitations of this style and how to work around the limitations

While we know how to trade-off the limitations of monolithic apps, there were frustrations around the lack of agility in such approaches. Specifically on the maintainability and scalability standpoints. If there is a change then the entire monolithic monster (often a big .dll) will have to be regression/integration tested and pass through a DevOps pipeline before hitting the production without affecting the availability. Same way, when there is a surge in the demand for a specific business function (like the payment function in a e-tailer like Amazon during the holidays season), we scale out the whole app by provisioning a number of horizontal boxes and load balancing the requests. With the advent of cloud, a group of architects started working on a new (i.e. old wine in a new bottle) architectural style and it worked very well in the enterprise/public cloud scenarios. It’s time we take a look at it 


In the Microservices architecture, each business capability (like creating an order, authenticating an user, payment in a ecom site etc.) is built as an independently deployable, mini service. So one big monolithic app is decomposed into many different Microservices that run in their own processes and the communication between them is strictly through API service contracts  often conforming to lightweight protocols like http and REST. With the Microservices, if there is a change one small module is going to be updated, if there is peak demand for a business function that function alone is going to be scaled, not the entire app. Each module of an app can be written in any language/technology as long as they support the RESTful interfaces. To know more, you may see the web site of Martin Fowler . Sensing the popularity of Microservices, Microsoft introduced Microservices platform for Azure 

Sunday, March 20, 2016

Kano Model

While designing a product or service, it’s the main 3 categories of customer needs or requirements that influence the customer satisfaction, brand loyalty and ultimately the market success. While we may have some ideas about these needs already through our experience, Kano model puts that into proper perspective and helps how to choose the product/service needs scientifically. Obviously any successful product or service must have accomplished a clever, balanced mix of the 3 main categories of needs, happened either by choice or chance 

For more details browse here