Skip to content

Instantly share code, notes, and snippets.

View cpq's full-sized avatar
🎭
Купатися чи не купатись?

Sergey Lyubka cpq

🎭
Купатися чи не купатись?
View GitHub Profile
@cpq
cpq / main.py
Created October 17, 2018 09:38
google iot <-> firebase cloud function
import base64
import json
import firebase_admin
from firebase_admin import db
firebase_admin.initialize_app(
credential=None,
options={'databaseURL' : 'https://YOUR_FIREBASE_DB_NAME.firebaseio.com'},
)
@cpq
cpq / minimal-preact-es3.html
Created October 13, 2018 14:51
Minimal es3 preact
<!DOCTYPE html>
<html class="h-100">
<head>
<title>Preact with JS3</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css">
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/preact"></script>
</head>
@cpq
cpq / preact-es3.html
Created September 30, 2018 18:06
Preact ES3
<!DOCTYPE html>
<html>
<head>
<title>Preact with JS3</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css">
<script src="https://unpkg.com/history/umd/history.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/preact"></script>
<script src="https://unpkg.com/preact-router"></script>
@cpq
cpq / preact-minimal.html
Created August 27, 2018 08:23
Minimal preact app without babel and JSX
<!DOCTYPE html>
<html>
<head>
<title>Preact without Babel or JSX</title>
</head>
<body>
<script src="https://unpkg.com/preact"></script>
<script>
@cpq
cpq / google-sheet.js
Created May 3, 2018 01:41
ble beacon logger
function doPost(e) {
try {
var obj = JSON.parse(e.postData.contents);
var doc = SpreadsheetApp.getActiveSpreadsheet();
var name = obj.id || 'DATA';
var sheet = doc.getSheetByName(name);
if (!sheet) {
doc.insertSheet(name);
sheet = doc.getSheetByName(name);
range = sheet.getRange("H1:Z1");
#!/bin/sh
DESTDIR=~/esp
IDF_PATH=$DESTDIR/esp-idf
sudo easy_install pip
sudo pip install pyserial
mkdir -p $DESTDIR
@cpq
cpq / uploader.js
Last active February 4, 2018 13:50
Google spreadsheet script for data uploading
// Example data upload:
// curl -L -H 'Content-Type: application/json' -d '{"id":"sheet1","names":["timestamp","ram"],"points":[[1,2],[3,4]]}' THIS_SCRIPT_URL
function doPost(e) {
try {
var obj = JSON.parse(e.postData.contents);
var doc = SpreadsheetApp.getActiveSpreadsheet();
var name = obj.id || 'DATA';
var sheet = doc.getSheetByName(name);
if (!sheet) {
doc.insertSheet(name);
@cpq
cpq / spinner.html
Created January 25, 2018 11:08
spinner button - bootstrap, fontawesome, jquery
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- jQuery first, then Tether, then Bootstrap JS. -->
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </script>
@cpq
cpq / btgw.json
Last active December 6, 2017 15:02
btgw
[
{
"name_pattern": "*",
"addr_pattern": "c2:*|01:*",
"actions": {
"00001530-1212-efde-1523-785feabcd123": {
"00001111-2222-3456-6543-785feabcd456": {
"notify": {
"dst": { "type": "http", "url": "http://127.0.0.1:1234/bt/${name}" }
},
@cpq
cpq / api_aws.js
Last active November 27, 2017 17:35
aws dispenser
let AWS = {
Shadow: {
_seth: ffi('void mgos_aws_shadow_set_state_handler_simple(int (*)(userdata, int, char *, char *, char *, char *), userdata)'),
_upd: ffi('int mgos_aws_shadow_update_simple(double, char *)'),
_scb: function(ud, ev, rep, des, rm, dm) {
rep = rep !== "" ? JSON.parse(rep) : {};
des = des !== "" ? JSON.parse(des) : {};
ud.cb(ud.ud, ev, rep, des, rm, dm);
},