Skip to content

Instantly share code, notes, and snippets.

@weshouman
weshouman / README.md
Last active September 9, 2023 16:59
Cilium documentation summary
@weshouman
weshouman / README.md
Last active October 19, 2024 04:07
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
weshouman / Configuration.md
Last active October 4, 2023 07:18
apt tips and tricks

apt configurations are located in /etc/apt/ following is a breakdown for the different directories

Main Components

  1. sources.list: This is the main list of repositories that APT will use for software package management. Each line in this file specifies a different repository. Ref: man 5 sources.list

  2. sources.list.d/: This directory allows you to add additional repository lists without modifying the main sources.list file. Each file in this directory should end with .list and contain one or more repository lines, just like the main sources.list file. Ref: man 5 sources.list

@weshouman
weshouman / README.md
Last active August 21, 2023 07:46
installation scripts for evdi kernel module
  • pip install pybind11: install requirements
  • pip3 show pybind11 | grep Location: to ensure installation
  • .\install_evdi.sh: install evdi
@weshouman
weshouman / README.md
Last active August 20, 2023 20:04
Kernel module dependency walker

Those scripts are used to walk the dependencies of the Kernel Modules in Linux.

Usage

One could use any of the following implementation, either on Python or Bash

Note: The python implementation is updated to use a cache, making it instantaneous

Python Script

Use any of the following commands

simple:
source get_device.sh
getdevicename 1234:abcd
getdevicenum 1234:abcd
script:
#Device VENDOR ID
: ${DEVICE_VENDOR:="1234"}
#Device PRODUCT ID
: ${DEVICE_PRODUCT:="abcd"}
@weshouman
weshouman / pycom.py
Last active July 28, 2022 05:08 — forked from vlasenkov/pycom.py
win32com multithreading example
# win32com multithreading example
import sys
import time
from threading import Thread
# sys.coinit_flags has to be set before importing pythoncom and win32com, otherwise the following errors would be showing up
# - The application called an interface that was marshalled for a different thread.
# - This COM object can not automate the makepy process - please run makepy manually for this object
sys.coinit_flags = 0  # pythoncom.COINIT_MULTITHREADED == 0
@weshouman
weshouman / README.md
Last active June 9, 2022 08:49
npm common issues

NPM package installation behind a proxy

While installing yo behind proxy you may get issues as described in this issue The root cause is that yo is trying to connect to the internet while doing the sanity checks on your system using a global proxy as described here and there

I was not able to change the GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE from undefined to an empty variable from the powershell, so I edited the node_modules\got\index.js:requestAsEventEmitter(opts):~22 and added the following line

	process.env.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE="";
@weshouman
weshouman / VS16NoTelem.bat
Created April 28, 2022 16:55
Disable telemetry in Visual Studio 2019
@echo off
fltmc >nul 2>&1 || (
echo This batch script requires administrator privileges. Right-click on
echo the script and select "Run as administrator".
goto :die
)
rem Change this path if you are using Community or Professional editions
set "VS_INSTALL_DIR=%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise"
wget -O /tmp/YaHei.Consolas.1.12.zip https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/uigroupcode/YaHei.Consolas.1.12.zip
unzip /tmp/YaHei.Consolas.1.12.zip
sudo mkdir -p /usr/share/fonts/consolas
sudo mv YaHei.Consolas.1.12.ttf /usr/share/fonts/consolas/
sudo chmod 644 /usr/share/fonts/consolas/YaHei.Consolas.1.12.ttf
cd /usr/share/fonts/consolas
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv