SQLite — A Single-File DB for Local Apps
SQLite is an embedded database that holds a SQL database in a single file. It is one of the most frequently chosen options for local storage in desktop and mobile apps.
21 views
Things I studied and noted down. For courses, see EDU.
AI/LLM topics — agents, prompts
HTML, CSS, JS, HTTP, URL basics
TypeScript, Java, Python, Rust
Data structures, Big-O, patterns
React, Next.js, Tauri, Tailwind
Spring, FastAPI, SQL
Claude Code · MCP · Context7 · Figma — overview of AI coding tools
Deployment options and decision criteria
PostgreSQL · Kafka · data strategy notes
Docker, Compose, Caddy, SSH
Windows vs Mac and other dev-environment notes
Cross-platform options compared (Tauri · Flutter · RN)
pnpm, uv, Gradle, Git, regex
KISS · DRY · YAGNI · naming — development philosophy
OAuth · JWT · security fundamentals
Testcontainers, Vitest, pytest
Searching, reading docs, debugging
SQLite is an embedded database that holds a SQL database in a single file. It is one of the most frequently chosen options for local storage in desktop and mobile apps.
21 views
cmd.exe is the command processor on Windows NT-family systems. It debuted in 1993 with Windows NT 3.1 and ships with every Windows release. Since PowerShell arrived, cmd's role as an entry point for new code has shrunk,…
20 views
iOS app builds go through similar steps to Android (compile → bundle resources → sign → package), but the tools, distribution channels, and policies look quite different. The biggest difference is that macOS and the App…
13 views
The trend of running large language models directly on personal computers has taken hold rapidly since 2023. Where there used to be only cloud APIs, the combination of quantization formats like GGUF, inference runtimes…
13 views
Even with the same language and the same code, the basics like paths, line endings, shells, and permissions shift once the operating system changes. Linux falls on the macOS side of this split (both are Unix-flavored).
13 views
Some ports need to be reachable from the internet, others should only be used inside the same host. The simplest tool to separate the two is the bind address. When a path that only outsiders can take is needed, an SSH t…
Even with the same language and the same code, the basics like paths, line endings, shells, and permissions shift once the operating system changes. Linux falls on the macOS side of this split (both are Unix-flavored).
Periodic tasks show up in any backend. Nightly aggregates, external data collection, expired-token cleanup. At small scale, cron or an in-process scheduler is enough; at larger scale, distributed queues and workers appe…
Whenever someone asks "pull just the emails out of this text", the first tool that comes to mind is the regular expression (regex). Short strings, big expressive power — and the same reason makes it look alien when firs…
When a repo needs to carry another repo's code, or when large binary files have to live inside a repo, the options that come to mind are Submodule, Subtree, Sparse Checkout, and Git LFS. Each has different strengths and…
HTTP is fundamentally a one-request-then-one-response model. It is hard for the server to speak to the client first. In places like chat, notifications, and live updates, the server must be able to push data actively.
Even for the same character, the bytes a computer stores depend on the era and environment. As a result, Korean text breaks or git diff fills with meaningless line changes.
Rate limiting protects resources, controls cost, and reduces abuse. It looks simple, but in distributed systems decisions accumulate around accuracy, fairness, and UX. This article covers the fixed window, sliding windo…
Whenever the browser renders a page, several protective mechanisms run in concert. Same-origin policy, CORS preflight, the script allow-list of CSP, HSTS, and the isolation headers introduced after Spectre. This article…
Attempts to feed information from design tools into a code-writing LLM are growing. When a designer's screen is shown to the LLM and components, tokens, and layouts are translated into code, Figma occupies the largest p…
OAuth 2.0 is the standard for delegating authorization without exposing user credentials. OpenID Connect sits on top to add authentication (who is this). This article covers the Authorization Code Flow with PKCE, state…
The single line in the browser's address bar has a more precise structure than it looks. It's a small grammar that expresses how to access which resource. This article covers each part of a URL, encoding rules, the diff…
Flutter is a UI toolkit from Google that targets mobile, web, and desktop from a single codebase. Its own rendering engine, the Dart language, and the widget tree as an expression model are the core. This post covers Fl…
Next.js is a framework that bundles server rendering, routing, and bundling on top of React.
Redis started as an in-memory key-value store, but today it covers cache, sessions, queues, ranking, distributed locks, and pub/sub all at once.
The idea of building desktop apps with HTML/CSS/JS is not new. The two largest branches are Electron and Tauri, and although they look similar, their architectures are quite different.
Code that handles images shows up often. Resize an uploaded photo, convert formats, generate thumbnails.
Different projects need different language runtime versions. Version managers let one machine switch between many versions safely. This article covers the leading tools for Node, Python, and the JVM, plus multi-language…
Reverse proxy, HTTPS termination, and static file serving show up in nearly every web service. nginx has been the long-standing standard, and Caddy carved out its place by emphasizing automatic HTTPS and simple configur…
If MCP is the standard, the clients are the entry points that actually expose it to users. Multi-client environments, where multiple clients share the same server simultaneously, are the reality.