Angel \”Java\” Lopez on Blog

February 9, 2015

Programando for Internet of Things

Usually, I practice programming every day, applying TDD (Test-Driven Development) workflow. There are non-public projects, but the majority of that practice is public, in my GitHub account. In my opinion, Node.js is a very interesting technology: ubiquos, powerful and simple. I can implement many ideas using Node.js/JavaScript, in a easier way than using other technologies (Java, .NET, Scala, Ruby, Python, Clojure, Smalltalk). The only price to pay: understand and use the JavaScript callbacks.

There are many ideas and implementation, in current applications, public projects, startups. An interesting topic is Internet of Things (OK, a “buzzword”). Many startups are fighting in that battle field. Maybe, many of them will be adquired by Google, Apple, Microsoft. These are interesting time. But this is a time for implement ideas, in open source projects. Then, an startup can leverage the open source world. I think that the important part of an startup is the execution, not the idea or the implementation..

Meanwhile, I want to implement some ideas in my public projects. This post is written to describe the landscape of ideas to implement:

– Collect informaiton from devices connected to the Internet. To have a data repository, the data is send by SDKs, one SDK per device type. Then, use the repository and the collected data in other projects.

– Apply Artificial Intelligence (OK, it is a wide term, but the better we have), to all the collected data, discovering patterns, using machine learning, deep learning. I wrote some JavaScript projects to explore such paths.

– Take decisions, execute actions, using expert systems or other systems. My first implementations, again, are in JavaScript/NodeJs. Having somethink like IFTTT but open source, consuming Internet of Things data.

– Run all these implementations as distributed applicacionts, not only horizontal scalability or cloud computing. Node.js, again, is an interesting vehicle to implement first experiments and applications. Only if needed, then switch to compiled languages and technologies.

I apologize my auto-reference to my projects, but it is the way to explain why I’m writing them.

Stay tuned!

Angel “Java” Lopez

Blog at

%d bloggers like this: