Saturday, July 19, 2014

Industry 4.0

Before some days I came to know very IoT specific use case.
I collected some details from websites and tried to put important things together.
The term "Industry 4.0" refers to the fourth industrial revolution. The first industrial revolution was the mechanization of production using water and steam power, it was followed by the second industrial revolution which introduced mass production with the help of electric power, followed by the digital revolution, the use of electronics and IT to further automate production.

The term was first used in 2011 at the Hanover Fair.[8] In October 2012 the Working Group on Industry 4.0 chaired by Siegfried Dais ( Robert Bosch GmbH ) and Kagermann (acatech) presented a set of Industry 4.0 implementation recommendations to the German federal government. On 8 April 2013 at the Hanover Fair the final report of the Working Group Industry 4.0 was presented.

Characteristic for industrial production in an Industry 4.0 environment are the strong customization of products under the conditions of high flexibilized (mass-) production. The required automation technology is improved by the introduction of methods of self-optimization, self-configuration,  Self-diagnosis, cognition and intelligent support of workers in their increasingly complex work. The largest project in Industry 4.0 at the present time is the BMBF leading-edge cluster "Intelligent Technical Systems OstWestfalenLippe (it's OWL)". Another major project is the BMBF project RES-COM, as well as the Cluster of Excellence "Integrative Production Technology for High-Wage Countries".

The potential benefits are huge. A report from Cisco estimates that the potential bottom-line value that can be created or will migrate among manufacturing industries globally (Value at Stake) could be US$ 3.88 Trillion over the next decade. This commercial value can be realized through reduced time-to-market, eliminated waste, greater efficiency, reduced cost and extra business from individualized products.



Information collected from:
1. http://en.wikipedia.org/wiki/Industry_4.0
2. http://in.renesas.com/edge_ol/global/12/index.jsp


Wednesday, July 16, 2014

Experiments with Two.js: Getting started

Some basic experiments with two.js.

Write in comments if getting stuck in running below example.

Lets go step by step.
1. var type defines type of content delivered by the two.js drawing as per request / automatic detection using url.js javascript.
          var type = /(canvas|webgl)/.test(url.type) ? url.type : 'svg';

2. Now, we are ready with content type. We can define two.js object using below code.

          var two = new Two({
            type: Two.Types[type],
            fullscreen: true,
            autostart: true
          }).appendTo(document.body);

This defines type of the drawing i.e. canvas/webgl. fullscreen behaviour, autostart options and many more things as described here. The last line "appendTo()" decides where our two.js drawing will be rendered. Here, we have taken webpage's body directly to render two.js drawing.

<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Two.js: Rubber Ball</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no">
    <link rel="image_src" href="http://jonobr1.github.io/two.js/images/logo.gif">
    <script src="jquery.js"></script>
    <script src="two.js"></script>
    <script src="url.js"></script>
    <style>
      * { margin: 0; padding: 0; cursor: none; }
      body { background: #fcb215; } 
    </style>
  </head>
  <body style="overflow: hidden; margin: 0px; padding: 0px; top: 0px; left: 0px; right: 0px; bottom: 0px; position: fixed;">
    <div class="scripts">
      <script>
    var type = /(canvas|webgl)/.test(url.type) ? url.type : 'svg';
          var two = new Two({
            type: Two.Types[type],
            fullscreen: true,
            autostart: true
          }).appendTo(document.body);

          Two.Resoultion = 32;

          var delta = new Two.Vector();
          var mouse = new Two.Vector();
          var drag = 0.33;
          var radius = 50;

          var shadow = two.makeCircle(two.width / 2, two.height / 2, radius);
          shadow.noStroke().fill = 'rgba(0, 0, 0, 0.2)';
          shadow.offset = new Two.Vector(- radius / 2, radius * 2);
          shadow.scale = 0.85;

          var ball = two.makeCircle(two.width / 2, two.height / 2, radius);
          ball.noStroke().fill = 'white';

          _.each(ball.vertices, function(v) {
            v.origin = new Two.Vector().copy(v);
          });

          two.bind('update', function() {

            delta.copy(mouse).subSelf(ball.translation);

            _.each(ball.vertices, function(v, i) {

              var dist = v.origin.distanceTo(delta);
              var pct = dist / radius;

              var x = delta.x * pct;
              var y = delta.y * pct;

              var destx = v.origin.x - x;
              var desty = v.origin.y - y;

              v.x += (destx - v.x) * drag;
              v.y += (desty - v.y) * drag;

              shadow.vertices[i].copy(v);

            });

            ball.translation.addSelf(delta);

            shadow.translation.copy(ball.translation);
            shadow.translation.addSelf(shadow.offset);

          });

 function moveSensor(){
  
 mouse.x = Math.floor((Math.random() * 1000) + 1);
 mouse.y = Math.floor((Math.random() * 600) + 1);
 shadow.offset.x = 5 * radius * (mouse.x - two.width / 2) / two.width;
 shadow.offset.y = 5 * radius * (mouse.y - two.height / 2) / two.height;
 }    
 var auto_refresh = setInterval("moveSensor()", 1000);
      </script>
    </div>  
</body></html>





Sunday, June 22, 2014

4 reasons why I hate WhatsApp for iOS

WhatsApp for iPhoneWhatsApp is most popular internet based chatting application, which is acquired by facebook recently. I use it more than 100 times a day in my iPhone, but there are some annoying features / loopholes which makes me to hate WhatsApp for iphone and turns my soft corner towards android.




Automatic downloading of photos
WhatsApp application for iPhone downloads the photos and videos without any instruction and the worst part is it doesn’t have any option to set it. Some intelligent people argue that, there is an option in WhatsApp to turn off automatic savings of media to gallery, but wait… it only prevents photos to be saved in gallery, but still it continues to download automatically and stores into WhatsApp's gallery, which you can access through contact’s “View all media” option.


Re-downloading of messages 
I don’t know, what’s wrong with iPhone, it shows messages in notification, but when you go to WhatsApp, it again tries to connect to internet and re-downloads all the messages again. Then what’s the point of notification???



Want to see internal gallery of WhatsApp for any contact / group? First connect to internet
To much irritating. One more additional feature (actually failure) of WhatsApp for iPhone is, WhatsApp stops me from viewing media / contact information of a person, if I am not connected to Internet. What the logic they have put behind it, can’t imagine.


Don’t allow me to send a message when I am not connected to Internet
Why WhatsApp assumes, I should not write message when its not connected to internet? Why should I wait until I got Internet connection? I might want to write a message and post it, whenever my iPhone get connected to internet, it should send automatically. Its really annoying feature (read failure).


If you also have some more reasons to hate WhatsApp for iPhone, please write your views in comments.