All blogs / JavaScript / TypeScript
huy.rocks
Huy's development blog
JavaScript / TypeScriptAlgorithms / data structuresCompilersZig
- Posts
- 130 from 24 Dec 2021 to 29 May 2026
- Posting
- now and then (3 in the last year)
- Kind
- personal blog
- Feed
- https://www.huy.rocks/rss.xml
2026 2
2025 1
2022 119
- Using Zig for Advent of Code
- Test parameter passed into a function with Jest
- Optional Chaining and Code Coverage
- Mocking File and FileList in Jest
- Testing localStorage in Jest
- Migrating docker-compose application
- Recursive Descent Parser
- Variable declaration in Virtual Stack Machine
- Virtual Stack Machines
- Using the browser's CustomEvent
- Extract digits of a number from both ends
- Detect chess piece movement with Bitboard
- Structures Bitboard Tic Tac Toe
- Circle and Ray Intersection
- Prime Factorization
- Understanding keyof typeof
- Notes Control Flow Graph and Infinite Recursive Detection
- Notes Monotonic Clock
- String as enum key
- Tracking letter frequency
- Use Delve on M1 Mac
- Cyclic Sort
- Fast and slow pointers for Linked List
- Code organization when using Nx
- Some random notes about Classes
- Notes Dry Run
- Sliding Window
- Merge two sorted arrays with extra space
- Compilation Process
- The intrinsic keyword
- How some utility types are implemented
- A note about lib.dom.d.ts
- Memorization with React.memo
- Respect default font size
- Hanging Punctuation
- Counter Reset respects start attribute
- Source Code Walkthrough InlayHints
- Active Listening
- Component CSS Isolation
- Skip some fields when serializing
- Notes Collector Fallacy
- A quick guide to getting started
- Notes Contributing to complex projects
- Partial update an object in IndexedDB
- Moving to IndexedDB
- Notes How to Edit Your Own Writing
- Building large applications
- Notes Diffuse vs Focused mode
- Cancel Request with Subscription
- Structured Data for Google
- Notes The Curse of Knowledge
- Notes Browser Rendering Painting Compositing
- Notes Layout Thrashing
- Notes Two types of Knowledge
- Notes Browser Rendering Process
- How React Diffing Algorithm Works
- Notes Zeigarnik Effect
- CODEOWNERS file
- Arrow Function in Classes
- Notes Tetris Effect
- Type Annotation vs Type Assertion
- Patterns The Elm Architecture
- Notes Suffering Oriented Programming
- Lookup Types
- Enums at runtime
- Percentage Padding and Margin
- How Bitwarden encrypts your data
- Cryptography PBKDF2
- Notes Rediscovering the Benefits of Drawing
- Notes The Art of Close Reading
- Beware the delete
- Structures Graph Represent
- The unknown Type
- Record and Replay Macro
- Implement Rust Result type
- Railroad Diagram
- 02 12 2022 parsing bnf
- Context-Free Grammar Derivations Leftmost Rightmost
- Context-Free Grammar
- Named imports and dead code elimination
- Expose local server with Tunnel
- Timing Attack
- Testing with Jest
- Build a library with Parcel
- Non-English Variables
- Faux Bold and Faux Italic
- Interpolation Methods
- Auto-fill OTP code from SMS
- Non-blocking FFI Calls
- FFI API
- Row Level Security
- Working with wasm-bindgen
- Stack Machine Execution
- Tables and Dynamic Linking
- Working with Linear Memory
- How to read WASM code
- A quick guide
- Notes about Vector memory allocation
- Count number of digits with Logarithm
- Blanket Implementation
- The Never Type
- Lifetime Elision Rules
- Console Assert Command
- Dealing with Integer Overflow
- Deref and DerefMut
- Implement external traits for external types
- Comparing floating-point numbers
- How ArenaAllocator works
- Build system
- Handling errors
- JSON in 5 minutes
- Case Study: Implementing a Generic Stack
- Cross-compile C C++ and Zig programs
- Comptime
- Where data is stored and how to choose an allocator
- Strings in 5 minutes
- Render a component to any DOM node with React Portals
- Type Intersection
- Non-null assertion operator