41554 blogs · [ { "id": "01a08c60-7d8c-7224-b600-1da69ef6511b", "title": "Browsers are becoming more bloated", "url": "https://waspdev.com/articles/2026-08-28/browsers-are-becoming-more-bloated", "published_at": "2026-08-27T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da69fb2fc2a", "title": "Avoid using \"\" in RSS", "url": "https://waspdev.com/articles/2026-05-11/avoid-using-cdata-in-rss", "published_at": "2026-05-10T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a0631f79", "title": "I'll probably never use Windows", "url": "https://waspdev.com/articles/2026-03-12/i-ll-probably-never-use-windows", "published_at": "2026-03-11T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a07ea4b5", "title": "My thoughts on OS-level age verification", "url": "https://waspdev.com/articles/2026-03-07/my-thoughts-on-os-level-age-verification", "published_at": "2026-03-06T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a0c937c0", "title": "Is throwing an exception a faster way to break out of recursion in JavaScript?", "url": "https://waspdev.com/articles/2026-02-14/is-throwing-an-exception-a-faster-way-to-break-out-of-recursion-in-javascript", "published_at": "2026-02-13T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a17d9f04", "title": "Upcoming JavaScript features in 2026", "url": "https://waspdev.com/articles/2026-02-02/upcoming-javascript-features-in-2026", "published_at": "2026-02-01T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a1d9f1b4", "title": "Moltbook - the craziest AI experiment in 2026", "url": "https://waspdev.com/articles/2026-01-31/moltbook-the-craziest-ai-experiment", "published_at": "2026-01-30T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a296c8d1", "title": "Prefer repeating selectors over !important keyword in CSS", "url": "https://waspdev.com/articles/2026-01-12/prefer-repeating-selectors-over-important-keyword", "published_at": "2026-01-11T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a2ea27ac", "title": "1 kilobyte is precisely 1000 bytes", "url": "https://waspdev.com/articles/2026-01-11/kilobyte-is-1000-bytes", "published_at": "2026-01-10T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a36b8967", "title": "The future of Stack Overflow", "url": "https://waspdev.com/articles/2026-01-09/the-future-of-stack-overflow", "published_at": "2026-01-08T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a4184be0", "title": "JavaScript's for-of loops are actually fast (V8)", "url": "https://waspdev.com/articles/2026-01-01/javascript-for-of-loops-are-actually-fast", "published_at": "2025-12-31T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a47c12fa", "title": "Some software bloat is OK", "url": "https://waspdev.com/articles/2025-11-04/some-software-bloat-is-ok", "published_at": "2025-11-03T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a5485201", "title": "Has fetch() caught up with XMLHttpRequest in JavaScript?", "url": "https://waspdev.com/articles/2025-10-10/has-fetch-caught-up-with-xhr", "published_at": "2025-10-09T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a54df348", "title": "I hate this dichotomy about hated and unused programming languages", "url": "https://waspdev.com/articles/2025-09-20/i-hate-this-dichotomy-about-hated-and-unused-programming-languages", "published_at": "2025-09-19T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a5bb6fc0", "title": "Is JavaScript's BigInt broken?", "url": "https://waspdev.com/articles/2025-08-16/is-js-bigint-broken", "published_at": "2025-08-15T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a69eb760", "title": "How to arrange N queens in O(N) time", "url": "https://waspdev.com/articles/2025-07-16/how-to-arrange-n-queens-in-o-n-time", "published_at": "2025-07-15T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a74c0e12", "title": "Is it still worth using jQuery in 2025?", "url": "https://waspdev.com/articles/2025-07-07/is-it-still-worth-using-jquery-in-2025", "published_at": "2025-07-06T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a7ff8708", "title": "Important CSS features web developers should know in 2025", "url": "https://waspdev.com/articles/2025-06-29/css-features-web-developers-should-know-in-2025", "published_at": "2025-06-28T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a8120ebe", "title": "Things to avoid in JavaScript", "url": "https://waspdev.com/articles/2025-06-13/things-to-avoid-in-javascript", "published_at": "2025-06-12T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a827b3ba", "title": "My honest opinion about PHP", "url": "https://waspdev.com/articles/2025-06-12/my-honest-opinion-about-php", "published_at": "2025-06-11T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a83b03cf", "title": "Avoid using third-party libraries", "url": "https://waspdev.com/articles/2025-06-08/avoid-using-third-party-libraries", "published_at": "2025-06-07T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a908a119", "title": "Some features that every JavaScript developer should know in 2025 (part 3)", "url": "https://waspdev.com/articles/2025-05-28/features-that-every-js-developer-must-know-in-2025-part-3", "published_at": "2025-05-27T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6a9e876a2", "title": "JavaScript's iterator helpers are fast for large arrays and deep transformation chains", "url": "https://waspdev.com/articles/2025-05-25/iterator-helpers-can-be-faster", "published_at": "2025-05-24T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6aa80b622", "title": "The Temporal API - a new era in JavaScript date and time handling", "url": "https://waspdev.com/articles/2025-05-24/temporal-api", "published_at": "2025-05-23T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6aaeb430c", "title": "Don't do freelance programming until you read this", "url": "https://waspdev.com/articles/2025-05-18/dont-do-freelance-programming-until-you-read-this", "published_at": "2025-05-17T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6ab9e3ebf", "title": "JavaScript's \"destructors\" or the explicit resource management", "url": "https://waspdev.com/articles/2025-05-17/js-destructors-or-explicit-resource-management", "published_at": "2025-05-16T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6ac0ea306", "title": "Could TypeScript benefit from built-in runtime type checks?", "url": "https://waspdev.com/articles/2025-05-11/could-typescript-benefit-from-built-in-runtime-type-checks", "published_at": "2025-05-10T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6ac83d96e", "title": "Z-Buffer - the backbone of the 3-D rendering", "url": "https://waspdev.com/articles/2025-05-09/the-power-of-z-buffer", "published_at": "2025-05-08T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6ad82227b", "title": "How to sanitize HTML text using only vanilla DOM API", "url": "https://waspdev.com/articles/2025-05-07/how-to-sanitize-html-without-libraries", "published_at": "2025-05-06T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6add40e1a", "title": "Finding a calmer corner of tech", "url": "https://waspdev.com/articles/2025-05-03/finding-a-calmer-corner-in-tech", "published_at": "2025-05-02T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6ae2a46ed", "title": "When BLoC is too much", "url": "https://waspdev.com/articles/2025-04-28/case-against-flutter-bloc", "published_at": "2025-04-27T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6aeb92736", "title": "Why was Records & Tuples proposal withdrawn in JavaScript?", "url": "https://waspdev.com/articles/2025-04-25/why-was-records-and-tuples-proposal-withdrawn", "published_at": "2025-04-24T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6aebee466", "title": "The weirdness of type coercions in JavaScript explained", "url": "https://waspdev.com/articles/2025-04-20/js-type-coercion", "published_at": "2025-04-19T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6aef51ada", "title": "Things I don't like in JavaScript", "url": "https://waspdev.com/articles/2025-04-16/what-i-dislike-in-javascript", "published_at": "2025-04-15T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6afc6e459", "title": "A simple bouncing ball game", "url": "https://waspdev.com/articles/2025-04-13/bounce-game", "published_at": "2025-04-12T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b02f842f", "title": "You probably don't need to bundle the resources for your website", "url": "https://waspdev.com/articles/2025-04-09/you-dont-need-bundling-3", "published_at": "2025-04-08T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b1146b9c", "title": "Some features that every JavaScript developer should know in 2025 (part 2)", "url": "https://waspdev.com/articles/2025-04-09/features-that-every-js-developer-must-know-in-2025-part-2", "published_at": "2025-04-08T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b1cdfa8c", "title": "Is it possible to create a completely new browser from scratch?", "url": "https://waspdev.com/articles/2025-04-07/will-there-be-a-new-browser-with-a-completely-new-engine", "published_at": "2025-04-06T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b25fba69", "title": "Some features that every JavaScript developer should know in 2025", "url": "https://waspdev.com/articles/2025-04-06/features-that-every-js-developer-must-know-in-2025", "published_at": "2025-04-05T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b32e947d", "title": "Why I love the web so much", "url": "https://waspdev.com/articles/2025-04-05/why-i-love-web-so-much", "published_at": "2025-04-04T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b3da3663", "title": "How to properly do deep clone and deep compare with JavaScript variables", "url": "https://waspdev.com/articles/2025-03-31/how-to-properly-clone-and-compare-js-variables", "published_at": "2025-03-30T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b4b94b6b", "title": "A \"hard\" Leetcode problem with a stupidly efficient solution", "url": "https://waspdev.com/articles/2025-03-30/a-hard-leetcode-problem-with-stupidly-efficient-solution", "published_at": "2025-03-29T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b55602ba", "title": "How a simple code can produce a Sierpinski triangle", "url": "https://waspdev.com/articles/2025-03-29/how-a-simple-code-can-produce-complex-output-1", "published_at": "2025-03-28T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b5f453f3", "title": "Which one to choose: WebAssembly or JavaScript?", "url": "https://waspdev.com/articles/2025-03-29/wasm-vs-js", "published_at": "2025-03-28T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b65ac8cf", "title": "Are there any reasons to use synchronous XHR in JavaScript?", "url": "https://waspdev.com/articles/2025-03-28/are-there-any-reasons-to-use-sync-xhr-in-js", "published_at": "2025-03-27T20:00:00+00:00" }, { "id": "01a08c60-7d8c-7224-b600-1da6b67b54a5", "title": "Leetcode Pens and Pencils problem in O(log(min(cost1,cost2,total))) time", "url": "https://waspdev.com/articles/2025-03-27/leetcode-pens-and-pencils-in-logarithmical-time", "published_at": "2025-03-26T20:00:00+00:00" } ] posts Claim your blog
Back to waspdev.com
Blog · corpus.blog/blogs/waspdev.com/posts

waspdev.com

waspdev.com

2026

2025