Skip to content

Instantly share code, notes, and snippets.

View botic's full-sized avatar
👔
working for @orfon and @diehauswirtschaft

Philipp Naderer-Puiu botic

👔
working for @orfon and @diehauswirtschaft
View GitHub Profile
@botic
botic / resetResults.js
Created November 8, 2016 14:56
RingoJS simple demo script
const fs = require("fs");
const content = JSON.parse(fs.read(module.resolve("./result.json")));
content.filter(function(result) {
return (result.gkz >= 30000 && result.gkz < 40000) || result.gkz >= 90000;
}).map(function(result) {
result.metadatas[0].current.cast = 0;
result.metadatas[0].current.valid = 0;
result.metadatas[0].current.invalid = 0;
@botic
botic / wlapi.txt
Created November 7, 2016 09:05
Wiener Linien API
7 Nov 2016 10:04:49,650 ERROR [ringo-worker-8] - No data found for line: {
"name": "U2",
"towards": "KARLSPLATZ NÄCHSTER ZUG 6 MIN",
"direction": "H",
"platform": "1",
"richtungsId": "1",
"barrierFree": false,
"realtimeSupported": true,
"trafficjam": false,
"departures": {
@botic
botic / rbl.txt
Created November 6, 2016 18:47
Wiener Linien RBL Seestadt
227648899 215096034 219364361 H 7 3359 0 84A-H 482.247.140.534.975 165.015.487.127.165
227648914 215096034 219364361 R 2 3363 0 84A-R 482.247.679.155.345 165.014.768.474.938
215095677 214433689 214550392 H 1 4277 1 U2-H 482.261.144.480.371 165.084.118.414.872
215095740 214433689 214550392 R 20 4276 1 U2-R 482.261.324.015.644 165.083.309.931.116
215096917 214433943 214550392 H 1 3319 2 88A-H 482.253.963.017.775 165.083.130.268.059
215096947 214433943 214550392 R 9 3319 2 88A-R 482.253.723.633.953 1.650.842.082.464
226923113 215096144 214550392 H 1 3319 2 88A-H 482.253.963.017.775 165.083.130.268.059
226923154 215096144 214550392 R 13 3319 2 88A-R 482.253.723.633.953 1.650.842.082.464
227648900 215096034 214550392 H 8 3365 2 84A 482.253.005.481.815 165.082.231.952.775
http://wahltube.orf.at/bpw16stichwahl/0.json
http://wahltube.orf.at/bpw16stichwahl/10000.json
http://wahltube.orf.at/bpw16stichwahl/10100.json
http://wahltube.orf.at/bpw16stichwahl/10200.json
http://wahltube.orf.at/bpw16stichwahl/10300.json
http://wahltube.orf.at/bpw16stichwahl/10400.json
http://wahltube.orf.at/bpw16stichwahl/10500.json
http://wahltube.orf.at/bpw16stichwahl/10600.json
http://wahltube.orf.at/bpw16stichwahl/10700.json
http://wahltube.orf.at/bpw16stichwahl/10800.json
@botic
botic / converter.js
Last active September 6, 2016 15:44
GKZ auf PLZ Mapping
const fs = require("fs");
const gkz2plz = require("./gkz-plz.json");
const plz2gkz = {};
for (let gkz in gkz2plz) {
gkz2plz[gkz].forEach(function(plz) {
if (Array.isArray(plz2gkz[plz])) {
plz2gkz[plz].push(gkz);
plz2gkz[plz] = plz2gkz[plz].filter(function(item, pos, self) {
@botic
botic / devserver.js
Last active June 23, 2016 13:03
Single Page App Devserver
"use strict";
const config = require("./config/development");
const fs = require("fs");
const strings = require("ringo/utils/strings");
const response = require("ringo/jsgi/response");
// look for asset directories
const assetDirs = fs.list("./dist").filter(function(path) {
@botic
botic / jfcalc.js
Created May 17, 2016 21:12
JF Calculator
const dates = require("ringo/utils/dates");
const dayToFind = "Mon";
for (let i = 5; i < 12; i++) {
let dom = new Date(2016, i, 1);
while(dates.format(dom, "EEE", java.util.Locale.US) !== dayToFind) {
dom = dates.add(dom, 1, "day");
}
@botic
botic / jsonParser.js
Created April 27, 2016 13:37
RingoJS JSON Parser / Optimizer
const fs = require("fs");
fs.list(".").filter(function(file) {
return (file.indexOf(".json") > 0)
}).map(function(file) {
return {
path: file,
content: fs.read(file)
};
}).map(function(vinyl) {
  • Safari und Chrome brauchen crossorigin="anonymous" im Video-Element, um das VTT von einer anderen Domain zu laden; hat aber die Konsequenz, dass das Poster-Image und das MPEG4 zusätzlich zum VTT auch CORS-Header bräuchte; auch IE funktioniert nicht Cross-Origin.
  • Firefox hat in den Default-Controls keinen Button. Um Captions hardcoded anzuzeigen, muss man per JavaScript aktivieren: videoElement.textTracks[0].mode="showing".
  • IE11 braucht korrekten MIME-Type text/vtt für die Untertitel-Files, sonst ignoriert er die WebVTT-Dateien.
/root/letsencrypt/letsencrypt-auto renew
# convert certificate chain + private key to the PKCS#12 file format
openssl pkcs12 -export -out /etc/letsencrypt/live/serverA.example.org/keystore.pkcs12 -in /etc/letsencrypt/live/serverA.example.org/fullchain.pem -inkey /etc/letsencrypt/live/serverA.example.org/privkey.pem -passout pass:supersecret -name "serverA.example.org"
openssl pkcs12 -export -out /etc/letsencrypt/live/serverB.example.org/keystore.pkcs12 -in /etc/letsencrypt/live/serverB.example.org/fullchain.pem -inkey /etc/letsencrypt/live/serverB.example.org/privkey.pem -passout pass:supersecret -name "serverB.example.org"
# convert PKCS#12 file into Java keystore format
keytool -importkeystore -srckeystore /etc/letsencrypt/live/serverA.example.org/keystore.pkcs12 -srcstoretype PKCS12 -destkeystore /etc/letsencrypt/live/serverA.example.org/keystore.jks -storepass supersecret -srcstorepass supersecret -srcalias "serverA.example.org" -destalias "serverA.example.org" -noprompt
keytool -importkeystore -srckeys