Featured

DIY Smart Television with RaspberryPi and Node.js

Image By http://korben.info/

Hardware Components:

Software Stack:

  • Raspbian – a fork of Debian designed for the Raspberry Pi 
  • Node.js
  • Chromium Browser
  • OMX-player
  • Youtube-dl – Youtube video downloader
  • Quo.js – Cross-platform swipe gestures library
  • HTML5, CSS3 transitions, Javascript, and Moustache as a template engine
  • Youtube API

End-result:

raspberrypi_tv_google_tv
Raspberry Pi TV with its special remote controller

Outline

  • Installing software and packages.
  • Basic shellcode
  • Server-side scripting: Node.js, Express.js, and Socket.io
  • Client-side scripting: Dashboard and remote mobile-app

Continue reading “DIY Smart Television with RaspberryPi and Node.js”

Media Lab Workshop 2014 – The Recap.

We boarded that plane and started the mysterious journey on a Sunday night. I was lucky to join some friends from my hometown and others from Lamba Labs – Beirut First Hackerspace. We Joined forces and few hours later, we landed at Abu Dhabi’s airport and got our brain scanned then made it to the hotel safe and sound.

The next day, things started to gradually make sense. Snap back to reality, I knew I had a new quest to complete but I wasn’t really sure of what exactly that is. In fact, I wasn’t sure at all; the agenda of the workshop was clear and it’s definitely not a typical entrepreneurship event. I had a feeling we’re going to build something! The clock tics… and it’s time to begin.

The workshop kick started with a jolt of energy given by Joi Ito – Director of the Media Lab- his talk was really interesting, as inspiring! I looked around and started to take tiny baby steps out of introversion, my attempt to socialise was nearly hopeless, just until the ice breaker Bilal (@bilalghalib) fired things up with his games; these looked ridiculous at first, but turned out to be key to a magical output. He connected people together by stimulating the audience and pushing them to interact in a finite paradigm; How’s that? Bilal understands the human chemistry, he’s the Heisenberg in that field. The chaotic fun ended with us getting divided into our ‘tracks’. I was luckily placed in the sensors and networks track, my favorite. We gathered in the hallway, right outside the workshop, where a circle of introduction was formed in order to really wire this board by sharing each member’s favorite sensor penchant.

Later at night, natural selection played its role, some members of the team called it a night and the others went for a few drinks, but I was personally seeking new random fun! Went with the flow and ended up with Bilal , Qarly (@QarlyQ) and Pragun!

Pragun, QQ and Bilal were re-inventing the wheel!
Pragun, QQ and Bilal were re-inventing the wheel!

The next morning, my alarms betrayed me and I missed the field trip. Luckily I was able to catch up with Spencer (@ssfrr), one of the track’s instructors, who showed me some of the electronics and the sensors they brought from the Media Lab, it was quite fascinating. The track regrouped and shared thoughts on this cool visit. Apparently, they went to Masdar City, a futuristic eco-friendly city, a pretty good place to get inspired.

Nan and the Tidmarsh Sensor Node
Nan and the Tidmarsh Sensor Node

Next, we gathered in the cinema room, where Nan talked to us about the different kinds of sensors and Arduinos that are to our disposal during this workshop. Spencer shared his interesting API to browse the sensors data in a RESTful way. The most interesting mother of all sensors was the Tidmarsh Sensor Node. It can sense the following:

  • Low-power Accelerometer
  • Barometric Pressure Sensor
  • High-Resolution Temperature/Humidity Sensor
  • High Dynamic Range Ambient Light Sensor

Then we’ve been asked to sketch few ideas and present them and consequently mapping them into 4 categories; it was up to each member to join the desired category and form a team. I was always fascinated with omnipresence and so do these people: Dr. Ramy (@RamyElTarras), Simon (@ConversionPoint) both programers and engineers and Sherif (@SherifMaktabi) our product designer. We all teamed up and came up with Beam.io.

Beam.io

Beam.io

Beam.io (@beamiobot) is a sensor network that interacts on social media. That’s right, you send a tweet with a bunch of parameters (hashtags), and based on your location (optional) the closest Beam network will reply to you with the requested data. Each node is modular so you can plug and play sensors based on your needs. Sensor nodes can be private or public; for each private node we sell, we’re going to donate a public node to communities all over the world! This will fasten the process of having more and more public sensors all over the world. I would leave you to imagine the different use cases where BeamBot comes in…

…and when your prototype works, things get rockin’!

… then you test some more

…and then you get to demo it to Prof. JoeP!

Here’s how our prototype looked like:

Hardware Stack:

  • Raspberry Pi Model B (512MB Ram)
  • Raspberry Pi Camera Module (2MP)
  • MIT Tidmarsh Sensor Node
  • Rechargeable batteries
  • Edimax WiFi dongle
  • 4GB SD Card with Raspbian OS
  • Serial to USB converter

Software Stack:

  • Node.js
  • Python
  • Twitter API
  • Shell Scripts

We’re open source! Fork us on Github: https://github.com/DonaldDerek/beam.io

It was a hell of a ride my friends. Thanks to Wamda and to the MIT Media Lab who made this happen.

[Workshop] The JavaScript Revolution I

Powered By Lamba Labs - Beirut First Hacker Space
Powered By Lamba Labs – Beirut First Hacker Space

Talks:

  1. Theoretical JavaScript and OO Concepts by Jad Jabbour
  2. JavaScript in the mobile world: Code structure and optimisation by Jad Joubran 
  3. An intro to Backbone.js by Piotr Yordanov
  4. The JavaScript ecosystem: Node.js & MongoDB by Donald Derek
  5. Experimental JavaScript: Arduino & Node.js by Marc Farra

Continue reading “[Workshop] The JavaScript Revolution I”

[CF-I] Configure your staging machine with Node.js and NGINX

nodejs

If you're one of those critical readers, you might be asking yourself: what the   hell is [CF-I]. Well, I'm a Control Freak and I'm trying to compile a series of blogposts where I can keep track and explain to myself how I solved problems that weface daily in the backend world.

If you want to cut the crap and skip the brief explanation you can find my NGINX Config files on this Github repository.

Continue reading “[CF-I] Configure your staging machine with Node.js and NGINX”

EyeEm API + CSS3 Filters

1

The Idea:

Fetching images from EyeEm’s public API, then applying some CSS3 filters. This small project showed, and once again, the power of CSS3 and HTML5. Unfortunately it only works on modern WebKit Browsers (Chromium/Google Chrome, Safari) but who’s know even IE is evolving faster than ever now. *Sarcasm

Continue reading “EyeEm API + CSS3 Filters”