Skip to content

Instantly share code, notes, and snippets.

View dolmen's full-sized avatar
😁
Happy!

Olivier Mengué dolmen

😁
Happy!
View GitHub Profile
@dolmen
dolmen / check-xz-in-homebrew.sh
Last active March 30, 2024 21:08
check-xz-in-homebrew
#!/bin/bash
# Commands to evaluate impact of xz installed via homebrew.
# Author: Olivier Mengué.
# Show info about xz bottle:
brew info xz
# Upgrade xz:
brew update
@dolmen
dolmen / GitHub.html
Created November 27, 2023 22:07
How to create an URL shortcut on the Gnome desktop
<html>
<head>
<meta http-equiv="refresh" content="0; url=https://github.com/" />
</head>
<body>
</body>
@dolmen
dolmen / README.md
Last active March 9, 2023 17:47
go-redis v9 migration script
@dolmen
dolmen / kh-to-hashcat.go
Last active January 5, 2023 10:40
Convert OpenSSH known_hosts for hashcat processing
/*
kh-to-hashcat allows to convert an OpenSSH known_hosts hashed file to a
format that can be used with hashcat to recover hosts.
Note that as the know_hosts file usually contains multiple keys for each host
it is wise to filter the file to a single key type to filter redundant hashes.
Check this stat:
perl -nE '$c{$1}++ if /^\|1\|[^ ]+ ([^ ]+)/;END{say "$_: $c{$_}" for keys %c}' ~/.ssh/known_hosts
@dolmen
dolmen / go-text-template-hacks.md
Last active December 1, 2022 09:00
Go text/template hacks

Go text/template hacks

Hacks below use goproc to experiment with Go templates from the command-line.

Convert bool to int

$ echo false | goproc -e '{{.}} => {{index "....\001\000" (len (print .))}}{{"\n"}}'
false => 0
$ echo true | goproc -e '{{.}} =&gt; {{index "....\001\000" (len (print .))}}{{"\n"}}'
@dolmen
dolmen / README.md
Created January 28, 2021 14:31
Get Go module+version string from a commit from GitHub

github-go-version

Usage

github-go-version <owner>/<repo> <commit>
@dolmen
dolmen / git-go-aliases.sh
Last active August 5, 2024 15:47
Git aliases for Go developement #golang #git
# git go-version: shows the Go-modules versionning formatting of a Git commit
git config --global alias.go-version '!f(){ cd -- "${GIT_PREFIX:-.}"; TZ=UTC git log -1 '\''--date=format-local:%Y%m%d%H%M%S'\'' --abbrev=12 '\''--pretty=tformat:v0.0.0-%cd-%h'\'' "$@" ;};f'
# git go-get: shows the command to run on another Go project to upgrade this module
git config --global alias.go-get '!f(){ cd -- "${GIT_PREFIX:-.}"; TZ=UTC git log -1 '\''--date=format-local:%Y%m%d%H%M%S'\'' --abbrev=12 '\''--pretty=tformat:go get '\''"$(go list -m)"'\''@v0.0.0-%cd-%h'\'' "$@" ;};f'
# git go-shortlog: shows the 10 commits in Go-modules versionning style
git config --global alias.go-shortlog '!f(){ cd -- "${GIT_PREFIX:-.}"; TZ=UTC git log -10 '\''--date=format-local:%Y%m%d%H%M%S'\'' --abbrev=12 '\''--pretty=tformat:v0.0.0-%cd-%h %s'\'' "$@" ;};f'
@dolmen
dolmen / fix-url.go
Created June 12, 2020 17:12
Fix malformed URL query
// Fix (some kinds of) malformed URLs
package main
import (
"fmt"
"log"
"net/url"
)
@dolmen
dolmen / README.md
Last active July 13, 2022 05:52
go-bin-upgrade

go-bin-upgrade

Rebuild the binaries you have built in Go module mode installed in $GOPATH/bin.

Usage: go-bin-upgrade [-n] [-v] bin1 [bin2]...

Examples:

  • go-bin-upgrade -n godoc
  • (cd ~/go/bin ; go-bin-upgrade * )