Featured Post

The great debacle of healthcare.gov

This is the first time in history when the president of the United States of America, or probably for any head of state around the world,...

Wednesday, March 21, 2018

Facebook and Cambridge Analytica’s Data breach debacle

Disclaimer: I don’t know how many of us would take the below warning seriously but I urge everyone to at least read Mark Zuckerberg’s post and think seriously about what we share on Facebook. 

Let me tell this straight at the get go: the way Facebook uses our data is tremendously dangerous not because that it makes money out of our profile info, status updates, likes and dislikes, or photos, but because of how it actually sells our information to use it against us as weapon. If you haven’t heard about the “Cambridge Analytica” fiasco yet, read it directly from Mark Zuckerberg’s post that I have shared here. That company has collected data not only from the users who have used their app on Facebook to participate in a survey but also it collected detail information about the friends of those users - in total 50 million Facebook users in the USA. Then that company used all that information to create algorithms to target those Facebook users to influence their opinion towards a particular candidate in the 2016 Presidential Election in the USA. The name of that candidate is, now the President of the USA, Donald Trump. Trump campaign hired the Cambridge Analytica company to influence the election vote. I can safely assume that Hilary Clinton campaign had taken the similar tactic may be with some other company. If you are still thinking how this is different than the other tactics of election campaigning, let me explain briefly: think about trapping a mouse. If we know that the mouse likes a certain food, goes to a certain place at certain time for hanging around, etc. then we can place the trap at that place precisely and then throw some of its favorite food outside of the trap and inside and the wait for it to be trapped. Similarly, the company knows what I like, what I hate, where I go, what I wear, etc. and then create a trap (in computer world we call it Algorithm) to drag me wherever they want me to take, whatever they want me to believe, and finally, whatever they would like me to vote. By the way, this is not confined to only elections but it’s true for anything related to influencing our opinion regarding the world surrounding us. This kind of tactic to manipulate the psychology of mass population was always there in the history of mankind: in the past it was through books, newspaper, movies, television, etc. but the Internet and social media has converted that same tactic into a massive scale. Just to give a comparison, If the older tactics were using bow and arrow to target people, the social media and Internet is using nuclear bomb to mass target people. 

On the Facebook, it lures us to provide more and more information about ourselves. It is capturing the information, most recently, in the form of various questions that are not only about my current state but also it’s tapping into my future wishes, unfulfilled dreams, my fantasies, and what not. We are providing those information willfully and handing over Facebook even more information to target ourselves to sell new product, manipulate our future needs and wants, and if I dare to say: manipulate our purpose of life. We all are doing those by Facebook’s (and all social network platforms) coercion tool: peer pressure. However, we are thinking that we are giving up those information at our wills- voluntarily. 

Finally, to be very clear about the core message of this post: I am no way asking to stop using Facebook or as a matter of fact, other social networking platform or the Internet but I am urging everyone to be conscious about what we are sharing and how we are being targeted to manipulation by all these giant tech companies. At my current work, I have started to use Big Data and Machine Learning which has given me more insight into how powerful this Artificial Intelligence and Bog Data technologies can be.

Here’s I am sharing Mark Zuckerberg’s one status update where he apologizes to the world about the massive data breach about the Cambridge Analytica debacle.

Tuesday, October 17, 2017

What is Design Thinking

A hypothetical conversation is taking place in a conference room between a software engineer and a business user.

"I need to have the development team available and ready twenty-four by seven during the filing period. This is Fed mandated SLA and we would have to react within 4 to 24 hours. If any approval is needed to do immediate deployment to the production, secure the necessary management approval upfront.", said the business user.

"Do you really need the development and production support team to seat at their desk and waiting to jump in to reintegrate the financial models into the production environment? What problem you are trying to solve here? Are you looking for a way to have the changed models reintegrated into the production environment within a short period period of time to meet the stringent Fed mandates SLA?" The software engineer replied with an empathic voice. Further adding to it by proposing a potential solution to that problem, "How about we provide you a self-service capability to reintegrate the models into the production system? You can do that anytime you want it and any number of times you need it."

"That sounds interesting but I don't want anyone to change the production system anytime without a proper approval", the business user reacted in a receptive tone.

"I don't want that either", the Software Engineering Manager is now chipping into the conversation, "We can enforce four-eyes check but let's talk more about the detail before we jump into the final solution", and has steered the discussion towards finding the right solution.

Though this may be a hypothetical conversation but certainly you have seen the similar conversation where the business user approaches the software engineering or product development team with a "brilliant" IT solution of a business problem without even mentioning what business problem the user was trying to solve. However, the goals of the software engineering team should be to steer the conversation towards understanding the users' pain points, find the fundamental problem and then propose the right solution.

To me, this is the essence of Design Thinking.

Design Thinking is a not the new guy in the town even though its reincarnation sounds just like that. I don't want to spend whole lot about its historical aspect but let's put just enough history for the sake of giving a context.

Design Thinking as a concept came into existence in the late sixties when Herbert A. Simon published his book, "The science of the Artificials". This got into the mainstream through the establishment of Stanford University's Design School.

Before delving into the detail of the Design Thinking, let's first clarify, "what's Design?"

Design, though it sounds like the surface or outward appearance of a thing, however, this concept of design is furthest from that vain outwardly look and feel. IBM Design Thinking defines Design as "The Intent behind the outcome". But the most intricate definition of Design came from the man who had changed the way we perceive the computer products, Steve Jobs, who once said in his interview that the reason he doesn't like the Microsoft's product because "it doesn't have the taste", and defined Design as "...the fundamental soul of a man-made creation that ends up expressing itself in successive outer layers". And Design Thinking is the art of creation of Design.

Now, let's take the words from two other most influential persons who have helped the Design Thinking to come to its current state: Don Norman, the author of "The Design of Everyday Things", has described the Design Thinking as "...Designers resist the temptation to jump immediately to a solution for the stated problem. Instead, they first spend time determining what basic, fundamental (root) issue needs to be addressed. They don't try to search for a solution until they have determined the real problem, and even then,, instead of solving that problem, they stop to consider a wide range of potential solutions. Only then will they finally converge upon their proposal. This process is called design thinking." and Tom Brown, the founder of IDEO, has defined Design Thinking as "...a human-centered approach to innovation that draws from the designer's toolkit to integrate the needs of people, the possibilities of techno technology, and requirements for business success".

In the second part of this post on Design Thinking, I will cover the method of Design Thinking and shed some light on the IBM Design Thinking and finally on how the Agile development methodology can coexist with Design Thinking.

Sunday, September 24, 2017

Micro blog: Designing computer as our brain is designed

When we learn a new skill, such as, playing violin, driving or swimming, a set of neurons is used to execute the instructions and when done repeatedly, they are kind of hardwired to perform that job. That's why when we drive or walk, we actually don't think consciously but our subconscious mind executes most of the tasks to get the job done. It's like task is hardwired in our brain neurons. How about we design our computer memory and processors' transistors to act similarly. That would make a computer very much efficient and faster in processing. It was not practical at the early age of computers due to the cost of memory and processing units. As the memory is getting cheaper and cheaper, and the microprocessors are cramming double amount of transistors in every eighteen months, the execution of a software can now easily be allocated dedicatedly to a certain set of memories and processing units and reuse that set of memories when that particular function is executed. Currently it does similar thing in the memory when a software program is loaded but not by actually forming a physical connectivity among the memory cells and processor's transistors. This would need to create kind of physical/pseudo physical connectivity among those memory chips and processors. In this way, the hardware would behave like software in physical form. There could be so much optimization to efficiently utilize the hardware.