Skip to content

Instantly share code, notes, and snippets.

@karl-gustav
karl-gustav / server.go
Created January 31, 2018 13:56
Golang with letsencrypt https and http-->https redirect
package main
import (
"crypto/tls"
"net/http"
"golang.org/x/crypto/acme/autocert"
)
func main() {
@karl-gustav
karl-gustav / ssh_tunnel.txt
Created January 31, 2018 18:08
SSH tunnel How-To
ssh -f <server> -L <port on source machine>:<ip/address on target network>:<port on target network> -N
Example:
ssh -f home -L 8001:10.0.0.1:80 -N
@karl-gustav
karl-gustav / apiActions.js
Created February 7, 2018 07:17
Wunderlist new tab "hack" to not show tasks assigned to somebody else (set YOUR_ID to the assignee_id of your user)
(function () {
var WL = window.WL;
var WB = wunderbits.core;
var WBDeferred = WB.WBDeferred;
var when = WB.lib.when;
WL.apiActions = {
'init': function (sdkInstance) {
@karl-gustav
karl-gustav / org_number_validator.js
Last active March 9, 2018 11:03
validate if number is valid Norwegian organisation number
function isOrgNumberValid(orgNumber) {
if (orgNumber.toString().length != 9) {
return false;
}
const wheightNumbers = [3, 2, 7, 6, 5, 4, 3, 2];
const orgNumbers = orgNumber.toString().split('');
const controlDigit = orgNumbers[orgNumbers.length - 1]
const result = wheightNumbers.map((n, i) => n * orgNumbers[i]).reduce((a, b) => a+b, 0)
const rest = result % 11;
return +controlDigit === rest;
@karl-gustav
karl-gustav / serial.example.go
Created April 6, 2018 18:10
Read /dev/ttyUSB0 (HAN Meterbus port)
package main
import (
"flag"
"io"
"log"
"time"
"github.com/goburrow/serial"
)
@karl-gustav
karl-gustav / interfaces
Last active April 27, 2018 11:24
Put this into /etc/network/interfaces to have fixed IP in linux
auto lo
iface lo inet loopback
# Uncomment this to use DHCP
# auto eth0
# iface eth0 inet dhcp
auto eth0
iface eth0 inet static
address 10.0.0.5
@karl-gustav
karl-gustav / build.sh
Created April 30, 2018 12:45
build script for golang --> raspberry pi
#! /bin/bash
tar czf - brain.new brain.service | ssh smart 'tar xzf - -C /srv/brain/ && ( mv /srv/brain/brain{,.old} ; mv /srv/brain/brain{.new,} ) && systemctl daemon-reload && service brain restart'
@karl-gustav
karl-gustav / deploy.sh
Created April 30, 2018 12:46
deploy script for golang --> raspberry pi
#! /bin/bash
tar czf - brain.new brain.service | ssh smart 'tar xzf - -C /srv/brain/ && ( mv /srv/brain/brain{,.old} ; mv /srv/brain/brain{.new,} ) && systemctl daemon-reload && service brain restart'
@karl-gustav
karl-gustav / flattenArray.js
Created May 3, 2018 10:26
.reduce() alternative to .flatMap()
const flattenArray = (x, y) => (x || []).concat(y);
// Usage:
[[1,2],[3],[4]].reduce(flattenArray);
// Or:
[[1,2],[3],[4]].reduce((x, y) => (x || []).concat(y));
@karl-gustav
karl-gustav / vue.html
Created May 4, 2018 07:46
vue hello world
<html>
<head></head>
<body>
<section id="app">
<p>{{message}}</p>
<input v-model="message">
</section>
<script src="https://unpkg.com/vue"></script>
<script>
new Vue({