Skip to content

Instantly share code, notes, and snippets.

View knoopx's full-sized avatar

Víctor Martínez knoopx

View GitHub Profile
@knoopx
knoopx / decorate-class-autobind.js
Created September 1, 2016 22:49
jscodeshift decorate autobind
export default (file, api) => {
const j = api.jscodeshift
const root = j(file.source)
if (root.find(j.ExportDefaultDeclaration).get().value.declaration.decorators.map(n => n.expression.name).indexOf("autobind") >= 0) { return null }
root.get().value.program.body.splice(1, 0, j.importDeclaration([j.importSpecifier(j.identifier('autobind'))], j.literal('core-decorators')))
root.find(j.ExportDefaultDeclaration).get().value.declaration.decorators.push(j.decorator(j.identifier('autobind')))
return root.toSource()
}
@knoopx
knoopx / gist:8d7fcfc8f2f556d4e4fb1b4bbd193034
Last active August 9, 2017 12:06
chrome headless pdf generation
const fs = require('fs')
const CDP = require('chrome-remote-interface')
async function waitForNode(client, selector, waitTimeout) {
const { Runtime } = client
const getNode = selector => document.querySelector(selector)
const result = await Runtime.evaluate({
expression: `(${getNode})(\`${selector}\`)`,
})
@knoopx
knoopx / tachyons-to-tailwind-transform.js
Last active August 17, 2023 13:51
Transform tachyons classes to tailwind css (using babel-codemod)
// Installation:
// yarn add -D @codemod/cli @babel/plugin-syntax-jsx @babel/generator
import jsx from "@babel/plugin-syntax-jsx"
import generate from "@babel/generator"
const COLOR_MAP = {
"white": "white",
"near-white": "gray-100",
"light-gray": "gray-200",
@knoopx
knoopx / shairport.sync.plist
Last active April 7, 2018 16:59
shairport sync launchd (copy to ~/Library/LaunchAgents)
<?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">
<plist version="1.0">
<dict>
<key>Label</key>
<string>shairport.sync</string>
<key>Program</key>
<string>/usr/local/bin/shairport-sync</string>
<key>ProgramArguments</key>
<array>
@knoopx
knoopx / README.md
Last active August 5, 2025 06:26
Creality Ender 3 Stock Factory Vref

Creality3D v1.1.2 stock vref values

A4988 Drivers
Vref set to ~90% of stepper rated current
Rs = 0.1ohm

X = 0,58v (0,725A)
Y = 0,58v (0,725A)
Z = 0,58v (0,725A)
/etc/X11/Xwrapper.config -> allowed_users=anybody
/usr/share/X11/xorg.conf.d/99-fbdev.conf
Section "Device"
Identifier "touchscreen"
Driver "fbdev"
Option "fbdev" "/dev/fb1"
EndSection
@knoopx
knoopx / setup.sh
Last active December 23, 2018 17:57
raspberry tft
# https://tutorials-raspberrypi.de/lcd-touch-display-teil-2-anpassungen/
# http://projectable.me/raspberry-pi-touchscreen-octoprint-controller/
sudo apt-get install xserver-xorg-video-fbturbo
git clone https://github.com/goodtft/LCD-show.git
LCD-show/LCD35-show 180
# fix framebuffer
@knoopx
knoopx / MaterialSettingsVisibilityHandler.py
Last active November 17, 2019 14:43
Cura Extended Material Profiles
# Copyright (c) 2017 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
import UM.Settings.Models.SettingVisibilityHandler
class MaterialSettingsVisibilityHandler(UM.Settings.Models.SettingVisibilityHandler.SettingVisibilityHandler):
def __init__(self, parent=None, *args, **kwargs):
super().__init__(parent=parent, *args, **kwargs)
@knoopx
knoopx / class-methods-to-arrow-function-props.js
Last active February 9, 2022 12:01
codemod - rewrite class methods as arrow function properties
const IGNORE = [
'constructor',
'componentDidMount',
'componentDidUpdate',
'componentWillReceiveProps',
'componentWillMount',
'componentWillUpdate',
'componentWillUnmount',
'getChildContext',
'getDefaultProps',
# generates random dates per row
update myjacoti_measurementsession set date_start = (select random_date() where myjacoti_measurementsession.uuid = myjacoti_measurementsession.uuid);