viernes, 11 de abril de 2014

Ball Drop! - The Game

Today...with a lot of happiness and pleasure...I'm releasing my very first Flare3D and Leap Motion powered Flash game called Ball Drop!




Packed with 3 levels...the idea behind Ball Drop! is to guide the ball through the slopes (the must turn red) and drop it into the box...simple but fun...

Of course...it only works with the Leap Motion controller...so if you don't have one...go and buy it -;)

Comments are always welcome...

Oh...by the way...you can download it from here...Ball Drop!

Greetings,

Blag.
Development Culture.


viernes, 4 de abril de 2014

Cinder Creative Coding Cookbook - Book Review

Ok...sometimes I have a lot of time and I'm a really avid reader...also...for this particular book I haven't tried all the examples one by one...but that's just because I wanted to share my review with the community...

So...I just finished reading Cinder Creative Coding Cookbook...and I must say...the book is simply awesome!


I love Cinder...I can't denied that...but after reading this book...I love it even more...

First things first...this book is about useful recipes...so it's full of examples with documented source code and easy to follow explanations...but...it's not for newbies...I would say...get comfortable with Cinder...then read this book...and then fall in love with Cinder...

The chapter about Image Processing is simply superb...with Cinder build-in functions, OpenCV and Cairo integration just won my heart...with the recipes...you can even build your own...let's say...rustic face recognition app...

The chapter about Particle Systems is another gem that deserve to be mentioned...

The chapters about 2D and 3D graphics is really well documented and full of fun experiments...

And to end with a golden touch...Microsoft Kinect and QR Code integration...are just amazing...

This book is 352 pages! So you can expect thousand of recipes with the most diverse and cool outcomes...

The authors really made my day with this one -:)

And BTW...something that I think is worth mentioning...is that the book is focused on both Windows and Mac users at the same time...so no one is left behind...Ok...maybe Linux users...but...Cinder doesn't exist on Linux...so no harm done...

Greetings,

Blag.
Development Culture.

Cinder - Being Creative Coding - Book Review

I just finished reading Cinder - Being Creative Coding a small but nice book about Cinder.


The book starts with an introduction to Cinder, which is always nice if you're new to Cinder...then it uses some of the examples bundled with Cinder but without giving too much detail about them...and there's were I have some complains about the book...

If you're going to use examples from the Cinder installation...you could at least try to explain them instead just showing a little bit of code...otherwise...just show the images and that's it...

Anyway...I really like the chapter about image manipulation as I did something nice like this -;) Blag's on fire!


Also the video and audio chapters were really good...but...keep in mind...this book is for newbies...and nothing more than newbies...if you have some Cinder experience I wouldn't really recommend this book...even when it has some nice things that I wasn't aware of...it didn't make it a real bargain for me...

The 3D chapter was nice as well...but a little bit short...and I think that many things were left out...

The book could have been way much better if they author had included a couple of projects to be developed along the book...as the examples are very simple...

Next time I will read and review "Cinder Creative Coding Cookbook". Hopefully...that one will be better...

Greetings,

Blag.
Development Culture.

Amazon fireTV - First Thoughts

On Wednesday, April 04 I got an email from Amazon telling me about the Amazon fireTV...I heard something about it some time ago but totally forgot until I get that email...


As I truly love Amazon, my first thought was "I need to buy it"...and my second thought was "I need to wait for it to arrive"...gladly...being an Amazon Prime Customer...it arrive as quickly as expected...

The Unboxing

It was a nice a pleasant experience -:) The box came with my Amazon fireTV and my Amazon Basics HDMI cable...that I order separately...


It amazed me the fact that the fireTV is just a small and flat black box...well...I have never used Roku, Apple TV or Chrome Cast...so what should I know?


The Remote is really nice, compact and with buttons enough to make life simple and easy...it also comes with Speech Search...which I need to say...either my English sucks or the Speech Search needs a lot of improvement  -:(


The Installation

Installation was really a snap...hook it up to the power outlet...plug in the HDMI and enjoy...I didn't even need to read the manual -:P


The first time running

First thing...it's update...so the fireTV will give the latest software available...that will take no more than a couple of minutes...



Once your fireTV is ready to run, you will a nice video showcasing the goodies of the...fireTV of course -:)


I have read that some people complain about this video...but actually I found it funny, short and educative...also...it only runs once (unless you want to see it again)...


The Performance

So far...I have tested on two TVs...the one in the living room where the WIFI is and my room...in both places it worked perfectly fine...great speed and performance for Netflix and Amazon Instant Video...also...the interface is cleaner and easier to browse...actually Netflix seems to look better and more organized here...


Verdict after a couple of days

Well...only a couple of days has happened...but...I totally love my Amazon fireTV...it even come with games! Come on! You can see Minecraft showing up...after some more time...I will be able to give a better review -;) Stay tuned!

Greetings,

Blag.
Development Culture.

martes, 25 de marzo de 2014

Welcome to the d-shop

* This is only for SAP Employees and Friends*

Are you an SAP Employee? Are you a friend with access to SAP Labs in Palo Alto? Then...you can come into the d-shop and have some fun...we're located in the Building 7 of the Deer Creek campus...


So...what's the d-shop? Well...basically...it's a place where developers can come to chat, hack and have some fun...we have many toys and gadgets and of course tutorials and workshops to get you started...

What we have so far is this...

Wearables
  • Fitbit Flex
  • Nike Fuelband
  • Jawbone UP
  • Google Glass
Robotics
  • Lego Mindstorm
  • Parrot ARDrone
  • Sphero
Embedded
  • Raspberry Pi
  • Arduino Uno
  • Arduino Yun
  • Beaglebone Black
  • Estimote
  • Konkakt
  • Little Bits
Misc
  • Oculus Rift
  • Leap Motion
  • Microsoft Kinect
  • Phillips Hue
  • Porkfolio
  • Ultimaker 3D Printer
  • Makerbot 3D Printer
Of course...we're looking for more -;)

You can come...learn...start your own project and share it with the community...but rule of thumb...the toys stay here...you can check in...but you can't check out -;)

Greetings,

Blag.
Development Culture.

miércoles, 19 de marzo de 2014

Buy one...get one free...Packt Publishing 2000 titles!

My good friends at Packt Publish just released an awesome campaign, celebrating their 2000 titles!


From March 18 to March 26, 2014 you will be able to have unlimited purchases and also the offer is added automatically at checkout...

Not to be missed! Get some books and start learning!

Greetings,

Blag.
Development Culture.

jueves, 6 de marzo de 2014

Leap Motion - Product Review

This last days...I have been working with the Leap Motion an awesome little device that allow you to control your application by simply using you hands or fingers...no mouse attached -;)

The price as you can see...is very appealing...only $79.99 for endless possibilities...



If you go to the Leap Motion Developers page you will find both the software (to use it) as the SDK to program with it and it comes with many of the most used languages like...


  • C++
  • C#
  • Objective-C (IPhone)
  • Java
  • JavaScript
  • Python
  • Node.JS
Of course...there's plenty of community projects to support even more programming environment...which is always really cool...

To actually code with it...it's really easy, as they have done a pretty good job encapsulating everything and giving back only what is needed for a program to run...so the learning curve is really good...


Of course...the Leap Motion is not perfect...but it's a work in progress and updates are coming often...

If you haven't got one yet...I for sure recommend you to do so...it's so much fun to use it and code for it...

So far...I have used the Leap Motion with C++ and Python...where I have built some nice projects...
  • DrawPad! --> C++, Cinder and Leap Motion.
  • Memory Game --> C++, Cinder and Leap Motion. 
  • Sphero_LeapMotion --> Python, Sphero and Leap Motion.
Of course...I'm planning to built more stuff -;) As I'm currently looking forward to learn some Unity3D...

You can watch a little video of my Memory Game here -:)

Greetings,

Blag.
Development Culture.

viernes, 10 de enero de 2014

MeteorJS and SAP HANA

If you thought that I was going to learn MeteorJS and not try to link with SAP HANA...then you were dead wrong -;)

Of course...I'm far from being a good Meteor developer...so please bear with me -:( I'm also not very good at NodeJs...so...you know...this is just me playing around -:)

So...let's begin...there's a lot of ways that we can use to connect Meteor and SAP HANA...but...what if we can somehow do it with a native connection?

If you haven't visit SAP Developers on GitHub yet...I recommend you to do it...we have some really nice Open Source projects in there...

Anyway...in there you will find a hidden gem simply called node-hdb which is course...a NodeJS native connector for SAP HANA...awesome, huh?

Now...you will ask...why does NodeJS has to do with Meteor? Easy...Meteor uses NodeJs in the background...

Checking the web...I found this awesome Meteor Hack called Complete NPM integration for Meteor which is just great...basically...it allows us to include NodeJS packages in the underlying NodeJS service of our Meteor installation...

Simply do this...

Getting node-hdb into Meteor
npm install -g meteor-npm
cd "your_project"
meteor-npm

This will create an "npm" folder into your project...now...simply create a file called packages.json in your root folder...

Packages.json
{
 "hdb": "0.2.0"
}

With that...we're ready to rock with Meteor -;)

First...let's do the html part...

HANA_Test.html
<head>
  <title>SAP HANA and MeteorJS</title>
</head>

<body>
  {{> CallHANA}}
</body>

<template name="CallHANA">
<DIV ID'block' ALIGN='CENTER'>
<H1>Calling SAP HANA from MeteorJS</H2>
 <TABLE BORDER='1'>
 <TR><TH>Carrier</TH><TH>Connection</TH>
     <TH>Country From</TH><TH>City From</TH>
     <TH>Airport From</TH><TH>Country To</TH>
     <TH>City To</TH><TH>Airport To</TH>
     <TH>Distance</TH></TR>
 {{#each Spfli}} 
  <TR>
   <TD>{{CARRID}}</TD><TD>{{CONNID}}</TD>
   <TD>{{COUNTRYFR}}</TD><TD>{{CITYFROM}}</TD>
   <TD>{{AIRPFROM}}</TD><TD>{{COUNTRYTO}}</TD>
   <TD>{{CITYTO}}</TD><TD>{{AIRPTO}}</TD>
   <TD>{{DISTANCE}}</TD>
  </TR>
 {{/each}}
 </TABLE>
</DIV> 
</template>

Then...create two folders...one called "server" and the other called "client"...

Inside the "server" folder create a file called "HANA_TestServer.js"

HANA_TestServer.js
var myjson = [];

Meteor.methods({
    'CallHANA': function CallHANA() {
  hdb    = Meteor.require('hdb');
    client = hdb.createClient({
    host     : 'hanasvr-XX.sapdevcenter.com',
    port     : 30015,
    user     : 'SYSTEM',
    password : 'XXXXXX'
  });

  client.connect(function (err) {
     if (err) {
       return console.error('Connect error', err);
     } 
      client.exec('select top 10 * from SFLIGHT.SPFLI', function (err, rows) {
       client.end();
       if (err) {
          return console.error('Execute error:', err);
       }
        var count = Object.keys(rows).length
        for(var i=0;i<count;i++){
         myjson.push(rows[i]); 
        } 
      });
  });
  return myjson;
 }  
  });

Then inside the "client" folder create a file called ""HANAClient.js"...

HANAClient.js
 Meteor.startup(function () {
    Meteor.call("CallHANA", function (error, result) {
             Session.set("myjson", result);
            });
    });

    Template.CallHANA.Spfli = function () {
     row = Session.get("myjson");
     return row;
    };

With that ready...simply call up your meteor application and after you refresh your page...I need to work on the reactivity part -:( I'm sure a single button calling the function will do the trick...but I'm tired and I'm lazy...The result from the query will be shown -;)


Not that fancy I know...but for the first step...I guess it's good enough -;)

Greetings,

Blag.
Developer Empowerment and Culture.

lunes, 6 de enero de 2014

Machine Learning with R - Book Review

I have to admit it...I'm an R junkie...since the first time I started learning R...it has become an addiction to me...I try to solve every problem with R...which is obviously not the best way to go...but my rule of thumb is..."Try with R first...otherwise...just use something else and then go back to R" -;)

This time I was really excited to read a new R book (well...maybe not new...but new for me) called Machine Learning with R...


For me this book should be called "The Big Book for R nerds"...with 396 pages...this book is just beautiful, amazing and one of the best R books I have ever read...

Of course...keep in mind that is not a book for beginners...you need to have previous R experience to fully understand everything...so if you're not a R advocate...please help yourself and read the also awesome The R Inferno...

The book of course, contains a small introduction to R principles and most used commands like Vectors, Factors, Lists, Data Frames and data manipulation.

When the book really gets interesting is when the Machine Learning gets introduced...


It a nutshell...a Machine Learning algorithm will take input...learn something and the toss out a result that will help us make a decision...simply pure magic -:)

Some of the algorithms covered in this book...and covered in a really easy and digestible way with some of the best examples you could think of...are these...


  • Nearest Neighbor

  • naive Bayes 

  • Decision Trees 

  • Classification Rule Learners 

  • Linear Regression 

  • Regression Trees 

  • Model Trees 

  • Neural Networks 

  • Support Vector Machines 

  • Association Rules 

  • k-means Clustering

  • A little bit overwhelming, huh? Well...not really...R and it's plethora of packages makes your life easier....after reading this book...you will be able to apply each and everything single algorithm to your real life projects...but of course...you experience, trial and error and perseverance will be highly appreciated...

    Let's see some examples...

    Cross table for a Nearest Neighbor

    Decision Tree

    Neural Network Diagram

    Association Rules

    Random Forests

    Amazing isn't it? Of course...but the fun doesn't end there...the book helps us even more with chapters on...
    • Evaluation Model Performance
    • Improving Model Performance
    • Specialized Machine Learning Topics
    If you have played with R before and always wondered what the hell Machine Learning means and why you should learn it...this book is totally for you...I recommend it 100%...

    Greetings,

    Blag.
    Developer Empowerment and Culture.

    martes, 31 de diciembre de 2013

    Getting Started with Meteor.js JavaScript Framework - Book Review

    Since I got this book I got some interest in reading it...mainly because with so many JavaScript Frameworks...I was skeptic...but...Meteor just totally blown my mind...this is my review...



    Two things comes to mind one when I think about this book...both Meteor.js and the book...totally rocks! Why? Simply because the book is really well explained...it's funny...yes...it's funny...and it comes with a real full blown application to build...I will show the screens later...

    If you're a Windows user like me...follow this link Meteor on Windows. Otherwise...just use the regular link...

    The book is not really long...as it's only 131 pages...but it covers everything you need to know to go out and build your first applications...really...after reading the book you just want to build stuff...and I already have a couple of things in mind -;)

    The book introduce you to the following themes...
    • Templates
    • Data, Meteor Style
    • Security and Accounts
    • Packaging and Deploying
    So...one cool thing about Meteor...is that it comes bundled with Minimongo...a minimized version of the document based MongoDB...which is course more than enough for simple applications...

    Now...I guess that you don't believe me...you still think that Meteor is just another JavaScript Framework...well...let me tell you...it has become for sure...my favorite JavaScript Framework...sorry AngularJS....


    This is the application that you build with the book...a simple "Lending" application...so you can keep track of your stuff...



    Not impressed yet? Well...Meteor comes with a Login UI package...



    So you don't have to deal with internal stuff...just create your user...and have fun -:)

    The only problem I see right now with Meteor...is that there are not enough books...but hopefully that's going to change while the framework becomes more popular and widely used -;)

    And of course...I would buy this book right away if I was you...

    Greetings,

    Blag.
    Developer Empowerment and Culture.