56,966 blogs · [ { "id": "01a087b3-885f-73d9-8e9d-9cbcbb0fe72e", "title": "A Senior Engineer's First Month With Codex", "url": "https://www.nray.dev/blog/senior-engineers-first-month-with-codex/", "published_at": "2026-05-17T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbb38ad87", "title": "How DataLoader Simplifies Deep JSON Hydration", "url": "https://www.nray.dev/blog/using-dataloader-without-graphql/", "published_at": "2026-04-12T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbb4bf308", "title": "How to Automatically Switch Images for Dark and Light Mode", "url": "https://www.nray.dev/blog/how-to-automatically-switch-images-for-dark-and-light-mode/", "published_at": "2025-10-09T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbb873a5b", "title": "How to Fix package-lock.json Merge Conflicts", "url": "https://www.nray.dev/blog/how-to-fix-package-lock-json-merge-conflicts/", "published_at": "2024-12-26T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbc120c4d", "title": "Astro vs. Next.js: Why I Prefer Astro For Static Sites", "url": "https://www.nray.dev/blog/astro-vs-nextjs-why-i-prefer-astro-for-static-sites/", "published_at": "2024-04-05T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbc71ba92", "title": "How To Fix \"Image elements do not have explicit width and height\"", "url": "https://www.nray.dev/blog/how-to-fix-image-elements-do-not-have-explicit-width-and-height/", "published_at": "2023-08-31T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbc94fc44", "title": "How To Use Video Formats for Animated Content [7 Steps]", "url": "https://www.nray.dev/blog/how-to-use-video-formats-for-animated-content/", "published_at": "2023-08-26T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbd027aec", "title": "How To Efficiently Encode Images", "url": "https://www.nray.dev/blog/how-to-efficiently-encode-images/", "published_at": "2023-08-23T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbd896c94", "title": "How To Serve Images in Next-Gen Formats", "url": "https://www.nray.dev/blog/how-to-serve-images-in-next-gen-formats/", "published_at": "2023-08-11T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbe85c53c", "title": "How to Defer Offscreen Images In 2023", "url": "https://www.nray.dev/blog/how-to-defer-offscreen-images/", "published_at": "2023-08-02T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcbf81448a", "title": "How to Balance Text (Without JavaScript)", "url": "https://www.nray.dev/blog/how-to-balance-text-with-text-wrap-balance/", "published_at": "2023-07-28T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc0556e3e", "title": "Interaction to Next Paint (INP): Everything You Need to Know", "url": "https://www.nray.dev/blog/interaction-to-next-paint-inp-everything-you-need-to-know/", "published_at": "2023-07-18T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc093cb5a", "title": "300ms Faster: Reducing Wikipedia's Total Blocking Time", "url": "https://www.nray.dev/blog/300ms-faster-reducing-wikipedias-total-blocking-time/", "published_at": "2023-05-21T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc0cd401b", "title": "How to Build Tailwind CSS Dark Mode", "url": "https://www.nray.dev/blog/how-to-build-tailwind-css-dark-mode/", "published_at": "2023-03-20T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc158b57e", "title": "Visual Testing: Building A More Robust Wikipedia Interface By Spotting the Differences", "url": "https://www.nray.dev/blog/visual-testing-building-a-more-robust-wikipedia-interface-by-spotting-the-differences/", "published_at": "2023-01-19T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc20d0ebf", "title": "Using Chrome Profiler to Fix Performance Issues", "url": "https://www.nray.dev/blog/using-chrome-profiler-to-fix-performance-issues/", "published_at": "2022-12-22T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc2ad7839", "title": "How to Create Performant Scroll Animations in React", "url": "https://www.nray.dev/blog/how-to-create-performant-scroll-animations-in-react/", "published_at": "2022-10-02T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc2e62fcf", "title": "Using Media Queries in JavaScript", "url": "https://www.nray.dev/blog/using-media-queries-in-javascript/", "published_at": "2022-09-12T12:00:00+00:00" }, { "id": "01a087b3-885f-73d9-8e9d-9cbcc3893e38", "title": "Analyzing Wikipedia's Search Performance", "url": "https://www.nray.dev/blog/analyzing-search-performance/", "published_at": "2021-04-05T12:00:00+00:00" } ] posts Claim your blog
Back to nray.dev
Blog · corpus.blog/blogs/nray.dev/posts

nray.dev

nray.dev

2026

2025

2024

2023

2022

2021