Skip to content

Instantly share code, notes, and snippets.

@cghiban
cghiban / SuperSimpleRedisCircularBufferWrittenOnGO.md
Created March 8, 2024 19:54 — forked from cn0047/SuperSimpleRedisCircularBufferWrittenOnGO.md
Super simple Redis circular-buffer written on GO

Super simple Redis circular-buffer on GO

Here you can find super simple redis based circular-buffer implementation written on golang:

package main

import (
	"fmt"

Cryptographic Best Practices

Putting cryptographic primitives together is a lot like putting a jigsaw puzzle together, where all the pieces are cut exactly the same way, but there is only one correct solution. Thankfully, there are some projects out there that are working hard to make sure developers are getting it right.

The following advice comes from years of research from leading security researchers, developers, and cryptographers. This Gist was [forked from Thomas Ptacek's Gist][1] to be more readable. Additions have been added from

@cghiban
cghiban / bookmarklet.txt
Created March 7, 2023 18:49
bookmarklet - load from js website
javascript:(function(){let d = document, s = d.createElement('script'); d.getElementsByTagName('head')[0].innerHTML += '<meta http-equiv="Content-Security-Policy" content="default-src gap://ready file://* *; style-src \'self\' http://* https://* \'unsafe-inline\'; script-src \'self\' http://* https://* \'unsafe-inline\' \'unsafe-eval\'">'; s.src = "https://thinky.home.lan/trans.js"; d.head.appendChild(s);})();
@cghiban
cghiban / reflection.go
Created August 2, 2022 15:25 — forked from drewolson/reflection.go
Golang Reflection Example
package main
import (
"fmt"
"reflect"
)
type Location struct {
Lat float64 `json:"lat"`
Lon float64 `json:"lon"`
@cghiban
cghiban / chill-zoom.sh
Created November 16, 2021 00:52 — forked from abraithwaite/chill-zoom.sh
Zoom in Systemd Cgroups on Linux. Change the max allocations to fit your workstation.
#!/usr/bin/bash -xe
cat <<EOF > "${HOME}/.config/systemd/user/zoom.slice"
[Slice]
AllowedCPUs=0-4
MemoryHigh=6G
EOF
cat /usr/share/applications/Zoom.desktop | sed -E 's#^(Exec=).*$#Exec=/usr/bin/systemd-run --user --slice=zoom.slice /opt/zoom/ZoomLauncher#' > "${HOME}/.local/share/applications/Zoom.desktop"
@cghiban
cghiban / mp4-to-dash.sh
Created October 4, 2021 13:49
mp4-to-dash.sh
#!/bin/bash
# can't remember where I found this..
#
# THIS SCRIPT CONVERTS EVERY MP4 (IN THE CURRENT FOLDER AND SUBFOLDER) TO A MULTI-BITRATE VIDEO IN MP4-DASH
# For each file "videoname.mp4" it creates a folder "dash_videoname" containing a dash manifest file "stream.mpd" and subfolders containing video segments.
# Explanation:
# Validation tool:
@cghiban
cghiban / mp4-to-gif.sh
Created October 4, 2021 13:42 — forked from Ultrabenosaurus/mp4-to-gif.sh
Simple bash script to convert MP4 videos to GIF
#!/bin/bash
#############################################
#
# mp4-to-gif
#
# Convert MP4 videos to GIF images
# Requires ffmpeg and imagemagick
#
# -g and --gifsicle options create a second optimised GIF for your consideration
@cghiban
cghiban / richhickey.md
Created September 4, 2021 00:15 — forked from prakhar1989/richhickey.md
richhickey.md

Rich Hickey on becoming a better developer

Rich Hickey • 3 years ago

Sorry, I have to disagree with the entire premise here.

A wide variety of experiences might lead to well-roundedness, but not to greatness, nor even goodness. By constantly switching from one thing to another you are always reaching above your comfort zone, yes, but doing so by resetting your skill and knowledge level to zero.

Mastery comes from a combination of at least several of the following:

@cghiban
cghiban / get_ncbi_genbank_records.go
Last active July 26, 2021 20:19
retrieve ncbi data based on accession number in files
package main
import (
"bufio"
"fmt"
"io"
"log"
"net/http"
"net/url"
"os"