Skip to content

Instantly share code, notes, and snippets.

weshouman / Makefile
Last active June 8, 2024 18:57
arduino cli tips
# - Avoid redownloading
# - Avoid overwriting
# - To overwrite, use make uninstall
mkdir -p $${TMPDIR} && \
weshouman /
Last active May 24, 2024 18:03
eBPF tips and tricks

The eBPF (Extended Berkeley Packet Filter) language is a low-level assembly-like language that is specifically designed for writing programs that can be loaded into the Linux kernel. These programs are typically used for networking, security, and observability tasks.

eBPF has its own domain-specific language (DSL), following are some information about it.

Characteristics of eBPF DSL:

  1. Low-Level: The language is closer to assembly than to high-level languages like C.

  2. Limited Instructions: eBPF has a limited set of instructions to ensure that programs are safe to run in the kernel space.

weshouman /
Last active May 4, 2024 09:58
Remove containers of a given image name
#!/usr/bin/env bash
remove_containers_by_image() {
local image_name=""
local dry_run=false
# Local function to display help
display_help() {
echo "Usage: ${FUNCNAME[1]} [-h|--help] [-n|--dry-run] [-i|--image IMAGE_NAME]"
echo ""
weshouman /
Created April 11, 2024 17:02 — forked from briansmith/
How to generate & use private keys using the OpenSSL command line tool

How to Generate & Use Private Keys using OpenSSL's Command Line Tool

These commands generate and use private keys in unencrypted binary (not Base64 “PEM”) PKCS#8 format. The PKCS#8 format is used here because it is the most interoperable format when dealing with software that isn't based on OpenSSL.

OpenSSL has a variety of commands that can be used to operate on private key files, some of which are specific to RSA (e.g. openssl rsa and openssl genrsa) or which have other limitations. Here we always use

weshouman /
Last active March 22, 2024 23:50
Using Chart.js in Trilium tutorial files
weshouman /
Last active March 15, 2024 09:51
Openstack study topics

Rapid dive resource

  • Take a look at this list, it has the namings clearly stated within a multi-part guide for setting up openstack, alongside with the system requirements.

Component Documentation

General Introduction resources

For basic understanding of the functionality, following are some useful resources.

  • OpenStack's demo videos, is a good collection for different videos.
weshouman /
Last active March 5, 2024 13:26
jira panel colors

jira supports 5 colors for the panels that could be created programmatically

weshouman /
Last active February 20, 2024 18:16
Makefile function example
PATH = /tmp/
define myfn
$(1) := $$(processed_input)
$(eval FILE=myfile)
$(eval $(call myfn,abs_filename,$(FILE)))
weshouman /
Last active January 5, 2024 15:36
Sinon structured fake clock

Testing in Both Real and Fake Time in Javascript

The code shows how to jump between the fake and real time allowing to:

  • Execute real-time dependent stubs (in real time), in this scenario it's the HIL simulation.
  • Execute long test in time controlled manner (in fake time), in this scenario it's the HIL test.

Current Implementation

Avoid using await Promise.resolve() by ticking asynchronously, for example using fakeClock.tickAsync() and then you could move between fake and real time, the code is updated to show this solution.

weshouman /
Last active December 20, 2023 11:15
Nautilus meld extension

This gist is now packaged and maintained at weshouman/nautilus-meld-compare-extension

Nautilus Meld Extension


This Nautilus extension allows us to easily compare files and directories using the Meld comparison tool directly from the Nautilus context menu.