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.
7 views
Things I studied and noted down. For courses, see EDU.
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.
7 views
An embedding is the result of mapping text (or images · code) to fixed-dimensional real-valued vectors. On top of the assumption that semantically close items sit close in the vector space, search · clustering · classif…
5 views
A monorepo keeps the source for many projects in a single version-controlled repository. This article covers what a monorepo is, its history, how far a lightweight setup like pnpm workspaces can take us, and what full-s…
5 views
The LLM market shifts fast. Closed-API and open-weight, English-centric and multilingual, cloud and self-hosted, models specialized for Korean — all sit alongside each other.
4 views
The word "agent" is used in several senses, which is a confusing situation. Script automation is called an agent, and so is the shape of an LLM calling tools.
4 views
Internationalization (i18n) is the work of making an app behave naturally across multiple languages and regions.
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.
Tailwind CSS is the flagship of the so-called utility-first approach to styling.
State management in React apps creates confusion because there are many libraries. The biggest fork, however, is not the library choice but whether the state belongs to the client or to the server.
Next.js is a framework that bundles server rendering, routing, and bundling on top of React.
React 19 marks one of React's larger inflection points. Among its changes, React Compiler automates some of the memoization that used to be written by hand.
> The multi-emulator paths and commands below are an architectural example, not a claim about a particular repository. Select only the providers and cost envelope you actually need.
Some modern web features simply do not work over HTTP. Service Worker, WebAuthn, parts of the media APIs, and the Secure flag for Cookie SameSite=None are the cases. In production HTTPS is naturally there, but local dev…
When a service is in its early stage, it is often most reasonable to bring everything up on a single VPS with docker compose. Operational cognitive load is small and costs are predictable. How far this model goes, when…
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…
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…
When running several containers on a single host (web, DB, cache, queue) Compose is the lightest path. One YAML file ties together dependencies, networks, volumes, and healthchecks. Not being a full orchestrator is both…
A container is an isolated user space that runs on top of the OS, letting the same application run anywhere with the same shape. Docker is the decisive moment that bundled containers into a standard tool and brought the…
Tauri is a framework for building desktop and mobile apps, with a core runtime written in Rust. This post covers Rust's origins and core concepts, and "why Rust in particular", on a factual basis. It is not a deep dive…
Python is a dynamic scripting language first released in 1991. This post covers Python's flow, the GIL, and how asyncio came about. We also touch on the difference between concurrency and parallelism, where ASGI and Fas…
First released in 1995, Java has lived for nearly 30 years. This post lays out Java's flow, the LTS cycle, and a few features in Java 21 that carry real weight, all on a factual basis. We also briefly touch on neighbors…
TypeScript is a language that adds static types to JavaScript. This post lays out TypeScript's origins, how it works, and what strict: true actually turns on, all on a factual basis. We also touch on the gap left by run…
Reports that the time spent fixing already-built code is longer than the time spent building new features are common. Debugging is closer to a mindset than a separate skill. We honestly examine what we're assuming and w…
There's no fixed answer to questions like "how many years to learn full-stack?" There are, however, frequently-cited visual references, frequent traps, and frequently-recommended orders. This article covers the source o…
There's a saying that "a good question is half the answer." Faced with the same blocker, one person gets an answer in 5 minutes while another wanders for days. The difference usually sits in two places. First, asking be…