Glass Development Kit: Early Release

A sneak peak of the Google’s Glass Development Kit (GDK) has been released. To give a sense of the state of the Glass development ecosystem: even the official Developer preview is ‘yet to come’.

The GDK is an addition to the Android SDK and allows developers to build ‘Glassware’ that runs directly on Glass, making use of its native hardware and software functionality, including Voice, Gesture Detection and ‘Cards’. The current documentation includes information on design patterns (ensuring a consistent user experience), and best practices regarding Cards, Menus, ‘Icons and Assets’ and Writing.

I can’t wait to start experimenting with Glass as soon as possible.

The Future of JavaScript: ECMAScript 6

http://html5hub.com/10-ecmascript-6-tricks-you-can-perform-right-now/#i.1ovozod1ak3fis

JavaScript was developed by Brendan Eich and released in 1995. A year later it was developed into a standard: ECMAScript, which today is the foundation of not only JavaScript but also ActionScript, JScript and others.

Today’s version of JavaScript is based on ECMAScript 3 [what happened to the other versions?]. The next big thing, JavaScript 2.0, is ECMAScript 6, which will introduce a lot of new functionality, some of which has been part of popular libraries for some time, for example Underscore.js.

ECMAScript 6 is code-named “Harmony” or “ES.next”. It is meant to be a better language for the complex applications and libraries that thousands of developers are using JS for today.

Let’s look at some of these new features, and some in more detail.

Ways to use ECMA6 today, before the standard is finalized:

It appears that, schockingly, “ECMA6” support will vary among browsers.

  • Default function parameters:(specification documentation)
  • var myNameIs = function(firstName = "John", lastName = "Doe") {
      console.log("Hi, my name is " + firstName + " " + lastName);
    }
    
  • Sets
  • Maps
  • ‘Destructuring’ for Arrays and Objects

http://net.tutsplus.com/articles/news/ecmascript-6-today/

JavaScript: Why write a self-executing function?

“Self-invocation (also known as auto-invocation) is when a function executes immediately upon its definition. This is a core pattern and serves as the foundation for many other patterns of JavaScript development.”
It’s all about variable scoping. Variables declared in the self-executing function are, by default, only available to code within the function. This allows code to be written without concern of how variables are named in other blocks of JS code.

Command Line Utilities

Beyond the basics (which might include cd, ls, rm, …):

git:
add shortcuts: git st, git co, etc.

shortcuts:
ctrl + a = go to beginning of current command
ctrl + e = go to end of current command
“bang bang” !!

programs:
files: find, grep,
text: sed, grep, cat,
networking: curl, wget,

stupidest / most damage:
rm -rf /
chmod 777 -R /
[some non-obviously inf recursive function]
[encrypt all personal files , send key thru email]

not covered, but may still be interesting:
scp, ssh,

Neural Networks

Neural Networks in JavaScript (by Heather Arthur)
https://github.com/harthur/brain

Neural Networks, the Human Brain and Learning
http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol2/cs11/article2.html

Google Research has open-sourced “word2vec”, an implementation of Deep Learning:
http://google-opensource.blogspot.com/2013/08/learning-meaning-behind-words.html

Google’s ‘word2vec’ in the press:
http://gigaom.com/2013/08/16/were-on-the-cusp-of-deep-learning-for-the-masses-you-can-thank-google-later/

Wikipedia:
http://en.wikipedia.org/wiki/Artificial_neural_network

Intuition:
http://www.dspguide.com/ch26/3.htm