everyday: Development Log
Recently Added
12.11.2022 Zig/Using Zig for Advent of Code
08.31.2022 TypeScript/Test parameter passed into a function with Jest
08.29.2022 TypeScript/Optional Chaining and Code Coverage
08.28.2022 Typescript/Mocking File and FileList in Jest
08.27.2022 TypeScript/Testing localStorage in Jest
06.06.2022 Self-hosting/Migrating docker-compose application to M1 Mac
05.08.2022 Parsing/Recursive Descent Parser
Posts by categories
ZIG
12.11.2022 Using Zig for Advent of Code
01.12.2022 How ArenaAllocator works
01.11.2022 Build system
01.10.2022 Handling errors
01.09.2022 JSON in 5 minutes
01.08.2022 Case Study: Implementing a Generic Stack
01.07.2022 Cross-compile C/C++ and Zig programs
01.06.2022 Comptime
01.05.2022 Where data is stored and how to choose an allocator
01.04.2022 Strings in 5 minutes
TYPESCRIPT
08.31.2022 Test parameter passed into a function with Jest
08.29.2022 Optional Chaining and Code Coverage
08.28.2022 Mocking File and FileList in Jest
08.27.2022 Testing localStorage in Jest
04.20.2022 Building an Event System using the browser’s CustomEvent
04.14.2022 Understanding “keyof typeof”
04.11.2022 Use String As Enum Key
04.05.2022 Some random notes about Classes
04.01.2022 How the compiler compiles
03.31.2022 The intrinsic keyword
03.30.2022 How some utility types are implemented
03.29.2022 A note about lib.dom.d.ts
03.24.2022 Source Code Walkthrough: InlayHints
03.02.2022 Arrow Function in Classes
02.28.2022 Type Annotation vs Type Assertion
02.25.2022 Lookup Types
02.24.2022 Enums at runtime and tree-shaking
02.16.2022 The unknown type
02.14.2022 Implement Rust-style Result
02.06.2022 Testing with Jest
02.05.2022 Build a library with Parcel
01.02.2022 Type Intersection
01.01.2022 Non-null assertion operator
SELF-HOSTING
06.06.2022 Migrating docker-compose application to M1 Mac
PARSING
05.08.2022 Recursive Descent Parser
02.13.2022 Railroad Diagrams
02.12.2022 Backus-Naur Form and variants
02.11.2022 Context-Free Grammar/Leftmost and Rightmost Derivations
02.10.2022 Context-Free Grammar
COMPILERS
04.24.2022 Virtual Stack Machine/Variable declaration
04.21.2022 How Virtual Stack Machines Executed
ALGORITHMS
04.19.2022 Extract digits of a number from both ends
04.18.2022 Detect chess piece movement with Bitboard
04.10.2022 Tracking letter frequency with Hashmap and Array
04.08.2022 Cyclic Sort: Sorting in O(N)
04.07.2022 Fast and Slow Pointers For Linked List
04.03.2022 Sliding Window With Two Pointers
04.02.2022 Merge two sorted arrays with extra space
01.13.2022 Comparing floating-point numbers
12.27.2021 Find Palindrome
12.26.2021 Partition a number to sum of smaller ones
12.25.2021 Generate repeated combinatorial
DATA STRUCTURES
04.17.2022 Introduction to Bitboard
02.17.2022 Representing Graphs
12.30.2021 Binary Search Tree/Delete node
12.28.2021 Binary Tree/In-order Traversal with Stack
MATH
04.16.2022 Circle and Ray Intersection
04.15.2022 Prime Factorization Uniqueness
02.02.2022 Interpolation Methods
01.21.2022 Count number of digits with Logarithm
READING NOTES
04.13.2022 Detect Infinite Recursive Call with Control Flow Graph
04.12.2022 Wall Clock and Monotonic Clock
04.04.2022 Understand Complex Code with Dry Run
03.20.2022 Collector’s Fallacy and the cure
03.18.2022 Contributing to complex projects
03.15.2022 How to Edit Your Own Writing
03.13.2022 Two modes of thinking: Focused mode vs. Diffuse mode
03.10.2022 The Curse of Knowledge
03.09.2022 Browser Rendering: Painting and Compositing
03.08.2022 Forced Synchronous Layout and Layout Thrashing
03.07.2022 Two types of Knowledge
03.06.2022 Browser’s Rendering Process
03.04.2022 Zeigarnik Effect
03.01.2022 Tetris Effect
02.26.2022 Suffering Oriented Programming
02.20.2022 Rediscovering the Benefits of Drawing
02.19.2022 The Art of Close Reading
GOLANG
04.09.2022 Use Delve on M1 Mac
MONOREPO
04.06.2022 Code organization when using Nx
REACT
03.28.2022 Memoization with React.memo
03.05.2022 How React’s Diffing Algorithm Works
01.03.2022 Render a component to any DOM node with React Portals
TYPOGRAPHY
03.27.2022 Respect user’s default font size
03.26.2022 Hanging Punctuation
02.03.2022 Faux Bold and Faux Italic
CSS
03.25.2022 List counter-reset and the start attribute
02.23.2022 Percentage Padding and Margin
SKILLS
03.23.2022 Active Listening
ANGULAR
03.22.2022 Component CSS Isolation
03.19.2022 A 5 minutes guide to getting started
RUST
03.21.2022 Skip some fields when serializing
01.22.2022 Notes about Vector and memory allocation
01.20.2022 Blanket Implementation
01.19.2022 The Never Type
01.18.2022 Lifetime Elision Rules
01.16.2022 Dealing with Integer Overflow
01.15.2022 Deref and DerefMut
01.14.2022 Implement external traits for external types
12.29.2021 GUI/Druid/Custom Widget
JAVASCRIPT
03.17.2022 Partial update an object in IndexedDB
03.16.2022 Moving from LocalStorage to IndexedDB
02.18.2022 Beware the delete
02.09.2022 Named Imports and Dead Code Elimination
02.04.2022 Use any ASCII characters as a variable name
01.17.2022 Console Assert Command
ELM
03.14.2022 Building large Elm applications
RXJS
03.12.2022 Cancel Request with Subscription
SEO
03.11.2022 Structured Data for Google Search
GIT
03.03.2022 CODEOWNERS file
DESIGN PATTERNS
02.27.2022 The Elm Architecture
SECURITY
02.22.2022 How Bitwarden encrypts your data
02.21.2022 Cryptography/PBKDF2
02.07.2022 Timing Attack and Constant-time Compare Algorithm
VIM
02.15.2022 Record and Replay Macro
CLOUDFLARE
02.08.2022 Expose local server with Tunnel
HTML
02.01.2022 Auto-fill OTP code from SMS
DENO
01.31.2022 Non-blocking FFI Calls
01.30.2022 Introduction to FFI API
SUPABASE
01.29.2022 Row Level Security with application user
WEBASSEMBLY
01.28.2022 Working with wasm-bindgen
01.27.2022 Stack-based execution model
01.26.2022 Tables and Dynamic Linking
01.25.2022 Working with Linear Memory
01.24.2022 How to read WASM code
01.23.2022 A quick guide
NEXT.JS
12.31.2021 Handle Optional Subpath
SCALA
12.24.2021 Partial Applied Function