Skip to content

Instantly share code, notes, and snippets.

View freaktechnik's full-sized avatar
🚞
I like trains

Martin Giger freaktechnik

🚞
I like trains
View GitHub Profile
const { Thing: WebThing, Property, Value, WebThingServer, MultipleThings, Action } = require("webthing");
const express = require("express");
const path = require("path");
const internalIp = require("internal-ip");
const uuid = require("uuid/v4");
const activeThings = [];
internalIp.v4().then((ip) => {
console.log(ip);
class APIResponse<T> {
T payload;
}
class Response {
LanguageList items;
}
class LanguageList {
ItemClass[] en;
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
this.EXPORTED_SYMBOLS = [ 'ConversationStatusUtils' ];
const {Services} = ChromeUtils.import("resource:///modules/imServices.jsm");
const CHAT_TAB_HIDDEN_TOPIC = "chat-tab-hidden";
const CHAT_TAB_SHOWN_TOPIC = "chat-tab-shown";
  1. HTML/DOM tree structure (nodes, elements, parent/child)
  2. Roots and the document root
  3. Anatomy of a document
  4. CSS selectors and specifity
  5. Cascade order
  6. Block model -> blocks don't belong into inlines and how the block model layout works (block direction, inline direction)
  7. Other display models and how there's an inner and outer display mode
  8. Overlaps (earlier HTML draws on top of later html, child is above parent)
  9. non-static positioning
  10. Semantics
@freaktechnik
freaktechnik / openpgp.txt
Created November 23, 2018 13:22
OpenKeychain Linked Identity
This Gist confirms the Linked Identity in my OpenPGP key, and links it to this GitHub account.
Token for proof:
[Verifying my OpenPGP key: openpgp4fpr:89346d522a2c190eeb959f52ae530058efe7fd60]
class PollEndpoint {
constructor(aOpts = {}) {
this.poll = aOpts.poll;
this.state = Object.assign({
isVisible: false, // timeline visibility (as in, are individual tweets visible)
isFocused: false, // IM tab focus
rateLimit: Infinity,
remaining: Infinity,
resetTime: Infinity,
requestsPerPoll: 1,
render() {
if(this.props.clip) {
return (<Clip .../>);
}
else {
return (<Loader/>);
}
}
browser.tabs.query({windowId: myWindowId, active: true})
.then((tabs) => {
for (let pane in panel.content){panel.content[pane].textContent = "";}
for (let pane in panel.info){panel.info[pane].textContent = "";}
return Promise.all([tabs[0].url, browser.storage.local.get(tabs[0].url)]);
})
.then(([ tabURL, storedInfo ]) => {
debugger;

This is the extension of the extension of the extended protocol guide for the Logitech Harmony XMPP protocol, so here goes:

(the first protocol guide )

Get Hue Lights

<iq type="get" id="YourRequestID">
  <oa xmlns="connect.logitech.com" mime="vnd.logitech.harmony/vnd.logitech.harmony.automation?getState"/>
</iq>
// ==UserScript==
// @name FFZ Twitchbots
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Mark more users as bots in chat
// @author Martin Giger
// @match https://www.twitch.tv/*
// @grant none
// ==/UserScript==