← Back to Blog

Code Blocks Beyond the Command Line

The code block has a name problem. It suggests a feature built for programmers, sitting in a text editor for the benefit of people who write software, and most people who are not programmers read that name, conclude the feature is not for them, and never open it. The naming is historically accurate and functionally misleading, because what a code block actually provides has nothing intrinsically to do with source code. It provides three things: a fixed-width typeface, preserved whitespace, and visual separation from the prose around it. Those three properties are useful to a far wider population than the name implies, and the people who discover this end up using code blocks constantly for content that no compiler would recognise.

Consider what fixed-width formatting does. In proportional type, which is what ordinary prose uses, an i occupies less horizontal space than a w, which is precisely what makes prose readable and precisely what destroys any content where vertical alignment carries meaning. A column of numbers loses its columns. A chemical equation loses the relationship between its terms. A small table of measurements becomes a ragged smear. Anybody who has typed a few lines intended to line up and watched them fail to line up has encountered this, usually without diagnosing it, and has generally concluded that the tool was being unhelpful rather than that the typeface was doing exactly what typefaces do.

Code Blocks Beyond the Command Line

Preserved whitespace is the second property and it matters more than it sounds. Most text editors treat multiple spaces, indentation, and line breaks as suggestions to be normalised, which is correct for prose and catastrophic for anything structured. Indentation that encodes hierarchy disappears. Deliberate blank lines collapse. A configuration snippet, a set of nested steps, a piece of pseudocode, or an address block loses the shape somebody carefully gave it. The content survives and the structure does not, and the structure was frequently the information.

The third property is separation, and it operates on the reader rather than on the text. A block that looks different from the surrounding paragraphs announces that it is a different kind of thing before a word of it has been read. This is why experienced note-takers use the format for material they will scan rather than read: a command they need to copy, a value they need to check, an exact string that must not be paraphrased. The eye finds it immediately, which is what allows a long entry to remain navigable.

Add an optional language label and something further happens. The label marks what kind of content sits inside, which serves the reader who is skimming and the author who is returning six months later, and it enables the display to distinguish elements within the block visually. That labelling habit turns out to be the difference between a wall of monospaced text and something a person can scan at speed, and it is the practice that users most often report adopting late and wishing they had adopted early.

None of this requires the content to be code. A chemical equation benefits from all three properties. So does a set of terminal instructions written for somebody else, a small table of readings, a piece of pseudocode written by a sixteen year old before they touch a robot, an address, a licence key, a configuration excerpt, a set of exact strings that must be reproduced precisely, and any content where a reader needs to know that this part is literal. The professionals who use the feature most heavily are frequently not the ones the name was written for, and the range of what they put inside it is considerably wider than any documentation suggests.

Two of them, in fields that share nothing except a habit of writing things down precisely, compared notes after a mutual acquaintance noticed they were using the same feature for entirely different reasons.

An introduction made by somebody who noticed a pattern

Raj had set it up, in his usual way, which was to send a message to both of them at once containing almost no information.

You both use code blocks constantly and for completely different things. I find this interesting and I have no stake in it. Please talk to each other.

Tomas Herrera joined from an empty classroom in San Antonio with chairs already on the desks, and admitted afterward that he had been slightly nervous.

‘I looked you up,’ he said. ‘Which I probably should not admit.’

Suki Tanaka, in a plain room somewhere with a laptop and nothing decorative in frame, looked mildly amused.

‘Everyone looks me up. What did you conclude?’

‘That you assess software for a living and break into systems people have paid you to break into, and that I teach chemistry to sixteen year olds and coach a robotics team.’ Tomas laughed at himself. ‘And that Raj may have made an error.’

‘Raj does not make that kind of error,’ Suki said. ‘He makes other kinds. I will tell you what I was thinking when I read his message, which is that I was amused, and I would like to get that out of the way honestly rather than pretend I was not.’

‘Amused that a teacher uses code blocks.’

‘Amused, and then immediately suspicious of my own amusement, because I have been wrong about this exact category of assumption before.’ She shifted slightly. ‘The people who use a technical feature most creatively are frequently not the people it was built for. That is a pattern I have seen enough times to take seriously.’

Tomas relaxed visibly.

‘Then I will go second,’ he said, ‘because if I go first I am going to spend the whole time apologising for not being technical.’

‘Do not do that.’

‘I will try not to.’

‘No, I mean it as advice rather than as politeness,’ Suki said. ‘Half the people I assess are experts in their own field who have decided that being outside computing means their judgment is worth less. It makes them worse at evaluating tools, because they stop trusting their own observations. If you notice something about how a feature behaves, that observation is valid, and it does not require a credential.’

There was a short pause.

‘That is a better opening than I was expecting,’ Tomas said.

‘I have made this speech before. Ask me what I actually use it for.’

What a security consultant puts inside a block

Suki shared her screen and opened a client page.

‘Structure first, because the blocks only make sense inside it,’ she said. ‘One page per client. Beneath that, one page per engagement. Beneath that, entries by phase: scoping, reconnaissance, testing, findings, remediation, and the report itself.’

‘And the code blocks?’

‘Everywhere, and in four distinct roles that I did not distinguish for the first two years and now do.’ She opened a findings entry, which had several section bars, and expanded one.

Inside the section, between paragraphs of prose, sat several blocks of monospaced text, each carrying a small label at its corner.

‘Role one is evidence,’ she said. ‘This block is the output of a scan. Exactly as it appeared, unedited, labelled as shell output. It is not a description of what I found. It is the thing itself, and the distinction matters enormously, because a client’s engineer is going to read it and reproduce it.’

‘Why not paraphrase it?’

‘Because a paraphrase of technical output is a claim and the output is a fact.’ Suki said it flatly. ‘If I write that a service was exposed, that is my assertion and it can be disputed. If I show the response, verbatim, the conversation moves on to what to do about it. I have watched entire arguments end because the evidence was reproduced exactly rather than characterised.’

‘Role two?’

‘Reproduction steps.’ She scrolled to another block. ‘The exact sequence of commands, in order, so that somebody on the client side can run them and see the same thing. Labelled as shell, which matters because it renders differently and the reader can tell at a glance that this is something to be executed rather than something to be read.’

‘And they can copy it.’

‘They can copy it, which is the entire point, and if I had written those commands inside a paragraph they would copy the punctuation of my sentence along with them and it would fail and they would conclude the finding was wrong.’ She almost smiled. ‘That has happened. Once. It was instructive.’

Tomas laughed.

‘Role three,’ she continued, ‘is configuration. Snippets of files, before and after. Labelled by format, so a structured configuration excerpt is marked as such, and a data payload as another. Indentation in those formats is not decorative. In several of them, indentation is the syntax, and a tool that helpfully normalises my whitespace has silently changed the meaning of what I pasted.’

‘Say more about that, because I have a version of it.’

‘If I paste a nested configuration into ordinary prose, the leading spaces on each line may be collapsed. The text still reads correctly to a human. It is no longer valid, and it is no longer the thing I copied.’ Suki spread her hands. ‘So the block is not formatting. It is the guarantee that what I stored is what I saw.’

‘Role four?’

‘My own scripts and one-liners, which is the closest to what the feature is named for and is honestly the least interesting.’ She pulled up an entry that was mostly blocks. ‘I have a page that is essentially a reference library. Things I have written that solved a specific problem, each with a block, a language label, and two or three sentences above it explaining what it does and when I wrote it.’

‘Why the sentences?’

‘Because a script with no explanation is a puzzle I set for my future self,’ Suki said. ‘I know exactly what it does today. In fourteen months I will look at it and reconstruct its purpose from the code, which takes ten minutes, and the two sentences would have taken twenty seconds.’

Tomas was writing.

‘The labels,’ he said. ‘Be specific about why they matter, because I have been inconsistent about them and I suspect that is a mistake.’

‘Three reasons and only one of them is about appearance.’ Suki counted them. ‘The first is scanning. An entry with nine blocks in it is unreadable as a wall of monospaced text, and labelled blocks let my eye separate the shell output from the configuration from the payload without reading any of them.’

‘The second?’

‘The label is a statement about what the content is, which survives longer than my memory does. Six months later I open an entry and a block is labelled as one format rather than another, and that tells me something about where it came from and what it belongs to.’

‘And the third?’

‘The third is that it makes me classify at the moment of pasting, which is the only moment I actually know.’ She said this with some emphasis. ‘When I paste something at eleven at night during an engagement, I know exactly what it is. Selecting a label costs two seconds and captures that knowledge. Deferring it means the knowledge evaporates and the block becomes anonymous.’

What a chemistry teacher puts inside the same thing

‘Now yours,’ Suki said, ‘and I would like the least programming-adjacent one first, because that is the one I want to hear about.’

‘Then I will start with chemical equations,’ Tomas said, ‘and I want to warn you that I arrived here by frustration rather than by design.’

He shared and opened a lesson entry from a thermochemistry unit. In the middle of a paragraph of explanation sat a block containing three lines of chemical notation, the terms aligned in vertical columns.

‘That is a reaction with its enthalpy change and the intermediate steps written above and below each other so the terms line up,’ he said. ‘Which is how it must be read. The whole pedagogical point is that a student can see which term on the left corresponds to which term on the right.’

‘And in ordinary text?’

‘In ordinary text the columns collapse and it becomes a sentence, and a sentence about a chemical equation is considerably harder to understand than the equation.’ He shrugged. ‘I spent about a year putting these in as images, which was slow, unsearchable, and a nightmare to correct when I found a mistake.’

‘How did you find the block?’

‘Entirely by accident. I clicked it to see what it was, pasted an equation in to test, and the columns held.’ Tomas grinned. ‘I said something out loud in an empty classroom, which I gather is a common experience.’

‘It is the most common experience in this entire subject,’ Suki said. ‘What is the label?’

‘I use plain text, because there is no chemistry option and it does not need one.’ He paused. ‘What I actually need is the fixed width and the preserved spacing. The label is honest rather than functional, and it also stops me wondering later whether something clever is happening.’

‘That is exactly right and I want to note that you got to it faster than most engineers do,’ Suki said. ‘The block is a container. What the container is called matters less than what it guarantees.’

Tomas moved on.

‘Second use. Pseudocode, and this one is pedagogical rather than practical.’ He opened a robotics entry. ‘My students write out what they want the robot to do, in plain language, structured with indentation, before they touch any actual programming. If the line sensor sees black, and so on, indented under conditions, nested.’

‘Why before?’

‘Because sixteen year olds will otherwise write code by trial and error until something moves, and they will learn nothing except that persistence eventually produces motion.’ He said it with the weariness of somebody who had watched it happen. ‘Writing the logic in words first forces them to have logic. And the indentation is the whole exercise, because nesting is the concept I am actually teaching.’

‘So the whitespace is the content.’

‘The whitespace is the entire content, and any editor that normalises it has erased the lesson.’ Tomas opened one. ‘I keep their pseudocode alongside my notes about the session, and I have four years of it now, and I can see the same misconceptions arriving every autumn from a new set of students.’

Suki sat forward slightly.

‘That is a longitudinal dataset about how people learn to think in conditionals.’

‘I had not put it in those terms and I am going to,’ Tomas said. ‘Third use. Small data tables.’

‘You have proper tables available.’

‘I do, and I use them, and there is a size below which a real table is heavier than the data deserves.’ He showed one. ‘Four rows, three columns, the results a group got from a calorimetry lab. If I build a formal table for that I spend a minute on it and it visually dominates a short entry. In a block, aligned with spaces, it takes eleven seconds and it looks like what it is, which is a jotted set of readings.’

‘Where is your threshold?’

‘Roughly, whether anybody will ever sort it or extend it.’ He thought about it. ‘If the data will grow, or if I will want to compare it across years, it goes in a real table because the structure has to be manipulable. If it is a snapshot from one afternoon that will never change, the block is faster and honestly clearer.’

‘I use the same rule with different words,’ Suki said. ‘Mine is whether the thing is data or evidence. Data goes in a table. Evidence goes in a block, because evidence should not be editable in a way that hides that it has been edited.’

Tomas stopped.

‘That is a much better version of my rule.’

‘They are the same rule. Yours is about future use and mine is about integrity, and they produce identical decisions.’

He continued: working Arduino snippets for the robotics team, labelled properly, each with a note about which board and which season it was written for. Terminal commands for setting up the programming environment on the school laboratory machines, which he described as the single most valuable page he owns.

‘Explain that one,’ Suki said.

‘Twenty-eight machines, reimaged by the district every summer, and every autumn I have to install the same toolchain on all of them.’ He was emphatic. ‘The first year I did it from memory and it took eleven hours and two of them were subtly different for the rest of the year. Now it is a block of commands in order, with a callout above it saying which order matters, and it takes an afternoon and every machine is identical.’

‘Does anybody else use it?’

‘The computer science teacher uses it, a student aide uses it, and last year a substitute got a machine working from it while I was out,’ Tomas said. ‘Which is when I understood that I had not written a note. I had written a procedure.’

Testing whether any of it can be found again

‘Question I have never actually verified,’ Tomas said. ‘Is what is inside a block searchable, or is it treated as an opaque lump?’

‘I know the answer and I would rather you test it than take my word for it,’ Suki said. ‘Search for something you know appears only inside a block.’

Tomas thought, and typed the name of a specific Arduino library into the question search.

‘Four results,’ he said. ‘All robotics entries. And in every one of them the library name appears only inside the code, because in my prose I refer to it as the sensor library rather than by its actual name.’

‘Which is exactly the situation where this matters,’ Suki said. ‘Your writing uses one vocabulary and your technical content uses another, and you would never find the second by searching the first.’

She ran her own.

‘A function name I wrote about three years ago, on an engagement I have not thought about since.’ She typed it. ‘One result, from a client I would not have guessed, in a block inside a findings section.’

‘Do you use that often?’

‘More than any other single search pattern,’ Suki said. ‘Because the way I actually recall past work is by fragment. I remember a specific string, a specific parameter, a specific error, and I have no memory whatsoever of which client or which year. Searching the fragment is the only route back.’

‘So the block is storage rather than formatting.’

‘The block is storage that happens to be formatted, and that is the reframing I would give anybody thinking about this.’ She was definite about it. ‘If the content inside were not indexed, a code block would be decoration. Because it is indexed, everything I have ever pasted into one is part of a searchable body of technical knowledge that spans nine years and roughly a hundred engagements.’

Tomas was quiet for a second.

‘Mine spans four years and about six hundred students,’ he said. ‘Which is not the same thing and is structurally identical.’

‘Give me the case where it paid off.’

‘A student asked me why a particular circuit behaved oddly, and I had a memory of the same behaviour years earlier and no idea which team or which project.’ He described it. ‘I searched for a component identifier, which appears nowhere in any title, and found a robotics entry from three seasons back with the answer written in it by past me, who had evidently spent an evening working it out.’

‘Past you had labelled it properly?’

‘Past me had labelled nothing and I still found it, because the search was on the contents,’ Tomas said. ‘Which is the argument for pasting things in even when you are being lazy about everything else.’

A generator, used for two things it was and was not built for

‘There is a tool sitting beside all of this that I use constantly,’ Suki said, ‘and I suspect you have never opened it.’

‘Tell me which one and I will confirm your suspicion.’

‘The password generator.’

‘I have never opened it,’ Tomas said.

‘My use is the obvious one and I will be brief about it.’ She produced one as she spoke. ‘Every engagement needs credentials. Test accounts, service credentials, keys for things I stand up temporarily. Every one of them is generated rather than chosen, because a password I invent is a password with a pattern in it, and I have spent enough of my career exploiting other people’s patterns to have no confidence in my own.’

‘And where do they go?’

‘Into an encrypted entry for that engagement, protected with its own password, so a credential set is behind its own door.’ She said it as a matter of routine. ‘One compartment per engagement. If something goes wrong with one client’s material, it does not touch another’s.’

‘That is the arrangement I would expect.’

‘It is the arrangement everyone expects and almost nobody performs,’ Suki said. ‘The interesting part is not the design. It is that generating a credential takes two seconds, so I actually do it, whereas the version of this where I have to think of something acceptable produces a variation on a theme every time.’

Tomas was looking at something.

‘I have a use for this and it has nothing to do with security,’ he said.

‘Now I am interested.’

‘Anonymous grading.’ He explained. ‘When I mark certain assignments I do not want to know whose work I am reading, because I know these students, I like some of them more than others, and I am not immune to that. So each student gets a code, and the work comes back with a code on it, and I mark the codes.’

‘Where do the codes come from currently?’

‘My own head, which is exactly the problem you just described,’ Tomas said, and laughed. ‘I generate them at the start of a semester and they are not random. They contain patterns. And I have caught myself, twice, recognising a code and knowing whose it was, which defeats the entire exercise.’

Suki was visibly enjoying this.

‘So you need short random strings, in bulk, with no relationship to anything.’

‘Which is a password generator with the word password removed from it.’ He was already writing. ‘And the mapping from code to student goes in an encrypted entry that I do not open until after marking, which is a use of encryption I would never have thought of because I do not have anything secret. I have something I need to be unable to see.’

‘That is a genuinely different reason to encrypt something,’ Suki said, slowly. ‘Not confidentiality. Self-imposed blindness.’

‘Is that a normal use?’

‘It is not a use I have ever encountered and I am going to think about it for some time,’ she said. ‘I spend my professional life reasoning about keeping information from other people. You have described keeping information from yourself, deliberately, in order to be fairer. That is the same mechanism doing something I have no category for.’

‘It is just marking,’ Tomas said, slightly embarrassed.

‘It is not just marking. It is a person identifying their own bias and building a technical control against it, which is more than most organisations manage with a compliance department.’

The block that shouts, next to the block that recites

‘The other block,’ Tomas said. ‘The callout. Because I use it constantly and I want to know whether a professional does.’

‘A professional does, and I adopted it late and grudgingly,’ Suki said. ‘Show me yours first.’

He opened a lab procedure. Between the numbered steps sat a bordered block with an accent bar down its left edge and a heading across the top.

‘Safety,’ he said. ‘That is the only thing that goes in a callout in a lab procedure. Ever. If it is in a callout, it can hurt somebody.’

‘One meaning only.’

‘One meaning only, and that discipline is the whole reason it works.’ Tomas was emphatic in a way he had not been about anything else. ‘The moment I put an interesting fact in a callout, the safety notice stops being distinguishable from the interesting fact. And a sixteen year old scanning a procedure at the start of a period is not reading. They are looking for the shape that means stop.’

‘That is exactly the argument I would make about severity markers and I have never heard it made about teenagers.’

‘It is the same reader behaviour,’ Tomas said. ‘Somebody in a hurry, scanning for the thing that will hurt them if they miss it.’

Suki showed hers.

‘Critical findings,’ she said. ‘In an engagement report, a client reads the summary and skims the body, and the finding that requires action this week has to be visually different from the finding that should be scheduled next quarter.’

‘Do you grade them?’

‘Callouts for anything requiring immediate action, and colour within the text for severity below that.’ She scrolled. ‘Red for high, amber for medium, nothing for low, and the meanings are stated at the top of every report so nobody has to guess.’

‘I use red for one thing only as well,’ Tomas said. ‘Anything that can burn, cut, or poison somebody. Which means my colour and my callouts overlap, and I have never decided whether that redundancy is good design or laziness.’

‘It is good design,’ Suki said immediately. ‘Two independent signals for the highest-consequence category is standard practice everywhere that safety-critical documentation exists. You have reinvented a convention.’

‘I reinvented it by being anxious.’

‘That is how most of them were invented.’

They compared how the pieces fitted together, which was Suki’s point.

‘What I would say to anyone reading about this,’ she said, ‘is that these are not separate features. They compose into a document layout system, and once you see that, you stop thinking of the editor as a place to type and start thinking of it as a place to build a document.’

‘Give me your composition.’

‘Headings for structure, second level for sections of an argument and third level beneath them. Prose for reasoning. Code blocks for anything literal that must be reproduced exactly. Callouts for anything requiring action. Tables for data with more than a few rows. Colour reserved for severity.’ She counted them off. ‘Six elements, each with one job, and a report built from them is professional documentation that I hand to clients without reformatting anything.’

‘Mine is the same six with different jobs,’ Tomas said. ‘Headings for phases of a lesson. Prose for explanation. Blocks for equations, pseudocode, and commands. Callouts for safety. Tables for lab data. Colour for hazards.’

‘Which is the finding, really.’

‘Which is the finding,’ he agreed. ‘We are producing completely different documents out of an identical set of parts, and neither of us had to learn anything specialised to do it.’

Everything else in the editor, argued about briefly

‘Since we are here,’ Tomas said, ‘tell me what you use that I probably do not.’

‘Case transformation,’ Suki said, without hesitation.

‘I have never touched it.’

‘Which is why I said it.’ She demonstrated: selecting text and converting it between upper case, lower case, title case, and sentence case. ‘I paste a great deal of material from other sources, and it arrives in whatever convention its author used. Headings shouting in capitals. Identifiers in inconsistent forms. Standardising it used to mean retyping.’

‘And now it is a selection and a click.’

‘It is a selection and a click, and the reason it matters is not tidiness,’ Suki said. ‘Inconsistent capitalisation in a report makes a reader wonder whether two things that look similar are actually the same thing. That doubt costs more attention than it should, and it is entirely avoidable.’

Tomas offered his own.

‘Tables, and I use them more heavily than anything else in the editor.’ He showed one: several columns of lab data, years across the top. ‘Six years of what my classes actually get for a standard experiment. When a student asks whether their number is reasonable, I have six years of real teenage results, which is a much better answer than the textbook figure.’

‘How do you build them?’

‘Size picker to start, and then the context menu constantly, because my tables always grow.’ He demonstrated inserting a column. ‘Every year adds a column. If adding one were painful I would have stopped after year two.’

‘That is the general principle with tables,’ Suki said. ‘They are only worth building if extending them is cheap, because a table you cannot easily extend becomes a snapshot and then becomes wrong.’

They compared fonts briefly, which neither had strong opinions about and both had made a decision on.

‘I use one family for everything and I chose it for legibility on a projector,’ Tomas said. ‘Because my notes go on a screen in front of thirty people more often than I anticipated when I started writing them.’

‘That is a constraint I do not have and it is a good reason.’

‘What is yours?’

‘I do not change fonts at all,’ Suki said. ‘Consistency across a document matters more to me than any individual choice, and every font decision is one more thing that can differ between two reports and make them look like they came from different people. My only typographic distinction is the monospace inside blocks, which is doing semantic work rather than aesthetic work.’

‘Lists?’

‘Numbered for anything where order is required, which in my work means reproduction steps and remediation sequences, and unordered for everything else.’ She shrugged. ‘It sounds trivial. It is not, because a client following a numbered list understands that the order is load bearing and a client reading bullets does not.’

Tomas laughed.

‘I use the same distinction and I have never articulated it. Numbered for procedure, bullets for material.’

‘Then we have both been making semantic decisions and calling them formatting for years,’ Suki said. ‘Which I suspect is the actual subject of this entire conversation.’

A security consultant reads a lab sheet

‘May I ask for something,’ Tomas said, ‘and you may decline.’

‘Ask.’

‘Look at one of my procedures and tell me what is wrong with it. Not as a favour. As the thing you actually do for a living, which is read a document and find the part somebody will get wrong.’

Suki looked genuinely pleased.

‘That is the first time anybody has asked me to do that to something that is not a system,’ she said. ‘Share it.’

He opened a lab procedure for a reaction involving a strong acid. Heading, materials, numbered steps, two callouts, a block of quantities, and a short section at the end.

She read it for about forty seconds without saying anything, which Tomas found more nerve-wracking than any comment would have been.

‘Three things,’ she said. ‘The first is a compliment and you should take it, because I do not give many. The structure is correct. A reader in a hurry gets the hazard, the quantities, and the sequence, in that order, without reading a paragraph.’

‘And the other two?’

‘Your second callout is doing two jobs.’ She pointed. ‘It contains a hazard and a piece of procedural advice about timing. The hazard is the reason the callout exists. The timing advice is useful and it is not dangerous, and having it in the same box means a student who has learned that callouts mean danger now has to read one to find out which kind it is.’

Tomas made a small noise.

‘That is exactly the dilution I warned you about ten minutes ago.’

‘Everybody violates their own rule somewhere, which is why external review exists,’ Suki said. ‘Move the timing into the numbered step it belongs to and the callout goes back to meaning one thing.’

‘And the third?’

‘Your quantities block is unlabelled and it should carry the same label as everything else, but that is minor.’ She paused. ‘The real third thing is about ordering, and it is the observation I would make about any procedural document. Your first hazard callout appears after step two.’

‘Because that is where the danger is.’

‘That is where the danger occurs. It is not where the reader needs to know about it.’ She was patient rather than sharp. ‘A person collects their materials before they read step two. If the hazard concerns something they will be holding by then, the warning has arrived after the decision it was meant to inform.’

Tomas sat back.

‘That is a genuinely serious point and nobody has ever made it to me.’

‘It is the most common finding in any procedural review I do, and it has nothing to do with chemistry.’ Suki shrugged. ‘Warnings placed where the danger happens rather than where the reader can still act. I write it up perhaps twice a year for organisations that pay me a great deal of money to notice it.’

‘Where should it go?’

‘At the top, in a callout, before materials. Then repeated at the step, which is redundancy and is correct here for the same reason we discussed earlier.’ She added, ‘I would put nothing else at the top. One callout, before anything, containing only what can hurt them.’

Tomas was already editing.

‘I am going to do this to all of them,’ he said. ‘There are about sixty.’

‘Do the ones involving anything corrosive, hot, or under pressure first,’ Suki said, ‘and do the rest when you feel like it. That is how I would sequence remediation for a client and I see no reason to treat teenagers differently.’

The library, and the problem of things that go stale

‘One more thing I want to compare,’ Suki said, ‘because it is the part of my system I am least satisfied with and I suspect you have the same difficulty.’

‘Go.’

‘My reference library. Blocks I have written that solved something, kept because they will be useful again.’ She opened it. ‘Roughly two hundred entries built over nine years.’

‘That sounds like an asset.’

‘It is an asset and it contains things that were true when I wrote them and are not the current best approach.’ She was matter of fact. ‘Not wrong exactly. Superseded. A technique that was correct four years ago against a system that has since changed.’

‘How do you handle it?’

‘Badly, for a long time, and then with a convention.’ She scrolled to one. ‘Every block in that library sits under a heading that includes when I last verified it, and the sentences above it say what it was written against. Not when I wrote it. When I last confirmed it still did what it claims.’

‘Those are different dates.’

‘They are very different dates, and the second one is the one that matters, and I recorded the first for six years because it was the obvious thing to record.’ She almost laughed. ‘Written is a fact about me. Verified is a fact about the world.’

Tomas was thinking visibly.

‘I have this and I have never named it,’ he said. ‘My robotics code is written against a specific board, and boards change, and every couple of years something that worked stops working for reasons that have nothing to do with the code.’

‘What do you record?’

‘Which board and which season, which I do consistently, because a student asked me once and I could not answer.’ He nodded slowly. ‘But not whether I have checked it since. So I have snippets from four years ago that a student may pick up in good faith.’

‘Which is the same exposure I have with a client.’

‘It is a smaller consequence and the same structure,’ Tomas said. ‘And the fix is your fix. A verified date, and the honest position that anything without one has not been checked.’

‘The honest position is the important half,’ Suki said. ‘I would rather a reader knew a block was unverified than assume everything in a library is current. An archive that does not distinguish between confirmed and merely retained is quietly claiming more than it should.’

‘Do you ever remove things?’

‘Rarely, and only when something is actively misleading rather than merely old.’ She shrugged. ‘Something that no longer applies is still evidence of what was true then, which occasionally matters. Something that would cause a person to do the wrong thing while believing they were following current practice is different, and that I annotate heavily or take out.’

Two small changes, agreed at the end

‘I am taking one thing and it is embarrassing how small it is,’ Tomas said.

‘Small things are the ones people actually do.’

‘Labels. Consistently, on every block, including the ones that are chemistry and pseudocode and jotted tables where the label is nearly meaningless.’ He was already writing it down. ‘Because you said something that landed, which is that the label captures what I know at the moment of pasting, and I have four years of anonymous blocks whose contents I can search and whose nature I have to reconstruct by reading.’

‘Will you go back and label the old ones?’

‘No, and I want to be honest about that rather than promising something I will not do.’ He laughed. ‘I will label everything from now on, and the old ones will remain as they are, and in three years the labelled ones will be the ones I can navigate quickly and that will be evidence enough.’

‘That is the correct answer and almost nobody gives it,’ Suki said. ‘People promise a retrospective pass and then feel guilty for a year instead of adopting the habit.’

‘And you?’

‘Callouts, in reports.’ She said it slightly grudgingly. ‘I have been using colour and heading levels to indicate urgency, and it works, and it works less well than what you showed me, because a coloured line of text is still a line of text and a callout is a shape.’

‘The reader in a hurry.’

‘The reader in a hurry, who in my case is an executive skimming a document their engineer will actually implement.’ She nodded once. ‘I have been designing for the engineer, who reads carefully. The person who decides whether anything gets funded reads for ninety seconds, and I have not been designing for them at all.’

‘That is a bigger change than mine.’

‘It is a bigger change than mine and it came from a chemistry teacher explaining how sixteen year olds scan a lab sheet,’ Suki said. ‘Which I will be mentioning to Raj, at length, because he will be extremely pleased with himself and I would rather he heard it from me.’

The measure of a tool is the range of work it can hold

The obvious reading of that conversation is that a feature named for programmers turns out to be useful to people who are not programmers. That is true and it is the shallow version. The more interesting observation is that both participants were making semantic decisions and describing them as formatting, and that neither had noticed until the other one said it out loud.

A code block is not a style. It is a claim about content: this part is literal, it must be reproduced exactly, and its layout carries meaning. That claim is equally true of a scan output that a client will copy and run, a chemical equation whose columns must align for the relationship between terms to be visible, a piece of pseudocode where indentation is the concept being taught, and a sequence of setup commands that a substitute teacher will follow on twenty-eight machines. The three properties involved, fixed-width type, preserved whitespace, and visual separation, are the same in every case, and the professions involved have nothing else in common.

The language label performs a similar semantic function and is adopted late by almost everybody. Its value is not appearance. It allows an entry containing several blocks to be scanned rather than read, it records what a piece of content is in a form that outlives the author’s memory of pasting it, and it forces classification at the only moment when the author actually knows the answer. A block labelled at eleven at night during an engagement captures knowledge that would otherwise evaporate by morning, and the cost of capturing it is two seconds.

None of it would matter if the contents were opaque. What converts a code block from a formatting device into a storage mechanism is that the text inside it is indexed and searchable along with everything else. That is what allows a consultant to recover a function name from an engagement nine years and a hundred clients ago, and a teacher to find a component identifier written by their own past self across four years of robotics seasons. In both cases the recalled fragment appears nowhere in any title, any label, or any prose, because the author’s writing vocabulary and their technical content use different words for the same things. Searching the fragment is the only route back, and it only exists if the block participates in search.

The wider point concerns composition. Headings, prose, code blocks, callouts, tables, colour, and list types are not seven separate features but a small vocabulary that composes into a document layout system. Two people using an identical set of parts produced a client-facing security report and a laboratory procedure for teenagers, each assigning a single consistent meaning to each element: callouts for the thing that requires action, red for the highest severity, numbered lists where order is load bearing, monospace where content is literal. The discipline of one meaning per element is what makes any of it work, and it is a discipline both of them arrived at independently after diluting it once and watching the signal disappear.

Which suggests a way to evaluate a tool that is not its feature count. The question is how wide a range of professional work can be expressed in it without anybody learning something specialised. When a penetration tester writing an audit report and a chemistry teacher writing a safety procedure both find that the same handful of elements carries their work, and both report inventing conventions that turn out to be standard practice elsewhere, the tool has achieved something considerably harder than being powerful. It has managed to be general.

FAQs

What is a code block actually for, if not code?

It provides three properties that have nothing intrinsically to do with programming: a fixed-width typeface, preserved whitespace, and visual separation from surrounding prose. Any content where vertical alignment carries meaning, where indentation encodes structure, or where a reader needs to know that a passage is literal benefits from all three. Chemical equations, small data tables, configuration excerpts, pseudocode, command sequences, exact strings, and addresses all qualify. The name is historically accurate and misleads a large population who would otherwise use the feature constantly. Anybody who has watched carefully typed columns collapse into a smear has already encountered the problem the feature solves, usually without diagnosing it as a formatting question at all.

Why does fixed-width formatting matter so much?

Because proportional typefaces, which make ordinary prose readable, assign different widths to different characters, which destroys any content where columns must align. A set of readings loses its columns. A chemical equation loses the visible relationship between terms on either side. A small table becomes a ragged smear. People who type content intending it to line up and watch it fail generally conclude the tool is unhelpful rather than diagnosing the typeface, and the fix is simply moving that content into a container that uses uniform character widths. The test is simple: if the content would lose meaning when its columns stop lining up, it belongs in a fixed-width container rather than in a paragraph.

What does preserved whitespace protect?

Structure that would otherwise be silently normalised away. Most editors treat multiple spaces, indentation, and blank lines as suggestions, which is correct for prose and destructive for anything where layout encodes meaning. Nested configuration loses its hierarchy. Pseudocode loses the indentation that expresses conditional nesting. In several structured formats the indentation is the syntax, so a helpful normalisation changes what the content means while leaving it looking plausible. A code block guarantees that what was stored is what was seen. This matters most for content copied from elsewhere, since a normalised paste looks plausible while no longer being the thing that was copied. Checking one pasted example carefully is worth doing once, since the failure is silent and produces content that reads correctly while no longer being valid.

Why does the language label matter if the block already looks different?

For three reasons, only one of which is appearance. Scanning: an entry containing several blocks is unreadable as a uniform wall of monospace, and labels let the eye separate output from configuration from a payload without reading any of them. Persistence: the label records what the content is in a form that outlives the author’s memory. Classification at the right moment: selecting a label takes two seconds while pasting, which is the only time the author reliably knows what the content is, and deferring it means the knowledge evaporates. Practitioners who adopt labelling late almost universally describe it as the single change they wish they had made at the beginning.

Should a label be applied even when no matching option describes the content?

Yes, and choosing plain text is an honest and useful answer. A chemical equation or a hand-aligned data snippet needs the fixed width and the preserved spacing rather than any interpretation of its contents. Marking it as plain text records that intention, prevents a future reader from wondering whether something clever is meant to be happening, and keeps the labelling habit consistent. Consistency matters more than precision here, because the value comes from every block carrying some statement of what it is. Applying a label to every block without exception is also easier to sustain than deciding case by case whether a particular one deserves it.

Is content inside a code block searchable?

Yes, and this is what converts the feature from formatting into storage. Text within blocks is part of the entry body and is indexed like any other content, so a function name, a component identifier, a parameter, or an error string can be recovered without knowing which entry it lives in. This matters most because people’s writing vocabulary and their technical content frequently use different words for the same things, so the term that will be searched years later often appears only inside a block and nowhere in any title or prose. This is what turns the feature from a presentation choice into a storage mechanism, and it is worth verifying personally by searching for something you know appears only inside a block.

What is the most common way people recall past technical work?

By fragment rather than by context. Practitioners consistently report remembering a specific string, parameter, or error message while having no recollection whatsoever of which client, project, or year it belonged to. Searching the fragment is the only reliable route back, and it works only if the content was captured verbatim and is indexed. This is the strongest argument for pasting things into blocks even when being careless about everything else, since a poorly organised block that was captured remains findable while a well-organised one that was never captured does not. Building the habit of pasting the exact string, rather than a description of it, is therefore worth more than any amount of careful organising.

What kinds of evidence belong in a code block rather than in prose?

Anything a reader will reproduce or verify. A description of technical output is a claim that can be disputed, while the output itself is a fact that moves the conversation to what should be done about it. The same applies to reproduction steps, which must be copyable without picking up the punctuation of a surrounding sentence, and to configuration excerpts, where indentation is frequently the syntax. Practitioners describe arguments ending simply because evidence was reproduced exactly rather than characterised. Copyability is the practical test: if a reader will need to reproduce the content exactly, it must not be embedded in a sentence whose punctuation would travel with it.

Why write explanatory sentences above a stored snippet?

Because a snippet with no explanation is a puzzle set for a future self. The author knows exactly what it does on the day they save it and will need ten minutes to reconstruct that from the content a year later, whereas two sentences written at the time take twenty seconds. The useful content of those sentences is what problem it solved, when, and any condition that made it work. This is the same discipline that makes a reference library usable rather than merely full. The habit also makes the library usable by somebody other than its author, which is what turns a private collection into a shared resource.

How do code blocks and tables divide up in practice?

By whether the content will be manipulated. Data that will grow, be sorted, compared across periods, or extended belongs in a real table, because the structure needs to be manipulable and adding a column must be cheap. A snapshot that will never change, such as one afternoon’s readings, is faster and often clearer as an aligned block. A parallel rule some practitioners use is that data goes in tables while evidence goes in blocks, on the grounds that evidence should not be editable in ways that conceal having been edited. When in doubt, starting with a block costs nothing, since converting a small snapshot into a proper table later is straightforward once it turns out to be growing.

What are callout blocks best used for?

A single category of information, chosen deliberately and never diluted. Common choices are safety warnings in procedural documents and findings requiring immediate action in professional reports. The mechanism works because the block is a shape rather than a line of text, and a reader scanning quickly identifies shapes before words. Diluting the convention by placing merely interesting content in a callout destroys the signal entirely, which is why practitioners who use them successfully describe an absolute rule about what qualifies. Writing the rule down, so that the single permitted meaning is explicit rather than remembered, is what keeps the convention intact across years of use.

Why does one meaning per element matter?

Because these elements function as signals rather than decoration, and a signal with two meanings has none. A colour reserved for hazards is scanned for and found instantly; the same colour also used for emphasis becomes invisible. A callout containing only actionable warnings is trusted; one containing warnings and asides is skimmed. Practitioners in unrelated fields report arriving at this rule the same way, by diluting a convention once, watching the signal disappear, and restoring the discipline permanently. Reviewing a document specifically for dilution, rather than for content, is a useful periodic exercise and takes only a few minutes per piece. Everybody violates their own rule somewhere, which is a reason to review rather than a reason to abandon the discipline.

Is it acceptable to signal the same thing two different ways?

Yes, and for the highest-consequence category it is standard practice wherever safety-critical documentation exists. Marking a hazard with both a callout and a distinct colour gives two independent signals, so a reader who misses one is caught by the other. People frequently arrive at this redundancy out of anxiety rather than design and then wonder whether it is sloppy. It is not: doubling the signal for the category where a missed message causes real harm is a deliberate convention with a long history. Restricting the doubled signal to a single category is essential, since applying it broadly recreates exactly the dilution problem it was meant to guard against.

How do these features compose into a document system?

Through a small vocabulary with assigned jobs. Headings carry structure, with second-level for major divisions and third-level beneath. Prose carries reasoning. Code blocks carry anything literal. Callouts carry anything requiring action. Tables carry data with enough rows to justify them. Colour carries severity. Numbered lists indicate that order is load bearing while unordered lists do not. Six or seven elements, each doing one job consistently, produce professional documentation without anybody learning a specialised system. Writing the assignments down once, as a short convention note, means the same layout can be reproduced consistently and explained to anybody who joins later. Once the assignments are fixed, producing a professional document becomes a matter of choosing which element fits rather than deciding how something should look.

What does the case transformation feature do and who benefits?

It converts selected text between upper case, lower case, title case, and sentence case in one action. The main beneficiaries are people who paste material from many sources, which arrives in whatever convention its original author used, producing headings that shout and identifiers written inconsistently. The benefit is not tidiness. Inconsistent capitalisation makes a reader wonder whether two similar-looking things are actually the same thing, and that doubt consumes attention disproportionate to its cause and is entirely avoidable. It also removes the temptation to retype pasted material, which is where transcription errors are most commonly introduced into otherwise accurate content. It applies equally to headings, identifiers, and imported lists, which are the three places inconsistent capitalisation most often arrives from elsewhere.

How should tables be built if they will grow over time?

By assuming from the start that they will. A size picker establishes the initial shape and the context menu handles inserting and deleting rows and columns afterward, which is the operation that determines whether a table survives. Practitioners maintaining multi-year datasets describe adding a column annually and note that if that operation were painful they would have abandoned the table in its second year. Any table whose extension is expensive eventually becomes a snapshot, and then becomes quietly wrong. Adding the new column at the moment the data arrives, rather than accumulating it elsewhere with the intention of merging later, is what keeps a multi-year table current.

What is the value of accumulating real measurements over several years?

It replaces a theoretical reference with an empirical one. A teacher holding six years of results that actual students obtained for a standard experiment can tell a student whether their number is plausible, which is a considerably better answer than a textbook figure produced under conditions no classroom reproduces. The same pattern appears in professional settings: accumulated real values from one’s own context outperform published expectations, and the accumulation costs nothing beyond recording results that were produced anyway. It also gives a clear answer to somebody questioning a result, which is far more persuasive than an appeal to what ought to happen in principle. The accumulation costs nothing beyond recording results that were produced anyway, which makes it one of the cheapest datasets anybody can build.

How should fonts and typography be handled?

Consistency generally matters more than any individual choice, and there are legitimate reasons to deviate. Somebody whose notes are frequently projected in front of a class reasonably selects for legibility at distance. Somebody producing client documents may prefer never to vary typography at all, so that two reports never look as though they came from different people. In both cases the only typographic distinction doing semantic work is monospace inside blocks, which signals literal content rather than expressing a preference. Deciding once and then leaving it alone removes an entire category of small decisions that consume attention without improving anything. Anyone producing documents that go to clients or onto a screen in front of a room has a real constraint to design against, and everybody else can simply pick one and stop.

What is the difference between numbered and unordered lists in practice?

Numbered lists tell the reader that sequence is required, and unordered lists tell them it is not. This sounds trivial and is not, because somebody following numbered remediation steps understands that performing them out of order may fail, while somebody reading bullets assumes the items are independent. Using the wrong one produces either unnecessary rigidity or a genuine error. Practitioners in unrelated fields describe the same convention: numbered for procedure, unordered for material. Choosing deliberately rather than by habit takes no additional effort and prevents a reader from either ignoring a required sequence or inventing one that does not exist. The distinction becomes more important the less familiar the reader is with the material, since an expert can infer a required order and a newcomer cannot.

What is the password generator used for?

Producing credentials that contain no human pattern. Anybody who has spent time exploiting other people’s predictable choices tends to have no confidence in their own, so generated values replace invented ones for test accounts, service credentials, and anything temporary. The practical reason it gets used rather than merely recommended is speed: producing a value takes seconds, whereas the version where somebody must think of something acceptable produces a variation on the same theme every time. Speed is the reason it becomes habitual rather than aspirational, since anything requiring deliberation at the moment of use tends to be replaced by whatever is quicker. It also removes the small negotiation people have with themselves about whether a particular password is good enough, which is where most weak credentials originate.

Where should generated credentials be stored?

In an encrypted entry scoped to whatever they belong to, such as one engagement, one client, or one project, so that each set sits behind its own door. This limits what a single compromise exposes and matches how the credentials are actually used, since they are opened together and belong together. Keeping the passwords protecting those entries in a separate manager, rather than in the vault they unlock, completes the arrangement and is the step most commonly overlooked. Recording what each credential is for, alongside the value itself, prevents the situation where a set of strings survives and nobody can say what any of them opens.

Are there non-security uses for a password generator?

Several, and they tend to be inventive. A frequently cited one is generating unique identifier codes for anonymous marking, where a teacher assigns each student a random string so that work can be assessed without knowing whose it is. Codes invented by a person contain patterns that eventually become recognisable, which defeats the exercise, while generated values do not. Anywhere a genuinely arbitrary identifier is needed, the tool applies regardless of whether anything about the use is secret. The general principle is that anywhere a human would otherwise invent an identifier, the invented version will contain patterns that eventually become recognisable. Anywhere a unique reference, a participant code, or an arbitrary label is needed, generated values avoid the accidental structure that invented ones acquire.

Can encryption be used to hide information from yourself?

Yes, and it is an unusual and legitimate application. A marker who encrypts the mapping between student codes and student names, and does not open it until after grading, has built a technical control against their own bias rather than against an external threat. This is not confidentiality in the usual sense; it is self-imposed blindness in the service of fairness. It is worth noting because it demonstrates that a mechanism designed for one purpose can serve an entirely different one without any modification. It is worth mentioning because it demonstrates that a mechanism built for one purpose frequently serves another without any modification at all.

Is it worth retrospectively labelling old content?

Usually not, and promising to do so is a common way of feeling guilty for a year instead of adopting a habit. The realistic approach is to apply the practice consistently from now on and leave existing material as it is. Within a couple of years the labelled portion will be visibly easier to navigate, which settles the question by demonstration. The habit is what produces the benefit, and the backlog remains fully searchable regardless of whether it was ever labelled. Making an exception for a small, genuinely high-value subset is reasonable, provided it stays small enough to finish in a single sitting. Keeping that subset genuinely small is the discipline, since a retrospective project that expands is one that will not be completed.

How does someone who is not technical start using these features?

By trying one on content they already have, which is how almost everybody discovers them. Pasting something that needs to line up into a block and observing that the columns hold is a thirty-second experiment that resolves the question immediately. The same applies to callouts: marking one genuinely important warning and seeing how it changes a scan of the page is more persuasive than any explanation. Nothing here requires background knowledge, only a willingness to click something to find out what it does. Trying one on content that already exists, rather than waiting for an appropriate occasion, is what turns curiosity into a habit within a week.

What is the strongest signal that a tool is genuinely general rather than merely feature-rich?

That professionals in unrelated fields can express their work in it using the same small vocabulary without learning anything specialised. When an audit report for a corporate client and a laboratory procedure for teenagers are built from an identical handful of elements, each assigned a different job by its author, the tool has managed generality rather than power. Feature counts measure what a product contains; the range of work it can hold measures whether any of that was useful. A related sign is that users in different fields independently invent the same conventions, which suggests the elements are general enough to carry meaning rather than merely style.

How should sections and blocks be combined within one entry?

Sections carry the divisions of an entry while blocks carry the literal content inside them, and the two work best when each section holds a mix of prose and blocks rather than segregating them. A findings section might open with a paragraph explaining what was observed, present the verbatim output as a labelled block, and close with a sentence on what it implies. That order matters, since a reader encountering an unexplained block has to reconstruct its purpose, while a block preceded by two sentences of context can be understood at a glance. Closing with a sentence about what the block implies is equally valuable, since a reader who understands the significance can decide whether to read the content closely at all. Two short sentences around a block transform it from raw material into something usable.

What is the most common structural mistake in procedural documents?

Placing a warning where the danger occurs rather than where the reader can still act on it. A hazard callout appearing after step two arrives long after the reader collected their materials and formed a plan, which means the warning is technically present and functionally too late. The fix is to state the hazard before anything else in the document and repeat it at the relevant step, which is deliberate redundancy of exactly the kind safety-critical documentation has always used. Reviewers report finding this pattern repeatedly across unrelated industries. Reviewing existing documents for this specific pattern, rather than for content accuracy, is a fast exercise that frequently finds several instances in material everybody considered finished. It costs a few minutes per document and the corrections are usually trivial.

Is it useful to have somebody outside your field review your documents?

Frequently more useful than a peer review, because structural problems are invisible to people who share the author’s assumptions. A reviewer who knows nothing about the subject matter cannot be distracted by whether the content is correct and will notice ordering, dilution of conventions, and ambiguity in signals. Practitioners describe receiving more actionable feedback on a lab procedure from a security consultant, or on a report from a teacher, than from colleagues who read the same documents every week without seeing them. The reviewer needs no subject expertise, only a willingness to say where the document confused them, which is precisely the information the author cannot generate alone. Offering the same service in return generally makes the exchange easy to arrange.

How do you prevent stored technical content from becoming misleading over time?

By recording when it was last verified rather than only when it was written. Those are very different facts: written is information about the author, while verified is information about the world. A snippet, procedure, or configuration that solved something years ago may still be correct or may have been superseded by changes elsewhere, and the only honest position is to distinguish confirmed content from merely retained content. An archive that makes no such distinction is quietly claiming more currency than it has. Recording the verification date takes a few seconds at the moment of checking and is the only fact that a future reader genuinely needs in order to judge how much weight to place on the content. Anything without such a date should be assumed unverified.

Should superseded content be deleted?

Usually not, and the distinction worth drawing is between outdated and misleading. Something that no longer represents current practice remains evidence of what was true at the time, which occasionally matters for understanding a past decision. Something that would cause a reader to act incorrectly while believing they are following current guidance is a different matter and deserves heavy annotation or removal. Marking rather than deleting preserves the historical record while protecting anybody who encounters it in good faith. Adding a short annotation explaining what changed is usually better than either deleting or leaving it silent, since it preserves the history while preventing anybody from acting on it in error. It also records something about how the field moved.

What should be recorded alongside a stored snippet besides the code itself?

What problem it solved, what it was written against, when it was last verified, and any condition that made it work. For a script that means the environment and versions involved. For a hardware snippet it means the specific board and season. For a configuration it means the system and its state. Two or three sentences at the time cost about twenty seconds and replace the ten minutes a future reader would otherwise spend reconstructing the same information from the content alone. Writing this at the moment of saving is essential, since every element of it is known precisely then and none of it can be reconstructed reliably afterward. Twenty seconds at capture replaces ten minutes of archaeology later.

How large should a reference library of snippets be allowed to grow?

Size matters less than whether the entries carry enough context to be trusted. Libraries of a couple of hundred items accumulated over years remain useful when each entry states what it was for and when it was checked, and become a liability when they consist of bare content with no provenance. The practical constraint is attention rather than storage: an item nobody can evaluate quickly will not be used, so the effort belongs in the surrounding sentences rather than in curation. Pruning is rarely the right response to a large library; adding context to the entries that lack it produces far more benefit for the same effort. Size is only a problem when the entries cannot be evaluated quickly.

Does a code block work for content that spans several formats at once?

Generally it is better to use several blocks with distinct labels than one block containing mixed content. A configuration excerpt, the command that consumed it, and the resulting output are three different kinds of thing, and separating them lets a reader copy exactly the part they need without editing anything. Interleaving short prose between them also explains the relationship, which a single combined block cannot do. The habit costs a few seconds and makes an entry considerably easier to use months later. Separating them also makes each part individually searchable in a meaningful way, since a reader looking for the command will not have to sift through unrelated output around it. The extra blocks cost nothing and clarify the relationship.

How does this approach help when somebody else has to follow a procedure?

Enormously, because a document built from consistent elements can be executed by somebody who was not present when it was written. Practitioners describe substitutes, colleagues, and student assistants completing technical setup successfully from a block of commands with a callout above it stating what order matters. The distinction worth noticing is that at that point the note has stopped being a personal reminder and has become a procedure, which is a considerably more valuable artifact and requires only slightly more care to produce. Testing it by asking somebody unfamiliar to follow it unaided is the only reliable way to find out whether it works, and the errors they make are the corrections worth writing down. Most procedures fail at a step the author considered obvious.

What is the benefit of storing student or trainee work in the same system?

It accumulates into a longitudinal record of how people learn, which no individual session reveals. A teacher keeping pseudocode written by successive cohorts can see the same misconceptions arriving every year, which changes how the material is introduced. The same applies to any training context where trainees produce artifacts. Since the content is searchable and the entries carry dates, patterns across years become visible without anybody having set out to collect data. It also provides concrete examples to show a new cohort, which is more persuasive than any explanation of what a good attempt looks like. Over several years the collection becomes a genuine teaching resource assembled without any deliberate effort. Nothing about it requires the original work to have been good.

How should mixed technical and narrative content be laid out?

With the narrative carrying reasoning and the technical content carrying facts, clearly separated but adjacent. Prose explains why something was done, what was expected, and what the result implies. Blocks hold the literal material that would lose meaning if paraphrased. Callouts mark anything requiring action. Keeping these visually distinct means a reader can take the parts they need at the speed appropriate to each, skimming reasoning and reading evidence exactly, which is how technical documents are actually consumed. Keeping the proportions honest matters too: an entry that is almost entirely blocks with no reasoning has stored material without capturing why it mattered, which is the harder half to reconstruct later. A few sentences of context repay themselves repeatedly.

Is there a risk of over-formatting an entry?

The failure mode is not too much formatting but inconsistent formatting. An entry using six elements consistently is easy to read regardless of how heavily marked up it is, while one using the same elements to mean different things at different points is harder to read than plain prose. The practical test is whether each element could be described in a sentence stating what it always means. If any element resists that description, it is being used for more than one purpose and the signal is already degraded. Writing the intended meaning of each element into a short convention note makes the test easy to apply, and reveals almost immediately when an element has quietly acquired a second job.

What do people most commonly wish they had adopted earlier?

Consistent labelling, by a wide margin. Practitioners describe years of accumulated content whose text remains fully searchable but whose nature has to be reconstructed by reading, and note that the two seconds spent selecting a label at the moment of pasting would have prevented all of it. The second most common answer is recording verification dates, for the same reason: both capture something the author knows precisely at the moment of writing and cannot recover afterward. Both habits share a characteristic worth noticing: they capture something the author knows precisely at one moment and cannot recover afterward, which is the general shape of every note-taking practice that actually pays off. Neither takes more than a few seconds.

Should somebody go back and fix years of unlabelled content?

Almost always the wrong use of the effort. Promising a retrospective pass tends to produce a year of guilt rather than a completed project, while adopting the habit going forward produces visible benefit within months. The existing content remains fully searchable, so nothing is lost, and after a couple of years the labelled portion is measurably easier to navigate, which settles the question by demonstration rather than by argument. Retrospective work is worth doing only for a small, genuinely high-value subset. Choosing the subset by what gets consulted most often, rather than by what feels untidy, keeps the exercise small and directs the effort where it will actually be noticed.

How does someone decide whether to use colour or a callout for emphasis?

By how urgently the reader must act. A callout is a shape and is found during a scan before any words are read, which suits anything that must not be missed. Colour within text is found while reading and suits grading within a category, such as distinguishing severity levels among findings that all require attention eventually. Using both for the highest-consequence category is deliberate redundancy and is standard practice, while using either casually destroys its value for everything else. Stating the meanings at the top of any document that uses both removes ambiguity for readers encountering the conventions for the first time, and costs one line. Consistency across documents matters more than the specific choices made.

What makes a small vocabulary of elements better than a large one?

Because signals depend on recognition, and recognition depends on repetition. Six elements used consistently become invisible infrastructure that readers navigate without thinking, while twenty elements used occasionally require the reader to interpret each one. This is why practitioners producing professional documentation converge on a handful with fixed meanings rather than exploring everything available. The constraint is not the tool’s capability; it is human attention, and a reader in a hurry can hold about half a dozen conventions reliably. Adding a seventh element is therefore a decision worth resisting unless it earns its place by doing something none of the existing six can, which is rarer than it appears.

Do people outside technical fields underestimate their own judgment about tools?

Consistently, and it makes them worse at evaluating software. Experts in one field frequently decide that being outside computing means their observations about a tool carry less weight, so they stop trusting what they notice and defer to explanations they cannot assess. A teacher who observes that a feature preserves alignment has made a valid and useful observation that requires no credential whatsoever. Practitioners who assess software professionally tend to say the same thing: the most creative uses of a technical feature usually come from people it was never built for. The practical remedy is to treat an observation about behaviour as valid on its own terms, and to ask for an explanation only after recording what was actually seen. Deferring first and observing second reverses the useful order.

What preconceptions typically dissolve when specialists compare notes across fields?

Usually two, running in opposite directions. The technical specialist expects a non-specialist use to be simple or naive, and finds instead a range of applications they had not considered. The non-specialist expects to be out of their depth, and finds that their reasoning about structure, signals, and readers is identical in substance and only differs in vocabulary. Both preconceptions tend to dissolve within a few minutes of anybody describing what they actually do, which is a reasonable argument for arranging such conversations deliberately. Seeking out such conversations deliberately, rather than waiting for somebody to arrange one, tends to produce more useful insight than an equivalent hour spent with a peer who shares every assumption.

How does a note become a procedure?

When somebody other than its author can execute it successfully without asking a question. The transition usually happens accidentally: a personal reminder acquires a numbered sequence, then an explicit statement about which steps depend on order, then a warning at the top. At that point it stops being a memory aid and becomes an artifact with independent value, capable of being used by a colleague, a substitute, or an assistant. Recognising when a note has crossed that line is worth doing, since a little additional care converts it into something considerably more useful. The additional care required is small: an explicit order, a statement of prerequisites, and a warning at the top. Those three additions convert a private aid into something a colleague can rely on without asking anybody a question.

What should a reference page for environment setup contain?

The commands in the order they must run, a statement at the top of which parts are order-dependent, the versions or conditions the sequence was written against, and a date recording when it was last confirmed to work. Practitioners describe this as among the highest-value pages they maintain, since repetitive setup performed from memory produces subtle inconsistencies between machines that persist for months. A sequence that anybody can follow produces identical results and removes an entire category of intermittent problems. Having somebody else follow it once, unaided, is the only reliable test, and the questions they ask identify precisely the steps the author considered too obvious to write down.

Is monospaced formatting worth using for content that is not technical at all?

Frequently, and the test is whether layout carries meaning. Addresses, timetables, seating plans, ingredient quantities aligned in columns, exact quotations that must not be reflowed, reference numbers, and any content copied from a system that formats it deliberately all benefit. None of that is code and all of it loses something in proportional type. Using the format for such content occasionally surprises readers, which is itself informative: the surprise indicates how thoroughly the feature’s name has restricted who thinks it applies to them. The reaction it provokes is itself worth noticing, since surprise at seeing the format used for ordinary content shows how effectively a name can limit who believes a feature applies to them.

How does capturing exact strings differ from describing them?

A description is a claim and the string is a fact, and the difference matters whenever somebody may act on the content. A paraphrase of an error message may be accurate and still fail to match anything when searched. A retyped identifier may contain a transposition invisible to the person who typed it. Capturing verbatim removes an entire class of error and preserves the ability to search on the exact term later, which is frequently the only route back to material whose context has been forgotten. Pasting rather than retyping is the practical habit, since transcription introduces errors that are invisible to the person making them and only surface much later.

Does this approach require any particular technical skill?

None beyond a willingness to try a feature to see what it does. Selecting a block, pasting content, and choosing a label are three actions requiring no background knowledge. The judgment involved is entirely about the content: whether it is literal, whether its layout matters, and whether a reader will need to reproduce it exactly. Those questions belong to whoever knows the subject matter, which is why professionals in non-technical fields frequently arrive at good practice without anybody explaining anything to them. What it does require is a decision at the moment of writing about what kind of content something is, and that decision belongs to whoever understands the subject rather than to whoever understands the software.

How do these habits change what a long entry feels like to read?

They make it navigable rather than uniform. A long entry written entirely in prose must be read sequentially, while one composed of headings, paragraphs, labelled blocks, and occasional callouts can be entered at any point by a reader who knows what they are looking for. This matters most for entries that grow over months and for anything another person will consult. The effect is that length stops being a problem, which changes how much people are willing to write down in the first place. That change compounds, because somebody who is not intimidated by their own long entries writes more of them, and the archive becomes more complete as a direct result.

What is the relationship between formatting discipline and searchability?

They reinforce each other rather than competing. Verbatim capture inside blocks makes exact strings findable, labels make an entry scannable once search has returned it, and consistent structure means a reader can locate the relevant part of a long entry quickly. Search brings somebody to the right entry and formatting gets them to the right part of it, and a system that does the first without the second delivers people to a wall of text they then have to read in full. Neither half is sufficient alone, which is worth remembering when deciding where to spend effort: capture makes material findable and structure makes it usable once found.

What advice would you give somebody setting up a technical reference library from scratch?

Decide the conventions before accumulating anything, because retrofitting them is the part nobody completes. Choose a labelling habit and apply it without exception. Write two or three sentences above every stored item covering what it solved and what it was written against. Record a verification date rather than only a creation date. Keep the surrounding structure simple, since the value lives in the entries rather than in the hierarchy. None of these takes more than a few seconds per item and all of them are effectively impossible to add later. Writing the conventions down as the first entry in the library itself is a small step that keeps them visible and doubles as an explanation for anybody else who eventually uses it.

What is the single most transferable lesson from this kind of comparison?

That people across unrelated fields are making semantic decisions and calling them formatting. Choosing a callout for a hazard, monospace for something literal, or a numbered list for a required sequence are all statements about meaning rather than appearance, and recognising them as such changes how carefully they get made. Two practitioners who had each been doing this for years described discovering it only when the other one said it out loud, which suggests the observation is genuinely difficult to reach alone. Once the decisions are recognised as semantic, they get made more carefully and more consistently, which is most of what separates documentation people rely on from documentation people skim.

How much does any of this cost in time per entry?

Very little, and the cost falls as the habits become automatic. Selecting a label while pasting takes about two seconds. Writing two sentences above a stored snippet takes twenty. Choosing between a callout and coloured text takes no additional time once the meanings are fixed, since the decision is already implied by the content. The total overhead on a substantial entry is under a minute, which is why practitioners sustain these habits across years while abandoning more elaborate schemes within weeks. A useful way to judge any note-taking practice is to ask whether it survives a bad week, since the ones that do are invariably the ones measured in seconds rather than minutes. Everything described here clears that test comfortably.

Want to build your second brain offline?
Try VaultBook and keep your library searchable and under your control.
Get VaultBook free