feed: render poem fenced blocks as verse, not code #18
@@ -13,41 +13,48 @@ previewImg: './if-an-ode-to-data-control.jpeg'
|
||||
|
||||
Rudyard Kipling wrote "If" in 1895 and published it in his 1910 collection Rewards and Fairies. This ode to data control was first published in 2022. Here is the full text.
|
||||
|
||||
```
|
||||
If you can keep your data when all about you
|
||||
```poem
|
||||
If you can keep your data when all about you
|
||||
Are losing theirs and blaming it on you;
|
||||
If you can trust your metrics when analysts doubt you,
|
||||
If you can trust your metrics when analysts doubt you,
|
||||
But make allowance for their doubting too:
|
||||
If you can query and not be tired by waiting,
|
||||
|
||||
If you can query and not be tired by waiting,
|
||||
Or building models, adjust for outliers,
|
||||
Define ETL modules that are self-validating,
|
||||
Define ETL modules that are self-validating,
|
||||
And require contracts from data suppliers;
|
||||
|
||||
If you can report - and not make KPIs your master;
|
||||
|
||||
If you can report - and not make KPIs your master;
|
||||
If you can forecast - and not make compliance your aim,
|
||||
If you can make the overnight batch faster
|
||||
If you can make the overnight batch faster
|
||||
And ensure the end results are just the same:
|
||||
If you can't bear two versions of truth spoken
|
||||
|
||||
If you can't bear two versions of truth spoken
|
||||
Produced by silos to make a trap for fools,
|
||||
Or watch systems you gave your life to, broken,
|
||||
Or watch systems you gave your life to, broken,
|
||||
And stoop and build 'em up with off-the-shelf tools;
|
||||
|
||||
If you would make one lake with all your data
|
||||
|
||||
If you would make one lake with all your data
|
||||
And risk it on one vendor's big bang plan,
|
||||
And lose, and start again at invitation-to-tender
|
||||
And lose, and start again at invitation-to-tender
|
||||
And salvage from the project, what you can:
|
||||
If you can force your flat files and mainframe
|
||||
|
||||
If you can force your flat files and mainframe
|
||||
To serve datamarts when key DBAs retire,
|
||||
And so hold on when stakeholders proclaim
|
||||
And so hold on when stakeholders proclaim
|
||||
Why (oh why) is our Data Quality so dire?
|
||||
|
||||
If you can talk with architects & keep your virtue,
|
||||
|
||||
If you can talk with architects & keep your virtue,
|
||||
Or walk with CEOs - nor lose the accounting touch,
|
||||
If neither UTF-8 nor PII can hurt you,
|
||||
If neither UTF-8 nor PII can hurt you,
|
||||
If all teams count with you, but none too much:
|
||||
If you can keep Data Owners beholden
|
||||
|
||||
If you can keep Data Owners beholden
|
||||
To uploads that are timely and accurate and whole,
|
||||
Yours is the Earth and clean records (golden),
|
||||
Yours is the Earth and clean records (golden),
|
||||
And - which is more - you'll have Data Control!
|
||||
```
|
||||
|
||||
|
||||
@@ -118,6 +118,22 @@ const StyledContent = styled.div`
|
||||
line-height: 2em;
|
||||
font-family: Monaco, 'Andale Mono', 'Courier New', Courier, monospace;
|
||||
}
|
||||
/* A fenced block tagged with the 'poem' language is verse, not code: drop
|
||||
the code chrome and set it in the serif face, keeping the author's line
|
||||
breaks and blank lines (which read as stanza breaks). */
|
||||
pre:has(> code.language-poem) {
|
||||
background-image: none;
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 1.8rem 0;
|
||||
line-height: 1.75;
|
||||
}
|
||||
pre > code.language-poem {
|
||||
font-family: Georgia, 'Times New Roman', serif;
|
||||
font-size: 1.05rem;
|
||||
color: #222222;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
`
|
||||
|
||||
interface PostProps {
|
||||
|
||||
Reference in New Issue
Block a user