corpus.blog
Most cited
Talked about
Blogs
56,966 blogs · [ { "id": "01a0878d-abc8-71ce-8041-f915bfa6b88e", "title": "HTTP security headers on error pages", "url": "https://jfhr.me/http-headers-error-pages", "published_at": "2024-10-27T23:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915bfd9001f", "title": "Streaming HTML inside the DOM", "url": "https://jfhr.me/streaming-html-inside-the-dom", "published_at": "2024-02-28T23:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915c074391f", "title": "Ways to reset an HTML form", "url": "https://jfhr.me/ways-to-reset-an-html-form", "published_at": "2023-10-27T22:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915c07a57d6", "title": "GitHub Copilot and HTTP form injection", "url": "https://jfhr.me/github-copilot-and-form-injection", "published_at": "2023-05-18T22:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915c1166fd0", "title": "HTML, NPF and other markup formats", "url": "https://jfhr.me/html-npf-and-other-markup-formats", "published_at": "2023-05-05T22:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915c190116c", "title": "Sorting a JavaScript array of objects by a property value", "url": "https://jfhr.me/sort-javascript-array-by-property", "published_at": "2023-04-26T22:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915c1da6b2a", "title": "Fungible Tokens and Decentralized Exchanges", "url": "https://jfhr.me/fungible-tokens-and-decentralized-exchanges", "published_at": "2022-12-26T23:00:00+00:00" }, { "id": "01a0878d-abc8-71ce-8041-f915c232c1e7", "title": "Consider using CSV", "url": "https://jfhr.me/consider-using-csv", "published_at": "2022-12-09T23:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb2749c22", "title": "Talking to yourself", "url": "https://jfhr.me/talking-to-yourself", "published_at": "2022-11-05T23:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb33ca0c7", "title": "Estimate Firestore collection count from a small sample of documents", "url": "https://jfhr.me/estimate-firestore-collection-count", "published_at": "2022-10-17T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb36aade8", "title": "Strict Transport Security and preloading", "url": "https://jfhr.me/strict-transport-security-and-preloading", "published_at": "2022-07-24T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb3f94ee0", "title": "What is an eTLD + 1?", "url": "https://jfhr.me/what-is-an-etld-+-1", "published_at": "2022-07-15T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb4e697b1", "title": "New Blog Design + Performance Improvements", "url": "https://jfhr.me/new-blog-design-and-performance-improvements", "published_at": "2022-05-28T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb4ecc5e5", "title": "Smart Contracts: a (mildly) practical example", "url": "https://jfhr.me/smart-contracts-a-mildly-practical-example", "published_at": "2022-04-12T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb5d9ec6c", "title": "Optimizing images with the CSS image-set() function", "url": "https://jfhr.me/optimizing-images-with-the-css-image-set-function", "published_at": "2022-04-08T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb61b390d", "title": "Optimizing images with the HTML picture tag", "url": "https://jfhr.me/optimizing-images-with-the-html-picture-tag", "published_at": "2022-03-19T23:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb6d7bd2f", "title": "Test Email sending with cypress", "url": "https://jfhr.me/test-email-sending-with-cypress", "published_at": "2022-02-15T23:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb7cd86fb", "title": "HTTP/2 Server Push and Cache-Digest", "url": "https://jfhr.me/http-2-server-push", "published_at": "2021-12-25T23:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb869c31d", "title": "Build automation with JavaScript and zx", "url": "https://jfhr.me/build-automation-with-javascript-and-zx", "published_at": "2021-11-12T23:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdb964b675", "title": "The DeconstruCT.F 2021", "url": "https://jfhr.me/deconstruct-f-2021", "published_at": "2021-10-23T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdba1f5533", "title": "The Down Under CTF 2021", "url": "https://jfhr.me/down-under-ctf-2021", "published_at": "2021-09-25T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdbad74b10", "title": "How to really know if your webapp is online", "url": "https://jfhr.me/how-to-really-know-if-your-webapp-is-online", "published_at": "2021-09-16T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdbbbfdf01", "title": "document.designMode", "url": "https://jfhr.me/document.designmode", "published_at": "2021-07-11T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdbbfd10c6", "title": "Mighty", "url": "https://jfhr.me/mighty", "published_at": "2021-06-03T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdbcce3527", "title": "Start an app with Angular 12 and Bootstrap 5", "url": "https://jfhr.me/angular-12-bootstrap-5-start", "published_at": "2021-05-29T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdbd9fde46", "title": "Start an app with Angular 12 and Bootstrap 4", "url": "https://jfhr.me/angular-12-bootstrap-4-start", "published_at": "2021-05-29T22:00:00+00:00" }, { "id": "01a0878d-abca-7211-b8ae-7cfdbe002978", "title": "Light and dark themes with Angular, Bootstrap and SASS", "url": "https://jfhr.me/angular-bootstrap-theme-switcher", "published_at": "2021-05-20T22:00:00+00:00" } ] posts
Claim your blog
Back to jfhr.me
Blog · corpus.blog/blogs/jfhr.me/posts
jfhr.me
jfhr.me
2024
HTTP security headers on error pages
original ↗
27 Oct 2024
Streaming HTML inside the DOM
original ↗
28 Feb 2024
2023
Ways to reset an HTML form
original ↗
27 Oct 2023
GitHub Copilot and HTTP form injection
original ↗
18 May 2023
HTML, NPF and other markup formats
original ↗
5 May 2023
Sorting a JavaScript array of objects by a property value
original ↗
26 Apr 2023
2022
Fungible Tokens and Decentralized Exchanges
original ↗
26 Dec 2022
Consider using CSV
original ↗
9 Dec 2022
Talking to yourself
original ↗
5 Nov 2022
Estimate Firestore collection count from a small sample of documents
original ↗
17 Oct 2022
Strict Transport Security and preloading
original ↗
24 Jul 2022
What is an eTLD + 1?
original ↗
15 Jul 2022
New Blog Design + Performance Improvements
original ↗
28 May 2022
Smart Contracts: a (mildly) practical example
original ↗
12 Apr 2022
Optimizing images with the CSS image-set() function
original ↗
8 Apr 2022
Optimizing images with the HTML picture tag
original ↗
19 Mar 2022
Test Email sending with cypress
original ↗
15 Feb 2022
2021
HTTP/2 Server Push and Cache-Digest
original ↗
25 Dec 2021
Build automation with JavaScript and zx
original ↗
12 Nov 2021
The DeconstruCT.F 2021
original ↗
23 Oct 2021
The Down Under CTF 2021
original ↗
25 Sept 2021
How to really know if your webapp is online
original ↗
16 Sept 2021
document.designMode
original ↗
11 Jul 2021
Mighty
original ↗
3 Jun 2021
Start an app with Angular 12 and Bootstrap 5
original ↗
29 May 2021
Start an app with Angular 12 and Bootstrap 4
original ↗
29 May 2021
Light and dark themes with Angular, Bootstrap and SASS
original ↗
20 May 2021