Skip to content

Instantly share code, notes, and snippets.

View peterpme's full-sized avatar
🏠
Working from home

Peter Piekarczyk peterpme

🏠
Working from home
View GitHub Profile
@peterpme
peterpme / testgist.ts
Created September 21, 2021 15:36
TestGist.ts
function hello() {
console.log("hi");
}
@peterpme
peterpme / home-assistant-os-kvm-linux.sh
Last active March 17, 2023 22:10
Home Assistant OS with Ubuntu 20.04 (Linux) using KVM and Nortek USB for Z-Wave / ZHA
## Home Assistant OS (Latest as of July 17th, 2021)
## Installation using Ubuntu 20.04 Server and KVM
## Thanks to:
# https://gist.github.com/dsbaars/82a31303f50da08edb422fdc15031257
# https://community.home-assistant.io/t/install-home-assistant-os-with-kvm-on-ubuntu-headless-cli-only/254941
# /var/lib/libvirt/images/hassos-vm
## Everything lives here
mkdir -vp /var/lib/libvirt/images/hassos-vm && cd /var/lib/libvirt/images/hassos-vm
@peterpme
peterpme / ReactColor.re
Last active October 20, 2020 18:13
React-Color ReasonML Binding
open BsTinycolor;
open Belt;
type colorChange = {
.
"hex": string,
"hsl": TinyColor.hsl,
"hsv": TinyColor.hsv,
"oldHue": float,
"rgb": TinyColor.rgb,
@peterpme
peterpme / fbd.zsh
Created July 30, 2020 04:09
Interactive git branch delete
# fbd - delete git branch (including remote branches)
fbd() {
local branches branch
branches=$(git for-each-ref --count=30 --sort=-committerdate refs/heads/ --format="%(refname:short)") &&
branch=$(echo "$branches" | fzf --multi ) &&
git branch -D $(echo "$branch" | sed "s/.* //" | sed "s#remotes/[^/]*/##")
}
## place this in your ~/.zshrc and make sure you have fzf installed: brew install fzf
@peterpme
peterpme / PatternMatching.re
Created May 13, 2020 23:18
ReasonML Pattern Matching
type action = Toggle | Close | Edit;
let reducer = switch(action) {
| Toggle => "toggle visibility"
| Close => "close me"
| Edit => "edit function"
};
let (result) = useQuery(ComponentList.definition);
switch(result) {
| Loading => <LoadingSpinner />
| Error(err) => <ErrorMessage message={err##message} />
| Data(data) => {
switch(data##componentsList) {
| None => []
| Some(components) => components->Belt.Array.map(component => <div> component##value </span>
}
@peterpme
peterpme / InteriorLayout.re
Created December 13, 2018 15:55
ReasonReact render props
[@genType]
let make = (~render, ~children) => {
...component,
render: _self =>
<div className="InteriorLayout">
{render()}
</div>,
};
@peterpme
peterpme / Broken-Navigator.bs.js
Last active October 26, 2018 16:38
Using match_, match in Reason Bug. `Broken-` prefix console.log(match) = undefined
// Generated by BUCKLESCRIPT VERSION 4.0.5, PLEASE EDIT WITH CARE
import * as React from 'react'
import * as ReasonReact from 'reason-react/src/ReasonReact.js'
require('./Navigator.css')
var component = ReasonReact.statelessComponent('Navigator')
function make(history, match__, _) {
@peterpme
peterpme / black-bg.js
Created September 14, 2018 02:09
black-bg
document.body.style.backgroundColor = 'black'
@peterpme
peterpme / withLoadingScreen-4.js
Created April 23, 2018 13:47
Loading Screen with Naming
import * as React from "react";
import hoistNonReactStatics from 'hoist-non-react-statics';
import { View, ActivityIndicator } from "react-native";
const withLoadingScreen = (size = "small") => WrappedComponent => {
class LoadingScreen extends React.PureComponent {
render() {
if (this.props.loading) return <ActivityIndicator size={size} color="white" />
return <WrappedComponent {...this.props} />;
}