Skip to content

Instantly share code, notes, and snippets.

View anderser's full-sized avatar

Anders Eriksen anderser

View GitHub Profile
@anderser
anderser / card.yaml
Created September 18, 2022 17:23
Count lights on Home Assistant mushroom card
type: custom:mushroom-template-card
primary: >-
{% if (states.light | selectattr('state', 'eq', 'on') | list | count |float) >
0 %}
{{ states.light | selectattr('state', 'eq', 'on') | list | count }} lys på
{% else %}
@anderser
anderser / airband.sh
Last active June 5, 2021 09:22
RTL SDR Airband
#lsusbto find path, lsusb -v to find serial
#Tower weather report
docker run --rm --name rtlsdr-airband -p 8000:8000 -e RTLSDRAIRBAND_FREQS=125.25 -e RTLSDRAIRBAND_SERIAL=00000001 --device /dev/bus/usb:/dev/bus/usb fredclausen/rtlsdrairband
#VHF 16 og sea traffic coord center
docker run --rm --name rtlsdr-airband -p 8000:8000 -e RTLSDRAIRBAND_FREQS=156.8,157.025,151.625,156.575 -e LOG_SCAN_ACTIVITY=true -e RTLSDRAIRBAND_SERIAL=00000001 -e RTLSDRAIRBAND_MODE=scan -e RTLSDRAIRBAND_SHOWMETADATA=true -e RTLSDRAIRBAND_NAME=VHF16_Fedje -e RTLSDRAIRBAND_GENRE=VHF --device /dev/bus/usb:/dev/bus/usb fredclausen/rtlsdrairband
{
trafficData(trafficRegistrationPointId: "72220V805744") {
trafficRegistrationPoint {
id,
name,
direction {
from,
to,
}
},
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@anderser
anderser / abovefold.scss
Last active June 8, 2017 12:05 — forked from dlmr/main.html
Above fold style tag (css) using roc webapp react
body {
background-color: red;
}
@anderser
anderser / boatswithin.sql
Created January 6, 2017 08:57
Båter ved oppdrettslokasjon på distinkte datoer (innenfor 200m)
WITH ais AS
(SELECT *
FROM aisdata.bronnbaater_resampled_min_lowspeed),
lokaliteter AS
(SELECT *
FROM fishandfjord.fiskeridir_alle_lokaliteter
WHERE loknr = '11763')
SELECT truncdate,
loknr,
lokalitet,
@anderser
anderser / pipeline.md
Created April 12, 2016 18:53
A sample pipeline/DAG for Airflow
  1. Fetch some json/XML file from an external API
  2. Store the file on S3 (as a backup) with a file name with a i.e. a timestamp. Pass the filename on to next task
  3. Read the json/xml from S3 and into some table structure (pandas, agate etc) and change field types etc.
  4. Store the table in a postgres database in a temp table
  5. Compare the temp table to a "main" table and see if there are changes (some SQL diff). Find out which records have to be added/removed/updated in the "main" table.
  6. If nothing has changed, abort everything. If it has, pass on which records are new, deleted and updated.
  7. a) insert new records in main table, alert newsroom on slack of new items.b) delete items in main table not in temp-table. Alert via slack. c) Update records in main table, alert via slack
  8. The end
@anderser
anderser / mydag.py
Created April 11, 2016 19:08
Error in Airflow DAG
from __future__ import print_function
from builtins import range
from airflow.operators import PythonOperator, PostgresOperator, DummyOperator
from airflow.models import DAG
from datetime import datetime, timedelta
import time
from pprint import pprint
seven_days_ago = datetime.combine(
@anderser
anderser / streaks.py
Last active January 19, 2016 20:32
Agate compute method to generate streaks of consecutive values in a dataset. WIP
import agate
class Streaks(agate.Computation):
"""
Computes the streaks of consecutive values in a column.
Each streak will be given an increasing
integer value so that you can group by this later to
find longest consecutive streak.
"""
@anderser
anderser / run_sql.js
Created November 13, 2015 19:29
Small node command line script to run SQL against postgres and/or CartoDB API
#!/usr/bin/env node
'use strict';
var dir = require('node-dir');
var fs = require('fs');
var http = require('http');
var _ = require('lodash');
var CartoDB = require('cartodb');
var pg = require('pg');