nodejs Building a successful development firm requires a large amount of efforts.
A blogger never take a long period of rest, the world need guidance .
Winter is here Getting my groove back i'll be baking some node.js magic .

While planning my next trip to the coming websummit I needed to search for local attendees to poke them in my way to lisbon And they did not support this feature yet .

i just inspected the page and decided to import attendees data to my local mongodb and query for country param .

Jumped to vim and promised not to use promises :

'use strict';  
var request = require('request');  
var path = require('path');  
var querystring = require('querystring');  
var host ="";  
var _ = require('underscore');  
var async = require('async');  
var uuid = require('node-uuid');  
var db = require('mongoskin').db('mongodb://localhost:27017/websummit');  
var users=new Array();  
for (let i=0;i<647;i++){  
    function(callback) { request({url:host+i,json:true},function (e,r,att) {

       if (typeof att !== 'undefined') {
function(callback) {  
      if (typeof users !== 'undefined') {
     var id = uuid.v4();
     users._id = id;
     db.collection('user').insert(users, function(err, result) {
             if (err) throw err;
                 if (result) console.log('Added!');

Don't forget to npm instal The dependencies Run the script --> wait --> Jackpot .

Now You have a db named websummit .

Query the collection users by country and get the names :


Let the lightning power of node prevail
Let the Reign Begin .

After a series of unfortunate events I have decided to withdraw from JSconf Beirut as organiser.

When I decided to hold JSconf Beirut I had the intention to help build a local community, push technology, open source and JavaScript to enlighten and encourage developers about web technology and the importance of a strong developer community. JSConf represents a lot of these values and I was very proud to receive their help in the process.

Today, I have to acknowledge that organising an international event has its challenges and is measured at high standards. I made mistakes on the way that caused JSConf EU to withdraw their support publicly.

The growth and importance of JavaScript for our local developer scene is now my incentive to write this post. To help the rest of my team to be able to continue JSconf Beirut as an inclusive event that all attendees, speakers and sponsors can enjoy I want to take this step. This way I do hope the team can do a better job than I did.

Slack is a messaging app that has exploded in popularity among all sorts of teams. One of the things that makes Slack so compelling is that it integrates well with all kinds of other applications and services — a perfect fit within API space.

In this experiment we will mix nodejs, arduino, instapush with Slack API


hardware, npm-lib, api :

Hardware npm-lib api
Arduino UNO johnny-five instapush
RGB Led node-slackbot Slack
Piezo instapush
Resistor + wire




RGD led

I used for the Piezo output #6 and for the RGB led output 3,5,11 .

Nodejs integration

In this part we will use Johnny-Five The robotic javascript library to control the Arduino .

To Do that you must push the firmata explained in the johnny five github page .
Setup the app.js to include johnny five library and init led and piezo:

var five = require("johnny-five");  
board.on("ready", function () {  
          var piezo = new five.Piezo(6),
          led = new five.Led.RGB({
              pins: {
                  red: 11,
                  green: 5,
                  blue: 3

Instapush integration

you can find the setup in the previous post

Slack integration

We will use in this example the Real Time Messaging API

The Real Time Messaging API is a WebSocket-based API that allows you to receive events from Slack in real time and send messages as use

we should create authenticated call to the rtm.start API method.

Get your access_token by following the instruction .

Generate you token

The example is using message event in RTMA slack

Code :

 var botToken = 'xoxp-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx';
 bot.use(function (msg, cb) {
         if (msg.type === 'message') {
             console.log(msg.user + ' said: ' + msg.text, msg);
        if (msg.text === 'turn on') {
                     song: tune,
                    beats: 1 / 4,
                     temp: 100
               notify(msg.user, msg.text);
            } else if (msg.text === 'turn off') {
                notify(msg.user, msg.text);

Put the code together

Demo :

#Slack + #arduino + #nodejs

A video posted by Simon Tadros (@evilqubit) on

Instapush notification :


So slack is not only a tool for team to put robots on mars it can also control them

Hardware Stack

  • Arduino UNO
  • Breadboard
  • Wires
  • Serial cable
  • RFID-RC522 Module Kit

Software Stack



Import the AdicoreRFID library

Open the arduino IDE :


Navigate to the location where the AddicoreRFID library you downloaded above is currently located and open it.

Run the example

When the Arduino IDE opens navigate to File > Examples > AddicoreRFID. Select the “AddicoreRFIDExample” sketch. This will open a sketch which we will use with the RFID module that we wired to our Arduino earlier.

Now connect your Arduino to your computer and upload the code.

Reading RFID Tags:

Open the serial monitor by clicking the Serial Monitor icon or pressing CTRL+SHIFT+M. If it isn’t already selected set the serial baud rate to 9600 baud by clicking on the drop down selection in the lower right corner of the Serial Monitor window as shown below and selecting 9600 baud.

Video Demonstration To get accurate result you must check all the pairs . In this example i only used the first byte to bind the rfid card to its owner .

Nodejs integration

In this part we will use nodejs package serialport to be able to read the result from arduino directly via nodejs .

npm install serialport  

i tweaked the AdicoreRFID example just to print user:id . i am using the first byte only as id which is not recommended in production environment

ino file modified here ready to push to your arduino
Next open an new file app.js and insert the following

var SerialPort = require("serialport").SerialPort;  
serialPort = new SerialPort("/dev/tty.usbmodem1411", {  
            baudrate: 9600,
            parser: serialport.parsers.readline("\n")

    serialPort.on('open', function () {
        serialPort.on('data', function (data) {


To get your serial port on macosx run the following command :

ls /dev/tty.*

Now run

node app.js

Swype your card on the RFID reader you should get in your terminal USER:ID

Now that we are able to read card id from node lets push a notification to android or ios using instapush .

Lets install instapush via npm

npm install instapush  

Add the following code to app.js and configure instapush

var instapush = require('instapush');  
var insta_conf = {  
    id: 'YOUR_ID',
    secret: 'YOUR_SECRET',
    token: 'YOUR_TOKEN'

        secret: insta_conf.secret,
        token: insta_conf.token

You must download instapush mobile app and sign using the web browser to get your configuration settings .
Now you have to setup and event and trackers

i named the event io and the trackers user and text


Setup the function in nodejs

var notify = function (user, text) {  
            "event": "io",
            "trackers": {
                "user": user,
                "event": text
        }, function (err, response) {
            console.log(err, response);


Call this function after parsing data received over the serial port .

Let's assemble this code and run it --> available here

And now anyone that swift his rfid card you will get a push notification
on your mobile that can be used for employee check ins or events ...

terminalnotify androidnotify

... Use it and build something awesome . Make

This article will help nodejs newbies and html developer to host their app with nodejs and scale it with gruntjs add stylus or any other nodejs package .

Serving Html With express

Requirment :

  • nodejs
  • express
  • npm

install express 3.* globally running the following :

sudo npm  install -g express@3.x  

To generate the boilerplate all you have to do is to run :

express simpleHTTPserver  
cd simpleHTTPserver  
npm install  

After installing the npm modules all you have to do is edit app.js

Delete all app.get /

Add the folowing :

app.get('*', function(req, res){  
    var page = req.url,
        path = page+'.html';
    res.sendfile(path, {root: './public'});

Now you can add all your html to public folder and call your page using clean url format .

Keep it simple .

New software developed by researchers from MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL) amplifies changes in successive frames of video that are too subtle for the naked eye.

Original article


This new software enable the that amplifies variations in successive frames of video that are imperceptible to the naked eye. So, for instance, the software makes it possible to actually "see" someone's pulse, as the skin reddens and pales with the flow of blood, and it can exaggerate tiny motions, making visible the vibrations of individual guitar strings or the breathing of a swaddled infant in a neonatal intensive care unit.

I found this comment also that maybe intersting and point how to use this technolgy in battles .

Spritz’s mission is to change the way people read and make communication faster, easier, and more effective.

Reading Reimagined

Reading is inherently time consuming because your eyes have to move from word to word and line to line. Traditional reading also consumes huge amounts of physical spaaaaaace on a page or screen, which limits reading effectiveness on small displays .

_The solution: _


Spritz, content can be streamed one word at a time, without forcing your eyes to spend time moving around the page. Spritz makes streaming your content easy and more comfortable, especially on small displays.


I think that spritz is a good idea but You can't look away from the screen for a second therefore you have to focus all time and this could be a nightmare for human brain .

Solutions can be done and the product will improve with time .

spritz is fully functional on this blog will explain below how to integrate it .

Although this technology has only currently been made available to users of the Samsung S5 and the Galaxy Gear 2 smart watch, thousands of developers have been working on a range of software platforms over the past three years to develop platform-specific Spritz apps; this means that soon any device which runs Android, Javascript or IOS will be capable of supporting it. The possibilities of this technology are endless, you’ll be able to read an entire text without having to unlock your phone, read your entire Facebook newsfeed in a matter of minutes and comprehend all those huge textbooks in a matter of hours.

Integration with #GHOST

First of all visit and submit the form to get an api access .
Once you have the api access We will need to insert the following code to :


between the {{> head}} and {{{body}}}

<script type="text/javascript">  
    var SpritzSettings = {
clientId: "xxxxxxxxx",    redirectUri:"http://YOURBLOG.COM/assets/js/login_success.html"  
<script type="text/javascript"src="//"></sc$  
 <script id="spritzjs" type="text/javascript" src="$

than append in the body:

<div data-role="spritzer"></div>  

if you want spritz in each post you have to add the above script to :

Upload login_success.html that you will find with spritz api to any public directory i am using :


if you want to change it you have to edit
redirectUri in the script .

save and restart you Ghost blog .

enjoy spritzinnnnnnng ...

Transhumanism.transhumanism logo

Transhumanism (abbreviated as H+ or h+) is an international cultural and intellectual movement with an eventual goal of fundamentally transforming the human condition by developing and making widely available technologies to greatly enhance human intellectual, physical, and psychological capacities.

Transhumanist thinkers predict that human beings may eventually be able to transform themselves into beings with such greatly expanded abilities as to merit the label "posthuman".


The contemporary meaning of the term transhumanism was foreshadowed by one of the first professors of futurology, FM-2030, who taught "new concepts of the Human" at The New School in the 1960s, when he began to identify people who adopt technologies, lifestyles and worldviews transitional to "posthumanity" as "transhuman".


It is a matter of debate whether transhumanism is a branch of "posthumanism" and how posthumanism should be conceptualised with regard to transhumanism. The latter is often referred to as a variant or activist form of posthumanism by its conservative, Christian and progressive critics. A common feature of transhumanism and philosophical posthumanism is the future vision of a new intelligent species, into which humanity will evolve, which will supplement humanity or supersede it. Transhumanism stresses the evolutionary perspective, including sometimes the creation of a highly intelligent animal species by way of cognitive enhancement (i.e. biological uplift), but clings to a "posthuman future" as the final goal of participant evolution.

Forms of H+:

  • Abolitionism (bioethics), an ethical ideology based upon a perceived obligation to use technology to eliminate involuntary suffering in all sentient life.
  • Democratic transhumanism, a political ideology synthesizing liberal democracy, social democracy, radical democracy and transhumanism.
  • Extropianism, an early school of transhumanist thought characterized by a set of principles advocating a proactive approach to human evolution.
  • Immortalism, a moral ideology based upon the belief that radical life extension and technological immortality is possible and desirable, and advocating research and development to ensure its realization.
  • Libertarian transhumanism, a political ideology synthesizing libertarianism and transhumanism.
  • Postgenderism, a social philosophy which seeks the voluntary elimination of gender in the human species through the application of advanced biotechnology and assisted reproductive technologies.
  • Singularitarianism, a moral ideology based upon the belief that a technological singularity is possible, and advocating deliberate action to effect it and ensure its safety.

  • Technogaianism, an ecological ideology based upon the belief that emerging technologies can help restore Earth's environment, and that developing safe, clean, alternative technology should therefore be an important goal of environmentalists.


In brief :

In case you're new to the term, "transhumanism" means uploading your mind to a machine, discarding your body, then achieving immortality by living forever through machines and robots.

Even if some religion or philosophy consider Transhumanism a death cult i believe that using technology everyday whether it was your smartphone or a pet scan at the hospital technology helped humanity and saved lot of misery

Google's director of engineering, Ray Kurzweil, has been pushing this cult for many years . As me i would like to agree with this guy and follow his steps.

Destructive or not. Its for you to decide.


What happened to YouTube’s old buffering

A few years ago, YouTube switched to a streaming protocol called Dynamic Adaptive Streaming over HTTP, or DASH for short. While it's more efficient in most cases, you probably know it best as the thing that only lets you preload the video a few seconds ahead of the playhead, no matter how fast your connection is. Luckily, it's easy to disable .

You pause the video and you wait in vain

The first thing that you may notice is that YouTube is no longer buffering all of the video when you hit the pause button. In fact, when you hit pause the buffering stops right away and will not commence until you hit the play button again.

The second issue that you may have with Dash is related to that. When you skip, you may notice that it takes a moment before the buffering kicks in and the video starts to play. This is more severe on slow Internet connections where it take more than a second or so.

The Solution

YouTube Center is available for most modern web browsers as a native extension and also as a userscript that you can install instead. It is fully compatible with Google Chrome, Mozilla Firefox and Opera among other browsers.

Once that's done, you'll notice a gear icon in the upper right corner of YouTube. From this dropdown menu, go to YouTube Center Settings > Player, and uncheck Dash Playback. Now, YouTube videos will be able to preload in their entirety, which is awesome if you're on a slow connection, or if you're jumping around from point to point

Video Tutorial :

if you have a slow connection installing this plugin will be your ultimate solution to watch youtube video smoothly .

More info: you'll need to enable developer mode in Chrome to install the extension, since it's not coming from the Chrome Web Store.

My new personal blog is about small talks/articles that can change your development routine , your startup goals , your operating system even your life perspective .



A Lightning talk is a very short presentation given at a conference or similar forum. Unlike other presentations, lightning talks last only a few minutes and several will usually be delivered in a single period by different speakers.

source : wikipedia

Guru's hate conferences:

Nowadays you dont see real makers at conferences.Everyone get bored in techincal/non technical workshops .Small talks could be a beneficial solution for you as a developer, it only takes one step to start somewhere, you can find everything else online .


Articles size will be a maximum of 15 lines or 5 mins of video.
main focus:

  • Nodejs github mongodb javascript markdown grunt backbonejs cheats&tricks
  • Life-hacking social-networks raspberrypi-hacks
  • Video games
  • Api zero-day-attack custom-roms
  • Startups Transhumanism spirituality terminology

let the lightning begin after all you cannot silence the voice of thunder
cinematic From dota2 "zeus" the god of lightning