Skip to content

Instantly share code, notes, and snippets.

Working from home

German Viscuso germanviscuso

Working from home
  • Amazon
  • Madrid
View GitHub Profile
germanviscuso / autothread
Last active Aug 29, 2015
Quickly launch Java background task (works on Android)
View autothread
(new Thread(new Runnable() {
public void run()
View update_trackers.js
function update_trackers(params, context, done) {
// Available params are:
// params.thingID
// params.vendorThingID
// params.uri
// params.userID
// params.groupID
// params.values
// params.expected
View GP_19_AQM_Particle_3G
* ------------ [GP_019] - AQM with particle --------------
* Explanation: This is the basic code to manage and read CO, O3, SO2, NO2
* gas sensors and a prticle sensor. This gases are commonly meassured in
* air quality monitors. The concentration and the enviromental variables
* will be stored in a frame. Cycle time: 5 minutes.
* Copyright (C) 2015 Libelium Comunicaciones Distribuidas S.L.
germanviscuso / sendInitialState.js
Last active May 17, 2016
Function for Kii server extension to send events to (Note: object must have flat properties, no nesting supported)
View sendInitialState.js
function sendInitialState(accessKey, bucketKey, kiiObject, workerCallback, doneCallback) {
var targetUrl = "";
var customInfo;
$.each(kiiObject, function(key, val){
if(key == "_customInfo")
customInfo = val;
if (!customInfo) {
var error = "Error: can't retrieve thing custom data for visualization";
germanviscuso / sendDweet.js
Last active May 17, 2016
Functions to send a via a Kii server extension (useful for connecting to Freeboard)
View sendDweet.js
function createDweetFromKiiObject(thingid, kiiObject, dweetKey, workerCallback, doneCallback) {
var string = null;
$.each(kiiObject, function(key, val){
if(key == "_customInfo")
string = JSON.stringify(val);
if (string == null){
console.log("Error: can't retrieve thing custom data for dweeting");
if(doneCallback) doneCallback("Dweet error");
germanviscuso / index.js
Created Jul 6, 2016
Parking sensor to Kii snippet (node.js)
View index.js
const raspi = require('raspi'); // Raspberry Pi GPIO library
const Serial = require('raspi-serial').Serial; // Raspberry Pi UART library
const thingNode = require('thing-node'); // Kii node.js library
const dissolve = require("dissolve"); // binary stream parser
const appId = '<REPLACE_WITH_KII_APP_ID>';
const appKey = '<REPLACE_KII_APP_KEY>';
const appSite = 'US';
const vendorThingId = 'ParkingSensor_1';
const thingPassword = '<CHOOSE_PASSWORD_AND_REPLACE_HERE>';
germanviscuso /
Last active Apr 27, 2018
Mirror/Sync Github Organization Repos locally
# Clone all org repos (via ssh)
curl -s<organization>/repos?per_page=200 | python -c $'import json, sys, os\nfor repo in json.load(sys.stdin): os.system("git clone " + repo["ssh_url"])'
# Later pull from each repo
back=`pwd`; for d in `find . -type d -name .git` ; do cd "$d/.."; git pull origin; cd $back ; done
find . -name .git -type d \
| xargs -n1 -P4 -I% git --git-dir=% --work-tree=%/.. remote update -p
germanviscuso / templates.json
Last active Oct 1, 2018
Templates to clone Alexa skills via ASK-CLI with "ask new --template --url"
View templates.json
"Number Guessing Game": {
"gitUrl": "",
"description": "The number guessing game is a game where the player tries to guess the target number."
"My Calculator": {
"gitUrl": "",
"description": "Basic calculator skill (es-ES)."
germanviscuso / en-US.json
Last active Jul 30, 2019
Alexa Skill Basics: Intent Confirmation in Dialogue Management
View en-US.json
"interactionModel": {
"languageModel": {
"invocationName": "intent confirmation",
"intents": [
"name": "AMAZON.CancelIntent",
"samples": []