Meta tags:
Headings (most frequently used words):
-
Text of the page (most frequently used words):
span (24572), class (13444), meta (3971), rust (3889), punctuation (3224), the (3135), code (2738), python (2655), shell (2404), function (1936), href (1775), and (1503), source (1457), section (1323), for (1274), https (1262), string (1224), you (1182), definition (1160), that (1121), end (1065), begin (1045), keyword (1030), this (1004), group (914), call (869), variable (833), java (822), anchor (810), block (756), clojure (754), name (739), operator (703), text (627), are (616), arguments (593), plain (570), can (538), not (528), language (525), build (513), com (511), have (506), lang (490), pre (482), json (474), with (452), other (451), generic (438), link (433), but (427), what (417), zola (413), aria (407), label (406), separator (383), quoted (382), data (381), strong (379), constant (364), org (357), your (315), about (314), qualified (308), jyn (306), type (305), parameter (304), support (303), how (299), double (297), storage (297), all (281), which (277), assignment (273), console (271), comment (269), use (268), github (266), from (258), bash (258), accessor (257), they (251), html (248), lua (246), don (243), like (236), dev (229), more (227), there (226), mapping (226), perl (225), system (221), just (219), parens (218), file (213), line (211), sup (208), parameters (205), time (204), when (199), git (198), has (196), blockquote (196), new (191), want (191), because (191), numeric (187), cargo (186), integer (185), process (183), does (182), decimal (179), get (175), work (175), one (173), control (172), things (169), only (167), make (167), comparison (166), terminator (166), src (165), value (165), people (164), dot (164), some (161), sequence (159), will (157), program (155), run (151), would (150), files (149), out (149), main (149), them (147), post (146), here (145), reference (145), note (143), compiler (138), ninja (136), path (134), blog (133), single (133), commit (133), systems (133), was (132), tmux (131), than (129), modifier (129), using (128), let (126), see (124), docs (124), same (123), also (122), method (122), toml (122), key (121), www (121), need (121), rustc (120), terminal (118), doesn (118), way (116), brackets (116), struct (116), think (114), without (113), very (113), now (111), option (110), into (110), linux (110), even (107), any (106), graph (106), expansion (105), import (105), write (104), footnote (103), where (103), case (100), most (100), know (99), these (97), body (97), hard (97), command (96), running (96), much (95), their (95), tools (94), really (93), access (93), lot (93), example (92), statement (92), instead (92), dependencies (91), first (90), project (90), possible (90), entity (89), changes (88), error (88), open (88), could (88), home (87), bin (87), wiki (86), why (86), called (85), list (84), output (84), cobol (84), readwrite (83), closure (82), good (80), add (79), our (79), redirection (77), look (77), rustup (77), lib (76), programs (76), gnu (76), actually (76), still (76), self (75), different (75), logical (75), works (75), change (74), wikipedia (74), between (74), say (74), building (74), set (73), return (73), something (73), bitwise (73), lifetime (73), before (72), conditional (72), tool (72), local (71), features (71), library (70), builds (70), 2025 (70), its (69), array (69), driver (69), too (68), action (68), means (68), own (67), user (67), well (66), problem (66), going (66), start (65), makes (65), number (65), help (65), simple (64), every (64), should (64), over (63), used (63), read (63), each (63), version (63), dependency (63), many (62), since (62), did (62), better (62), doc (62), stage (62), unquoted (62), often (61), environment (61), find (60), two (60), model (60), once (60), arithmetic (60), back (59), then (59), through (59), right (59), server (58), guide (58), after (58), thing (58), issues (58), point (58), who (58), risk (58), languages (57), whole (57), input (57), existing (56), summary (56), such (56), impl (56), escape (56), sign (55), assets (55), gdb (55), bazel (55), next (54), software (54), runtime (54), target (54), cite (54), models (54), were (53), both (53), enough (53), default (52), try (52), around (52), interface (52), memory (52), figure (52), print (52), annotation (52), loop (52), writing (52), commands (52), technical (52), rule (52), directory (51), been (51), std (51), persistence (51), inputs (51), state (50), those (50), x86_64 (50), clippy (50), content (49), test (49), usually (49), tracing (49), img (49), alt (49), man (49), aside (49), heredoc (49), take (48), rules (48), small (48), require (47), common (47), long (47), caddyfile (47), had (46), remote (46), ssh (46), fix (46), include (46), needs (46), nightly (46), outputs (46), while (45), may (45), standard (45), already (45), sometimes (45), working (44), uses (44), easy (44), google (44), character (44), done (44), built (44), current (44), future (44), bootstrap (44), pipe (44), cache (43), idea (43), always (43), item (43), part (43), braces (43), getting (42), mov (42), give (42), theory (42), copy (41), network (41), security (41), bad (41), job (41), doing (41), pull (41), borrow (41), having (41), itself (40), requires (40), windows (40), consider (40), down (40), drop (40), footnotes (40), password (39), documentation (39), metadata (39), less (39), might (39), crate (39), sysroot (39), site (38), being (38), appendix (38), programming (38), info (38), learn (38), unknown (38), isn (38), map (38), macro (38), button (38), regexp (37), 2018 (37), variables (37), gets (37), easier (37), mean (37), branch (37), show (36), sure (36), allows (36), object (36), result (36), div (36), aren (36), rbp (36), latest (36), posts (36), mut (36), png (36), quite (36), clause (36), design (36), figcaption (36), made (35), users (35), full (35), didn (35), step (35), push (35), please (35), kind (35), toolchains (35), table (35), interview (35), jupyter (35), little (34), another (34), net (34), probably (34), else (34), information (34), compound (34), care (34), never (34), talk (34), incremental (34), nvim (34), sftp (34), hermetic (34), 2026 (34), world (33), together (33), live (33), order (33), desktop (33), useful (33), continue (33), details (33), integration (33), again (33), everyone (33), understand (33), search (33), bootstrapping (33), hook (33), jyn514 (32), script (32), got (32), email (32), last (32), happens (32), debug (32), rax (32), examples (32), slash (32), elems (32), cost (32), editor (32), systemd (32), tailscale (32), glm (32), tokens (32), config (31), automatically (31), var (31), true (31), either (31), def (31), gcc (31), feature (31), processes (31), rerun (31), second (30), install (30), format (30), general (30), static (30), tell (30), check (30), complicated (30), calls (30), println (30), query (30), debt (30), orthogonal (30), configuration (29), questions (29), public (29), anything (29), exception (29), parts (29), allow (29), particular (29), best (29), exactly (29), toolchain (29), high (29), rustdoc (29), team (29), microsoft (29), executor (29), package (28), unix (28), changed (28), found (28), looks (28), keep (28), everything (28), multiple (28), looking (28), intro (28), mode (28), trying (28), cannot (28), api (28), box (28), rip (28), similar (28), confusing (28), member (28), tree (28), tradeoffs (28), tracking (28), pair (28), task (28), flash (28), commits (27), few (27), computer (27), blob (27), testing (27), watch (27), pdf (27), index (27), takes (27), tests (27), large (27), lets (27), update (27), paths (27), lea (27), finally (27), making (27), libraries (27), whether (27), configure (27), frontier (27), keys (26), service (26), create (26), manual (26), put (26), per (26), compile (26), reason (26), level (26), debugging (26), above (26), normal (26), someone (26), maintainers (26), sense (26), i32 (26), says (26), avoid (26), names (26), cfg (26), cmake (26), emulator (26), malleable (26), gpg (25), though (25), however (25), manager (25), binary (25), off (25), flow (25), shows (25), reading (25), across (25), callq (25), compilers (25), status (25), affect (25), rebase (25), role (25), top (25), programmers (25), container (25), powershell (25), interpolation (25), buck2 (25), diff (25), fizzbuzz (25), atproto (25), yes (24), edit (24), anyone (24), send (24), caching (24), least (24), specific (24), undo (24), ever (24), adding (24), she (24), intra (24), words (24), save (24), versions (24), kbd (24), word (24), bibliography (24), initramfs (24), hooks (24), hello (23), three (23), created (23), boot (23), master (23), able (23), performance (23), builtin (23), invalid (23), syntax (23), seen (23), directly (23), fact (23), hello_world (23), modify (23), runs (23), bit (23), machine (23), bunch (23), basically (23), 2020 (23), vec (23), 2021 (23), early (23), person (23), dynamic (23), patterns (23), programmer (23), disk (23), cheap (23), continuation (23), started (22), day (22), old (22), etc (22), echo (22), story (22), pages (22), sort (22), within (22), space (22), years (22), functions (22), turns (22), tried (22), faster (22), ways (22), objects (22), illegal (22), types (22), comma (22), fine (22), purpose (22), client (22), eax (22), libc (22), flags (22), inside (22), bugs (22), real (22), later (22), maybe (22), ask (22), pane (22), ideas (22), amount (22), smaller (22), token (22), identity (22), improvements (22), creating (21), basic (21), custom (21), generated (21), nice (21), errors (21), database (21), until (21), puts (21), flag (21), learning (21), plt (21), 2019 (21), issue (21), locally (21), stable (21), wrong (21), tag (21), readme (21), history (21), likely (21), breaking (21), setup (21), rebuild (21), costs (21), far (20), installed (20), lots (20), projects (20), root (20), today (20), following (20), notes (20), yet (20), switch (20), wrote (20), bug (20), options (20), wait (20), rdi (20), 100 (20), unless (20), contributors (20), hosted (20), linking (20), cowstr (20), interesting (20), repo (20), modified (20), times (20), important (20), actions (20), learned (20), 2024 (20), weird (20), queries (20), structured (20), mumps (20), companies (20), jev (20), side (19), break (19), ahead (19), page (19), usr (19), unfortunately (19), currently (19), half (19), required (19), several (19), recommend (19), written (19), pointers (19), instance (19), especially (19), original (19), myself (19), won (19), power (19), said (19), tech (19), exist (19), solve (19), log (19), unlike (19), non (19), head (19), review (19), execve (19), vim (19), nix (19), her (19), brace (19), experience (18), host (18), stackoverflow (18), web (18), store (18), gives (18), developer (18), platform (18), drive (18), must (18), args (18), yourself (18), although (18), mind (18), exit (18), architecture (18), year (18), longer (18), background (18), rather (18), picture (18), fast (18), comes (18), profile (18), timestamp (18), jvns (18), round (18), interviews (18), efficiency (18), negative (18), warp (18), llms (18), feel (17), tilde (17), scripts (17), gnome (17), themselves (17), almost (17), big (17), cross (17), research (17), necessary (17), previous (17), app (17), steps (17), seems (17), pid (17), shared (17), message (17), spend (17), updates (17), core (17), merge (17), talking (17), come (17), love (17), kinda (17), internal (17), openbsd (17), jade (17), edge (17), switching (17), serialization (17), expensive (17), raw (17), applicant (17), edges (17), infrastructure (17), jekyll (16), free (16), wanted (16), aware (16), fun (16), sound (16), passwords (16), arbitrary (16), community (16), int (16), property (16), given (16), null (16), match (16), assembly (16), reverse (16), challenge (16), mngmnt (16), quit (16), proc (16), kernel (16), problems (16), links (16), friends (16), failed (16), happen (16), fail (16), false (16), modern (16), others (16), strace (16), expect (16), cron (16), term (16), session (16), man7 (16), neovim (16), archive (16), backtick (16), vcs (16), llm (16), targets (16), bobby (16), template (15), http (15), pretty (15), handle (15), youtube (15), download (15), advantage (15), global (15), keepass (15), supports (15), strange (15), stdin (15), length (15), cases (15), imagine (15), harder (15), haven (15), declaration (15), range (15), native (15), highly (15), management (15), patch (15), fixed (15), helpful (15), execution (15), 00000000 (15), changing (15), faq (15), describe (15), happened (15), extern (15), place (15), external (15), brokenlink (15), earlier (15), equivalent (15), reproducible (15), ghc (15), development (15), depend (15), component (15), understanding (15), putting (15), cmd (15), worth (15), generally (15), finding (15), record (15), spreadsheets (15), hiring (15), vars (15), friend (14), debian (14), markdown (14), dns (14), due (14), force (14), including (14), txt (14), mostly (14), services (14), base (14), cat (14), methods (14), implement (14), anyway (14), none (14), identifier (14), str (14), reflection (14), engineering (14), screen (14), cpp (14), command_line (14), trace (14), description (14), talks (14), date (14), simply (14), based (14), fit (14), parser (14), fields (14), queue (14), placeholder (14), 2022 (14), showing (14), past (14), clang (14), compilation (14), slow (14), concerns (14), taste (14), become (14), compiling (14), env (14), dbus (14), tasks (14), correct (14), julia (14), view (14), bank (14), business (14), computing (14), salsa (14), persistent (14), efficient (14), plc (14), event (14), querying (14), dropbear (14), mailmap (14), inference (14), 2017 (13), solution (13), basics (13), dnssec (13), hours (13), goes (13), macos (13), enter (13), internet (13), move (13), private (13), various (13), practice (13), magic (13), empty (13), filename (13), rest (13), thread (13), heard (13), depending (13), usage (13), optional (13), short (13), inner (13), recently (13), spent (13), tied (13), plan (13), commonly (13), items (13), clap (13), focus (13), diagnostics (13), places (13), stream (13), pulldown (13), pulldown_cmark (13), life (13), broken_link_callback (13), pass (13), behavior (13), separate (13), stop (13), count (13), staged (13), close (13), individual (13), energy (13), money (13), emit (13), verify (13), passed (13), rustc_driver (13), dnd (13), cli (13), fyi (13), prevent (13), structure (13), hardware (13), application (13), identifiers (13), symbol (13), complected (13), starlark (13), depfiles (13), docker (13), cloudflare (13), inter (13), genconfig (13), andrea (13), cheaper (13), quality (13), his (12), quantifier (12), depends (12), available (12), join (12), speed (12), stuff (12), random (12), 11t00 (12), load (12), perhaps (12), sys (12), modifying (12), void (12), conclusion (12), simplicity (12), topic (12), labels (12), worse (12), sync (12), version0 (12), printf (12), split (12), game (12), 05t00 (12), whenever (12), trait (12), sandboxed (12), arg_enum (12), iterator (12), mutable (12), occurs (12), checker (12), higher (12), context (12), except (12), argument (12), parse (12), explain (12), cause (12), video (12), origin (12), under (12), stages (12), hit (12), infra (12), checks (12), company (12), left (12), clean (12), openat (12), concepts (12), vscode (12), respect (12), designed (12), zsh (12), tab (12), tup (12), analysis (12), benchmarks (12), detail (12), modification (12), evans (12), hand (12), rpc (12), known (12), semantics (12), redo (12), ipc (12), coding (12), limited (12), monadic (12), mosh (12), backup (12), axis (12), laptop (11), assume (11), overview (11), encryption (11), choose (11), gist (11), fully (11), releases (11), publish (11), generate (11), generator (11), told (11), javascript (11), difference (11), nearly (11), giving (11), response (11), art (11), edition (11), recent (11), safe (11), defined (11), collection (11), nor (11), compared (11), expression (11), asked (11), operations (11), implementation (11), binaries (11), sql (11), saying (11), patchnotes (11), reasons (11), secondary_login (11), stack (11), great (11), execute (11), 16t00 (11), crates (11), involved (11), feedback (11), async (11), catch (11), area (11), pattern (11), narrow (11), limitations (11), song (11), deleted (11), telling (11), allowed (11), engineers (11), stage1 (11), beta (11), haskell (11), supported (11), zig (11), counts (11), goals (11), 2023 (11), maintainer (11), becomes (11), window (11), fuck (11), proxies (11), cool (11), linker (11), notifications (11), pasted (11), image (11), toggle (11), exists (11), containers (11), kitty (11), him (11), selected (11), complex (11), blue (11), ibm (11), transaction (11), asciinema (11), kinds (11), medium (11), deployment (11), constrained (11), implicit (11), demand (11), reads (11), iterm2 (11), tar (11), human (11), ronin (11), mkinitcpio (11), stories (11), openai (11), hopefully (10), release (10), question (10), weeks (10), behind (10), outdated (10), specify (10), setting (10), article (10), certain (10), results (10), developers (10), documents (10), confused (10), remove (10), twitter (10), remember (10), jpg (10), track (10), meet (10), safety (10), 24t00 (10), module (10), len (10), closest (10), rhs (10), unsafe (10), share (10), thought (10), knowing (10), nothing (10), parsing (10), normally (10), buffer (10), blah (10), engineer (10), 0x400a90 (10), login (10), 0x98 (10), checking (10), play (10), operating (10), discord (10), tracked (10), explicitly (10), llvm (10), quickly (10), logging (10), improving (10), entry (10), goal (10), relevant (10), intended (10), broken (10), lifetimes (10), alone (10), elem (10), moved (10), happening (10), checkout (10), hate (10), sucks (10), touch (10), away (10), clear (10), dynamically (10), artifacts (10), talked (10), const (10), deps (10), wonder (10), grow (10), special (10), architectures (10), boundaries (10), pic (10), actual (10), clone3 (10), crontab (10), communicate (10), display (10), obsidian (10), sandboxing (10), editing (10), myfile (10), product (10), vulnerabilities (10), syscalls (10), effective (10), tooling (10), scrollback (10), terminals (10), alnum (10), technology (10), bracket (10), capability (10), specialized (10), approach (10), pluto (10), infodump (10), arrow (10), ekam (10), detection (10), frp (10), bluesky (10), tmpdir (10), nvidia (10), vllm (10), website (9), added (9), style (9), installing (9), gem (9), localhost (9), protocol (9), standards (9), coverage (9), introduction (9), news (9), taking (9), course (9), account (9), paper (9), altogether (9), scale (9), matter (9), reuse (9), tail (9), iter (9), extend (9), pain (9), reflect (9), cut (9), symbols (9), compiled (9), breakpoint (9), black (9), connect (9), relative (9), filesystem (9), dump (9), rsp (9), _zl4flag (9), compare (9), couldn (9), looked (9), pop (9), sorry (9), frequently (9), perfect (9), related (9), ran (9), dotfiles (9), compute (9), took (9), outside (9), growth (9), prs (9), unwrap (9), causes (9), near (9), happy (9), months (9), along (9), cmark (9), knowledge (9), callback (9), explicit (9), returns (9), pub (9), below (9), cell (9), moves (9), inline (9), follow (9), tips (9), embed (9), delete (9), whatever (9), annoyed (9), literally (9), distinguish (9), lol (9), fixes (9), released (9), experts (9), four (9), burnout (9), mentor (9), audience (9), extra (9), o_rdonly (9), o_cloexec (9), loading (9), sets (9), stat (9), apis (9), disturb (9), die (9), scripting (9), integrated (9), sessions (9), law (9), reliable (9), filenames (9), onto (9), needing (9), codes (9), identifers (9), postmodern (9), magnitude (9), webassembly (9), series (9), distinction (9), distributed (9), optimize (9), designing (9), chatgpt (9), oxide (9), vision (9), binding (9), smarter (9), express (9), uploads (9), pty (9), notebook (9), frontend (9), uptime (9), backups (9), cutoff (9), ifwritten (9), magma (9), fastbuild (9), lint (9), censor (9), coupled (9), numbers (9), jevons (9), paradox (9), signing (8), gnupg (8), simpler (8), sudo (8), sed (8), worked (8), scm (8), book (8), stackexchange (8), hidden (8), fortunately (8), intel (8), messages (8), prompts (8), facebook (8), strings (8), ignore (8), complexity (8), willing (8), lists (8), size (8), arrays (8), wrapper (8), define (8), handles (8), batch_size (8), header (8), 03t00 (8), instantiation (8), turn (8), valid (8), implementing (8), powerful (8), typing (8), fuse (8), ntfs (8), preprocessor (8), lines (8), char (8), 0x0 (8), competition (8), challenges (8), machines (8), eula (8), couple (8), primary_login (8), trick (8), rdx (8), removing (8), steam (8), hour (8), 04t00 (8), thank (8), devtools (8), rustfmt (8), front (8), progress (8), answer (8), signature (8), fnmut (8), otherwise (8), refs (8), forward (8), hint (8), integrate (8), tells (8), submodule (8), filter (8), abi (8), meaning (8), directories (8), missing (8), extended (8), justice (8), flower (8), matching (8), personally (8), individuals (8), rendered (8), values (8), attached (8), at_fdcwd (8), proxy (8), components (8), man1 (8), rpath (8), arg (8), stdout (8), ideally (8), artifact (8), scheduling (8), gsettings (8), banners (8), named (8), grep (8), specifically (8), interactive (8), mailto (8), chroot (8), filtering (8), poorly (8), wezterm (8), gpu (8), spawning (8), diffing (8), syscall (8), startup (8), sshd (8), cgi (8), specifying (8), organizations (8), form (8), functional (8), engines (8), notify (8), downside (8), points (8), transactional (8), red (8), orders (8), roughly (8), continuous (8), ffi (8), determinism (8), watching (8), atuin (8), plans (8), makefiles (8), writer (8), reinvent (8), applicative (8), react (8), fucking (8), eof (8), credentials (8), checkmate (8), anthropic (8), mamba (8), laya (8), hope (7), expected (7), sshd_config (7), networking (7), hosting (7), title (7), quick (7), css (7), rfc (7), ship (7), visible (7), major (7), third (7), dirty (7), emails (7), mozilla (7), repeated (7), appears (7), quoting (7), loaded (7), mobile (7), danluu (7), factor (7), managers (7), excel (7), encrypted (7), spreadsheet (7), keeps (7), groups (7), measuring (7), lower (7), familiar (7), experienced (7), checked (7), primitive (7), ternary (7), classes (7), passing (7), constructor (7), my_list (7), constructors (7), considered (7), references (7), tutorial (7), field (7), jython (7), operators (7), rarely (7), scratch (7), duck (7), sample (7), rewriting (7), previously (7), devices (7), treat (7), debugger (7), starting (7), updated (7), secret (7), 0x90 (7), 222 (7), executed (7), minutes (7), complete (7), advanced (7), click (7), sandbox (7), manually (7), author (7), discoverability (7), frequent (7), nomicon (7), effort (7), fewer (7), leads (7), zulipchat (7), dyn (7), mark (7), summary_broken_link_callback (7), new_with_broken_link_callback (7), creates (7), notice (7), rustlib (7), lived (7), matklad (7), spawn (7), refcell (7), partially (7), titled (7), turning (7), pick (7), untracked (7), recursive (7), xargs (7), went (7), stage2 (7), stage0 (7), sources (7), linked (7), apple (7), introduce (7), eventually (7), properties (7), culture (7), improve (7), burned (7), taken (7), runner (7), debuginfo (7), 6125 (7), ld_library_path (7), helix (7), coded (7), absolute (7), sbin (7), x11 (7), low (7), eye (7), interact (7), contents (7), nushell (7), editors (7), further (7), resume (7), flexible (7), everywhere (7), racket (7), bubblewrap (7), gittup (7), myuser (7), device (7), literal (7), ward (7), traditional (7), trivial (7), impossible (7), hillelwayne (7), tend (7), sqlite (7), apply (7), reduce (7), increase (7), statically (7), fails (7), embedded (7), pipeline (7), select (7), translate (7), restore (7), calpaterson (7), rich (7), replay (7), capabilities (7), personal (7), pack (7), horribly (7), writes (7), supply (7), tradeoff (7), trapped (7), compose (7), interacting (7), schema (7), intelligence (7), environments (7), bsky (7), h2okxbr76w5522tailkxmidq (7), expr (7), openssl (7), rebuilds (7), packages (7), lab (7), chart (7), suspending (7), critical (7), constraints (7), shake (7), phony (7), 20image (7), acls (7), initrd (7), drawing (7), esk (7), capable (7), uniq (7), glasswing (7), daybreak (7), weight (7), gpt (7), cybersecurity (7), patches (7), gpus (7), 23t00 (6), decided (6), agent (6), firewall (6), approval (6), parses (6), consistent (6), ruby (6), formats (6), permissions (6), servers (6), extensive (6), browser (6), enable (6), 06t00 (6), launch (6), reused (6), technically (6), sounds (6), prompt (6), clients (6), android (6), excellent (6), nicer (6), saving (6), generates (6), shouldn (6), easily (6), essentially (6), inheritance (6), my_function (6), __init__ (6), tmp (6), initialization (6), javac (6), oracle (6), generics (6), pointer (6), 29t00 (6), codebases (6), thinking (6), throw (6), ctf (6), exe (6), executable (6), assembler (6), rsi (6), 200 (6), 0x1 (6), 0xb3 (6), formatting (6), closely (6), somewhere (6), finished (6), partition (6), layer (6), downloaded (6), uid (6), came (6), cranelift (6), wasn (6), knew (6), tier (6), expand (6), borrowed (6), reach (6), improvement (6), threads (6), online (6), document (6), discussed (6), bring (6), into_iter (6), surprisingly (6), popular (6), bounds (6), wants (6), hide (6), 1065 (6), temporary (6), distance (6), tying (6), breaks (6), against (6), fixing (6), fnonce (6), 08t00 (6), val (6), absolutely (6), simplify (6), stash (6), detached (6), wtf (6), idk (6), deadline (6), immediately (6), overwrite (6), lock (6), modifications (6), conflicts (6), explaining (6), completely (6), uniquely (6), verifying (6), mention (6), faultlore (6), isnt (6), rebuilding (6), dead (6), thead (6), tbody (6), ocaml (6), dist (6), misc (6), trouble (6), mail (6), 12t00 (6), recruiting (6), gone (6), towards (6), contributing (6), joy (6), kelly (6), bold (6), white (6), triage (6), solving (6), dir (6), ansi (6), dep (6), readlink (6), invoking (6), rustc_private (6), analyzer (6), exec (6), knows (6)
Text of the page (random words):
re the taste of the lotus aria label anchor link for feature flags are the taste of the lotus a h2 p once your risk is high enough and if you don t have the option of reducing complexity people tend to work around the risk with feature flags or configuration options these flags avoid the new behavior altogether in the default case such that changing the program is decoupled from changing the behavior p p in my experience this can be good in moderation but if every new change requires a feature flag and you never go back and remove old flags then you re in trouble because the flags themselves are adding complexity and risk each new change has to consider not just the default case but all possible combinations of flags in a combinatorial explosion you see this with things like tmux oracledb and vim all of which tend to accumulate options without removing them consider a href https news ycombinator com item id 18442941 this quote a from someone who claimed to work at oracle p blockquote p sometimes one needs to understand the values and the effects of 20 different flag to predict how the code would behave in different situations sometimes 100s too i am not exaggerating the only reason why this product is still surviving and still works is due to literally millions of tests p blockquote p this is an extreme case but in my experience it is absolutely representative of what happens to sufficiently large codebases over time once things are this bad you are locked in to the feature flag model there s too many to remove and your users may be depending on them but you cannot understand the interactions of all their combinations so you gate new changes behind more new flags just to be sure p h2 id what to do about risk what to do about risk a class zola anchor href what to do about risk aria label anchor link for what to do about risk a h2 p this post is kinda scary it tells a story of codebases that grow more and more bogged down over time despite people s best efforts until they eventually die because they can t be modified p p i think things are not actually so dire as they seem firstly you always have the option to do ongoing refactors reducing the risk of changes with ongoing maintenance like this even extremely complex programs can be maintained for years or decades i think a href https rustc dev guide rust lang org about this guide html constant change the rust compiler a is a good example of such a program p p secondly rebuilding systems is good actually because it lets us learn from the lessons of the past oracledb tmux and vim all have younger competitors e g sqlite zellij and helix that are more nimble even more than that new systems have the opportunity to be built on a different paradigm e g sqlite runs in process instead of as a daemon with different tradeoffs this is the classic case of a href https en wikipedia org wiki disruptive_innovation disruptive innovation a p p to some extent people or teams can get locked in to existing systems especially if they are highly configurable or changing to a new system would be high risk for the organization e g migrating to a new database is extremely high risk for almost anyone but this can be mitigated by open file formats such as a href https www sqlite org fileformat2 html sqlite s database file a and backwards compatibility for the old options such as in neovim p h2 id in conclusion in conclusion a class zola anchor href in conclusion aria label anchor link for in conclusion a h2 ul li technical debt as commonly understood is different from its origins li li the original technical debt referred to iterative design li li the common meaning is about programs that are hard to change and i refer to it as technical risk li li all programs have technical risk to greater or lesser degree you can decrease it but never eliminate it altogether li li once risk grows sufficiently high changes become hard enough that they have to be gated behind feature flags the program eventually stagnates and is rewritten li ul section class footnotes ol class footnotes list li id fn smalltalk p actually if you read the post more closely he is saying something even more interesting iterative development is only possible em because em his company is using a language smalltalk that has privacy boundaries a href fr smalltalk 1 a p li ol section sftp sandboxing 2025 05 05t00 00 00 00 00 2025 05 05t00 00 00 00 00 jyn https jyn dev sftp sandboxing unix sure is a system p consider the following problem p ul li you want to share a 300 mb directory li li with a single other person not publicly li li over a public network li ul p any hosting service that lets you serve 300 mb costs money also for sufficient file sizes the wasted upload becomes noticeable it would be much nicer if we could peer to peer this p p sftp to the rescue p p small problem sftp shows you a em lot em of the system state for one thing you have read access to basically every file on the system and write access to anything owned by your user for another the easiest way to set up sftp is through an ssh server which is well it has shell in the name for a reason p p so here is how to set up a read only sftp server which doesn t allow any other kind of access p p first add the following to code etc ssh sshd_config code p pre data lang sshd class language sshd z code code class language sshd data lang sshd span class z text z plain subsystem sftp internal sftp span span class z text z plain match user myuser span span class z text z plain chrootdirectory h span span class z text z plain forcecommand internal sftp r span span class z text z plain disableforwarding yes span code pre p then run the following commands in a root shell e g with code sudo i code p pre data lang sh class language sh z code code class language sh data lang sh span class z source z shell z bash span class z meta z function call z shell span class z variable z function z shell mkdir span span span class z meta z function call z arguments z shell empty span span span class z source z shell z bash span class z meta z function call z shell span class z variable z function z shell chmod span span span class z meta z function call z arguments z shell a w empty span span span class z source z shell z bash span class z meta z function call z shell span class z variable z function z shell useradd span span span class z meta z function call z arguments z shell span class z variable z parameter z option z shell span class z punctuation z definition z parameter z shell span s span usr sbin nologin span class z variable z parameter z option z shell span class z punctuation z definition z parameter z shell span m span span class z variable z parameter z option z shell span class z punctuation z definition z parameter z shell span skel span empty myuser span span span class z source z shell z bash span class z meta z function call z shell span class z variable z function z shell chown span span span class z meta z function call z arguments z shell root root home myuser span span span class z source z shell z bash span class z meta z function call z shell span class z variable z function z shell chmod span span span class z meta z function call z arguments z shell a rx home myuser span span code pre p finally create code home myuser ssh authorized_keys code in any way you wish p p this creates a sftp session that looks like this p pre class z code code span class z text z plain ssh myuser localhost span span class z text z plain this service allows sftp connections only span span class z text z plain connection to localhost closed span span class z text z plain sftp myuser localhost span span class z text z plain connected to localhost span span class z text z plain sftp pwd span span class z text z plain remote working directory span span class z text z plain sftp ls span span class z text z plain myfile span span class z text z plain sftp ls span span class z text z plain myfile span span class z text z plain sftp ls span span class z text z plain myfile span span class z text z plain sftp mkdir x span span class z text z plain remote mkdir x permission denied span span class z text z plain sftp chmod 644 myfile span span class z text z plain changing mode on myfile span span class z text z plain remote setstat myfile permission denied span span class z text z plain sftp get myfile span span class z text z plain fetching myfile to myfile span span class z text z plain myfile 100 46mb 899 5mb s 00 00 span code pre hr p some explanations and references p p a href https man openbsd org cgi bin man cgi openbsd current man5 sshd_config 5 subsystem code subsystem code a is documented as follows p blockquote p configures an external subsystem e g file transfer daemon the name code internal sftp code implements an in process sftp server it accepts the same command line arguments as code sftp server code p blockquote p what arguments can we pass to a href https man openbsd org sftp server r code sftp server code a p blockquote p code r code places this instance of code sftp server code into a read only mode attempts to open files for writing as well as other operations that change the state of the filesystem will be denied p blockquote p just what we want p p a href https man openbsd org cgi bin man cgi openbsd current man5 sshd_config 5 forcecommand code forcecommand internal sftp code a is a cute little feature of openssh p blockquote p specifying a command of code internal sftp code will force the use of an in process sftp server that requires no support files when used with code chrootdirectory code p blockquote p in particular this denies shell and command access p p what is code chrootdirectory code p blockquote p specifies the pathname of a directory to a href https man openbsd org chroot 2 chroot 2 a to after authentication at session startup a href https man openbsd org sshd 8 sshd 8 a checks that all components of the pathname are root owned directories which are not writable by group or others after the chroot a href https man openbsd org sshd 8 sshd 8 a changes the working directory to the user s home directory for file transfer sessions using sftp no additional configuration of the environment is necessary if the in process sftp server is used p blockquote p cute an easy way to deny even reading other parts of the rest of the system p p why does it require the path to be owned by root a href https lists mindrot org pipermail openssh unix dev 2009 may 027651 html https lists mindrot org pipermail openssh unix dev 2009 may 027651 html a p blockquote p if you ever let the user chroot to this directory and execute his hard linked bin su he can become root within that directory and then escape the chroot even if you could prevent him from escaping chroot he can create device nodes and operate directly on filesystems mount proc and operate on external processes etc it should be clear that this is very bad tm p blockquote p cool cool cool love unix this sure is a tool we use to build software p p a href https man openbsd org cgi bin man cgi openbsd current man5 sshd_config 5 match code match code a is surprisingly complicated in the general case but simple enough here a href https man openbsd org cgi bin man cgi openbsd current man5 sshd_config 5 disableforwarding code disableforwarding code a is probably not em strictly em necessary but we don t want people using this file server as a jumpbox to whatever other networks it s connected to nor as e g a tor exit node p p lastly i want to point out that code useradd code by default creates a user with no login password which takes care of people guessing passwords for this without the proper ssh public key i have code passwordauthentication no code set in code sshd_config code but this allows disabling the password for just your sftp access without disabling it altogether alternatively you could put it under the code match user code p hr p strong note strong an earlier version of this post suggested code subsystem sftp internal sftp r code and code forcecommand internal sftp code that disables write access for em all em users not just the selected user the new version only disables it for the selected user p tools 2025 05 03t00 00 00 00 00 2025 05 03t00 00 00 00 00 jyn https jyn dev tools tools i use or want to use p i care a lot about my tools i have very high standards for tools along some axes and low standards along others but that s the topic of a different blog post this post is about the tools i em do em use and about tools i have my eye on and may use in the future hopefully it will be useful to other people such as programmers sysadmins etc p p this is also not a description of em how em i use these tools which also deserves its own blog post i pride myself on integrating tools that were not designed to integrate with each other this is just a list of the tools themselves p p i have a version of a href https jyn dev tools tools i have my eye on tools i have my eye on a for myself that i keep regularly updated i will probably not keep this public copy updated unless i find a tool that s sufficiently good i want to tell people about it p p i m always on the lookout for more useful tools if you have a tool you use regularly that s not on this list and not specific to a single language ecosystem please a href mailto blog jyn dev let me know a the one exception is containerization software i am interested in tools to em interact em with containers but at this time i am not looking for more container hosts podman kubernetes vagrant lxc systemd nspawn firejail chroot etc p h2 id tools i use tools i use a class zola anchor href tools i use aria label anchor link for tools i use a h2 h3 id basics basics a class zola anchor href basics aria label anchor link for basics a h3 p you have probably seen someone else recommend these tools it s not just hype they are useful p ul li a href https github com burntsushi ripgrep ripgrep a file contents searching li li a href https github com sharkdp fd fd a file name searching li li a href https jqlang org jq a json processing note that most data formats can be converted to json which i recommend over a href https github com mikefarah yq yq a or other format specific filtering tools the exception is xml and things isomorphic to it which a href https fwslc blogspot com 2014 10 json m html cannot be represented in json with fidelity a i tried a rewrite a href https github com 01mf02 jaq jaq a that promised to be faster but it had fewer features and it turns out that i rarely care about the speed of jq li li a href https man7 org linux man pages man1 killall 1 html code killall code a kill matching processes li li a href https linux die net man 1 pkill code pkill code a kill specific matching process li ul h3 id shell shell a class zola anchor href shell aria label anchor link for shell a h3 p a href https docs jade fyi zsh zsh html introduction 1 zsh a i cannot in good conscience recommend this t...
|