Skip to content

Instantly share code, notes, and snippets.

View olragon's full-sized avatar
👨‍💻
I may be slow to respond.

Long Nguyen olragon

👨‍💻
I may be slow to respond.
  • Ho Chi Minh City, Viet Nam
View GitHub Profile
@olragon
olragon / bun-avx-proxmox.md
Last active March 3, 2026 09:04
Bun segfaults on Proxmox VM — the $6.75 AVX rabbit hole

Bun Segfaults on Proxmox VM — the $6.75 AVX Rabbit Hole

2026-03-03 — debugging war story

The Problem

Deploying a Bun app to a Proxmox VM. Everything works locally. On the VM:

panic(main thread): Segmentation fault at address 0x419E4000000
@olragon
olragon / colima-macports-macos1013.md
Created February 25, 2026 11:02
Installing Colima (Docker) via MacPorts on macOS 10.13 High Sierra — 7 patches for QEMU 10.2.1 + Lima 2.0.3

Installing Colima via MacPorts on macOS 10.13 (High Sierra)

Machine: MacBookPro6,2 (mid-2010 15"), macOS 10.13.6 High Sierra, darwin 17.7.0 MacPorts: with clang-mp-17, python3.14, Go 1.24.8 Result: Colima 0.10.1 + Lima 2.0.3 + QEMU 10.2.1 — fully working Docker on macOS 10.13

The Problem

sudo port install colima fails because QEMU 10.2.1 and Lima 2.0.3 use macOS APIs that don't exist on 10.13. Seven custom patches are needed across QEMU and Lima Portfiles, plus a python3 symlink fix.

@olragon
olragon / color.py
Created December 19, 2025 08:03
camera-3P1200-PD-
#!/usr/bin/env python3
import gi
gi.require_version('Aravis', '0.8')
from gi.repository import Aravis
import numpy as np
import cv2
import sys
import time
import json
import os
@olragon
olragon / tm-selectable.js
Last active March 22, 2025 05:14
TamperMonkey Script to force text selectable
// ==UserScript==
// @name Blagu - Text Selectable
// @namespace http://tampermonkey.net/
// @version 1.1
// @description Enables text selection, right-click and copy/paste on website by removing protections
// @author You
// @match *://*.5office.vn/*
// @match *://*.officesaigon.vn/*
// @grant none
// @run-at document-start
@olragon
olragon / benchmark-bun-deno-node.md
Created August 29, 2023 03:49
Benchmark Bun, Deno & NodeJS web servers
Framework Average Get (/) Params, query & header Post JSON
uws (node) 98,742.06 117,931.1 106,347.08 71,948
hyper-express (node) 82,449.5 118,198.57 88,546.88 40,603.05
bun (bun) 81,971.373 99,946.51 78,488.13 67,479.48
elysia (bun) 79,643.103 98,266.18 76,637.37 64,025.76
vixeny (bun) 79,508.623 96,996.36 79,585.35 61,944.16
stricjs (bun) 79,120.123 97,804.01 78,028.85 61,527.51
hono (bun) 75,293.96 95,430.31 70,915.01 59,536.56
bun-web-standard (bun) 73,925.933 88,856.78 70,520.02 62,401
@olragon
olragon / readme.md
Created August 21, 2023 02:51
Obsidian - Clip Link to Daily bookmarklet
  1. Go to https://caiorss.github.io/bookmarklet-maker/
  2. Input Title, paste to Code, replace YOUR_VAULT_NAME_HERE, change or replace YOUR_FOLDER_HERE_OR_REMOVE (eg: Daily/)
window.open(`obsidian://new
	?vault=YOUR_VAULT_NAME_HERE
	&append=1
	&file=${encodeURIComponent('YOUR_FOLDER_HERE_OR_REMOVE' + new Date(new Date().getTime() - (new Date).getTimezoneOffset()).toISOString().split('T')[0])}
	&content=${encodeURIComponent(`\n## ${document.title}\nLink: [${window.location.href}](${window.location.href})`)}
`)
@olragon
olragon / elysia-compression.ts
Last active August 17, 2023 01:32
Elysia's plugin for response compression, support gzip & deflare
// fork of elysia-compression
// changes:
// 1/ use gzip, deflate from node:zlib,
// 2/ use async version,
// 3/ check accept-encoding header,
// 4/ prevent unexpected download because of application/octet-stream
import {Context, Elysia} from "elysia";
import {gzip, deflate, ZlibOptions} from "zlib";
@olragon
olragon / postgraphile+4.13.0.patch
Last active October 28, 2024 20:43
Postgraphile plugin for Elysia
diff --git a/node_modules/postgraphile/build/postgraphile/http/createPostGraphileHttpRequestHandler.js b/node_modules/postgraphile/build/postgraphile/http/createPostGraphileHttpRequestHandler.js
index 73bc159..1b1d23d 100644
--- a/node_modules/postgraphile/build/postgraphile/http/createPostGraphileHttpRequestHandler.js
+++ b/node_modules/postgraphile/build/postgraphile/http/createPostGraphileHttpRequestHandler.js
@@ -717,7 +717,14 @@ function createPostGraphileHttpRequestHandler(options) {
operationName,
}, (graphqlContext) => {
pgRole = graphqlContext.pgRole;
- const graphqlResult = graphql_1.execute(gqlSchema, queryDocumentAst, null, graphqlContext, variables, operationName);
+ const graphqlResult = graphql_1.execute({
@olragon
olragon / bing.txt
Last active March 19, 2025 14:57 — forked from JoeyBurzynski/crawler-user-agent-strings-with-descriptions.txt
Bot & Crawler User Agents Strings with Descriptions
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/W.X.Y.Z Safari/537.36
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; MicrosoftPreview/2.0; +https://aka.ms/MicrosoftPreview) Chrome/W.X.Y.Z Safari/537.36
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; MicrosoftPre
@olragon
olragon / meteor-matb33-collection-hooks.d.ts
Created November 30, 2022 03:38
Type definition for meteor/matb33:collection-hooks
declare module 'meteor/matb33:collection-hooks' {
import { Meteor } from "meteor/meteor"
type TGlobalOptions = {
all?: any
insert?: any
update?: any
upsert?: any
find?: any
findOne?: any
remove?: any