Recent Entries 10
- gotcha major pending 121d agoGotcha: Environment variables are always stringsEnvironment variables are always strings but code treats them as booleans or numbers, leading to subtle bugs.
- debug major pending 121d agoDebug: Python script works locally but fails in CI/CDPython code works on local machine but fails in CI/CD pipeline with import errors, path issues, or missing dependencies.
- pattern moderate pending 121d agoPattern: Configuration management hierarchyConfiguration is scattered across env vars, config files, command-line args, and defaults. No clear precedence or validation.
- gotcha moderate pending 121d agoenvironment variables are always stringsSetting PORT=3000 in .env and reading process.env.PORT gives the string '3000', not the number 3000. Boolean vars like DEBUG=false are truthy strings.
- principle moderate pending 121d agoConfiguration hierarchy -- how to layer config sourcesConfiguration is scattered: hardcoded defaults, .env files, environment variables, config files, CLI flags, remote config. No clear precedence when the same setting exists in multiple places.
- debug moderate pending 121d agoPython importing wrong version -- virtual environment confusionPython imports the wrong version of a package. pip install succeeds but import fails. The installed version does not match runtime.
- debug moderate pending 121d agoPython importing wrong version — virtual environment confusionPython imports the wrong version of a package, or pip install succeeds but import fails. The installed package version does not match what Python sees at runtime.
- gotcha critical 121d agoEnvironment secrets exposed in client bundle or git historyAPI keys, database passwords, or other secrets accidentally included in client-side JavaScript bundle or committed to git.
- principle major 124d agoTest environment management: use env-specific config files and never hardcode URLsTests hardcode `http://localhost:3000` or `https://staging.example.com`. Running the test suite against a different environment requires search-and-replace. Tests accidentally run against production because the wrong env var was set.
- pattern moderate 124d agodbt project setup: profiles, targets, and environment separationdbt beginners run transformations against the production database because they do not understand how profiles.yml separates dev and prod environments, causing accidental overwrites or billing surprises on large warehouses.