41554 blogs · [ { "id": "01a087b9-6eca-706f-bc53-f34515e93183", "title": "What the model can't see", "url": "https://ooer.com/posts/what-the-model-cant-see/", "published_at": "2026-08-25T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345166bb1b4", "title": "First transmission", "url": "https://ooer.com/posts/first-transmission/", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34516905b92", "title": "A one-pixel image was a layout engine", "url": "https://ooer.com/posts/spacer-gif/", "published_at": "2026-08-11T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451753eb6f", "title": "Nothing on the web is ever removed", "url": "https://ooer.com/posts/nothing-is-removed/", "published_at": "2026-08-08T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345179b0ed2", "title": "Cascade layers settled an argument from 1998", "url": "https://ooer.com/posts/cascade-argument/", "published_at": "2026-08-04T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34518669d04", "title": "It was never the bundle", "url": "https://ooer.com/posts/not-the-bundle/", "published_at": "2026-07-29T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345194e41f5", "title": "Every framework is a bet about what stays the same", "url": "https://ooer.com/posts/frameworks-are-bets/", "published_at": "2026-07-22T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451a38fde1", "title": "Word of mouth is doing all the work", "url": "https://ooer.com/posts/word-of-mouth-is-doing-the-work/", "published_at": "2026-06-15T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451b172675", "title": "Nobody can tell you what the tech debt costs", "url": "https://ooer.com/posts/nobody-can-tell-you-what-the-debt-costs/", "published_at": "2026-04-13T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451b98a4fc", "title": "Most code only needs to work", "url": "https://ooer.com/posts/most-code-only-needs-to-work/", "published_at": "2026-02-16T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451bdd77be", "title": "The complexity is not new, it is just visible", "url": "https://ooer.com/posts/the-complexity-is-just-visible/", "published_at": "2026-01-12T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451c1946c7", "title": "A sale is worth more than a thousand upvotes", "url": "https://ooer.com/posts/a-sale-beats-a-thousand-upvotes/", "published_at": "2025-12-20T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451cdc756f", "title": "Public wealth is the kind that makes you happy", "url": "https://ooer.com/posts/public-wealth-is-what-makes-you-happy/", "published_at": "2025-12-13T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451dd57eb4", "title": "You will write a framework whether you meant to or not", "url": "https://ooer.com/posts/you-will-write-a-framework/", "published_at": "2025-09-21T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451ebe8b4c", "title": "Your degree stops mattering after about ten years", "url": "https://ooer.com/posts/your-degree-stops-mattering/", "published_at": "2024-10-19T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451f94ba3f", "title": "Going to a website for the content is nostalgia", "url": "https://ooer.com/posts/going-there-for-content-is-nostalgia/", "published_at": "2024-07-13T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3451ffd555d", "title": "No app needs a good UI until it has a rival", "url": "https://ooer.com/posts/no-app-needs-a-good-ui/", "published_at": "2024-04-06T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345207eb595", "title": "The first memo already had applications in it", "url": "https://ooer.com/posts/the-memo-already-had-applications/", "published_at": "2023-11-08T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345214e4c3d", "title": "Tailwind does not save you from CSS", "url": "https://ooer.com/posts/tailwind-does-not-save-you/", "published_at": "2023-08-23T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345215685f0", "title": "High quality code comes much later", "url": "https://ooer.com/posts/quality-comes-much-later/", "published_at": "2023-05-10T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34521f04f07", "title": "Defaulting to the office is giving up", "url": "https://ooer.com/posts/defaulting-to-the-office/", "published_at": "2023-05-03T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34522810e1d", "title": "That behaviour is on you", "url": "https://ooer.com/posts/that-behaviour-is-on-you/", "published_at": "2023-03-15T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34523681fd8", "title": "You cannot cargo cult the layoffs", "url": "https://ooer.com/posts/you-cannot-cargo-cult-the-layoffs/", "published_at": "2022-11-24T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345244a93fb", "title": "You are not in their thoughts at all", "url": "https://ooer.com/posts/you-are-not-in-their-thoughts/", "published_at": "2022-10-12T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34524c7bbb1", "title": "React is not the code that gets bundled", "url": "https://ooer.com/posts/react-is-not-the-bundle/", "published_at": "2022-08-10T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345255000a5", "title": "Most apps are doing nothing most of the time", "url": "https://ooer.com/posts/apps-are-doing-nothing/", "published_at": "2022-08-03T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34525885638", "title": "Employers do not care what you did at the weekend", "url": "https://ooer.com/posts/employers-do-not-care-about-weekends/", "published_at": "2022-05-12T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452641b2cd", "title": "Your salary is somebody's lost profit", "url": "https://ooer.com/posts/your-salary-is-lost-profit/", "published_at": "2022-03-11T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34526e8354b", "title": "Comfort takes away the need", "url": "https://ooer.com/posts/comfort-takes-away-the-need/", "published_at": "2021-12-14T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345276878ef", "title": "Most of the data you collect is a web counter", "url": "https://ooer.com/posts/most-of-it-is-a-web-counter/", "published_at": "2021-12-07T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34527bb1834", "title": "Leeching off the system is not a skill", "url": "https://ooer.com/posts/leeching-is-not-a-skill/", "published_at": "2021-11-30T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34527fe86d5", "title": "Incompetence is not an explanation", "url": "https://ooer.com/posts/incompetence-is-not-an-explanation/", "published_at": "2021-09-07T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452825c2fc", "title": "The design decisions get made either way", "url": "https://ooer.com/posts/decisions-get-made-either-way/", "published_at": "2021-04-20T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452851d3cb", "title": "Nothing makes you write the next one", "url": "https://ooer.com/posts/nothing-makes-you-write-the-next-one/", "published_at": "2021-01-19T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34529275863", "title": "Market rate is the median of bad negotiators", "url": "https://ooer.com/posts/market-rate-is-the-median/", "published_at": "2020-09-29T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345299227aa", "title": "Your app is not slow because of the framework", "url": "https://ooer.com/posts/not-slow-because-of-the-framework/", "published_at": "2020-04-21T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452a3ebaf1", "title": "Your old workflow was fine because nothing broke", "url": "https://ooer.com/posts/nothing-broke-so-it-was-fine/", "published_at": "2020-04-14T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452ad45954", "title": "Nothing in the stack is as new as it looks", "url": "https://ooer.com/posts/nothing-is-as-new-as-it-looks/", "published_at": "2020-04-07T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452af87e69", "title": "A NodeList is not an HTMLCollection", "url": "https://ooer.com/posts/a-nodelist-is-not-an-htmlcollection/", "published_at": "2020-02-25T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452bf46c63", "title": "You do not need to know how big the screen is", "url": "https://ooer.com/posts/you-do-not-need-the-screen-size/", "published_at": "2020-01-14T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452c86b34b", "title": "Most people choose to work anyway", "url": "https://ooer.com/posts/most-people-choose-to-work/", "published_at": "2019-12-21T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452cdfc2fa", "title": "Most of it was never private", "url": "https://ooer.com/posts/most-of-it-was-never-private/", "published_at": "2019-07-02T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452d04cb44", "title": "A proxy test measures the proxy", "url": "https://ooer.com/posts/a-proxy-test-measures-the-proxy/", "published_at": "2019-06-18T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452d150478", "title": "A web page was never a document", "url": "https://ooer.com/posts/a-web-page-was-never-a-document/", "published_at": "2019-06-11T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452d1cee70", "title": "There is a ceiling on subscriptions", "url": "https://ooer.com/posts/a-ceiling-on-subscriptions/", "published_at": "2019-03-05T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452d634850", "title": "Harmful is not the same as offensive", "url": "https://ooer.com/posts/harmful-is-not-offensive/", "published_at": "2019-02-11T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452deb9f52", "title": "Sell it before it is ready", "url": "https://ooer.com/posts/sell-it-before-it-is-ready/", "published_at": "2018-09-11T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452df7bdbb", "title": "Almost none of it runs on your machine", "url": "https://ooer.com/posts/almost-none-of-it-runs-here/", "published_at": "2018-05-21T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452e38fa62", "title": "The reason you published it shows in the code", "url": "https://ooer.com/posts/the-reason-you-published-it/", "published_at": "2018-03-27T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452e67db76", "title": "Some problems are not nails", "url": "https://ooer.com/posts/some-problems-are-not-nails/", "published_at": "2018-02-05T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452ef82c1a", "title": "Nobody is reading your GitHub", "url": "https://ooer.com/posts/nobody-is-reading-your-github/", "published_at": "2018-01-29T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3452f9c1dec", "title": "A library is its documentation", "url": "https://ooer.com/posts/a-library-is-its-documentation/", "published_at": "2017-12-30T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3453069b93a", "title": "A hackathon is the worst parts of the job, unpaid", "url": "https://ooer.com/posts/hackathon-worst-parts/", "published_at": "2017-07-30T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f34530c2149d", "title": "Most people cannot afford the good idea", "url": "https://ooer.com/posts/cannot-afford-the-good-idea/", "published_at": "2017-06-04T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f3453152d394", "title": "The default is the lever", "url": "https://ooer.com/posts/the-default-is-the-lever/", "published_at": "2017-04-23T00:00:00+00:00" }, { "id": "01a087b9-6eca-706f-bc53-f345319f82cc", "title": "No because is easier than yes if", "url": "https://ooer.com/posts/no-because-yes-if/", "published_at": "2017-02-19T00:00:00+00:00" } ] posts Claim your blog
Back to Ooer
Blog · corpus.blog/blogs/ooer.com/posts

Ooer

ooer.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

2017