Skip to content

Instantly share code, notes, and snippets.

View ian-h-chamberlain's full-sized avatar
🏔️

Ian Chamberlain ian-h-chamberlain

🏔️
View GitHub Profile
@petrklus
petrklus / rgb_to_kelvin.py
Last active May 10, 2025 11:06
Kelvin to RGB in python
"""
Based on: http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/
Comments resceived: https://gist.github.com/petrklus/b1f427accdf7438606a6
Original pseudo code:
Set Temperature = Temperature \ 100
Calculate Red:
If Temperature <= 66 Then
@CMCDragonkai
CMCDragonkai / linked_list.nix
Created October 27, 2014 09:28
Nix: Lazy Linked List Implementation using Nested Attribute Sets. This example specifically reifies the fibonnaci sequence into a lazy linked list.
# nix lists are not lazy linked lists
# we can however create lazy linked list using nested attribute sets, where the head is the node value and the tail is the nested cons
# we've basically created a recursive union type:
# type stream a = nil | { head = a; tail = stream a; }
# it's basically a lazy linked list!!!!
let
# O(n) access of the linked list, it needs to unwrap the linked list as it goes deeper into the list
streamElemAt = s: i:
@lmarkus
lmarkus / README.MD
Last active May 12, 2025 11:14
Extracting / Exporting custom emoji from Slack

Extracting Emoji From Slack!

Slack doesn't provide an easy way to extract custom emoji from a team. (Especially teams with thousands of custom emoji) This Gist walks you through a relatively simple approach to get your emoji out.

If you're an admin of your own team, you can get the list of emoji directly using this API: https://api.slack.com/methods/emoji.list. Once you have it, skip to Step 3

HOWEVER! This gist is intended for people who don't have admin access, nor access tokens for using that list.

Follow along...

@samrocketman
samrocketman / SENA_Linux.md
Last active June 15, 2024 11:55
Connecting my SENA device via USB on Linux to update the firmware

Update SENA from Linux

In May, 2016, I completely switched all of my home computing environments to Linux. As a result, I've had to find workarounds for things which require Windows. This article outlines my first attempt to update my SENA 10S helmet communicator from KUbuntu 16.04 Linux.

What works and what doesn't

If you follow this guide, I'll state up front what success you'll expect.

  • Installing the Sena Device Manager works.
  • Connecting SENA 10S via USB works.
@2xAA
2xAA / iterm-colors-to-vscode.js
Last active September 23, 2024 20:51
Convert iTerm2 "itermcolors" file to VSCode terminal color scheme
/* Generate colors using: `plutil -convert json` in your terminal */
const col = [] // run your .itermcolors file through the above parser and replace the array with the output
function componentToHex(c) {
const hex = c.toString(16)
return hex.length === 1 ? `0${hex}` : hex
}
const mapping = {
'terminal.background':'Background Color',
@notyal
notyal / lnav-nginx-netdata.json
Last active December 20, 2023 14:44
lnav log format definition for NGINX access.log (netdata vhost format) and NGINX error.log
{
"nginx_access_log" : {
"title" : "NGINX NetData Access Log",
"description" : "NGINX NetData Access Log Format",
"url" : "https://github.com/netdata/netdata/blob/master/collectors/python.d.plugin/web_log/web_log.conf",
"multiline" : false,
"regex" : {
"netdata_vhost" : {
"pattern" : "(?P<host>[a-zA-Z\\d.-_\\[\\]]+)\\s+(?P<server_port>\\d+)\\s+(?P<remote_addr>[\\da-f.:]+)\\s+[\\w\\.\\-]+\\s+(?<remote_user>\\S+)\\s+\\[(?<timestamp>[^\\]]+)\\]\\s+\"(?:\\-|(?<request>\\w+) (?<request_uri>[^ \\?]+)(?:\\?(?<request_uri_query>[^ ]*))? (?<request_version>[\\w\\\/\\.]+))\"\\s+(?P<status>[1-9]\\d{2})\\s+(?P<body_bytes_sent>\\d+)\\s+(?P<request_length>\\d+)\\s+(?P<request_time>\\d+(?:.\\d+)?)\\s+(?:\\-|(?P<upstream_response_time>\\d+(?:.\\d+)?))\\s+\"(?<http_referer>[^\"]+)\"\\s+\"(?<http_user_agent>[^\"]+)\""
}
@dvf
dvf / change-codec.md
Last active May 16, 2025 18:48
Enable High Quality mode on your headphones (Updated for macOS Catalina)

If you're using a high-end bluetooth headset on your Macbook Pro it's likely your mac is using an audio codec which favors battery efficiency over high quality. This results in a drastic degradation of sound, the SBC codec is the likely culprit, read more about it here.

Find out what codec you're using

  1. Play a song on your headphones
  2. Option (⌥) click the Bluetooth button at the top of your screen Inspect the Bluetooth Coded
  3. If you're using AAC or aptX, you can stop here—those are the highest quality codecs.

Change your codec to AAC or aptX

@experimatt
experimatt / iterm-colors-to-vscode.js
Last active July 5, 2024 17:48
A simple script to use your iTerm color profile in vscode's built-in terminal.
// This script takes an iTerm Color Profile as an argument and translates it for use with Visual Studio Code's built-in terminal.
//
// usage: `node iterm-colors-to-vscode.js [path-to-iterm-profile.json]
//
// To export an iTerm Color Profile:
// 1) Open iTerm
// 2) Go to Preferences -> Profiles -> Colors
// 3) Other Actions -> Save Profile as JSON
//
// To generate the applicable color settings and use them in VS Code:
@3v1n0
3v1n0 / fish-shell-bash-complete-function.sh
Last active May 10, 2025 13:06
Use bash completions in Fish Shell
#!/usr/bin/fish
# You can add this to your ~/.config/fish/config.fish
function __fish_complete_bash
set cmd (commandline -cp)
bash -c "source get-bash-completions.sh; get_completions '$cmd'"
end
# Set the tool to use bash completions
@andrebrait
andrebrait / keychron_linux.md
Last active May 17, 2025 04:39
Keychron keyboards on Linux + Bluetooth fixes

Here is the best setup (I think so :D) for K-series Keychron keyboards on Linux.

Note: many newer Keychron keyboards use QMK as firmware and most tips here do not apply to them. Maybe the ones related to Bluetooth can be useful, but everything related to Apple's keyboard module (hid_apple) on Linux, won't work. As far as I know, all QMK-based boards use the hid_generic module instead. Examples of QMK-based boards are: Q, Q-Pro, V, K-Pro, etc.

Most of these commands have been tested on Ubuntu 20.04 and should also work on most Debian-based distributions. If a command happens not to work for you, take a look in the comment section.

Make Fn + F-keys work (NOT FOR QMK-BASED BOARDS)

Older Keychron keyboards (those not based on QMK) use the hid_apple driver on Linux, even in the Windows/Android mode, both in Bluetooth and Wired modes.