56,966 blogs · [ { "id": "01a0b68b-4ccb-7180-8b11-07ef782882da", "title": "H.W. Sanden", "url": "https://8yd.no", "published_at": "2026-09-07T05:20:44+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db0da33ab", "title": "Poisoning well with Craft CMS", "url": "https://8yd.no/article/poisoning-well-with-craft-cms", "published_at": "2026-05-03T09:36:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db0dcd580", "title": "Anti-intellectual tech", "url": "https://8yd.no/article/anti-intellectual-tech", "published_at": "2026-02-21T14:41:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db1436803", "title": "Detectives in puffer jackets getting drinks", "url": "https://8yd.no/article/detectives-in-puffer-jackets-getting-drinks", "published_at": "2026-01-30T23:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db1cb88b7", "title": "Anti-design software", "url": "https://8yd.no/article/anti-design-software", "published_at": "2025-05-23T05:54:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db2215c2d", "title": "Not the users I have in mind", "url": "https://8yd.no/article/not-the-users-i-have-in-mind", "published_at": "2025-01-30T10:30:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db226383e", "title": "Saying goodbye to chatbots", "url": "https://8yd.no/article/saying-goodbye-to-chatbots", "published_at": "2024-03-27T17:34:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db29255b3", "title": "The Implied Web", "url": "https://8yd.no/article/the-implied-web", "published_at": "2023-12-20T23:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db2b2ed6d", "title": "Nesting HTML list elements", "url": "https://8yd.no/article/nesting-html-list-elements", "published_at": "2023-08-01T10:24:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db30ae716", "title": "CSS context variants", "url": "https://8yd.no/article/css-context-variants", "published_at": "2023-07-14T11:20:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db36fbbb5", "title": "Making components with CSS nesting", "url": "https://8yd.no/article/making-components-with-css-nesting", "published_at": "2023-07-14T10:28:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db4217856", "title": "CSS experience, structure and utility use", "url": "https://8yd.no/article/css-experience-structure-and-utility-use", "published_at": "2023-07-11T14:27:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db51436ca", "title": "Grasping CSS: The speed of proficiency", "url": "https://8yd.no/article/grasping-css-the-speed-of-proficiency", "published_at": "2023-06-21T17:31:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db5cfc47f", "title": "Grasping CSS: The concept of logic", "url": "https://8yd.no/article/grasping-css-the-concept-of-logic", "published_at": "2023-06-19T17:08:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db6636756", "title": "Signing git commits with existing SSH key", "url": "https://8yd.no/article/signing-git-commits-with-existing-ssh-key", "published_at": "2023-04-26T07:43:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db6f82b76", "title": "Separating concerns with complex CSS selectors", "url": "https://8yd.no/article/separating-concerns-with-complex-css-selectors", "published_at": "2023-01-28T18:05:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db7d969ef", "title": "From 15 lines of JS to 3 lines of CSS has()", "url": "https://8yd.no/article/from-15-lines-of-js-to-3-lines-of-css-has", "published_at": "2023-01-28T17:49:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db7e8fb9e", "title": "AI’s superficial ripoff for consumption", "url": "https://8yd.no/article/ais-superficial-ripoff-for-consumption", "published_at": "2023-01-18T19:06:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db84210bd", "title": "The dissonant, unverifiable, dull output of ChatGPT", "url": "https://8yd.no/article/the-dissonant-unverifiable-dull-output-of-ai", "published_at": "2022-12-06T21:38:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db84a43b4", "title": "Creativity without collaboration tools", "url": "https://8yd.no/article/creativity-without-collaboration-tools", "published_at": "2022-10-12T20:36:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db8afc2c1", "title": "Getting people to participate equally", "url": "https://8yd.no/article/getting-people-to-participate-equally", "published_at": "2022-09-30T20:12:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db8b75d64", "title": "How pointer coursor affects our usability decisions", "url": "https://8yd.no/article/how-pointer-coursor-affects-our-usability-decisions", "published_at": "2022-07-29T10:08:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db8e76a72", "title": "Set up a global chart.js config", "url": "https://8yd.no/article/set-up-a-global-chart-js-config", "published_at": "2022-06-14T14:40:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5db98fdc2a", "title": "Programming unique accessibility", "url": "https://8yd.no/article/programming-unique-accessibility", "published_at": "2022-04-04T19:48:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dba103245", "title": "Target this pointer event", "url": "https://8yd.no/article/target-this-pointer-event", "published_at": "2022-03-05T14:35:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dba2e48a2", "title": "Iterating instead of redesigning", "url": "https://8yd.no/article/iterating-instead-of-redesigning", "published_at": "2022-02-28T16:31:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbad1e7a3", "title": "JS, SSG and CMS: Pick what you need", "url": "https://8yd.no/article/js-ssg-and-cms-pick-what-you-need", "published_at": "2022-01-09T21:14:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbb36cdce", "title": "Sequential-functional teams", "url": "https://8yd.no/article/sequential-functional-teams", "published_at": "2022-01-01T18:14:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbc226d68", "title": "Craft CMS, React, TypeScript and back again", "url": "https://8yd.no/article/craft-cms-react-typescript-and-back-again", "published_at": "2021-12-30T20:46:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbc5db2b3", "title": "CS50 and my final project", "url": "https://8yd.no/article/cs50-and-my-final-project", "published_at": "2021-11-20T17:28:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbcc52885", "title": "Code knowledge to design", "url": "https://8yd.no/article/code-knowledge-to-design", "published_at": "2021-11-16T18:24:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbd41d771", "title": "Date input height in Safari", "url": "https://8yd.no/article/date-input-height-in-safari", "published_at": "2021-11-01T16:41:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbdbd7fa0", "title": "UI sketches, not just a waste of time", "url": "https://8yd.no/article/ui-sketches-not-just-a-waste-of-time", "published_at": "2021-03-04T10:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbdf5f056", "title": "Friendly and unfriendly px unit use", "url": "https://8yd.no/article/the-unfriendliness-of-pixel-units", "published_at": "2021-01-31T23:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbdfce13f", "title": "Fluid web typography with clamp() and vw needs calc()", "url": "https://8yd.no/article/web-typography-clamp-with-vw-needs-calc", "published_at": "2021-01-31T15:49:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbe686e83", "title": "Keep using system fonts", "url": "https://8yd.no/article/keep-using-system-fonts", "published_at": "2020-10-31T23:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbe962079", "title": "Design system docs without colour", "url": "https://8yd.no/article/design-system-docs-without-colour", "published_at": "2020-10-10T14:02:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbf21ec5a", "title": "Contributing to Style Stage", "url": "https://8yd.no/article/contributing-to-style-stage", "published_at": "2020-08-09T08:55:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dbfa2c98a", "title": "Breaking and wrapping text with CSS", "url": "https://8yd.no/article/breaking-and-wrapping-text-with-css", "published_at": "2020-06-25T10:09:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc04714cb", "title": "The uselessness of donut charts", "url": "https://8yd.no/article/the-uselessness-of-donut-charts", "published_at": "2020-05-08T22:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc0a7a6a3", "title": "Principle for responsive tables", "url": "https://8yd.no/article/principle-for-responsive-tables", "published_at": "2020-03-15T16:17:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc1040969", "title": "Hugo timestamp with relURL", "url": "https://8yd.no/article/hugo-timestamp-with-relurl", "published_at": "2020-02-10T17:17:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc1d297ef", "title": "Web typography: Header spacing", "url": "https://8yd.no/article/web-typography-header-spacing", "published_at": "2020-01-20T19:06:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc2727eea", "title": "Feedback in the age of pedants", "url": "https://8yd.no/article/feedback-in-the-age-of-pedants", "published_at": "2020-01-19T18:56:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc3066b11", "title": "Craft CMS, React, TypeScript and useful overkill", "url": "https://8yd.no/article/craft-cms-react-typescript-overkill", "published_at": "2019-12-31T12:25:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc3f9fdfa", "title": "Code – the superior design tool", "url": "https://8yd.no/article/code-the-ultimate-design-tool", "published_at": "2019-10-01T22:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc4ad96c6", "title": "From SCSS and back to regular CSS", "url": "https://8yd.no/article/from-scss-and-back-to-regular-css", "published_at": "2019-09-04T17:21:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc4fa6ca7", "title": "Scramble ramble: Passwords, salt and hash", "url": "https://8yd.no/article/passwords-salt-and-hash", "published_at": "2019-08-30T22:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc54df556", "title": "Zombie CSS, dependency cravings", "url": "https://8yd.no/article/zombie-css-dependency-cravings", "published_at": "2019-08-18T22:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc5556538", "title": "componentDidUpdate(): No prevState without prevProps", "url": "https://8yd.no/article/componentdidupdate-needs-both-prevprops-and-prevstate", "published_at": "2019-06-20T22:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc596a373", "title": "What I learnt in my first two years as a comic artist", "url": "https://8yd.no/article/what-i-learnt-in-my-first-two-years-as-a-comic-artist", "published_at": "2019-05-01T13:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc5a02efb", "title": "Writing messages for unexpected downtime", "url": "https://8yd.no/article/writing-messages-for-unexpected-downtime", "published_at": "2019-04-29T16:17:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc65d81d5", "title": "Bold, italic, strong and emphasised text", "url": "https://8yd.no/article/bold-and-italics-not-a-choice", "published_at": "2019-04-28T14:00:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc6736fda", "title": "Misapplying é in Norwegian interfaces", "url": "https://8yd.no/article/the-misuse-of-e-in-norwegian-uis", "published_at": "2019-04-21T12:30:00+00:00" }, { "id": "01a0871e-1779-7054-a7a2-fb5dc6d0631d", "title": "Git squash and rebase", "url": "https://8yd.no/article/git-squash-and-rebase", "published_at": "2019-03-01T18:00:00+00:00" } ] posts Claim your blog
Back to 8yd.no
Blog · corpus.blog/blogs/8yd.no/posts

8yd.no

8yd.no

2026

2025

2024

2023

2022

2021

2020

2019