Hi there, I’m Huy 👋

Blog cá nhân về tech và mấy thứ vui vui

How to Upgrade NixOS to 25.11

Upgrading NixOS is a straightforward process, but it’s important to follow the correct steps to ensure a smooth transition. Here is a guide on how to upgrade your system to NixOS 25.11. 1. List Current Channels First, it’s a good idea to verify your current channels. nix-channel --list 2. Add the New 25.11 Channel Add the new NixOS 25.11 channel to your system. sudo nix-channel --add https://nixos.org/channels/nixos-25.11 nixos 3. Update All Channels Update your channels to download the new package definitions. ...

06/12/25 · 1 min · 195 words · me

The Art of Readable Code

📖 Summary of The Art of Readable Code 1. Code Should Be Easy to Understand Key Idea: Minimize time-till-understanding. Readable code is more important than short code. Example: // Less clear return exponent >= 0 ? mantissa * (1 << exponent) : mantissa / (1 << -exponent); // Clearer if (exponent >= 0) { return mantissa * (1 << exponent); } else { return mantissa / (1 << -exponent); } 2. Packing Information into Names Names are mini-comments. Use specific and concrete words. Attach units or attributes if critical. Example: # Bad def GetPage(url): ... # Better def FetchPage(url): ... Example with units: ...

29/08/25 · 4 min · 698 words · me

Kind Trick

Convert k2pdfopt : tool convert pdf to pdf (crop margin, reflow, ..). pdf2epub : pdf to epub (using ai model). Translator : tool translator ebook (plugin in calibre). k2pdfopt k2pdfopt -dev kpw -dpi 300 -mode fitwidth -as -ui- -o out.pdf input.pdf pdf2epub python main.py filename.pdf

28/08/25 · 1 min · 45 words · me

Search Trick

gọi xuống từng bảng và lấy ra cái id chung sau đó and ( hay or ) lại rồi gọi xuống bảng chính hiển thị lên handle -> UI server -> Business logic

28/08/25 · 1 min · 33 words · me

Ssh Trick

gen public key from private key ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

16/08/25 · 1 min · 12 words · me

Stand For

DPD - Days Past Due

11/08/25 · 1 min · 5 words · me

Tmux Cheatsheet

Essential tmux commands and shortcuts for productivity. Power by AI Check current prefix tmux show -gv prefix

30/07/25 · 1 min · 17 words · me

Later Means Never

We’ve all been there—looking at the messy code we just threw together, thinking, “I’ll clean this up someday.” We feel kinda relieved when it works, even if it’s ugly. Better something than nothing, right? And we all tell ourselves we’ll come back later to fix it. But of course, on days like that, we forget about LeBlanc’s Law: “Later” means “never.”

29/07/25 · 1 min · 61 words · me

Jenkins Ssh Key Error

docker exec -it <jenkins-container> bash mkdir -p /var/jenkins_home/.ssh ssh-keyscan -t ed25519 gitlab.com >> /var/jenkins_home/.ssh/known_hosts chown -R jenkins:jenkins /var/jenkins_home/.ssh chmod 600 /var/jenkins_home/.ssh/known_hosts

28/07/25 · 1 min · 21 words · me

Chrome Extension

ahfgeienlihckogmohjhadlkjgocpleb : Web Store : version 0_2 ddkjiahejlhfcafbddmgiahcphecmpfh : uBlock Origin Lite : version 2025_725_1450 fdidojpjkbpfplcdmeaaehnjfkgpbhad : OdooTerminal : version 11_9_1 fignfifoniblkonapihmkfakmlgkbkcf : Google Network Speech : version 1_0 ghbmnnjooekpmoecnnnilnnbdlolhkhi : Google Docs Offline : version 1_94_1 jlmpjdjjbgclbocgajdjefcidcncaied : daily.dev | The homepage developers deserve : version 3_37_6 ldgfbffkinooeloadekpmfoklnobpien : Raindrop.io : version 6_6_80 mhjfbmdgcfjbbpaeojofohoefgiehjai : Chrome PDF Viewer : version 1 nffaoalbilbmmfgbnbgppjihopabppdk : Video Speed Controller : version 0_9_2 nkeimhogjdpnpccoofpliimaahmaaome : Google Hangouts : version 1_3_24 nmmhkkegccagdldgiimedpiccmgmieda : Chrome Web Store Payments : version 1_0_0_6 nngceckbapebfimnlniiiahkandclblb : Bitwarden Password Manager : version 2025_7_0 aeblfdkhhhdcdjpifhhbdiojplfjncoa : 1Password – Password Manager : version 8_11_2_21 ahfgeienlihckogmohjhadlkjgocpleb : Web Store : version 0_2 ailcmbgekjpnablpdkmaaccecekgdhlh : Tab Manager by Workona : version 3_1_33 amfojhdiedpdnlijjbhjnhokbnohfdfb : eJOY AI Dictionary : version 7_1_0 apgeooocopnncglmnlngfpgggkmlcldf : Shortlink : version 0_0_7 bbiclfnbhommljbjcoelobnnnibemabl : ShowPassword : version 1_2_1 bcjindcccaagfpapjjmafapmmgkkhgoa : JSON Formatter : version 0_7_3 bmhfelbhbkeoldaiphchjibggnoodpcj : Mobile View Switcher : version 0_2_1 bnjjngeaknajbdcgpfkgnonkmififhfo : Fake Filler : version 4_1_0 bpggmmljdiliancllaapiggllnkbjocb : Ddict: AI Translation & Writing Assistant : version 6_2_15 caippejcknmhingeohbdohmolalmejpc : Chrome Extension Manager by cloudHQ : version 1_0_2_8 cclelndahbckbenkjhflpdbgdldlbecc : Get cookies.txt LOCALLY : version 0_7_0 cdockenadnadldjbbgcallicgledbeoc : VisBug : version 0_4_10 cekalaapeajnlhphgdpmngmollojdfnd : NetSuite Field Explorer : version 1_0_0 cfmcghennfbpmhemnnfjhkdmnbidpanb : Quick source viewer : version 1_4_0 chphlpgkkbolifaimnlloiipkdnihall : OneTab : version 1_86 cimiefiiaegbelhefglklhhakcgmhkai : Plasma Integration : version 2_0 cjpalhdlnbpafiamejdnhcphjbkeiagm : uBlock Origin : version 1_65_0 ckigbicapkkgfomcfmcbaaplllopgbid : OpenReplay Spot - Record & Report Bugs : version 1_0_24 clngdbkpkpeebahjckkjfobafhncgmne : Stylus : version 2_3_15 cpcifbdmkopohnnofedkjghjiclmhdah : NeatDownloadManager Extension : version 1_9_92 dbepggeogbaibhgnhhndojpepiihcmeb : Vimium : version 2_3 dbnjpielondlkmdjbembloegkaabfakc : Glot Extension : version 0_7_19 ddkjiahejlhfcafbddmgiahcphecmpfh : uBlock Origin Lite : version 2025_725_1450 dgmanlpmmkibanfdgjocnabmcaclkmod : Just Read : version 6_0_10 dhdgffkkebhmkfjojejmpbldmpobfkfo : Tampermonkey : version 5_3_3 djflhoibgkdhkhhcedjiklpkjnoahfmg : User-Agent Switcher for Chrome : version 2_0_1 dmednmeainmagnoalnnmbbkieonjpjfd : Folx : version 5_37 ecmlflnkenbdjfocclindonmigndecla : System Monitor : version 2_1_2 edacconmaakjimmfgnblocblbcdcpbko : Session Buddy : version 4_0_5 eenjdnjldapjajjofmldgmkjaienebbj : Copyfish 🐟 Free OCR Software : version 6_2_0 ehgcekpdldhgfjpionbkilpnaahjiejj : NetSuite Advanced Field Help : version 3_4 eiimnmioipafcokbfikbljfdeojpcgbh : BlockSite Block Websites & Stay Focused : version 6_8_1 eimadpbcbfnmbkopoojfekhnkhdbieeh : Dark Reader : version 4_9_110 emhgkpmcjiokblfofahdclcgldgflelc : 10 Minutes Email - 10 min disposable email : version 0_1_0 eningockdidmgiojffjmkdblpjocbhgh : Header Editor Lite : version 5_0_0_37 eofbapfmbfmpeplodnehlkkgpkklmapp : Polypane helper : version 2_0_0 eppiocemhmnlbhjplcgkofciiegomcon : Urban VPN Proxy : version 5_6_0 fdidojpjkbpfplcdmeaaehnjfkgpbhad : OdooTerminal : version 11_9_1 ficfmibkjjnpogdcfhfokmihanoldbfe : File Icons for GitHub and GitLab : version 1_6_0 fjnbnpbmkenffdnngjfgmeleoegfcffe : Stylish - Custom themes for any website : version 3_4_5 fmkadmapgofadopljbjfkapdkoienihi : React Developer Tools : version 6_1_5 fpnmgdkabkmnadcjpehmlllkndpkmiak : Wayback Machine : version 3_4_5 gabfmnliflodkdafenbcpjdlppllnemd : Save image as Type : version 1_2_4 gglbgdfbkaelbjpjkiepdmfaihdokglp : NetSuite: Saved Search and Dataset Export : version 4_0 ghbmnnjooekpmoecnnnilnnbdlolhkhi : Google Docs Offline : version 1_94_1 gjoijpfmdhbjkkgnmahganhoinjjpohk : Screenshot YouTube : version 3_0_0 gphhapmejobijbbhgpjhcjognlahblep : GNOME Shell integration : version 12 gpkildejogofhhobidokcjpolaikgldj : Webpage to PDF Converter : version 1_2 gppongmhjkpfnbhagpmjfkannfbllamg : Wappalyzer - Technology profiler : version 6_10_85 hbkblmodhbmcakopmmfbaopfckopccgp : Thunderbit: AI Web Scraper & Web Automation Agent : version 4_0_3 hfgkoaengklibhfagaababcngpehggmm : Mua Thông Minh : version 2_1_8 hlgbcneanomplepojfcnclggenpcoldo : Perplexity - AI Companion : version 1_0_21 hmbnbbbknglecphfogchkhpdjiodfclh : QuickForm - Autofill Forms Quickly : version 1_10_1 hmdmhilocobgohohpdpolmibjklfgkbi : Odoo Debug : version 5_0 hmigninkgibhdckiaphhmbgcghochdjc : Mouse Tooltip Translator - PDF & Netflix Youtube dual subs : version 0_1_195 hmlcjjclebjnfohgmgikjfnbmfkigocc : J2TEAM Security : version 2_2_8 hnmpcagpplmpfojmgmnngilcnanddlhb : Windscribe - Free Proxy and Ad Blocker : version 4_1_9 iahamcpedabephpcgkeikbclmaljebjp : Web Developer Checklist : version 2_0_3 icallnadddjmdinamnolclfjanhfoafe : FastForward : version 0_2383 idgpnmonknjnojddfkpgkljpfnnfcklj : ModHeader - Modify HTTP headers : version 7_0_9 ilcoelkkcokgeeijnopjnolmmighnppp : Ruto - XPath Finder : version 7_0_1 infppggnoaenmfagbfknfkancpbljcca : Automa : version 1_29_11 ipdjnhgkpapgippgcgkfcbpdpcgifncb : Emoji Keyboard by JoyPixels® : version 9_1_2 ipikiaejjblmdopojhpejjmbedhlibno : SwiftRead - read faster, learn more : version 5_9_2 jabopobgcpjmedljpbcaablpmlmfcogm : WhatFont : version 3_2_0 jdecachbikbkppkpjjgdmdghgdfffibi : NetSuite Utils : version 3_9_0_1 jgjaeacdkonaoafenlfkkkmbaopkbilf : ChatGPT for Google : version 5_5_1 jhnleheckmknfcgijgkadoemagpecfol : Auto Tab Discard (suspend) : version 0_6_8_2 jinjaccalgkegednnccohejagnlnfdag : Violentmonkey : version 2_31_0 jjmflmamggggndanpgfnpelongoepncg : Extensity : version 1_14_0 jjmnbidkmmabkalampbilajnheeokpoj : TLDR This - Free automatic text summary tool : version 2_0_5 jlgkpaicikihijadgifklkbpdajbkhjo : CrxMouse: Mouse Gestures : version 6_2_2 jllbemjkkabaohnjcnajhflahlkehmlf : Odoo Utility : version 4_1 jlmpjdjjbgclbocgajdjefcidcncaied : daily.dev | The homepage developers deserve : version 3_37_6 jnbbnacmeggbgdjgaoojpmhdlkkpblgi : WakaTime : version 4_1_0 kbfnbcaeplbcioakkpcpgfkobkghlhen : Grammarly: AI Writing and Grammar Checker App : version 14_1246_0 khncfooichmfjbepaaaebmommgaepoid : Unhook - Remove YouTube Recommended & Shorts : version 1_6_8 kkjfobdnekhdpmgomkpeibhlnmcjgian : website broken link and 404 error checker : version 1_1_1 kkmlkkjojmombglmlpbpapmhcaljjkde : Zhongwen: Chinese-English Dictionary : version 6_3_0 knbeilbpfnelpbeoofhnkfbfcldpfehn : Douyin Video Downloader : version 2_0_9 kniehgiejgnnpgojkdhhjbgbllnfkfdk : SimpleExtManager : version 1_4_11 ldbfanecnfeflgbmgkbmipobkmoolbjb : Owl devtools : version 1_3_0 ldgfbffkinooeloadekpmfoklnobpien : Raindrop.io : version 6_6_80 legimlagjjoghkoedakdjhocbeomojao : Persepolis Download Manager Integration : version 4_0_0 mbnmcpnoeglgibggfjdmjeffohfmhdjl : SDA - Auto Form : version 4_4_0 mdnleldcmiljblolnjhpnblkcekpdkpa : Requestly: Supercharge your Development & QA : version 25_7_21 mfjgefhkaljdlpmnnfcaebgmchfhakcf : Udemy Subtitle Translator - Yakuu : version 1_2_0_0 mhjfbmdgcfjbbpaeojofohoefgiehjai : Chrome PDF Viewer : version 1 mhnlakgilnojmhinhkckjpncpbhabphi : MaxAI: Ask AI anything as you browse (GPT, Gemini, Claude, Grok, etc.) : version 8_26_4 mnjggcdmjocbbbhaepdhchncahnbgone : SponsorBlock for YouTube - Skip Sponsorships : version 5_14 mooikfkahbdckldjjndioackbalphokd : Selenium IDE : version 3_17_2 mpbjkejclgfgadiemmefgebjfooflfhl : Buster: Captcha Solver for Humans : version 3_1_0 nbkomboflhdlliegkaiepilnfmophgfg : Custom Progress Bar for YouTube™ : version 3_6_34 nbokbjkabcmbfdlbddjidfmibcpneigj : SmoothScroll : version 1_7_7 neajdppkdcdipfabeoofebfddakdcjhd : Google Network Speech : version 1_0 nffaoalbilbmmfgbnbgppjihopabppdk : Video Speed Controller : version 0_9_2 nkeimhogjdpnpccoofpliimaahmaaome : Google Hangouts : version 1_3_24 nkokmeaibnajheohncaamjggkanfbphi : Save Image As PNG : version 1_0_3 nlbejmccbhkncgokjcmghpfloaajcffj : Hotspot Shield : version 5_2_11 nmmhkkegccagdldgiimedpiccmgmieda : Chrome Web Store Payments : version 1_0_0_6 nngceckbapebfimnlniiiahkandclblb : Bitwarden Password Manager : version 2025_6_1 oanlehpljgeknlohgbakodejdbingjpj : AliPrice Shopping Assistant for Shopee : version 4_0_4 oglffgiaiekgeicdgkdlnlkhliajdlja : YouTube Dubbing – Translate & Dub : version 3_0_4 oilacejfpoonhegdhlhklckannjhmdgk : YouTube Summary with ChatGPT Claude DeepSeek : version 2_1_1 ojfebgpkimhlhcblbalbfjblapadhbol : EditThisCookie (V3) : version 3_0_4 okpidcojinmlaakglciglbpcpajaibco : J2TEAM Cookies : version 1_0_4 onepmapfbjohnegdmfhndpefjkppbjkm : SuperCopy, Allow Right Click and Copy : version 0_1_18 oocalimimngaihdkbihfgmpkcpnmlaoa : Netflix Party is now Teleparty : version 5_2_9 oodfdmglhbbkkcngodjjagblikmoegpa : Url Shortener : version 2_1_3 padekgcemlokbadohgkifijomclgjgif : Proxy SwitchyOmega : version 2_5_21 pfnededegaaopdmhkdmcofjmoldfiped : Proxy SwitchyOmega 3 (ZeroOmega) : version 3_4_1 ppmnkcnnoclkpbbckblofjbjepocnflo : Ultra Button : version 2_1_0

28/07/25 · 5 min · 1057 words · me