Skip to content

Instantly share code, notes, and snippets.

View offlinehacker's full-sized avatar
🤓
deploying awesomeness

Jaka Hudoklin offlinehacker

🤓
deploying awesomeness
View GitHub Profile
@offlinehacker
offlinehacker / certs.nix
Last active May 1, 2024 08:50
Kubernetes nixops deployment
{
pkgs ? import <nixpkgs> {},
internalDomain ? "cluster.local",
externalDomain ? "<domain_name>",
serviceClusterIp ? "10.0.0.1"
}:
let
runWithCFSSL = name: cmd:
builtins.fromJSON (builtins.readFile (
pkgs.runCommand "${name}-cfss.json" {
@offlinehacker
offlinehacker / ubuntu-dev
Created September 8, 2023 14:37
Ubuntu dev lxc profile with cloud-init
config:
user.user-data: |
#cloud-config
package_upgrade: true
packages:
- vim
- nano
- git
- curl
- wget
@offlinehacker
offlinehacker / automerge.go
Created May 21, 2023 08:39
Automerge golang example
package main
import (
"fmt"
"time"
"github.com/automerge/automerge-go"
)
type S struct {
[wsl2]
kernel=C:\\Users\\JAKA\\vmlinux
@offlinehacker
offlinehacker / rxdb-external-attachments-storage.ts
Created July 11, 2022 14:28
RxDB plugin to allow storage of attachments in external storage
import {
BulkWriteRow,
EventBulk,
RxAttachmentData,
RxAttachmentWriteData,
RxDocumentData,
RxDocumentDataById,
RxJsonSchema,
RxStorage,
RxStorageBulkWriteResponse,
@offlinehacker
offlinehacker / divide.py
Last active March 19, 2022 19:04
Devides list in all posible sublists, without repetitions
from itertools import combinations
def divide(l, p={}):
for v in (j for i in xrange(1, len(l) + 1) for j in combinations(l, i)):
r = tuple(set(l) - set(v))
for s in devide(r):
t = (v,) + (s if s else tuple())
if frozenset(t) in p: continue
else: yield t; p[frozenset(t)] = True
@offlinehacker
offlinehacker / dom.ts
Last active March 9, 2022 15:43
DOM functions
export const getScrollParent = (node?: Element | null): Element | null => {
if (node == null) {
return null;
}
if (node.scrollHeight > node.clientHeight) {
return node;
} else {
return getScrollParent(asElement(node.parentNode));
}
@offlinehacker
offlinehacker / multipass-docker.yml
Created March 2, 2022 11:52
Multipass cloud config to create VM with docker installed
#cloud-config
groups:
- docker
users:
- name: ubuntu
sudo: ALL=(ALL) NOPASSWD:ALL
groups: users,docker,admin
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDwB83EYt+55hfu6SzIFKrZ7E8Vli2NaZ5E1vgieFslSGJfJGECfrK8m26/5US/W+Rjfgi9VR0L1zY92eld92134mQQFiPeGWpU88iUVykNmm6B8iA6I/AlzPa+qeZaH5iteWvUxqApZ1s0nFnIVA9PI9+OSzEX/nDrWEiNMxc2H1L0GIf/OAzCEs8WllVSHSqA35wuXQBkPDF6d+SMtRe6tZ82BT5InSFmWVP+TBREV2/okrgEJSF9exD8myXKuPqe4pCZqVgiHMi1NpGs/sDack/yuOHVT+eMKVE23j4r5zhvkMS4Y4oEpj4v0V8DChZSniMvhvp9qxKMJJKwKDWn
@offlinehacker
offlinehacker / google_stt.py
Created June 14, 2013 07:35
Quick and dirty python implementation of client for google speech to text service using google speech stream API. It requires requests, pyaudio and pyflac to be installed. Don't forget to set your API key. Current limit seems to be around 5 minutes.
#!/usr/bin/python
import flac.encoder as encoder
import pyaudio
import sys
import requests
import random
from threading import Thread
from Queue import Queue, Empty
@offlinehacker
offlinehacker / devcontainer.sh
Created December 1, 2021 14:28
Devcontainer env probe
#!/bin/bash
[[ $ENVRC_RUN != yes ]] && source /etc/envrc
# whether running via vscode env probe
if shopt -q login_shell && [[ "$BASH_EXECUTION_STRING" =~ $HOME/.vscode-server/bin/.*/node ]]; then
old_bash_path="$(which bash)"
if [ ! -z "${ENV_PRINT_COMMAND}" ]; then
cd "${WORKSPACE_DIR}"