Skip to content

Instantly share code, notes, and snippets.

@joenas
joenas / minetest@.service
Created Apr 10, 2017
Minetest systemd service for user
View minetest@.service
[Unit]
Description=Minetest server
After=syslog.target network.target
[Service]
Type=simple
Restart=on-failure
ExecStart=/usr/bin/minetest --server --world /home/minetest/.minetest/worlds/%i --gameid %i --config server.conf
[Install]
@joenas
joenas / parallel_spec_notifier.rb
Created Apr 19, 2017
OS X notifications with parallel_spec
View parallel_spec_notifier.rb
#!/usr/bin/env ruby
require 'terminal-notifier-guard'
path = ARGV[0] || 'spec'
output = `parallel_rspec #{path} -n 8 --nice`
num = output.scan(/(\d) failure/).flatten.map(&:to_i).inject(0, &:+)
meth = (num>0) ? :failed : :success
TerminalNotifier::Guard.send(meth, "#{num} failures", title: 'RSpec results')
$?.success?
@joenas
joenas / ghost_huginn_twitter.json
Created Aug 12, 2017
Huginn scenario to post new blog posts from Ghost to Twitter
View ghost_huginn_twitter.json
{
"schema_version": 1,
"name": "Ghost to Twitter",
"description": "Post your Ghost blog posts to Twitter",
"source_url": false,
"guid": "8b950438b4618fac9fbe5f400a32bafa",
"tag_fg_color": "#FFFFFF",
"tag_bg_color": "#5BC0DE",
"icon": "pencil",
"exported_at": "2017-08-12T13:31:40Z",
@joenas
joenas / matrix_synapse.nginx.conf
Last active May 14, 2021
Nginx example conf for Synapse matrix Homeserver
View matrix_synapse.nginx.conf
# vim: syntax=nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
@joenas
joenas / docker-compose.yaml
Last active Mar 26, 2022
Matrix docker-compose with Postgres and docker network
View docker-compose.yaml
### To use this file you need to run
### $ docker network create matrix-network
version: "2"
services:
postgres:
image: postgres:9.6.4
restart: always
# I like to be able to use psql on the host to connect to the database
View purge-remote.sh
#!/bin/bash
timestamp=$(($(date +%s%N)/1000000))
curl --header "Authorization: Bearer $1" -d '{}' -H 'Content-Type: application/json' localhost:8008/_synapse/admin/v1/purge_media_cache?before_ts=$timestamp
@joenas
joenas / script-template.sh
Created Dec 15, 2020 — forked from m-radzikowski/script-template.sh
Minimal safe Bash script template - see the article with full description: https://betterdev.blog/minimal-safe-bash-script-template/
View script-template.sh
#!/usr/bin/env bash
set -Eeuo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1
trap cleanup SIGINT SIGTERM ERR EXIT
usage() {
cat <<EOF
@joenas
joenas / useOnce.js
Created Apr 20, 2022
React useOnce hook for one-time effects
View useOnce.js
import { useEffect, useRef } from 'react';
const useOnce = (effect) => {
const didUse = useRef(false);
useEffect(() => {
if (didUse.current === false) {
didUse.current = true;
effect();
}