Skip to content

Instantly share code, notes, and snippets.

View kosso's full-sized avatar

Kosso kosso

View GitHub Profile
Setting Up A Localhost Self-signed Certificate For Local Https Development
==========================================================================
- GENERATE THE CERTIFICATE
# 1. generate key
- create an 'ssl' folder somewhere
- cd to it
@kosso
kosso / INDYZAP
Last active November 19, 2019 11:08
A BOOKMARKET TO MAKE THE INDEPENDENT NEWS WEBSITE MORE USER-RESPECTFUL
javascript:(function(){function R(w){try{var d=w.document,j,i,t,T,N,b,r=1,C;for(j=0;t=["video","amp-brightcove","figure","object","embed","applet","iframe"][j];++j){T=d.getElementsByTagName(t);for(i=T.length-1;(i+1)&&(N=T[i]);--i)if(j!=3||!R((C=N.contentWindow)?C:N.contentDocument.defaultView)){b=d.createElement("div");b.style.width=N.width; b.style.height=N.height;b.innerHTML="<del>"+(j==3?"third-party "+t:t)+"</del>";N.parentNode.replaceChild(b,N);}}}catch(E){r=0}return r}R(self);var i,x;for(i=0;x=frames[i];++i)R(x)})()
/////
Copy the line of code above and and set it to the URL value of a browser bookmark.
It should remove the annoying video at the top of the articles when you click it (not automatic).
// see: https://medium.com/reactnative/emojis-in-javascript-f693d0eb79fb
// http://www.2ality.com/2013/09/javascript-unicode.html
function toUTF16(codePoint) {
var TEN_BITS = parseInt('1111111111', 2);
function u(codeUnit) {
return '\\u'+codeUnit.toString(16).toUpperCase();
}
if (codePoint <= 0xFFFF) {
return u(codePoint);
@kosso
kosso / manifest.plist example
Last active June 15, 2019 13:03
Special file for self-hosting internal .ipa installers
/*
On a web page, you can then use a link like this to start the download/install process:
<a href="itms-services://?action=download-manifest&amp;url=https://[YOUR_SECURE_URL_TO]/manifest.plist"> INSTALL THE APP </a>
DELETE ALL ABOVE THIS */
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@kosso
kosso / RollerLEDWand.ino
Created November 25, 2018 17:26
Initial PoC sketch to 'write' words with LEDs while rolling a rotary encoder.
#define ENCODER_DO_NOT_USE_INTERRUPTS
#include <Encoder.h>
Encoder myEnc(12, 13);
#define ENC_SW 14 // Encoder Switch
long newapos = 0;
long lastapos = 0;
unsigned char words[]={
/*
orginal code via:
* Copyright (c) 2017 pcbreflux. All Rights Reserved.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful, but
@kosso
kosso / ESP32_timers_pulses_experiment.ino
Created March 24, 2018 15:16
Experimental code to use two timers to create and control two fast pulses for eventual use with stepper motor drivers.
// Trying and dynamically set, start and stop the timers.
// so we can set the pulse delay at that point, rather than within the timer ISR
#include <Arduino.h>
// ESP32 Registers
// https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf
// Serial Tests and Timers
// type '1go' or '2go' in Serial monitor to start 10us timer counter.
#include <BLEDevice.h>
#include <BLEServer.h>
#include <BLEUtils.h>
#include <BLE2902.h>
#include <esp_heap_caps.h>
#include <esp_heap_trace.h>
BLECharacteristic *pCharacteristic;
bool deviceConnected = false;
@kosso
kosso / background_demo.js
Created March 12, 2011 17:55
Background Service notification for Titanium
/* Kosso : March 12th 2011
This the only way I managed to do this without the app crashing on resume.
Done slightly differently to the KS example, since they unregister the service and
do not use a setInterval timer.
*/
//############ in app.js :
// test for iOS 4+
@kosso
kosso / strip_tags.html
Created December 12, 2017 14:33
Extract text only from HTML
<html>
<head>
<script>
function strip_tags (str, allowed_tags) {
// via http://kevin.vanzonneveld.net
var key = '', allowed = false;
var matches = [];