Meta tags:
description= James writes stuff about programming, mostly;
Headings (most frequently used words):
and, to, as, using, the, data, there, introducing, not, learn, have, by, work, is, in, of, for, changes, models, no, such, thing, simultaneous, spiffe, authz, proxy, llms, are, neutral, tools, them, harms, people, today, risk, taxonomies, speed, up, development, avoid, churn, never, good, idea, discomfort, needs, safety, zero, cost, future, proofing, meaningful, namespaces, more, impact, doing, right, sinks, logic, floats, advanced, blamelessness, owning, mistakes, without, fear, what, do, you, mean, bad, software, distributed, teams, need, face, time, difference, between, publicly, available, free, speech, stuff, ve, been, reading, march, 2024, debt, depreciation, sustaining, engineering, starring, our, monolith, role, api, boundaries, prepare, bigger, when, use, feature, flags, extra, ordinary, unconfidence, code, knowledge, timers, go, interfaces, requirements, capabilities, changing, meaning, breaking, semantic, three, value, constrain, your, access, fun, scale, conceptual, logical, physical,
Text of the page (most frequently used words):
the (52), and (41), read (27), min (25), that (17), this (12), 2023 (11), you (11), data (8), for (8), value (8), have (8), when (7), our (7), 2024 (7), with (7), aug (6), code (6), how (6), there (6), about (6), 2026 (5), has (5), can (5), which (5), think (5), #change (5), learn (5), people (5), oct (5), was (5), more (5), one (4), project (4), feature (4), architecture (4), not (4), out (4), are (4), said (4), make (4), stuff (4), work (4), mar (4), like (4), jan (4), 2025 (4), impact (4), future (4), models (3), things (3), time (3), but (3), boundaries (3), bad (3), often (3), design (3), what (3), changes (3), hard (3), even (3), they (3), some (3), will (3), other (3), using (3), continuous (3), deployment (3), each (3), then (3), stop (3), going (3), been (3), publicly (3), something (3), teams (3), need (3), server (3), sinks (3), logic (3), floats (3), well (3), risk (3), spiffe (3), coffee (2), keyboard (2), older (2), posts (2), conceptual (2), logical (2), physical (2), recently (2), system (2), fun (2), development (2), model (2), kind (2), breaking (2), type (2), means (2), them (2), won (2), years (2), seen (2), writing (2), maybe (2), experience (2), new (2), first (2), long (2), ago (2), early (2), programming (2), interview (2), big (2), tech (2), algorithm (2), know (2), off (2), top (2), flags (2), effective (2), nearly (2), past (2), question (2), should (2), such (2), api (2), easy (2), may (2), introducing (2), nov (2), before (2), built (2), because (2), able (2), debt (2), makes (2), into (2), mistakes (2), couple (2), weeks (2), post (2), see (2), murati (2), available (2), worked (2), jun (2), get (2), engineers (2), describe (2), software (2), languages (2), frameworks (2), culture (2), james (2), restarted (2), wrong (2), safety (2), thing (2), right (2), proof (2), growth (2), discomfort (2), uncomfortable (2), talking (2), never (2), sense (2), good (2), problem (2), saying (2), vim (2), authz (2), two (2), clock (2), powered, ghost, page, proven, most, valuable, learned, activerecord, style, orms, huge, savers, also, blur, within, leads, assumptions, habits, constrain, your, access, scale, database, product, large, discrete, units, refactor, deploying, continuously, opportunity, replace, mental, three, subtlest, doesn, affect, instead, affects, these, notice, making, harder, debug, happen, lead, changing, meaning, semantic, lesson, taken, many, others, follow, similar, path, down, hopes, find, shortcut, interfaces, requirements, capabilities, sep, trying, language, environment, try, implement, timer, used, instrument, print, took, run, timers, mid, 2000s, ancient, history, friend, mine, went, company, asked, write, jpeg, compression, whiteboard, didn, his, head, admitted, knowledge, sine, qua, non, yet, aren, always, necessary, every, sprint, observed, included, flagged, least, once, common, use, extra, ordinary, unconfidence, alternatively, profit, routinely, misquote, kent, beck, who, desired, warning, twitter, rip, linking, prepare, bigger, heard, small, stage, start, application, rails, django, express, gin, were, lean, framework, ecosystem, lot, boring, focus, unique, starring, monolith, role, calling, rearchitecture, dangerous, lie, misrepresents, level, effort, retroactively, decisions, depreciation, sustaining, engineering, planning, collection, articles, blog, podcasts, etc, hoping, weekly, fridays, immediately, break, reading, march, wall, street, journal, published, minute, mira, cto, openai, their, sora, video, generator, trained, licensed, emphasis, added, zitron, wrote, longer, difference, between, free, speech, genre, linkedin, fediverse, goes, person, again, forgot, great, felt, warming, discourse, remote, return, office, rto, policies, distributed, face, started, moment, appreciate, header, image, whatever, genesis, words, terrible, shitty, invective, hurled, php, javascript, mean, blame, happens, investigation, operator, error, broke, everything, step, towards, blameless, blaming, assuming, malicious, actors, known, advanced, blamelessness, owning, without, fear, layered, architectures, bottom, narrowly, scoped, higher, permanent, deeper, matter, much, fast, challenging, same, having, business, rarely, taught, terms, its, effects, left, doing, sandi, metz, famously, duplication, far, cheaper, than, abstraction, following, advice, usually, until, against, trade, zero, cost, proofing, meaningful, namespaces, requires, whether, growing, pains, child, conversations, feedback, confront, address, existing, comfortable, reality, explore, beyond, definition, comfort, zone, want, needs, leadership, staffplus, week, senior, technology, folks, risks, come, weight, opinions, loud, actual, plan, pressure, idea, all, complete, deadline, someone, comes, status, meeting, puts, whole, delay, rethink, approach, taxonomies, speed, avoid, churn, realize, might, putting, own, career, opportunities, anyway, important, say, user, neovim, just, llms, neutral, tools, harms, today, llm, made, tool, spire, libraries, apis, faster, easier, adopt, based, mtls, authentication, authn, authorization, http, applications, especially, those, where, handling, short, lived, certificates, could, proxy, thought, experiment, imagine, computers, sitting, next, foot, apart, displaying, nanosecond, precision, superhuman, watching, supermonitors, nanoseconds, sync, sit, looking, simultaneous, writes, mostly, subscribe, sign, jamessocol, com, home,
Text of the page (random words):
coffee on the keyboard home jamessocol com sign in subscribe james writes stuff about programming mostly continuous deployment there s no such thing as simultaneous a thought experiment imagine you have two computers sitting next to each other about one foot apart each displaying a clock the clock has nanosecond precision and you a superhuman watching two supermonitors are able to see that the nanoseconds are in sync as you sit there looking at the 29 mar 2026 4 min read introducing spiffe authz proxy i made a tool to learn more about the spiffe and spire libraries and apis and to make it faster and easier to adopt spiffe based mtls authentication authn and authorization authz into older http server applications especially those built in languages or frameworks where handling short lived certificates could 20 jan 2026 1 min read llm llms are not neutral tools using them harms people today i realize by saying this publicly i might be putting my own career and future opportunities at risk i am saying it anyway because it is important to say i am a vim user not even neovim just vim so i like to think i have a good sense of 15 jan 2026 1 min read teams using risk taxonomies to speed up development and avoid churn we ve all been there the project is nearly complete there s a deadline and someone comes to a status meeting with a problem a big problem something that puts the whole project at risk and means we have to delay and maybe even rethink our approach and 09 jan 2026 3 min read design learn to never have a good idea at staffplus this week i was talking with some other senior technology folks about the risks that come with the weight of our opinions never think out loud people will think it s an actual plan and the sense of pressure to get it right when talking 18 oct 2025 1 min read leadership discomfort needs safety growth requires discomfort whether that s growing pains as a child or uncomfortable conversations and feedback we have to confront and address an existing comfortable reality and explore something beyond it by definition going out of our comfort zone is well uncomfortable so if you want growth you need 22 aug 2025 2 min read architecture zero cost future proofing meaningful namespaces sandi metz famously said duplication is far cheaper than the wrong abstraction and my experience has been that following that advice has usually worked out well you can t future proof well until you know what you need to future proof against a trade off that makes 09 may 2025 3 min read impact have more impact by doing the right work writing code no matter how much how fast or how challenging is not the same thing as having impact on a business as engineers we re rarely taught how to think about and describe the work we do in terms of its impact or effects we re left 27 jan 2025 5 min read architecture data sinks and logic floats in effective layered architectures data sinks to the bottom and logic floats to the top the more narrowly scoped the logic the higher it floats the more permanent the data the deeper it sinks 03 oct 2024 3 min read safety ii advanced blamelessness is owning mistakes without fear blame happens when we stop our investigation with operator error then james restarted the server which broke everything the first step towards a blameless culture is to stop blaming people for things going wrong assuming no malicious actors then i restarted the server which i should ve known was 30 jun 2024 1 min read culture what do you mean by bad software before i get started a moment to appreciate this header image and whatever was the genesis of it engineers will often describe software as bad often with words like terrible or shitty this invective is hurled at languages like php and javascript at frameworks 29 jun 2024 2 min read teams distributed teams need face time there s a genre of post i ve seen on linkedin and the fediverse recently that goes something like i worked with people in person again and forgot how great it felt in the warming discourse about remote work and return to office rto policies i 28 mar 2024 5 min read ip there s a difference between publicly available and free as in speech a couple weeks ago the wall street journal published 10 minute interview with mira murati cto of openai in which murati said that their new sora video generator model was trained on publicly available or licensed data emphasis added by ed zitron ed wrote a longer 26 mar 2024 6 min read stuff i read stuff i ve been reading march 1 2024 this is a collection of some of the articles blog posts podcasts etc that i ve read in the past couple of weeks i m hoping to make this more of a weekly post on fridays we ll see i m immediately going to break the 01 mar 2024 1 min read planning debt depreciation and sustaining engineering work calling rearchitecture tech debt is a dangerous lie it misrepresents the level of effort and retroactively makes our decisions into mistakes 14 nov 2023 4 min read architecture starring our monolith in the role of stop me if you ve heard this one before as a small early stage start up we built an application in rails django express gin because we were able to lean on the framework and ecosystem for a lot of the boring stuff and focus on our unique value 04 nov 2023 8 min read code introducing api boundaries to prepare for bigger changes alternatively api boundaries for fun and profit i routinely misquote kent beck who said for each desired change make the change easy warning this may be hard then make the easy change he said this on twitter rip so i won t be linking to it but 23 oct 2023 13 min read continuous deployment when to use feature flags extra ordinary unconfidence feature flags are a sine qua non for effective continuous deployment cd and yet they aren t always necessary nearly every sprint i ve observed for the past 10 years has included the question should this be feature flagged at least once such a common question 05 oct 2023 5 min read code code is knowledge in the mid 2000s so in ancient history a friend of mine went to an interview at a big tech company and was asked to write the jpeg compression algorithm on a whiteboard he didn t know that algorithm off the top of his head which he admitted and 02 oct 2023 8 min read programming using timers to learn when i m trying to learn a new language or environment one of the first things that i try to do is implement a timer code that can be used to instrument other code and print out how long it took to run a long time ago early on 07 sep 2023 5 min read go go interfaces as requirements not capabilities this is a hard won lesson that s taken me many years to learn and i have seen others follow a similar path so i m writing it down in hopes that maybe some people will find a shortcut go s type system is in my experience 31 aug 2023 4 min read design changing the meaning breaking semantic changes the subtlest kind of breaking change is the kind that doesn t affect a value s type but instead affects what that value means these changes can be hard to notice when you re making them and even harder to debug when they happen they can lead 29 aug 2023 8 min read design three models of value in product development we often think of value in large discrete units the value of project a vs project b the value of a feature the value of a refactor or architecture change when we re deploying continuously we have an opportunity to replace this mental model 28 aug 2023 6 min read database constrain your data access for fun and scale activerecord style orms can be huge time savers but also blur boundaries within a system which leads to bad assumptions and habits 23 aug 2023 6 min read data conceptual logical and physical data models conceptual logical and physical data models has proven to be one of the most valuable things i ve learned recently 21 aug 2023 5 min read page 1 of 11 older posts coffee on the keyboard 2026 powered by ghost
|