Sunday, February 14, 2016

Google Photo


Google announced it is shutting down Picasa in less than three months. The company is asking Picasa users to try Google Photos (https://photos.google.com/) for all their picture needs.

Google acquired Picasa from Lifescape in July 2004 and began offering it as freeware. “Picasa” is a mix of the name of Spanish painter Pablo Picasso, “pic” for pictures, and the phrase mi casa (Spanish for “my house”).

Picasa Web Albums and the Picasa Web Albums Data API (https://developers.google.com/picasa-web/) will continue working as normal until May 1, 2016. After that, users will only be able to view their photos, while developers will lose some API functions.

Google will stop supporting the Picasa desktop application sooner: on March 15, 2016. But if you have already have the software, it should continue to function — there just won’t be new updates anymore.

Google says it is retiring Picasa “in order to focus entirely on a single photo service in Google Photos.” The company added: “We believe we can create a much better experience by focusing on one service that provides more functionality and works across mobile and desktop, rather than divide our efforts across two different products.”

Right, but it was Google that created the redundancy in the first place. Google launched Google Photos in May 2015, providing a lot of overlap with the likes of Google+ Photos and Picasa.

As such, all your photos and videos in Picasa Web Albums will be moved to Google Photos. From there, you can continue to upload and organize your content, and really that’s the only place Google will support you doing so come May.
 

Thursday, February 11, 2016

Apple India


Following Google and Microsoft, Apple Inc is to open its first technology development centre outside the United States in Hyderabad, India.  It is anticipated to create 4,500 jobs for locals.

The California-based multinational technology development company will initially open its innovation centre in June and launch fully fledged operations by the end of this year. It plans to develop maps and make them available in its iPhones and Mac systems.

Google CEO Sundar Pichai, during his visit to India in December last year, announced that his company will open South Asia's biggest campus, and Google's only campus outside its headquarters in the US, in Hyderabad in the next few years.

Microsoft's Windows 10 was developed in Hyderabad, but it has been a global product now. Microsoft CEO Satya Nadella visited Hyderabad in December and announced plans to expand his company's operations in the state.

Is it so awesome to have Google, Microsoft & Apple in the same city - Hyderabad, INDIA?

Tuesday, February 9, 2016

CAKE


Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

Cake is built on top of the Roslyn and Mono compiler which enables you to write your build scripts in C#. Cake is available on Windows, Linux and OS X.

Cake uses a dependency based programming model just like Rake, FAKE and similar build automation systems where you declare tasks and the dependencies between those.  Cake also contains functionality to conveniently work with file system paths as well as performing common file/directory/environment operations, manipulating XML, parsing Visual Studio solutions, starting processes and more.

Supported functionality

  • MSBuild
  • Build systems
  • AppVeyor
  • AssemblyInfo patching
  • Release notes parsing
  • Unit Test Runners
  • xUnit (v1 and v2)
  • NUnit
  • MSTest
  • NuGet
  • Install
  • Pack
  • Push
  • Restore
  • SetApiKey
  • Sources
  • Update
  • ILMerge
  • WiX
  • NSIS
  • SignTool
  • Octopus Deploy
  • Compression (Zip)
  • File hash calculation (MD5, SHA256, SHA512)


Latest release Cake v 0.8.0 is released and the detail is available at http://cakebuild.net/blog/2016/01/cake-v0-8-0-released

Regardless if you're building on your own machine, or building on a CI system such as AppVeyor, TeamCity, TFS, VSO or Jenkins, Cake is built to behave in the same way.

Cake supports the most common tools used during builds such as MSBuild, MSTest, xUnit, NUnit, NuGet, ILMerge, WiX and SignTool out of the box.

Saturday, February 6, 2016

NATS


With 2 decades of my industry experience, I'm recollecting the initial days of nostalgia 'C' procedural coding @ Bell Labs, up to Today's highly distributed 'Spark' coding. To me, high performance at scale is critically important for anybody to build highly distributed systems, Today.

Why Communication is vital?
Three buzz words in Today's Architecture world
  1. API (Application Programming Interface) or Micro Service model 
  2. Highly distributed Cloud Infra
  3. IoT (Internet of Things) network of all devices

Today, the components of application have been built in Service Oriented Architecture (SoA), new term called API style.  As per Cloud theory, pieces of any given service might be spread across physical or virtual infrastructure. IoT thrives to comprise thousands or even millions of devices.

But, to the end user they need to operate seamlessly, as if they are one entity. This requires extremely fast (Performance), lightweight (Portable), always-on (Availability) communication.

What is NATS?
Open Source NATS is an extremely lightweight, and massively scalable Publish/Subscribe (PubSub) messaging system for Cloud Native applications, IoT device messaging, etc.  Home Page: http://nats.io/

History of NATS
NATS was originally created by Derek Collison as the messaging layer inside of Cloud Foundry, when he was designing that product. The original version of NATS was written in Ruby, but was ported over to Go. The Go implementation of the NATS server is called gnatsd, and immediately offered performance well in excess of Ruby-nats,  Brief video at:  https://ttps://blogs.msdn.microsoft.com/dotnet/2016/02/01/on-net-1262016-nats-with-brian-flannery-and-colin-sullivan/

NATS Objective
NATS is clustered mode, auto pruning of interest graph & text based protocol. Itz not intended as a traditional enterprise messaging system - you can think of it more as an ephemeral nervous system, that is always on, and always available.

By sticking to the core tenets of simplicity and speed, NATS - much like Go - provides an excellent foundation for delivering modern distributed systems at scale.

Core Principles
NATS supports 3 key messaging models as listed below:

1. PubSub
NATS implements a publish subscribe (PubSub) messaging model, with fire-and-forget messaging system. It means that if a subscriber is not listening on the subject (no subject match), or is not active when the message is sent, the message is not received

2. RequestReply
NATS supports two flavors of request reply messaging: point-to-point or one-to-many. In a request-response exchange, publish request operation publishes a message with a reply subject expecting a response on that reply subject. You can request to automatically wait for a response inline.

3. Queuing
Queue subscribers can be asynchronous, in which case the message handler callback function processes the delivered message. Synchronous queue subscribers must build in logic to processes the message.

Benchmark
Performance Comparison  (between NATS, Kafka, Active MQ, Redis, NSQ, RabbitMQ, etc) chart is depreciated with throughput payloads as shown in the attached chart.

As the most performant cloud native messaging platform, NATS can send up to 6 million messages per second. Are you ready to leverage throughput benefit from NATS?

Monday, February 1, 2016

Hadoop 10th Year



Doug Cutting - Father of Hadoop, well known person in Big Data Industry.
2016 marks the 10th Anniversary of Hadoop.

In his note, Dough mentioned that Ten years ago, digital business was limited to a few sectors, like e-commerce and media. Since then, we had seen digital technology become essential to nearly every industry.

Every industry is becoming data driven, built around its information systems. Big data tools like Hadoop enable industries to best benefit from all the data they generate. Hadoop did not cause digital transformation, but it is a critical component of this larger story.

Enjoy the exclusive video by Doug at https://youtu.be/XHz_R33QnsI

Happy 2 digit birthday to Hadoop !!!

Friday, January 29, 2016

Leader = Reader


Interesting & inspiring quote; isn't it? Itz 100% true too.  To me,
"Apple a day keeps Doctors away; Book a day keeps Descend away."

Why Reading?
Leadership requires storytelling; the story can be the vision of the company. As a leader, telling a compelling story and listening with empathy might contributed much to their skills.

1. Confirms or challenges ideals
Reading can reaffirm your values. It can help strengthen your beliefs by giving you additional reasons as to why you believe what you do.

2. Provides new ideas/different perspective
Reading can give us a different perspective on a view as big as the world or as small as how we schedule our time on a daily basis.

3. Gives us a necessary break from reality
We can enjoy the lives of the characters in the books we are reading or feel their sorrow. Simply, this break from reality is what might help us to get through a tough day.

4. Provides stress relief
For stressed executives, reading is the best way to relax, as reading for six minutes can reduce stress by 68%, and some studies suggest reading may even fend off Alzheimer’s, extending the longevity of the mind.

What to Read?
Relevancy is the key factor. Based on your traits and colors, you can choose the relevant list with this socially connected world.

Two decades ago (when I started to work), fetching the content used to be a nightmare. Now, itz all at your fingers. Few methods are:

  • Get recommendations from friends and/or mentors
  • Online search for your relevancy
  • Follow the industry leaders; Buffett shares his favorite picks & Gates shares in his blog
  • Not a bad idea to visit your local library / book club.
  • In my view, Age / Experience / Title, etc. are not the factors of reading till you live.


How?
Reading more can lead to a host of benefits for business people of all stripes, and broad, deep reading can make you a better leader. So how can you get started?

Few tips are:

  • Join a reading group.
  • Vary your reading. 
  • Apply your reading to your work. 
  • Encourage others. 
  • Read for fun.

The research, published in the journal Science, showed that reading cultivates a skill known as "theory of mind," which describes as the "ability to 'read' the thoughts and feelings of others."

Who?
Cherry pick of few use cases:

  • Warren Buffett spends 80% of his day reading. 
  • Bill Gates reads for an hour each night before going to bed.
  • Mark Cuban credits part of his success to the fact that he is willing to read more than anyone else.
  • Mark Zukerbuerg set a goal to read one book every two weeks

Leaders' DNA is always wanted to grow with their team by learning & growing. Continuous Learning & Sharing is the mantra.

I have found I am more engaged & motivated in life, work, and other ventures (like IIT, Industry Contributions, etc.) when I am in the midst of reading. What about you?

Wednesday, January 27, 2016

Collection Pipeline


Collection pipelines are a programming pattern where you organize some computation as a sequence of operations which compose by taking a collection as output of one operation and feeding it into the next. (Common operations are filter, map, and reduce.) This pattern is common in functional programming, and also in object-oriented languages which have lambdas.

In many programming environments, there are usually two composite data types:
  1. Hashmaps are a key-value data structure, which may be called associative arrays, hashtables, maps, or dictionaries.
  2. Lists are simple sequences. They're not quite the same as traditional arrays as they dynamically resize as you add or remove elements (some languages do call them arrays, however). They can be indexed by integer keys.


A list 'n' hash structure is by default schemaless, the lists can contain disparate elements and the hashes any combination of keys. This allows the data structure to be very flexible, but we must remember that we nearly always have an implicit schema when we manipulate a schemaless data structure, in that we expect certain data to be represented with certain keys.

A strength of the list and hash structure is that you can manipulate it with generic operations which know nothing of the actual keys present.

List and hash structures can easily be serialized, commonly into a textual form. JSON is a particularly effective form of serialization for such a data structure, and is my default choice for this. Often XML is used to serialize list 'n' hash structures.

The presence of rich lists and hashes as standard equipment in modern languages has been one of the definite improvements.  Most major languages now provide standard versions of these data structures, together with a rich range of operations, in particular Collection Pipelines.