Skip to content

Instantly share code, notes, and snippets.


Jonas Friedmann frdmn

View GitHub Profile
frdmn /
Last active Nov 9, 2020
Raspberry Pi 4B with Prusa MK3s / Einsy RAMBo headers

Raspberry Pi 4B with Prusa MK3s / Einsy RAMBo headers

The guide below describes how to connect a Raspberry Pi 4B to the Prusa i3 MK3s main board (Einsy RAMBo) board with its builtin RPi headers and an additional step-down / buck converter. The buck converter is necessary, since the Einsy headers do not provide enough amps to power anything bigger than a Raspberry Pi Zero W.

Parts needed


frdmn /
Created Aug 18, 2020
frdmn@github -
rELQG5zby40L7QO FwKs4uB8e83TCKq 6Xr2MZHgg6oYWic lco69PQeA8YqJel
dc4vyMPo8DNbKMT IfoxAFXppc4Frfl 8OE60qwf1IcLNGn gAHSdzQRYfjwayL
bgm5HNUb0f7EJJV DvyzY9wmIdIvIMx mGPQj.
The MIT License (MIT)
Copyright (c) 2019 Jonas Friedmann
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
frdmn /
Last active Jan 22, 2019
Victor's macOS Client information parser
  1. Download the client-information and move it to /usr/local/bin/client-information:

    wget -O /usr/local/bin/client-information
    bash +x /usr/local/bin/client-information
  2. Configure the scheduler to periodically run the script:

frdmn /
Created Aug 22, 2018
Clear Rocket.Chat uploads periodically (before #11236 [message pruning] existed)
#!/usr/bin/env bash
# Script to remove old uploads in Rocket.Chat instances for people using the filesystem storage method.
# This script makes sure to NOT remove users avatars. Because they are stored in the same directory we
# have to query the Mongo to check if a file is a regular file upload or a avatar.
# Env vars:
# - DELETE_OLDER_THAN_DAYS (defaults to 5)
# Written by: Jonas "frdmn" Friedmann <>
# Requirements: mongo (cli), docker-compose, jq, tofrodos package
frdmn /
Created Apr 19, 2018
Install imapsync from source on Ubuntu 16.04
  1. Install requirements and dependencies:

    apt install git cpanminus automake build-essential libauthen-ntlm-perl libclass-load-perl libcrypt-openssl-rsa-perl libdata-uniqid-perl libdate-manip-perl libdigest-hmac-perl libdigest-md5-file-perl libdist-checkconflicts-perl libfile-copy-recursive-perl libio-tee-perl libjson-perl libmail-imapclient-perl libmodule-implementation-perl libmodule-runtime-perl libmodule-scandeps-perl libpackage-stash-perl libpackage-stash-xs-perl libpar-packer-perl libreadonly-perl libsys-meminfo-perl libterm-readkey-perl libtest-fatal-perl libtest-mock-guard-perl libtest-mockobject-perl libtest-pod-perl libtest-requires-perl libtry-tiny-perl libunicode-string-perl make makepasswd perl-doc rcs
  2. Clone source code from git repository

    git clone
frdmn /
Last active Jan 16, 2019
Rocket.Chat REST API setType channel/group
  1. Obtain authentication token
    curl -H "Content-type:application/json" \
    	http://${XHOST}/api/v1/login \
    	-d '{ "username": "test", "password": "test" }'
  2. Store tokens in variable

frdmn /
Last active Apr 4, 2018
Restore admin access in Rocket.Chat on Docker installations

Open Mongo shell within Mongo container

Change into docker-compose directory (where your docker-compose.yml is located):

cd /opt/docker/Rocket.Chat
docker-compose run mongo bash

Make sure to replace mongo with your MongoDB container name in case you use a different one.

frdmn / rocket.service.js
Last active Jun 7, 2016
Alternative rocket.service.js for @galmok
View rocket.service.js
var Service = require('node-windows').Service;
var EventLogger = require('node-windows').EventLogger;
var logger = new EventLogger('Rocket.Chat');
// Create a new service object
var svc = new Service({
description: 'Rocket.Chat Service',
frdmn / ssh-hosts.zsh
Created Mar 29, 2016
ssh-hosts.zsh plugin
View ssh-hosts.zsh
if [[ -r ~/.ssh/config ]]; then
h=($h ${${${(@M)${(f)"$(cat ~/.ssh/config)"}:#Host *}#Host }:#*[*?]*})
if [[ -r ~/.ssh/known_hosts ]]; then
h=($h ${${${(f)"$(cat ~/.ssh/known_hosts{,2} || true)"}%%\ *}%%,*}) 2>/dev/null
if [[ $#h -gt 0 ]]; then
zstyle ':completion:*:ssh:*' hosts $h
zstyle ':completion:*:slogin:*' hosts $h