Skip to content

Instantly share code, notes, and snippets.

@jsejcksn
jsejcksn / generate-element.js
Last active January 30, 2019 09:16
A function for creating an element with its content and attributes
'use strict';
function genEl (tagName, attributes, ...childNodes) {
const el = document.createElement(tagName);
if (attributes) {
for (const [prop, value] of Object.entries(attributes)) {
if (prop === 'style' && (Array.isArray(value) || value instanceof Map)) {
for (const declaration of value) {
el.style.setProperty(...declaration);
}
@jsejcksn
jsejcksn / autoresize-textarea.js
Last active January 19, 2019 23:54
Auto-resize textarea
for (const tx of document.getElementsByTagName('textarea')) {
tx.style.setProperty('height', `${tx.scrollHeight}px`);
tx.style.setProperty('overflow-y', 'hidden');
tx.addEventListener('input', (ev) => {
ev.target.style.setProperty('height', 'auto');
ev.target.style.setProperty('height', `${ev.target.scrollHeight}px`);
});
}
@jsejcksn
jsejcksn / gcp-tabs.json
Last active July 12, 2018 00:25
Is there a better way?
{
"tabs": [
"https://davesteele.github.io/raspberrypi/2016/04/23/raspberry-pi-cloudprint/",
"https://samhobbs.co.uk/2014/07/raspberry-pi-print-scanner-server",
"https://www.openprinting.org/printer/Epson/Epson-NX420_Series",
"https://github.com/google/cloud-print-connector/wiki/Installing-on-Raspberry-Pi-Raspbian-Jessie",
"https://github.com/google/cloud-print-connector/wiki"
]
}
@jsejcksn
jsejcksn / bookmarklet-filterYTMusic.js
Last active June 9, 2018 23:30
Display only YouTube Music items in My Activity
javascript:(()=>{'use strict';const items={cards:{all:document.querySelectorAll('div.fp-display-item-holder')},titles:{all:document.querySelectorAll('div.fp-display-item-title'),notMusic:[]}};for(let i=0;i<items.titles.all.length;i++){if(items.titles.all[i].textContent.trim()!=='YouTube Music'){items.titles.notMusic.push(items.titles.all[i]);}};for(let i=0;i<items.cards.all.length;i++){for(let j=0;j<items.titles.notMusic.length;j++){if(items.cards.all[i].contains(items.titles.notMusic[j])){items.cards.all[i].remove();}}};let s=document.createElement('style');s.textContent='div.fp-date-block-overflow {display:none}';document.head.appendChild(s);})();
@jsejcksn
jsejcksn / normalize.css
Last active June 4, 2018 02:41
normalize.css modifications
/*! Modifications to normalize */
*,
*::before,
*::after {
border: 0;
box-sizing: inherit;
font-weight: normal;
margin: 0;
padding: 0;
@jsejcksn
jsejcksn / noloc
Created April 26, 2018 03:23
Remove location/gps info from videos using ffmpeg
ffmpeg -i input.mov -map 0 -map_metadata -1 -c copy output-noloc.mov
const console = {
log: (msg) => {
const para = document.createElement('p');
para.insertAdjacentHTML('beforeend', msg);
document.body.insertAdjacentElement('beforeend', para);
}
};
const space = ' ';
const empty = '';
@jsejcksn
jsejcksn / bugs-in-ios_10-and-macos_10_12.md
Last active September 22, 2016 20:57
A community documentation of the bugs in Apple's most recent OS updates

Bugs in iOS 10 and macOS 10.12

iOS 10

Lock screen

  1. Prevalence of app notifications in lower left. "Show on lock screen" setting.

Messages

@jsejcksn
jsejcksn / keybase.md
Created July 6, 2016 06:17
Keybase proof

Keybase proof

I hereby claim:

  • I am jsejcksn on github.
  • I am jsejcksn (https://keybase.io/jsejcksn) on keybase.
  • I have a public key ASB739GbX4WBeJ10T0Wq09-aLj8ZgCjOzpgEy6J8BFYKKAo

To claim this, I am signing this object:

<!doctype html>
<html lang="en">
<head itemscope itemtype="http://schema.org/Product">
<meta charset="utf-8">
<META HTTP-EQUIV="Expires" content="Wed, 06 Jul 2015 06:06:06 GMT"/>
<meta itemprop="name" content="Noizio – your subtle companion!">
<meta itemprop="description" content="Noizio is the minimalistic background sound equalizer for Mac OS X, that will increase your working productivity or ability to relax.">
<meta itemprop="image" content="www.noiz.io">