Skip to content

Instantly share code, notes, and snippets.

I may be slow to respond.

Huan Truong htruong

I may be slow to respond.
View GitHub Profile
htruong / template.js
Last active Jul 26, 2021
Zenreader server
View template.js
export default (title, content) => `
img {
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void printArr(int arr_len, int * arr) {
int i;
printf("Array dump [%2d]: ", arr_len);
for (i = 0 ; i < arr_len; i++) {
printf("[%2d] %2d ", i, arr[i]);
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// Compile:
// Cross compile on Linux:
// open-watcom.owcc-dos -bdos -o HT_HEART.EXE HT_TANGXONG.C
// On openwatcom on DOS:
// wcl386 HT_TANGXONG.C
htruong / intel-hd-4000-1440p-notes.txt
Created Feb 19, 2018
How to force Intel HD graphics (HD 4000 and so on) to output 1440p
View intel-hd-4000-1440p-notes.txt
I have a 1440p monitor with an old computer that has Intel HD 4000, which doesn't support outputtin to 1440p natively. I bought a high-end AMD graphics card and a high-end NVIDIA card, but they both don't work well one way or another. The damn AMD driver doesn't support audio, the NVIDIA... don't ask.
Anyway, I figured there is a way to do 1440p natively on Intel, you just have to have 55Hz. You'd have to have a Windows setup.
Follow this instruction, you should be able to get 2560x1440@55Hz on Windows
If that works, export your edid using Moninfo:
htruong /
Last active Dec 10, 2022
Chroot to pi sd card
# This script allows you to chroot ("work on")
# the raspbian sd card as if it's the raspberry pi
# on your Ubuntu desktop/laptop
# just much faster and more convenient
# credits:
# make sure you have issued
htruong /
Last active Mar 7, 2022 — forked from jkullick/
Chroot into Raspberry Pi ARMv7 Image with Qemu
# raspbian stretch lite on ubuntu

### You can write the raspbian image onto the sd card,
# boot the pi so it expands the fs, then plug back to your laptop/desktop
# and chroot to it with my script 
# sudo ./ /dev/sdb
# I found it to be much less of a pain in the ass and more reliable
# than doing the kpartx thing
View disqus_amp.html
<div id="disqus_thread"></div>
window.addEventListener('message', receiveMessage, false);
function receiveMessage(event)
if ( {
var msg;
try {
msg = JSON.parse(;
} catch (err) {
View My favorite OpenWRT build
make image PROFILE=WNDR3700 PACKAGES="base-files busybox dnsmasq dropbear firewall fstools hostapd-common ip ip6tables iptables iptables-mod-conntrack-extra iptables-mod-ipopt iw jshn jsonfilter kernel kmod-ath kmod-ath9k kmod-ath9k-common kmod-cfg80211 kmod-crypto-aes kmod-crypto-arc4 kmod-crypto-core kmod-gpio-button-hotplug kmod-ifb kmod-ip6tables kmod-ipt-conntrack kmod-ipt-conntrack-extra kmod-ipt-core kmod-ipt-ipopt kmod-ipt-nat kmod-ipv6 kmod-lib-crc-ccitt kmod-mac80211 kmod-nf-conntrack kmod-nf-conntrack6 kmod-nf-ipt kmod-nf-ipt6 kmod-nf-nat kmod-nf-nathelper kmod-ppp kmod-pppoe kmod-pppox kmod-sched kmod-sched-core kmod-slhc libblobmsg-json libc libgcc libip4tc libip6tc libiwinfo libiwinfo-lua libjson-c libjson-script liblua libnl-tiny libubox libubus libubus-lua libuci libuci-lua libxtables lua luci luci-app-firewall luci-app-sqm luci-base luci-lib-ip luci-lib-nixio luci-mod-admin-full luci-proto-ipv6 luci-proto-ppp luci-theme-bootstrap mtd netifd odhcp6c odhcpd opkg procd rpcd rssileds sqm-
View SolderingIronBOff.ino
Button / SolderingIronBOff
Automatically turns off soldering station.
Turns on the power switch tail (also the LED)
connected to digital pin 1.6,
when pressing a pushbutton attached to pin 2.
Automatically times out when it reaches a threshold.
htruong / gist:368870d67dbc9097b0c6b57553506ec8
Last active Apr 10, 2016 - OpenWRT image
View gist:368870d67dbc9097b0c6b57553506ec8
vim files/etc/uci-defaults/
uci set wireless.@wifi-device[0].disabled=0
uci set wireless.@wifi-iface[0].ssid=" Classroom Wireless"
uci set wireless.@wifi-iface[0].encryption=psk2
uci set wireless.@wifi-iface[0].key="spacecadet"
uci commit wireless
exit 0