5 ms·
Again off-topic: but anyone know with which he did the plots? A similar question asked previously, but it was easier, I suppose: https://news.ycombinator.com/
by jruohonen 10d ago
Again off-topic: but anyone know with which he did the plots?
A similar question asked previously, but it was easier, I suppose:
https://news.ycombinator.com/item?id=49491791 https://news.ycombinator.com/item?id=49491791
And asked because they seem pretty cool!
- jespino 9d agoHi, the images are generated using a combination of ChatGPT, a prompt to make the style consistent, and some post-processing using Gimp to clean up things, ensure the arrows point where they should, and fixing anything that is wrong. Here is the specific prompt that I used: ---- A hand-drawn technical diagram in a watercolor sketch style, isolated on a clean white background. Art style: loose, hand-illustrated line art with visible pencil/ink sketch linework (slightly imperfect, organic lines rather than perfectly straight/geometric), filled with soft, flat watercolor washes in a muted pastel palette (dusty blue, soft yellow/gold, warm gray, occasional purple or teal accents). Boxes and 3D objects are drawn as simple isometric cubes/blocks with visible watercolor bleed and light paper texture, shaded on one face to suggest depth. Arrows connecting elements are hand-drawn, slightly curved or wobbly (not rigid vector lines), in thin colored strokes matching the elements they connect. Text labels are set in a clean, rounded sans-serif font (not handwritten), placed directly beneath or beside each element. Code snippets or commands appear in a monospace font inside a light rounded rectangle container. Dashed rectangles are used to visually group related elements when needed. Icons/logos representing tools or services are simplified, flat, sketch-style illustrations with the same watercolor fill treatment, not photorealistic. Overall mood: friendly, approachable, whiteboard-explainer aesthetic — like an technical concept sketched by hand and lightly colored, not a corporate vector infographic. Diagram content: ---- Then I describe the diagram properly under that prompt, something like: --- A hand-drawn technical diagram in a watercolor sketch style, isolated on a clean white background. Art style: loose, hand-illustrated line art with visible pencil/ink sketch linework (slightly imperfect, organic lines rather than perfectly straight/geometric), filled with soft, flat watercolor washes in a muted pastel palette (dusty blue, soft yellow/gold, warm gray, occasional purple or teal accents). Boxes and 3D objects are drawn as simple isometric cubes/blocks with visible watercolor bleed and light paper texture, shaded on one face to suggest depth. Arrows connecting elements are hand-drawn, slightly curved or wobbly (not rigid vector lines), in thin colored strokes matching the elements they connect. Text labels are set in a clean, rounded sans-serif font (not handwritten), placed directly beneath or beside each element. Code snippets or commands appear in a monospace font inside a light rounded rectangle container. Dashed rectangles are used to visually group related elements when needed. Icons/logos representing tools or services are simplified, flat, sketch-style illustrations with the same watercolor fill treatment, not photorealistic. Overall mood: friendly, approachable, whiteboard-explainer aesthetic — like an technical concept sketched by hand and lightly colored, not a corporate vector infographic. Diagram content: A left-to-right pipeline diagram tracing a query. Start at a box containing the query text 'rate(http_requests_total{status="500"}[5m])'. First arrow to a box "query results cache", with two exits: "full hit -> answer immediately" going straight to the end, and "miss / partial -> compute only the missing slice" continuing down the pipeline. Next box: "inverted index", showing a posting list lookup 'http_requests_total + status="500" -> matching series IDs'. Next box: "segments covering the last 5 minutes", showing a small "table of contents" pointing at highlighted slices of the "timestamps file" and the "values file", labeled "read just those bytes". Next box: "decompress blocks — undo compression, delta encoding, decimal scaling", recovering "cumulative totals: 1027, 1189, 1527...". Final box: "rate() derives a per-second rate from the cumulative values", with an arrow out to "result rendered as a line on your dashboard". --- And with the result I go through manual editing for cleaning up things.