Skip to content

Instantly share code, notes, and snippets.

View r17x's full-sized avatar
🤘
REconciling...

RiN r17x

🤘
REconciling...
View GitHub Profile
@r17x
r17x / find_postinstall
Last active March 18, 2024 19:32
chmod +x <THISSCRIPT>
#!/bin/bash
# Function to display the postinstall field of package.json if exists
display_hook_install() {
if [ -f "$1" ]; then
postinstall=$(jq -r '.scripts.postinstall' "$1")
dir=$(dirname "$1")
packagename=$(jq -r '.name' "$1")
packageversion=$(jq -r '.version' "$1")
@r17x
r17x / Main.hs
Created January 31, 2024 17:26
HackerRankSolutions
-- Input: 10
-- Output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
-- Signature
fn :: (Integral a) => a -> [a]
-- Solution with pattern-matching
fn 0x0 = []
fn n = if n - 1 < 0 then fn 0 else fn (n - 1) ++ [n]
-- n = -1
@r17x
r17x / tag_clean.sh
Created January 21, 2024 15:42
Tag Clean 30 day ago
#!/usr/bin/env sh
git for-each-ref --sort=taggerdate --format '%(refname:short) %(taggerdate:format:%s)' "refs/tags/*" | while read tag tagdate; do
threshold_date=$(date -d '60 days ago' --utc '+%s')
if [ -n "$tagdate" ]; then
if [ "$tagdate" -lt "$threshold_date" ]; then
echo "==> $tag is older than 60 days"
echo "==> $tag will be deleted"
git tag --delete $tag
git push origin --delete $tag
@r17x
r17x / README.md
Created January 15, 2024 09:14
Merge 2 Repository
# Do with fresh clone
git clone REPO1 A
git clone REPO2 B

cd A

# bundle repo as directory (I hate CONFLICT by structure project, so new repo, new directory)
git filter-repo --to-subdirectory-filter apps/A
# VHS documentation
#
# Output:
# Output <path>.gif Create a GIF output at the given <path>
# Output <path>.mp4 Create an MP4 output at the given <path>
# Output <path>.webm Create a WebM output at the given <path>
#
# Require:
# Require <string> Ensure a program is on the $PATH to proceed
#
@r17x
r17x / promise101.md
Created January 7, 2024 14:24
Promise101

Promise is Like a MONAD but Never be a MONAD

// same thing: f(x)
const apply = (x, f) => f(x)

const touch = (f) => (x) => {
  apply(x, f)
  return x
}
@r17x
r17x / obs-youtube-chat.css
Created November 15, 2023 15:08
Live Chat Transparent
.style-scope yt-live-chat-renderer {
background-color: rgb(0, 0, 0, 0);
}
#items.yt-live-chat-item-list-renderer > *.yt-live-chat-item-list-renderer {
background-color: rgb(0, 0, 0, 0);
}
.yt-live-chat-text-message-renderer {
@r17x
r17x / p.js
Created October 30, 2023 12:33
Promise!01!
const _data = (data) => ({ error: null, data })
const _error = (error) => ({ data: null, error })
const mapError = f => ({ error, data }) => ({ error: f(error), data })
const mapData = f => ({ error, data }) => ({ data: f(data), error })
const promiseMapData = f => p => p.then(f)
const promiseMapError = f => p => p.catch(f)
const promiseMe = (p) => pipe(
@r17x
r17x / nginx_validation_jwt.lua
Created September 7, 2023 14:41
Nginx Validation JWT
access_by_lua_block {
local http = require "resty.http"
local httpc = http.new()
-- Fetch the JWT token from Authorization header
local auth_header = ngx.var.http_Authorization
if auth_header then
local _, jwt_token = auth_header:find("Bearer%s+(.+)")
if jwt_token then
-- Perform subrequest to your API endpoint for token validation
@r17x
r17x / a.md
Last active August 5, 2023 14:59
Hackerrank Functional Programming Challenge w/ OCaml