Skip to content

Instantly share code, notes, and snippets.

View BuonOmo's full-sized avatar
🥊
—(ಠ益ಠ)ノ

Ulysse Buonomo BuonOmo

🥊
—(ಠ益ಠ)ノ
View GitHub Profile
@BuonOmo
BuonOmo / shared_ptr.h
Last active September 12, 2022 08:32
Simple shared pointer lib in C
#ifndef SHARED_PTR_H
#define SHARED_PTR_H
#include <stdlib.h>
#include <stdio.h>
#include <stdatomic.h>
#ifdef TEST
#include <assert.h>
#include <string.h>
@BuonOmo
BuonOmo / redis-command-by-acl.html
Last active August 23, 2022 10:43
Filter REDIS commands by ACL
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>REDIS Commands By ACL Category</title>
@BuonOmo
BuonOmo / pre-commit.zsh
Last active November 23, 2021 10:04
Git pre-commit hook that detects non-breaking spaces
#!/usr/bin/env zsh
# Look for non-breaking spaces hidden in code, refuse
# to commit if there are some. This hook depends on the
# great ripgrep (https://github.com/BurntSushi/ripgrep).
# You can use bash if you prefere it over zsh, and ag
# over rg.
! rg --colors 'match:bg:yellow' -C 1 ' ' $(git ls-files) && exit 0
@BuonOmo
BuonOmo / clone.zsh
Last active September 3, 2021 07:47
Clone from github into your dev folder respecting user/repo architecture
function clone {
local all user repo
(( $# != 1 )) && echo "usage: clone <url>" && return 1
all="$1"
all="${all#'https://github.com/'}"
all="${all#'git@github.com:'}"
all="${all%'.git'}"
IFS='/' read -r user repo <<< "$all"
# @param job_name [nil | #call | Regexp | String] name or proc to filter on
# @param tally_by [Symbol | #call] either a Sidekiq::SortedEntry method or a
# thing that responds to #call and takes the entry as argument
# @return the filtered jobs
# @example
# sidekiq_stat("ApplyReferrals.call", ->(j) { j.item["error_message"].gsub(/\w{8}-\w{4}-\w{4}-\w{4}-\w{12}/, "UUID") })
def sidekiq_stat(job_name = nil, tally_by = :display_class)
jobs = Sidekiq::DeadSet.new.select do |sorted_entry|
case job_name
when nil then true
@BuonOmo
BuonOmo / clean-ruby-versions.bash
Last active June 1, 2021 07:18
Clean old rbenv ruby versions with care ⭐️
cd ~/.rbenv/versions/
du -sh *
cd ~/Dev
ruby -e 'pp `fd --no-ignore --hidden '.ruby-version'`.split.group_by { IO.read(_1).strip }'
rbenv uninstall --force ... # remove versions that seems useless to you.
@BuonOmo
BuonOmo / mass-archive-trello-columns.js
Last active November 5, 2020 17:56
Archive trello columns all at once (using web, or api)
function timeout(time = 200) {
return new Promise((resolve) => {
setTimeout(resolve, time);
})
}
/**
* Prepare archiving, making sure columns are the correct ones.
*
* @param contents every column names to treat (may be only a part)
@BuonOmo
BuonOmo / scrap-heroku-dataclips.js
Last active October 16, 2020 11:08
Retrieve every Heroku dataclips at once.
// Go to the dataclip listing (https://data.heroku.com/dataclips).
// Then execute this script in your console.
// Be careful, this will focus a new window every 4 seconds, preventing
// you from working 4 seconds times the number of dataclips you have.
// Retrieve urls and titles
let dataclips = Array.
from(document.querySelectorAll('.rt-td:first-child a')).
map(el => ({ url: el.href, title: el.innerText }))
  1. Install the ruby extension pack.
  2. bundle install --binstubs to have bin/<executable>
  3. create a launch.json and add the configuration:
    {
      "name": "TODO",
      "type": "Ruby",
      "request": "launch",
      "program": "${workspaceRoot}/bin/TODO",

"cwd": "${workspaceRoot}",

@BuonOmo
BuonOmo / talkie.js
Last active April 10, 2020 14:39
Hangout push to talk.
// ==UserScript==
// @name talkie
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Safe talking on hangout
// @author You
// @match https://hangouts.google.com/u/*/call/*
// @grant none
// ==/UserScript==