Skip to content

Instantly share code, notes, and snippets.

View orhun's full-sized avatar
:shipit:
I don't have a rat under my hat

Orhun Parmaksız orhun

:shipit:
I don't have a rat under my hat
View GitHub Profile
@vladikoff
vladikoff / gist:d3f5ec1f570e66fb7faff329d01012b7
Created May 1, 2017 16:15 — forked from vvenv/gist:0e11d36849db3fbf88fa64b63e121d5f
Generate an AUTHORS file based on the output of git shortlog.
#!/usr/bin/env sh
# Generate an AUTHORS file based on the output of git shortlog. It uses ABC
# order, strips out leading spaces and numbers, then filters out specific
# authors.
git shortlog -se \
| perl -spe 's/^\s+\d+\s+//' \
| sed -e '/^CommitSyncScript.*$/d' \
> AUTHORS
@SKempin
SKempin / Git Subtree basics.md
Last active May 9, 2025 19:37
Git Subtree basics

Git Subtree Basics

If you hate git submodule, then you may want to give git subtree a try.

Background

When you want to use a subtree, you add the subtree to an existing repository where the subtree is a reference to another repository url and branch/tag. This add command adds all the code and files into the main repository locally; it's not just a reference to a remote repo.

When you stage and commit files for the main repo, it will add all of the remote files in the same operation. The subtree checkout will pull all the files in one pass, so there is no need to try and connect to another repo to get the portion of subtree files, because they were already included in the main repo.

Adding a subtree

Let's say you already have a git repository with at least one commit. You can add another repository into this respository like this:

@develar
develar / commit-message-format.md
Created September 1, 2017 05:34
Commit Message Format

Commit Message Format

Each commit message consists of a header, a body and a footer. The header has a special format that includes a type, a scope and a subject:

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
@geosharma
geosharma / arch_installation_btrfs.md
Last active November 30, 2021 12:14
Arch Linux installation: BIOS, GPT, Encrypted btrfs root, xfs home

Notes on Arch Linux installation

Key features:

BIOS, GPT, encryption, btrfs, xfs. encrypted btrfs root, unencrypted xfs /home

This was created to document the procedures followed during the installation of Arch Linux. This is intended to act as a guide in the event a full installation is required in the future. This is primarily for my own use. I plan to document each step with code. If anyone finds this helpful, then please use it at your own risk, I assume no responsibility for any damage incurred from following these notes. I would recommend that you follow the Arch Linux Installation Guide and the Arch Linux wikis, rather than these set of notes.

Setup

  • Computer: HP DV6000
  • Hard disk: 230 SSD
@fschutt
fschutt / notification.rs
Created December 24, 2017 09:25
Example of how to make a DBus Notification in Rust
extern crate dbus;
use dbus::{Connection, Message, BusType, MessageItem};
fn main() {
let c = Connection::get_private(BusType::Session).unwrap();
let mut m = Message::new_method_call(
"org.freedesktop.Notifications",
"/org/freedesktop/Notifications",
"org.freedesktop.Notifications",
@hopeseekr
hopeseekr / docker_dedicated_filesystem.md
Created February 3, 2018 04:01
Putting Docker on its own pseudo filesystem

Docker on BTRFS is very buggy and can result in a fully-unusable system, in that it will completely butcher the underlying BTRFS filesystem in such a way that it uses far more disk space than it needs and can get into a state where it cannot even delete any image, requiring one to take drastic actions up to and including reformatting the entire affected BTRFS root file system.

According to the official Docker documentation:

btrfs requires a dedicated block storage device such as a physical disk. This block device must be formatted for Btrfs and mounted into /var/lib/docker/.

In my experience, you will still run into issues even if you use a dedicated partition. No, it seems it requires a standalone

@rpalo
rpalo / walle.fish
Created June 23, 2018 18:01
Print a colored Wall-E in your terminal!
function walle
set light_blue C7E2E8
set gray C1C1BD
set light_gray EEE
set dark_gray 565653
set bronze C6973F
set yellow FFE500
set lime C6E80B
set brown 8C5D05
@F21
F21 / signing-gpg-keys.md
Last active April 12, 2025 16:10
Signing someone's GPG key

This is a quick guide of the commands we use to sign someone's GPG key in a virtual key signing party.

Note: The steps cover only the technical aspects of signing someone's key. Before signing someone's key, you must verify their identity. This is usually done by showing government-issued ID and confirming the key's fingerprint

The commands will work for both GPG and GPG2.

I use Julian's key for the examples. His key id is 2AD3FAE3. You should substitute with the appropriate key id when running the commands.

Signing the key

  1. List the keys currently in your keyring: gpg --list-keys.
@josephg
josephg / README.md
Last active June 7, 2024 09:37
Getting Zig compiling to WASM

In case anyone else wants to play with Zig on webassembly, here's what you need to do to make it work on a mac today.

1. Get LLVM 7 compiled with webassembly support.

You'll need LLVM to output to the WASM target. This has just been added by default in trunk, so if LLVM >7 is available, you might be able to just brew install llvm.

If you have wasm support already you should see:

$ llc --version
@krisleech
krisleech / renew-gpgkey.md
Last active May 8, 2025 01:22
Renew Expired GPG key

Renew GPG key

Given that your key has expired.

$ gpg --list-keys
$ gpg --edit-key KEYID

Use the expire command to set a new expire date: