An Awesome Thumbnail Grid with Expandable Preview

While looking for beautiful ways to display projects, I stumbled on this tutorial: http://tympanus.net/codrops/2013/03/19/thumbnail-grid-with-expanding-preview

The code for which is located here: https://github.com/codrops/ThumbnailGridExpandingPreview

It is purely CSS and javascrip and creates a responsive grid layout that analyzes the location of the object you click and scrolls/resizes appropriately. I’ll DEFINITELY be using this in a few projects in the future.

Add Speech Recognition Easily!

Just found out about a cool HTML5 Web API that is built into Google Chrome.

microphonedisabled

Since it is vendor prefixed, this API will only work if a user’s browser supports it (for now Chrome). The cool thing about it though is that in order to use it on your site, all you need to do is write some javascript that checks for “webkitSpeechRecognition” and then creates an instance of it, and then use it. Combine this with your IoT devices and you’ve got voice enabled commands for your interacting with your devices!

This tutorial walks you through the basics of how it gets integrated:
http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-API

This is the full sample: https://github.com/GoogleChrome/webplatform-samples

Developing for Spark through USB

Although the Spark Core is perfect for IoT developers, you don’t NEED to connect your Spark Core to WiFi to code on it or have it run some firmware. (Although you will need it on your development machine)

By placing the following line of code at the top of your file, your spark will not try to connect to the internet when booting.

You will need to install spark-cli and login:

To flash your code onto your Spark via USB, your spark core needs to be put into DFU (Device Firmware Upgrade) mode:

  1. Hold down BOTH (RST and MODE) buttons
  2. Release only the RST button, while holding down the MODE button.
  3. Wait for the LED to start flashing yellow
  4. Release the MODE button

The core should now be in DFU mode

You will also need to install dfu-util and add it to your system path so that your development machine can recognize your Spark core and flash it.

(If you are using Windows, I suggest dfu-util-0.8-binaries.tar.xz)

Here is a great tutorial for installing the DFU driver. They use Zadig to install the driver for the Spark core so that your development machine will recognize it.

Once you open Zadig, click Options -> List All Devices
Select the device “CORE DFU” and the “libusbK” driver, then click Install Driver.

Now you can open up your terminal again and type the commands:

(Note: You will need to set your Spark to DFU mode every time that you want to flash new firmware onto it through USB)

Node.js with SparkJS on a Website

Never used Node.js before? Want to test out SparkJS? This is the guide for you.

Background: I have done some development in Node.js before to build websites and small maker projects, but it has been a while since I touched Node.js, so I needed a refresher when I decided to work with the SparkJS package.

Things you will need:

Install node & npm

This will start up the basic express web server that you can navigate to from a web browser by going to the url: http://localhost:3000/

Create an index.html file in your myapp\views folder with the content from here:

Add another line at the end of the index.jade file that says

The whole project can be found at https://github.com/anthony-ngu/sparkjs-example

In order to download the proper node modules, you will need to run the following command from the example directory:

Reading Material:

Ruby and Javascript

I have been working a lot lately with Ruby and Javascript for a couple of website ideas that I have been developing and figured I would document the ways to print out debugging messages. One of the biggest tools for a developer is a debugger. Having a way to print out a debugging message is vital to faster development and fixing bugs or broken code.

Javascript:
console.log(“debugger output”);
Prints out to the Console window in the Chrome debugger.

Ruby:
logger.debug “debugger output”
Prints out to the Log file under the Ruby log folder.

Something to keep in mind when developing in Ruby and Javascript is the separation between server side code and user/client code. Ruby code is mainly server side; anything that it provides to the UI will be static and cannot be altered once it has been rendered. Javascript on the other hand is meant for user/client facing code. It is meant for making changes to a page that has already been rendered and this makes it perfect for most user interactions on a page.