dc
a56c2f8d48
docs(feed): record the final cover image prompt on the special missings post
...
Replaces the placeholder one-liner with the prompt actually intended for the
cover: the pack of wolves on a snow plain at dusk with one animal standing
apart, plus the negative constraints, the output spec (./cover.jpeg at
1200x627, previewImg in front matter) and a fallback single-subject variant.
Two deliberate choices are recorded so they are not lost on a regenerate:
- No text, letters or numbers anywhere in the image. The subject is letters
standing in for numbers, so a stray glyph undercuts the cover.
- No exact head count of 28. Generators cannot count, and a crowded pack reads
worse than a dozen clear animals; the number belongs in the headline.
Links to the full prompt and variants on paste.4gl.io.
2026-09-22 21:17:41 +00:00
dc
27ff40b739
blog: correct the video label on the v4.0 special missings post
...
The special missings video was labelled "Retain Formulas when Loading Excel
to SAS", which is a different video. Restores the one-line correction that
was in the earlier revision of this branch, kept separate from the feed post.
2026-09-22 18:10:28 +00:00
dc
4937edd7f4
feed: add a special missings post, and revert the blog edits
...
The special missings material that was added to the v4.0 blog post belongs in
its own post: that article is a release announcement for v4.0, not a teaching
piece. This reverts the blog change and publishes the content under /feed/.
The new post covers what SAS special missings are, how the SASjs Adapter
carries them between the browser and SAS, and how Data Controller's validation
rules treat them - NOTNULL passes, MINVAL fails, MAXVAL passes, and the regex
rules apply as they would to any other value.
The LinkedIn version of the copy, and the image prompt for the cover, are
recorded in a comment at the foot of the file.
2026-09-22 17:53:55 +00:00
allan
fcba390804
Merge pull request 'feed: render poem fenced blocks as verse, not code' ( #18 ) from feat/poem-format into main
...
publish / Build-and-publish (push) Successful in 4m13s
Reviewed-on: #18
2026-09-20 19:25:54 +00:00
allan
8b6e3e60bc
Merge pull request 'feed: add the carousel assets (PDF + slides) to the poem post folder' ( #17 ) from feat/if-ode-carousel into main
...
publish / Build-and-publish (push) Successful in 4m3s
Reviewed-on: #17
Reviewed-by: Allan <allan@4gl.io >
2026-09-20 19:25:17 +00:00
blog-dev
d244a34fc9
feed: render poem fenced blocks as verse, not code
2026-09-20 19:18:11 +00:00
blog-dev
686a745f0b
feed: break the carousel stanza slides between the two quatrains
2026-09-20 19:09:38 +00:00
blog-dev
510947d173
feed: add the LinkedIn carousel (PDF + slides) to the post folder
2026-09-20 18:55:18 +00:00
allan
589a745c5b
Merge pull request 'Update content/feed/if-an-ode-to-data-control/index.md' ( #16 ) from allan-patch-1 into main
...
publish / Build-and-publish (push) Successful in 3m53s
Reviewed-on: #16
2026-09-20 17:39:19 +00:00
allan
d04c55c731
Update content/feed/if-an-ode-to-data-control/index.md
2026-09-20 17:39:07 +00:00
allan
a6a6abf009
Merge pull request 'feat(feed): If - An Ode to Data Control' ( #15 ) from feat/if-ode-to-data-control into main
...
publish / Build-and-publish (push) Successful in 4m0s
Reviewed-on: #15
Reviewed-by: Allan <allan@4gl.io >
2026-09-20 17:31:40 +00:00
blog-dev
88368fa31d
feed: trim the boast and the repeated first-line echo from the intro
2026-09-20 17:21:19 +00:00
blog-dev
fdb1db216d
feed: rework the poem cover into a title-page design; note the 2022 publication year
2026-09-20 16:37:23 +00:00
blog-dev
6d833f9654
feat(feed): If - An Ode to Data Control
2026-09-20 15:54:56 +00:00
allan
6bcd0adf81
Merge pull request 'feed: correct the case sensitivity example in the full table search post' ( #14 ) from fix/full-table-search-case-sensitivity into main
...
publish / Build-and-publish (push) Successful in 3m58s
Reviewed-on: #14
Reviewed-by: Allan <allan@4gl.io >
2026-09-17 07:47:31 +00:00
blog-dev
93348ad604
feed: tighten the case sensitivity note to a single sentence
2026-09-17 07:44:53 +00:00
dc
7561bb0c39
feed: correct the case sensitivity example in the full table search post
...
The post claimed `smith` finds `Smithson`, which only holds for a case
insensitive match. The comparison is case sensitive, so the search term has
to match the case as stored: `Smith` finds `Smithson`, and `smith` finds
`Goldsmith`, but `smith` will not find `Smithson`.
2026-09-16 23:42:45 +00:00
allan
959a9ffab4
Merge pull request 'Feed post: Full Table Search' ( #13 ) from feat/full-table-search into main
...
publish / Build-and-publish (push) Successful in 4m34s
Reviewed-on: #13
Reviewed-by: Allan <allan@4gl.io >
2026-09-16 23:22:22 +00:00
blog-dev
2348575737
feed: full table search - new demo video, copy matches the recording
...
- embed the re-recorded 16:9 demo video (search walkthrough, 39s)
- drop the one million row CAS claim from the description, the body and the
social copy: the recording demonstrates a table in the Viewer, so the
text now says only what the video shows
2026-09-16 23:17:43 +00:00
blog-dev
b2aac21b90
feed: full table search - any value, any column, no query
2026-09-15 17:19:07 +00:00
allan
438b1e93d7
Merge pull request 'Move Cyber Essentials badge to who-is section + about page' ( #12 ) from fix/cert-badge-placement into main
...
publish / Build-and-publish (push) Successful in 3m56s
Reviewed-on: #12
2026-09-11 20:27:09 +00:00
blog-dev
674737f840
fix: move Cyber Essentials badge to who-is section + about page, drop hero/footer placements
2026-09-11 20:22:29 +00:00
hermes
150be89246
Merge pull request 'Surface Cyber Essentials certification on homepage hero and footer' ( #11 ) from feat/cyber-essentials-badge into main
publish / Build-and-publish (push) Successful in 3m57s
2026-09-11 19:45:26 +00:00
blog-dev
b6fea27963
feat: surface Cyber Essentials certification on homepage hero and footer
2026-09-11 19:45:06 +00:00
blog-dev
aa1f015f5a
docs(blog): punchier LinkedIn draft for non-DC users - pain-first, no jargon
publish / Build-and-publish (push) Successful in 6m39s
2026-09-04 09:29:20 +00:00
blog-dev
79b62e4cfc
docs(blog): add source LinkedIn post comment for the v7.13 article
publish / Build-and-publish (push) Successful in 6m33s
2026-09-04 08:06:46 +00:00
blog-dev
73d4796638
fix(blog): show sasdemo instead of root user in audit demo screenshot
publish / Build-and-publish (push) Successful in 6m36s
2026-09-04 07:51:32 +00:00
blog-dev
7267af58c4
ci: drop npm cache from setup-node - save/restore costs exceed the benefit at this repo size
publish / Build-and-publish (push) Successful in 7m0s
2026-09-04 07:23:58 +00:00
blog-dev
e5dfcd84da
feat(blog): add audit-column demo image showing the IF formula resolving live
publish / Build-and-publish (push) Successful in 13m17s
2026-09-04 01:28:42 +00:00
blog-dev
02295334b3
fix(blog): restore hardening and polishing phrasing in v7.13 post
publish / Build-and-publish (push) Successful in 13m11s
2026-09-04 01:09:48 +00:00
blog-dev
e7a538ed9a
feat(blog): link getdata and postedit hook to code.datacontroller.io
publish / Build-and-publish (push) Successful in 15m42s
2026-09-04 00:53:20 +00:00
blog-dev
60a19dda89
fix(blog): correct PK live-formula wording in v7.13 post
publish / Build-and-publish (push) Successful in 15m16s
2026-09-04 00:36:58 +00:00
blog-dev
b415793eec
fix(blog): trim intra-release fix churn from the also-in-release list
publish / Build-and-publish (push) Successful in 15m40s
2026-09-04 00:20:36 +00:00
blog-dev
d352ea8fea
fix(blog): re-encode v7.13 images to bust poisoned CDN edge cache entries
...
publish / Build-and-publish (push) Successful in 15m47s
The /static/* path sits behind a Cloudflare cache-everything rule with a
62-day edge TTL. An image fetched mid-deploy can pin a bad (truncated/404)
response at an edge POP. Re-encoding produces new content-hashed URLs so
every variant is fetched fresh from origin. Pixels are identical.
2026-09-04 00:19:32 +00:00
blog-dev
9e04cd4220
feat(blog): v7.13 release post - formulas & regex with live screenshots
publish / Build-and-publish (push) Successful in 15m47s
2026-09-03 23:56:29 +00:00
blog-dev
181c3ae834
fix(feed): update LinkedIn source copy - community edition, not 5-user free tier
publish / Build-and-publish (push) Successful in 13m5s
2026-08-27 17:04:13 +01:00
blog-dev
0ec0789ac4
feat(feed): five lines of defence post with cover image
publish / Build-and-publish (push) Successful in 13m1s
2026-08-27 16:43:07 +01:00
blog-dev
2e5fc4a368
feat(feed): legacy data ingestion post with cover image
publish / Build-and-publish (push) Successful in 12m56s
2026-08-24 16:37:11 +01:00
blog-dev
3d66f91820
fix(feed): correct docs link to /restore/
publish / Build-and-publish (push) Successful in 12m54s
2026-08-20 22:26:03 +01:00
blog-dev
5cdfadf75c
feat(feed): use ctrl-z as cover, move trains meme into post body
publish / Build-and-publish (push) Successful in 13m0s
2026-08-20 22:20:56 +01:00
hermes
fef2c3c12e
chore: li update
publish / Build-and-publish (push) Successful in 12m58s
2026-08-20 22:14:47 +01:00
blog-dev
b50efc01e2
feat(feed): expand rollback post LinkedIn copy, drop version refs
publish / Build-and-publish (push) Successful in 12m52s
2026-08-20 21:50:27 +01:00
blog-dev
de23966721
feat(feed): add rollback data changes post with meme
2026-08-20 21:06:43 +01:00
4gl
9121bf900d
fix: contact image
publish / Build-and-publish (push) Successful in 13m2s
2026-08-17 20:14:26 +01:00
4gl
56175353d6
feat: sas projects / excel
publish / Build-and-publish (push) Successful in 12m56s
2026-08-17 19:51:20 +01:00
4gl
26b4c55ecd
feat: horror stories
publish / Build-and-publish (push) Successful in 13m19s
2026-08-15 09:47:06 +01:00
4gl
5be23393d6
fix: dc link
publish / Build-and-publish (push) Successful in 12m56s
2026-08-13 13:52:18 +01:00
4gl
bf3ef8bab1
fix: links
publish / Build-and-publish (push) Successful in 12m51s
2026-08-13 13:46:43 +01:00
4gl
729437308a
fix: feed post git data
publish / Build-and-publish (push) Successful in 13m19s
2026-08-13 13:28:30 +01:00
4gl
244829edf9
feat: post
publish / Build-and-publish (push) Successful in 12m58s
2026-08-12 10:32:04 +01:00