{
  "cyclotron.cn": {
    "/": {
      "date": "2026-02-14T01:37:04Z",
      "httpProtocol": "http/1.1",
      "httpStatus": 200,
      "ipAddress": "39.105.36.189",
      "ipASN": "Hangzhou Alibaba Advertising Co.,Ltd.",
      "ipCountry": "China",
      "httpHeaderHash": "KKVV5UPT7E7QMGAIFWKATSLBZRNQG7IQ",
      "httpHeaderTechnologies": [
        "Nginx:1.22.1"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 315,
      "httpBodyHash": "7IEZYGJS2X2NEVM7L4HZI3UQS2IUDVIF",
      "httpBodyTechnologies": [
        "Hugo:0.146.1",
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "https://use.fontawesome.com",
        "/",
        "https://fonts.lug.ustc.edu.cn",
        "/moreabout/",
        "/cyclotron2025/",
        "//cdn.bootcdn.net",
        "https://cdn.bootcdn.net",
        "https://beian.miit.gov.cn/",
        "#",
        "/blog/",
        "/images/wrapper-img.jpg",
        "https://ajax.lug.ustc.edu.cn",
        "/images/logo_hu_3538ecd3df1e954a.webp",
        "/livereload.js?mindelay=10\u0026v=2\u0026port=1313\u0026path=livereload",
        "https://www.googletagmanager.com/gtag/js?id=G-MEASUREMENT_ID",
        "/about/",
        "/contact/",
        "/manifest.webmanifest"
      ],
      "httpBodyMetaTags": {
        "description": "This is meta description",
        "og:description": "This is meta description",
        "twitter:description": "This is meta description"
      },
      "httpBodyByteSize": 444658,
      "httpBodyPageTitle": "成都回旋科技有限责任公司"
    },
    "/blog/": {
      "date": "2026-02-14T01:57:48Z",
      "httpProtocol": "http/1.1",
      "httpStatus": 200,
      "ipAddress": "39.105.36.189",
      "ipASN": "Hangzhou Alibaba Advertising Co.,Ltd.",
      "ipCountry": "China",
      "httpHeaderHash": "Z2Q4NN3UVSLTIY7I42RUMQYCFEUNXH6G",
      "httpHeaderTechnologies": [
        "Nginx:1.22.1"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 315,
      "httpBodyHash": "D3ZCJ3Q4VP77TJZ4MRLTESWKDXEDJ2FO",
      "httpBodyTechnologies": [
        "Google Analytics",
        "Hugo:0.146.1"
      ],
      "httpBodyUrls": [
        "/blog/",
        "/tags/advice",
        "/tags/advice/",
        "//cdn.bootcdn.net",
        "/blog/blog-post-2/",
        "/images/blog/241112-2.jpg",
        "../../../images/blog/241227-2.png",
        "/",
        "https://ajax.lug.ustc.edu.cn",
        "https://fonts.lug.ustc.edu.cn",
        "/images/blog/241227-1.jpg#pic_center",
        "../../../images/blog/WeChat_20250412164010.mp4",
        "/cyclotron2025/",
        "/tags/technology",
        "https://use.fontawesome.com",
        "/contact/",
        "/author/ccst",
        "/blog/blog-post-1/",
        "/manifest.webmanifest",
        "https://cdn.bootcdn.net",
        "/categories/company-news/",
        "/images/blog/241112-1.png",
        "/images/blog/241227-4.jpg#pic_center",
        "/moreabout/",
        "/images/blog/241112-3.jpg",
        "/images/logo_hu_3538ecd3df1e954a.webp",
        "#",
        "/blog/blog-post-3/",
        "https://beian.miit.gov.cn/",
        "/livereload.js?mindelay=10\u0026v=2\u0026port=1313\u0026path=livereload",
        "https://www.googletagmanager.com/gtag/js?id=G-MEASUREMENT_ID",
        "/tags/technology/",
        "/images/blog/241227-3.jpg#pic_center",
        "/about/"
      ],
      "httpBodyMetaTags": {
        "description": "关注成都回旋科技最新动态",
        "og:description": "关注成都回旋科技最新动态",
        "twitter:description": "关注成都回旋科技最新动态"
      },
      "httpBodyByteSize": 451751,
      "httpBodyPageTitle": "最近新闻"
    }
  },
  "doh.ms": {
    "/": {
      "date": "2026-02-08T02:37:15Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "172.66.0.96",
      "ipASN": "Cloudflare, Inc.",
      "ipCountry": null,
      "httpHeaderHash": "DFCAM7SVVTS5TYUWDOG3SYZDT65C6BPB",
      "httpHeaderTechnologies": [
        "HTTP/3",
        "Cloudflare",
        "Amazon Web Services",
        "Cloudflare Bot Management"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 895,
      "httpBodyHash": "KXPNX7RTQT2KGT6HMF5RVVEPIONBG263",
      "httpBodyTechnologies": [
        "Hugo:0.146.1",
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "https://www.linkedin.com/in/rafaeldohms",
        "/2016/05/17/code-reviews-not-just-a-quality-tool/",
        "/images/blog/4103026062_cb574606f4_o_hu_90495b268f61a8ef.webp",
        "/",
        "/about/",
        "/hire_me/speaker/",
        "https://fonts.gstatic.com",
        "/2019/10/18/productive-slacking/",
        "/categories/career/",
        "//connect.facebook.net",
        "https://www.github.com/rdohms",
        "/2016/11/28/solving-conflicts-in-composer-lock/",
        "/images/blog/leaving-nl_hu_d6ae79bd8edb820c.webp",
        "https://www.goodreads.com/user/show/1022768-rafael-dohms",
        "/images/favicon_hu_11fda31947222a9a.png",
        "/css/style-lazy.min.51d43901f370689eb178e51525930be5f4929ff00fe4c08c79ff0d3a5d3543b5.css",
        "/2015/06/08/20-years-of-php-and-how-i-got-on-this-train/",
        "/css/style.min.bbf73216c17e25eda27105d022cf627f83593e97850ad24493d61c4ab9325fea.css",
        "/talks/",
        "https://doh.ms/",
        "https://twitter.com/rdohms",
        "https://use.fontawesome.com",
        "/categories/desenvolvimento/",
        "/2024/09/01/closing-a-chapter-nl/",
        "/images/favicon_hu_505b7324b0907f7f.png",
        "/images/logo-darkmode_hu_89a8f00eeb2da545.webp",
        "/categories/php/",
        "/images/blog-placeholder-6_hu_b77be11bdd1a61fe.webp",
        "/js/script-lazy.min.e96a267e2597ce20293d1f5ec71cb7c634f6c3d65af8e63124f0f4d8bef17b90.js",
        "//platform.twitter.com",
        "/2025/04/16/the-pitfalls-of-the-big-rewrite-why-evolution-often-beats-revolution/",
        "/blog/",
        "/categories/software-/-systems/",
        "/2016/04/05/need-a-lead-heres-my-story/",
        "//cdnjs.cloudflare.com",
        "/categories/development/",
        "/images/blog-placeholder-11_hu_7f040ecf8774455a.webp",
        "/images/blog/Screen-Shot-2015-03-10-at-11.22_hu_e45b838667641fe0.webp",
        "/2016/06/30/land-ho-new-challenge-ahead/",
        "/categories/tips-and-tricks/",
        "https://fonts.googleapis.com",
        "https://groups.google.com/forum/#!msg/comp.infosystems.www.authoring.cgi/PyJ25gZ6z7A/M9FkTUVDfcwJ",
        "/manifest.webmanifest",
        "/images/blog-placeholder-3_hu_d04fe23001fe77fe.webp",
        "//fonts.googleapis.com",
        "http://github.com/rdohms",
        "//www.googletagmanager.com",
        "/categories/dicas-e-truques/",
        "/2015/03/10/why-i-support-the-league/",
        "/images/blog-placeholder-7_hu_fac26ecf3818db12.webp",
        "/images/favicon_hu_41edb229baf84dc2.png",
        "https://www.googletagmanager.com/gtag/js?id=G-V9YJ0CF3NX",
        "/js/script.min.2cef4910260bab231ca4696bb7165ca549f423c02f84eea820889b259bf8cdb9.js",
        "//ajax.googleapis.com",
        "//www.google-analytics.com",
        "https://phpc.social/@rdohms",
        "/blog",
        "//platform.linkedin.com",
        "/images/logo_hu_2a5a3bc9b696a6ba.webp",
        "/images/blog/clock_hu_824f1c67d4d95d8e.webp"
      ],
      "httpBodyMetaTags": {
        "description": "Rafael Dohms - Engineering Manager, Speaker, Writer, PHP and Open Source Developer",
        "og:description": "Rafael Dohms - Engineering Manager, Speaker, Writer, PHP and Open Source Developer",
        "twitter:description": "Rafael Dohms - Engineering Manager, Speaker, Writer, PHP and Open Source Developer"
      },
      "httpBodyByteSize": 25863,
      "httpBodyPageTitle": "Rafael Dohms"
    },
    "/cdn-cgi/l/email-protection": {
      "date": "2026-02-08T02:07:19Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "162.159.140.98",
      "ipASN": "Cloudflare, Inc.",
      "ipCountry": null,
      "httpHeaderHash": "NHDSJHMUCGKLY7ILD4KIPZFCTX4JOAJP",
      "httpHeaderTechnologies": [
        "Cloudflare"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 272,
      "httpBodyHash": "VVV3IIOEVSGDMRAXVBLEFUOYAJDE72CZ",
      "httpBodyTechnologies": [],
      "httpBodyUrls": [
        "https://www.cloudflare.com/sign-up?utm_source=email_protection",
        "https://developers.cloudflare.com/fundamentals/setup/account/create-account/",
        "https://developers.cloudflare.com/waf/tools/scrape-shield/email-address-obfuscation/",
        "/cdn-cgi/styles/cf.errors.css",
        "https://www.cloudflare.com/5xx-error-landing"
      ],
      "httpBodyMetaTags": {},
      "httpBodyByteSize": 4672,
      "httpBodyPageTitle": "Email Protection | Cloudflare"
    }
  },
  "kevinquinn.fun": {
    "/": {
      "date": "2026-02-08T10:12:16Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "98.84.224.111",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "UYAXWKPRFZCXDNWKFZKMFM5FHUFOT34P",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 487,
      "httpBodyHash": "HP5OXCGNBYXBWGSTHAYO33I6WFNVOXYE",
      "httpBodyTechnologies": [
        "Google Hosted Libraries",
        "cdnjs",
        "Cloudflare",
        "Highlight.js",
        "Hugo:0.146.1",
        "jQuery:1.12.4",
        "Bootstrap:3.3.7",
        "BootstrapCDN:3.3.7"
      ],
      "httpBodyUrls": [
        "/safari-pinned-tab.svg",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css",
        "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js",
        "https://kevinquinn.fun/blog/reflecting-on-my-failure-to-build-a-one-dollar-company/",
        "/favicon-32x32.png",
        "/apple-touch-icon.png",
        "https://kevinquinn.fun/blog/good-software-isnt-afraid-of-pumpkins/",
        "/uses/",
        "/open-questions/",
        "https://kevin-quinn.kit.com/cd21447a77/index.js",
        "https://kevinquinn.fun/blog/avoiding-work-to-retain-the-possibility-of-perfection/",
        "https://kevinquinn.fun/blog/how-many-customers-does-a-successful-side-hustle-need-just-99/",
        "https://kevinquinn.fun/blog/a-real-world-solution-to-escape-embedded-double-quotes-in-json/",
        "https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i",
        "/lessons/",
        "/recipes/",
        "https://kevinquinn.fun/blog/confessions-of-everyday-software-engineers/",
        "/hi/",
        "/firsts/",
        "/projects/",
        "img/stack-overflow-icon.svg",
        "https://kevinquinn.fun/feed.xml",
        "http://creativecommons.org/licenses/by/3.0/",
        "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",
        "https://kevinquinn.fun/blog/the-man-in-the-arena-has-glowing-fingers/",
        "/about/",
        "/feed.xml",
        "/manifest.json",
        "/no-speed-limits/",
        "img/linkedin-icon.svg",
        "img/twitter-x-icon.svg",
        "https://kevinquinn.fun/",
        "https://blog.pragmaticengineer.com/the-product-minded-engineer/",
        "/favicon-16x16.png",
        "img/github-icon.svg",
        "https://duckduckgo.com/",
        "https://facadeproject.com/",
        "img/kevin-profile-photo-fall21-small.jpg",
        "https://kevinquinn.fun/blog/humbled-junior-engineer/",
        "https://stackoverflow.com/users/7098233/i-dont-remember",
        "https://kevinquinn.fun/blog/learning-platform-risk-the-hard-way/",
        "/wc/",
        "/blog/",
        "https://twitter.com/maybekq",
        "https://github.com/I-Dont-Remember",
        "https://kevinquinn.fun/css/main.css",
        "https://linkedin.com/in/quinnkevinp",
        "https://kevinquinn.fun/blog/life-has-no-speed-limits/",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js",
        "#",
        "/js/main.js",
        "/great-reads/",
        "/uploads/kq-logo.png"
      ],
      "httpBodyMetaTags": {
        "description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused.",
        "og:description": "The official source of the unofficial ramblings of Kevin Quinn.",
        "twitter:description": "The official source of the unofficial ramblings of Kevin Quinn."
      },
      "httpBodyByteSize": 11645,
      "httpBodyPageTitle": "Hoarding Minimalist. Product-minded Software Engineer. Usually confused."
    },
    "/blog/javascript-calculator-stripes-graduated-pricing/": {
      "date": "2026-02-08T11:12:12Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "18.208.88.157",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "ZXA6V3NGO6TQLZ6YMHE7MI55IV22JVMH",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 487,
      "httpBodyHash": "FHZZBM45HHS2SSMKRB7IN2GQXDI5TUKY",
      "httpBodyTechnologies": [
        "cdnjs",
        "Cloudflare",
        "Highlight.js",
        "jQuery:1.12.4",
        "Bootstrap:3.3.7",
        "BootstrapCDN:3.3.7",
        "Google Hosted Libraries"
      ],
      "httpBodyUrls": [
        "/favicon-16x16.png",
        "https://kevinquinn.fun/",
        "https://github.com/I-Dont-Remember",
        "https://kevinquinn.fun/css/main.css",
        "https://stripe.com/docs/products-prices/pricing-models#graduated-pricing",
        "/great-reads/",
        "/manifest.json",
        "https://facadeproject.com/",
        "https://kevinquinn.fun/blog/windsurf-skeptics/",
        "http://serverlesscalc.com/",
        "/lessons/",
        "/recipes/",
        "/js/main.js",
        "#why",
        "/blog/",
        "https://kevinquinn.fun/blog/how-your-take-home-pay-varies-by-state/",
        "https://kevinquinn.fun/blog/manage-multiple-python-versions-with-docker-an-alternative-to-pyenv/",
        "/about/",
        "/open-questions/",
        "/tags/developers/",
        "https://twitter.com/maybekq",
        "#graduated-pricing-calculator",
        "/categories/software-development",
        "https://kevinquinn.fun/blog/how-to-self-host-actual-budget-on-fly/",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js",
        "#",
        "/wc/",
        "/favicon-32x32.png",
        "#wait-what-is-graduated-pricing",
        "https://kevinquinn.fun/blog/7-things-great-developers-say-no-to/",
        "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js",
        "https://kevinquinn.fun/blog/javascript-calculator-stripes-graduated-pricing/",
        "https://kevinquinn.fun/blog/a-real-world-solution-to-escape-embedded-double-quotes-in-json/",
        "/projects/",
        "/apple-touch-icon.png",
        "https://duckduckgo.com/",
        "http://creativecommons.org/licenses/by/3.0/",
        "https://kevin-quinn.kit.com/cd21447a77/index.js",
        "https://stripe.com/docs/billing/subscriptions/usage-based",
        "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",
        "/feed.xml",
        "/hi/",
        "/uses/",
        "/firsts/",
        "#the-code",
        "/uploads/kq-logo.png",
        "/safari-pinned-tab.svg",
        "https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i",
        "/no-speed-limits/",
        "/categories/software-development/",
        "https://kevinquinn.fun/blog/debugging-without-a-razor/",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
      ],
      "httpBodyMetaTags": {
        "description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused.",
        "og:description": "Tired of hand calculating the total cost for your graduated pricing tier in Stripe? Me, too!",
        "twitter:description": "Tired of hand calculating the total cost for your graduated pricing tier in Stripe? Me, too!"
      },
      "httpBodyByteSize": 16413,
      "httpBodyPageTitle": "Write a Javascript Cost Calculator for Stripe's Graduated Pricing | Kevin Quinn"
    },
    "/tags/dotfiles/": {
      "date": "2026-02-08T10:58:31Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "18.208.88.157",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "SHT7UOGRHFZFQ6DUE5IUXSXMS42KKT6W",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 522,
      "httpBodyHash": "W5FX7R2AEDH2BDRLUX7JPS5TFS2CASZF",
      "httpBodyTechnologies": [
        "cdnjs",
        "Cloudflare",
        "Highlight.js",
        "jQuery:1.12.4",
        "Bootstrap:3.3.7",
        "BootstrapCDN:3.3.7",
        "Google Hosted Libraries"
      ],
      "httpBodyUrls": [
        "#",
        "/blog/",
        "/tags/",
        "/firsts/",
        "/projects/",
        "/manifest.json",
        "/categories/guides/",
        "/safari-pinned-tab.svg",
        "https://twitter.com/maybekq",
        "/lessons/",
        "https://kevinquinn.fun/css/main.css",
        "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js",
        "https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i",
        "/categories/",
        "/recipes/",
        "/open-questions/",
        "/no-speed-limits/",
        "/favicon-32x32.png",
        "/uploads/kq-logo.png",
        "/about/",
        "/js/main.js",
        "https://kevinquinn.fun/tags/dotfiles/",
        "http://creativecommons.org/licenses/by/3.0/",
        "/wc/",
        "https://duckduckgo.com/",
        "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js",
        "/hi/",
        "/uses/",
        "/great-reads/",
        "/apple-touch-icon.png",
        "https://kevinquinn.fun/",
        "https://github.com/I-Dont-Remember",
        "https://kevinquinn.fun/tags/dotfiles/feed.xml",
        "/feed.xml",
        "/favicon-16x16.png",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css",
        "https://facadeproject.com/",
        "https://kevinquinn.fun/blog/personalize-your-development-environment-with-dotfiles/"
      ],
      "httpBodyMetaTags": {
        "description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused.",
        "og:description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused.",
        "twitter:description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused."
      },
      "httpBodyByteSize": 7177,
      "httpBodyPageTitle": "Dotfiles | Kevin Quinn"
    },
    "/tags/personal/": {
      "date": "2026-02-08T11:32:32Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "98.84.224.111",
      "ipASN": "Amazon.com, Inc.",
      "ipCountry": "United States",
      "httpHeaderHash": "L46EEUF3ZYVAVFKC5FUFGE5MHOWU3IZY",
      "httpHeaderTechnologies": [
        "HSTS",
        "Netlify"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 486,
      "httpBodyHash": "TYTTSPMMMZYAKSUZXCQ2XUFIJ2SGBUHC",
      "httpBodyTechnologies": [
        "Bootstrap:3.3.7",
        "BootstrapCDN:3.3.7",
        "Google Hosted Libraries",
        "cdnjs",
        "Cloudflare",
        "Highlight.js",
        "jQuery:1.12.4"
      ],
      "httpBodyUrls": [
        "/great-reads/",
        "/categories/misc/",
        "https://duckduckgo.com/",
        "https://kevinquinn.fun/",
        "https://kevinquinn.fun/css/main.css",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css",
        "/categories/",
        "https://facadeproject.com/",
        "https://kevinquinn.fun/tags/personal/",
        "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js",
        "/safari-pinned-tab.svg",
        "https://twitter.com/maybekq",
        "/js/main.js",
        "/favicon-16x16.png",
        "/categories/personal-development/",
        "https://kevinquinn.fun/blog/going-alcohol-free/",
        "/uploads/kq-logo.png",
        "https://github.com/I-Dont-Remember",
        "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js",
        "#",
        "/uses/",
        "/lessons/",
        "/manifest.json",
        "http://creativecommons.org/licenses/by/3.0/",
        "https://kevinquinn.fun/blog/365-ways-to-make-progress-towards-your-life-goals/",
        "/about/",
        "/feed.xml",
        "/no-speed-limits/",
        "https://kevinquinn.fun/tags/personal/feed.xml",
        "https://kevinquinn.fun/blog/starting-from-zero/",
        "/apple-touch-icon.png",
        "/hi/",
        "/wc/",
        "/firsts/",
        "/recipes/",
        "/open-questions/",
        "/favicon-32x32.png",
        "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js",
        "/blog/",
        "/projects/",
        "https://fonts.googleapis.com/css?family=Lato:300,400|Roboto+Slab:400,700|Roboto:300,300i,400,400i,500,500i,700,700i",
        "/tags/"
      ],
      "httpBodyMetaTags": {
        "description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused.",
        "og:description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused.",
        "twitter:description": "Writer. Product-minded Software Engineer. Professional Dabbler. Usually confused."
      },
      "httpBodyByteSize": 7924,
      "httpBodyPageTitle": "Personal | Kevin Quinn"
    }
  },
  "loviuz.it": {
    "/news/natale-consumismo/?ref=loviuz.it": {
      "date": "2026-02-08T19:05:03Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "95.245.237.69",
      "ipASN": "TIM",
      "ipCountry": "Italy",
      "httpHeaderHash": "3K7PJ6WMUUJRBQSEDGXGT7EN3UL7NIOK",
      "httpHeaderTechnologies": [
        "HSTS"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 507,
      "httpBodyHash": "3OZXW55CXGKNTG7TNQSDCYN2VNY5KCMU",
      "httpBodyTechnologies": [
        "Hugo:0.146.1",
        "Bootstrap:d8039df3ba0dd95b337180fd84d6c3665ff71d1f",
        "GoatCounter"
      ],
      "httpBodyUrls": [
        "#-un-regalo-che-non-ha-prezzo",
        "https://stripe.com/it/climate",
        "https://github.com/luizdepra/hugo-coder/",
        "https://liberapay.com/assets/widgets/donate.svg",
        "/guide/",
        "/contributi/",
        "/images/apple-touch-icon.png",
        "/images/safari-pinned-tab.svg",
        "/css/coder.min.ed30115a76cdaa62f2229e973d5b1c89b2d3dd4b1d9c07a729baad06aa3b0cbe.css",
        "/css/custom.min.c42f66a533eaac10b7564865e6b003623ebb4197ff3c991ab40486ba7c034d3b.css",
        "/css/bootstrap.min.d8039df3ba0dd95b337180fd84d6c3665ff71d1f47cd21e2c7e2f41e7610c79f.css",
        "/css/font-awesome-animation.min.min.ff0f9fcc38a0ce60fe72520f1bce3dc34ab45676a901aefa335db12a66a10771.css",
        "/tags/consumismo/",
        "https://gohugo.io/",
        "go-6895492_1280.jpg",
        "//gc.zgo.at/count.js",
        "/news/natale-consumismo/natale-consumismo.jpg",
        "/hacking/",
        "/chi-sono/",
        "/tags/donazioni/",
        "/news/un-dono-solidale/",
        "https://liberapay.com/loviuz/donate",
        "https://old.loviuz.it//privacy-policy",
        "https://donate.stripe.com/bIY14hdxefdxdoceUU",
        "https://old.loviuz.it/news/natale-consumismo/",
        "/news/",
        "/tags/natale/",
        "/site.webmanifest",
        "/fonts/fa-solid-900.woff2",
        "/images/favicon-32x32.png",
        "/css/coder-dark.min.a00e6364bacbc8266ad1cc81230774a1397198f8cfb7bcba29b7d6fcb54ce57f.css",
        "https://www.ilriformista.it/regali-di-natale-erosione-tredicesima-inflazione-non-spengono-spirito-natalizio-399952/",
        "/",
        "https://pixabay.com",
        "/fonts/fa-brands-400.woff2",
        "/css/dark.min.3febede7b660d49bc3a5fa28a2686b7fbb4d1be516728e2b9f7565dac56aa4ec.css",
        "#-niente-regali",
        "/categorie/index.xml",
        "https://old.loviuz.it//news",
        "/js/coder.min.6ae284be93d2d19dad1f02b0039508d9aab3180a12a06dcc71b0b0ef7825a317.js",
        "/css/responsive.min.ebe0af6672729e03adf687f4a16310961929fbed1d4062585ba59b1bd03805da.css",
        "https://pixabay.com//?utm_source=link-attribution\u0026utm_medium=referral\u0026utm_campaign=image\u0026utm_content=6895492",
        "https://pixabay.com/users/jwvein-5584447/?utm_source=link-attribution\u0026utm_medium=referral\u0026utm_campaign=image\u0026utm_content=6895492",
        "/tags/regali/",
        "/tags/ambiente/",
        "https://imgflip.com/memegenerator",
        "/fonts/fa-regular-400.woff2",
        "/progetti/",
        "/images/favicon.svg",
        "/images/favicon-16x16.png"
      ],
      "httpBodyMetaTags": {
        "description": "Consumismo e ambiente, due parole che non vanno d'accordo. Cambia ora!",
        "og:description": "Consumismo e ambiente, due parole che non vanno d'accordo. Cambia ora!",
        "twitter:description": "Consumismo e ambiente, due parole che non vanno d'accordo. Cambia ora!"
      },
      "httpBodyByteSize": 13192,
      "httpBodyPageTitle": "A Natale fai un regalo che non ha prezzo · Loviuz"
    }
  },
  "m-obispo.xyz": {
    "/": {
      "date": "2026-02-08T02:10:25Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "198.51.233.1",
      "ipASN": "Neocities",
      "ipCountry": "United States",
      "httpHeaderHash": "3F2N54SI5UBOVLRCKK7OFQDRQZJXJ5JD",
      "httpHeaderTechnologies": [
        "HSTS"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 610,
      "httpBodyHash": "IB4OLQVKAE6TCAGQKPKFO6K35OPUQYWL",
      "httpBodyTechnologies": [
        "Hugo:0.146.1"
      ],
      "httpBodyUrls": [
        "/blogpost/",
        "https://mathstodon.xyz/@m_obispo",
        "https://en.wikipedia.org/wiki/Allegory_of_the_cave",
        "https://m-obispo.xyz/blogpost/the-internet-is-not-dead/",
        "https://gitlab.com/m_obispo",
        "https://m-obispo.xyz/img/logo/OBispo.png",
        "https://creativecommons.org/licenses/by-sa/4.0/",
        "https://m-obispo.xyz/blogpost/why-does-this-exist/",
        "/about",
        "/article/",
        "https://m-obispo.xyz/",
        "https://m-obispo.xyz/links/",
        "https://m-obispo.xyz/article/",
        "https://m-obispo.xyz/blogpost/",
        "https://m-obispo.xyz/img/80x15.png",
        "/links",
        "css/custom.css",
        "https://m-obispo.xyz/license/",
        "/index.xml",
        "https://neocities.org",
        "/css/hugo-octopress.css",
        "https://m-obispo.xyz/blogpost/wait-this-still-exists/",
        "/css/fork-awesome.min.css",
        "https://m-obispo.xyz/about/",
        "https://m-obispo.xyz/blogpost/learning-to-enjoy-what-matters/",
        "https://github.com/m-obispo",
        "/css/fonts.css",
        "https://youtube.com/@m_obispo",
        "https://m-obispo.xyz/index.xml",
        "https://github.com/parsiya/hugo-octopress/",
        "https://gohugo.io"
      ],
      "httpBodyMetaTags": {
        "description": "I am OBispo, and this is my corner of the web. Here is where you will find some thoughts, tips, ideas and opinions about diverse topics, such as science, mathematics, technology and their consequences in modern society.",
        "og:description": "I am OBispo, and this is my corner of the web. Here is where you will find some thoughts, tips, ideas and opinions about diverse topics, such as science, mathematics, technology and their consequences in modern society."
      },
      "httpBodyByteSize": 15955,
      "httpBodyPageTitle": "OBispo's Website"
    },
    "/about/": {
      "date": "2026-02-08T01:33:47Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "198.51.233.1",
      "ipASN": "Neocities",
      "ipCountry": "United States",
      "httpHeaderHash": "HTDWD6WUNSGGRRTQSVK4H2WCWGOUYK4O",
      "httpHeaderTechnologies": [
        "HSTS"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 611,
      "httpBodyHash": "CGPJEV5UL7MYOMDXDHD4FB7YEEOLV55P",
      "httpBodyTechnologies": [
        "Hugo:0.146.1"
      ],
      "httpBodyUrls": [
        "https://neocities.org",
        "https://github.com/m-obispo",
        "https://m-obispo.xyz/about/",
        "https://m-obispo.xyz/links/",
        "/css/fonts.css",
        "css/custom.css",
        "https://m-obispo.xyz/",
        "/css/hugo-octopress.css",
        "https://m-obispo.xyz/license/",
        "https://youtube.com/@m_obispo",
        "https://mathstodon.xyz/@m_obispo",
        "https://m-obispo.xyz/img/80x15.png",
        "/about",
        "/article/",
        "/css/fork-awesome.min.css",
        "https://m-obispo.xyz/index.xml",
        "https://github.com/parsiya/hugo-octopress/",
        "https://creativecommons.org/licenses/by-sa/4.0/",
        "/img/MAN.jpg",
        "https://gitlab.com/m_obispo",
        "https://m-obispo.xyz/article/",
        "https://m-obispo.xyz/blogpost/",
        "https://m-obispo.xyz/img/logo/OBispo.png",
        "/links",
        "/blogpost/",
        "https://gohugo.io"
      ],
      "httpBodyMetaTags": {
        "description": "",
        "og:description": "Some guy staring at marseillais shores (totally not me lol). Born in the dawn of this millenium, I'm a male physicist, researcher, programmer and (as you can tell) nerd. This website is part of my journey on the internet, where I grew up and which has grown up around me as well.\nHere's a list of other interests, in no particular order:"
      },
      "httpBodyByteSize": 12340,
      "httpBodyPageTitle": "About me"
    },
    "/tags/gaming/": {
      "date": "2026-02-08T02:30:51Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "198.51.233.1",
      "ipASN": "Neocities",
      "ipCountry": "United States",
      "httpHeaderHash": "UYXLZFDC5HXHNXVOCPMNYQ3HVWJ54JB3",
      "httpHeaderTechnologies": [
        "HSTS"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 611,
      "httpBodyHash": "RGUCMPCWO3GGUNI4UVFGWX4NQSTTVK2S",
      "httpBodyTechnologies": [
        "Hugo:0.146.1"
      ],
      "httpBodyUrls": [
        "/article/",
        "/blogpost/",
        "https://youtube.com/@m_obispo",
        "https://m-obispo.xyz/blogpost/",
        "https://m-obispo.xyz/blogpost/learning-to-enjoy-what-matters/",
        "https://github.com/parsiya/hugo-octopress/",
        "/about",
        "/css/fork-awesome.min.css",
        "https://m-obispo.xyz/license/",
        "https://mathstodon.xyz/@m_obispo",
        "https://m-obispo.xyz/img/80x15.png",
        "https://gohugo.io",
        "https://m-obispo.xyz/",
        "/tags/gaming/index.xml",
        "/css/hugo-octopress.css",
        "https://github.com/m-obispo",
        "https://m-obispo.xyz/about/",
        "https://gitlab.com/m_obispo",
        "css/custom.css",
        "https://m-obispo.xyz/index.xml",
        "https://creativecommons.org/licenses/by-sa/4.0/",
        "/css/fonts.css",
        "https://m-obispo.xyz/tags/gaming",
        "https://m-obispo.xyz/tags/philosophy",
        "https://neocities.org",
        "https://m-obispo.xyz/links/",
        "https://m-obispo.xyz/article/",
        "https://m-obispo.xyz/tags/entertainment",
        "/links",
        "https://m-obispo.xyz/img/logo/OBispo.png"
      ],
      "httpBodyMetaTags": {
        "description": "",
        "og:description": "I am OBispo, and this is my corner of the web. Here is where you will find some thoughts, tips, ideas and opinions about diverse topics, such as science, mathematics, technology and their consequences in modern society."
      },
      "httpBodyByteSize": 11952,
      "httpBodyPageTitle": "Gaming"
    }
  },
  "uint.one": {
    "/": {
      "date": "2026-02-13T04:05:19Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "84.85.215.83",
      "ipASN": "KPN B.V.",
      "ipCountry": "Netherlands",
      "httpHeaderHash": "FECSEIXQFV5F2VISVU23NHMR6FA7L3NP",
      "httpHeaderTechnologies": [
        "Nginx"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 263,
      "httpBodyHash": "TWY3ZMASTSB3Q3JWIU7S42J66LNP42EP",
      "httpBodyTechnologies": [
        "Hugo:0.146.1"
      ],
      "httpBodyUrls": [
        "/resume/",
        "https://uint.one/favicon.svg",
        "https://fonts.googleapis.com/css2?family=Source+Serif+4\u0026display=swap",
        "/resume",
        "https://uint.one/",
        "mailto:tom@uint.one",
        "https://github.com/tomcur",
        "https://uint.one/index.xml",
        "https://uint.one/main.min.css",
        "https://uint.one/posts/index.xml",
        "https://fonts.googleapis.com/css2?family=Mitr:wght@300;400\u0026display=swap",
        "/posts"
      ],
      "httpBodyMetaTags": {
        "description": "A personal blog",
        "og:description": "Hello,\nI am Tom Churchman, a computer researcher and data scientist. I love programming; both in the additive sense of creating new functionality and the subtractive sense of cutting away to express things in simple forms.\nYou’ll find most content on this site under my blog. You can read more about me on my resume.\nIf you would like to write me, you can reach me by email at tom@uint.one.",
        "twitter:description": "Hello,\nI am Tom Churchman, a computer researcher and data scientist. I love programming; both in the additive sense of creating new functionality and the subtractive sense of cutting away to express things in simple forms.\nYou’ll find most content on this site under my blog. You can read more about me on my resume.\nIf you would like to write me, you can reach me by email at tom@uint.one."
      },
      "httpBodyByteSize": 13200,
      "httpBodyPageTitle": "Uint1"
    }
  },
  "vivekhaldar.com": {
    "/": {
      "date": "2026-02-08T05:45:39Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "205.196.210.242",
      "ipASN": "New Dream Network, LLC",
      "ipCountry": "United States",
      "httpHeaderHash": "VMWNNHX4FI2ENODSX7IITIUKQQPEU7O6",
      "httpHeaderTechnologies": [
        "Apache HTTP Server"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 386,
      "httpBodyHash": "NOKZPFCW4RFKNDEUX54VL3Z2ZFYVEZC3",
      "httpBodyTechnologies": [
        "Hugo:0.146.1",
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "/articles/talented-beast/",
        "/articles/ode-to-the-album/",
        "/articles/deft-with-descriptive-filenames/",
        "/index.xml",
        "/articles/generation-ad/",
        "/articles/addicted-to-work/",
        "/articles/the-abstractionoptimization-tradeoff/",
        "/articles/whither-programming-language-research/",
        "/articles/sun-ray/",
        "/articles/the-mundanity-of-excellence/",
        "/articles/why-i-blog/",
        "/articles/we-are-all-mad-men/",
        "/articles/stephenson-on-emacs/",
        "https://twitter.com/vivekhaldar",
        "/articles/church-numerals-in-es6/",
        "/articles/the-upside-of-complexity/",
        "/articles/re--why-i-don-t-use-copilot/",
        "/articles/best-of-2013/",
        "/articles/the-tool-divergence/",
        "/articles/dijkstra-vibe-coding/",
        "/articles/-but-llms-are-not-deterministic--/",
        "/articles/the-empirical-science-of-happiness/",
        "/articles/medium-shear/",
        "/articles/llms-eat-entry-level-swes/",
        "/articles/tldr-summary-the-role-of-deliberate-practice-in-the-acquisition-of-expert-performance/",
        "/articles/dilli/",
        "/articles/ai-resistance-considered-harmful--for-programmers-/",
        "/articles/the-new-c/",
        "/articles/ides-and-cad/",
        "/articles/alone-together/",
        "/articles/ides-in-the-cage/",
        "/articles/english-is-heavily-lefthanded/",
        "/articles/the-components-of-a-university/",
        "/articles/how-did-software-get-so-reliable/",
        "/articles/airspace/",
        "/articles/in-aggregate/",
        "/articles/patterns-of-use/",
        "/articles/themes-language/",
        "/articles/productivity-porn/",
        "/articles/smeeds-law-for-programming/",
        "/articles/malcolm-gladwell-and-the-narrative-fallacy/",
        "/articles/empirical-analysis-of-programming-language-adoption/",
        "/articles/moving-off-tumblr/",
        "/articles/big-science-funding/",
        "/articles/the-levels-of-agility/",
        "/articles/cli-agent-architecture/",
        "/articles/backup-in-the-age-of-the-cloud/",
        "/articles/comments-on-stallmans-dystopia/",
        "/articles/laptops-with-touchscreen-keyboards/",
        "/articles/software-processes-are-software-too/",
        "/articles/learning-your-life/",
        "/articles/citation-reliability/",
        "/articles/from-the-mouths-of-babes/",
        "/articles/review-close-to-the-machine/",
        "/articles/programming-with-llms--part-2/",
        "/articles/text-to-speech-in-macos-x--automatically/",
        "/articles/social-engineering-for-programming-languages/",
        "/articles/claude-code-subagents-commands-skills-converging/",
        "/articles/blue-collar-coders/",
        "/articles/natlang-code/",
        "/articles/mediated-concert/",
        "/articles/birth-of-a-new-platform/",
        "/articles/my-video-production-stack/",
        "/articles/poor-mans-diy-little-printer/",
        "/articles/the-cs-assignment-i-wish-i-had/",
        "/articles/what-do-you-think-computer-science-is/",
        "/articles/ai-is-a-mirror/",
        "/articles/quantum-of-work/",
        "/articles/datacenter-power/",
        "/articles/it-might-get-loud/",
        "/articles/the-cost-of-memory-safety/",
        "/articles/what-mobile-development-taught-me/",
        "/articles/science--prediction/",
        "/articles/cracks-in-minimalism/",
        "/articles/teaching-data-structures-with-realworld-examples/",
        "/articles/use-accessibility-technologies-before-you-have-to/",
        "/articles/go-lang/",
        "/articles/bleeding-buffers/",
        "/articles/repositories-of-science/",
        "/articles/review-of-chaos-monkeys/",
        "/articles/engineering-is-all-about-failure/",
        "/articles/innovators-dilemma-in-programming-languages/",
        "/articles/best-of-2012/",
        "/articles/the-monk-tax/",
        "/articles/the-new-luxury/",
        "/articles/good-reads-of-2012/",
        "/articles/a-twitterbased-anagram-game/",
        "/articles/strong-opinions-weakly-held/",
        "/articles/side-effects-of-phd-programs/",
        "/articles/the-18th-century-origins-of-lolcatspeak/",
        "/articles/should-i-do-a-phd/",
        "/articles/future-programming/",
        "/articles/how-software-grows/",
        "/articles/personal-side-jevons-paradox/",
        "/articles/you-cant-run-with-the-machines/",
        "/articles/a-tiny-step-towards-automating-web-design/",
        "/articles/best-of-2010/",
        "/articles/the-cubicle-dilemma/",
        "/articles/the-interested-minority/",
        "/articles/more-on-fat-vs-thin-clients/",
        "/articles/how-hugh-macleod-got-my-money/",
        "/articles/cpu-pipelines-and-the-structure-of-work/",
        "/articles/research-roundup-programming-and-remote-teams/",
        "/articles/programmers-climb/",
        "/articles/asset-allocation-is-everything/",
        "/articles/we-dont-do-email-email-does-us/",
        "/articles/native-mobile-apps-are-a-stopgap/",
        "/articles/hookah/",
        "/articles/when-to-do-a-rewrite/",
        "/articles/maintenance-is-not-a-bad-word/",
        "/articles/taking-your-company-completely-remote/",
        "/articles/the-real-new-aesthetic/",
        "/articles/rules-for-computing-happiness/",
        "/articles/http-20-marks-the-end-of-an-era/",
        "/articles/gui-vs-cli-operation-vs-expression/",
        "/articles/why-james-cameron-did-not-win-the-academy-award-for-best-director-for-avatar/",
        "/articles/my-setup/",
        "/articles/shedding/",
        "/articles/meetings-are-mutexes/",
        "/articles/computational-thinking/",
        "/articles/fat-client-thin-client/",
        "/articles/working-asynchronously/",
        "/articles/showing-it/",
        "/articles/best-of-2011/",
        "/articles/if-you-see-a-stylus-they-blew-it-not/",
        "/articles/deresiewicz-essays-about-the-internet/",
        "/articles/start-here/",
        "/articles/the-poisonous-long-tail/",
        "/articles/the-human-resolution-threshold/",
        "/articles/why-developers-should-learn-the-economics-of-code/",
        "/articles/how-to-make-your-new-programming-language-successful/",
        "/articles/ai-doomers-will-doom-us/",
        "/articles/games-as-a-hook-into-cs/",
        "/articles/augmenting-llms-with-apis/",
        "/articles/editing-google-docs-in-emacs/",
        "/articles/interviews-and-whiteboard-coding/",
        "/articles/size-is-the-best-predictor-of-code-quality/",
        "/articles/testing-redux/",
        "/articles/is-cc-worth-it/",
        "/articles/new-frontiers-in-text-editing/",
        "/articles/the-intimacy-of-imperfect-technologies/",
        "/articles/the-distraction-addiction/",
        "/articles/the-void/",
        "/articles/factory-machines/",
        "/articles/colorful-geometry/",
        "/articles/grateful-for-technology/",
        "/articles/more-machines-more-reliability/",
        "/css/main.51317dd3ff05d3e195833b9b7e78e9dc8241c9c0177003faa58bf060f253cefef96f015b1645d8c4d7527830513db9b8a145859e815506209cc697e10f4f14b1.css",
        "/articles/nouns-as-verbs-verbs-as-nouns/",
        "/articles/reading-happiness/",
        "/articles/nps/",
        "/articles/star-trek-vs-babylon-5/",
        "/articles/the-7-stages-of-debugging/",
        "/articles/the-one-thing/",
        "/articles/need-to-remember/",
        "/articles/writing-on-a-tablet/",
        "/articles/pebbles-and-projects/",
        "/articles/do-you-have-an-rsi-prevention-plan/",
        "/articles/accessing-googles-restful-apis-from-google-apps-script/",
        "/articles/moving-to-chrome-os/",
        "/articles/remapping-arbitrary-keys-in-mac-os-x/",
        "/articles/rip-ebert/",
        "/articles/the-01x-developer/",
        "/articles/manifesto-for-my-channel/",
        "/articles/the-carriermessenger-wars/",
        "/articles/the-contours-of-my-attention/",
        "/articles/platos-cave-of-ai-agent-evals/",
        "/articles/review-the-computer-boys-take-over/",
        "/articles/technium/",
        "/articles/deskilling/",
        "/articles/a-programmers-thanksgiving/",
        "/articles/human-evals-are-outsourced-vibe-checks/",
        "/articles/the-difference-between-a-herd-and-a-crowd/",
        "/articles/stallmans-dystopia/",
        "/articles/coding-agents-are-outliers/",
        "/articles/automating-software-engineering/",
        "/articles/no/",
        "/articles/mindfulness-sells/",
        "/articles/tackling-tail-latency/",
        "/articles/portability-of-llm-prompts/",
        "/articles/a-spiritual-successor-to-emacs/",
        "/articles/a-rare-retrospective-on-a-decadelong-research-project/",
        "/articles/to-tool-or-not-to-tool/",
        "/articles/the-origins-of-silicon-valley/",
        "/articles/the-rise-of-fimperative-programming/",
        "/articles/automatically-edit-out-silence-dead-air-from-videos/",
        "/articles/when-compilers-were-the--ai--that-scared-programmers/",
        "/articles/shitty-legacy-maintenance/",
        "/articles/the-case-against-local-llms/",
        "/articles/blue-java/",
        "/articles/narrate-your-work/",
        "/articles/reproducing-papers/",
        "/articles/ai-programming-factory-work/",
        "/articles/themes-modern-work/",
        "/articles/the-laziness-of-synchronous-work/",
        "/articles/oop--fp/",
        "/articles/gpt-monologues/",
        "/articles/flash-crisis/",
        "/articles/parsing-andor/",
        "/articles/waiting-faster/",
        "/articles/management-models/",
        "/articles/spec-driven-vibe-coding/",
        "/articles/the-levels-of-emacs-proficiency/",
        "/articles/the-programming-language-consensus/",
        "/articles/why-you-should-subscribe-to-my-newsletter/",
        "/articles/carr-and-kelly/",
        "/articles/abolish-the-save-icon/",
        "/articles/metaphors-for-thinking-about-llms/",
        "https://www.googletagmanager.com/gtag/js?id=G-RS2LDDF762",
        "/articles/why-you-would-want-to-program-at-fifty-or-any-other-age/",
        "/articles/don-t-credit-ai/",
        "/articles/money-in-the-valley/",
        "/articles/an-ergonomic-keyboard-and-mouse-configuration/",
        "/articles/collecting-needles/",
        "/articles/iteration/",
        "/articles/heartbeats/",
        "/articles/what-i-work-on/",
        "/articles/the-lure-of-work/",
        "/articles/my-review-the-year-without-pants/",
        "/articles/how-to-write-a-twitter-bot-in-python/",
        "/articles/zero-knowledge/",
        "/articles/church-numerals-in-python/",
        "/articles/the-de-nerdification-of-programming/",
        "/articles/how-the-first-gulf-war-brought-modernity-to-india/",
        "/articles/stem-jobs/",
        "/articles/michael-crichton/",
        "/articles/the-programming-assemblyline/",
        "/articles/dotemacs-extract-interactively-change-font-size/",
        "/articles/turn-your-blog-into-an-online-magazine--a-blogmag/",
        "/articles/jonah-lehrer/",
        "/articles/unix-love-letter-to-agents/",
        "/articles/programming-with-llms--rant-1/",
        "/articles/what-changed-in-1991-in-india/",
        "/articles/the-internet-is-making-us-smarter-but-is-it-making-me-dumber/",
        "/articles/deep-shelling/",
        "/articles/emacs-as-a-login-shell/",
        "/articles/how-will-you-read-your-files-in-a-hundred-years/",
        "/articles/new-theme/",
        "/articles/team-science/",
        "/articles/garland-words/",
        "/articles/sharp-tools-dull-minds/",
        "/articles/why-technologists-want-to-secede/",
        "/articles/taylorism-in-the-modern-tech-industry/",
        "/articles/checking-into-internet-rehab--and-sneaking-out/",
        "/articles/upsight/",
        "/articles/gabriel-vs-brooks/",
        "/articles/the-shy-scientist/",
        "/articles/writing-and-happiness/",
        "/articles/advice-to-prospective-grad-students/",
        "/articles/prompt-llms-for-code--not-arithmetic/",
        "/articles/minimalism-is-not-a-viable-intellectual-strategy/",
        "/articles/handdrawn-maps/",
        "/articles/how-i-do-email/",
        "https://youtube.com/c/VivekHaldar",
        "/articles/treesaverbased-copy-of-this-blog/",
        "/articles/rangers/",
        "/articles/the-organic-digital/",
        "/articles/long-form-on-the-web/",
        "/articles/to-jump-or-not-to-jump/",
        "/articles/computation-in-the-wild/",
        "/articles/moocs-will-eat-academia/",
        "/articles/ai-coding---from-tactics-to-strategy/",
        "/articles/operations-should-be-in-the-computer-science-curriculum/",
        "/articles/englsh-wtht-vwls/",
        "/articles/the-nostalgia-trap/",
        "/articles/tshirts-are-currency/",
        "/articles/scaling-communication-email-vs-shared-documents/",
        "/articles/coding-blind/",
        "/articles/hardware-acquisition-hacks/",
        "/articles/the-perils-of-being-a-knowledge-worker/",
        "/articles/what-is-life-like-for-phds-in-computer-science-who-go-into-industry/",
        "/articles/more-on-and-or/",
        "/articles/the-need-for-easter-eggs/",
        "/articles/computer-science-phd-trends/",
        "/articles/personal-trainers-for-software/",
        "/articles/what-can-kanye-and-u2-teach-you-about-teamwork/",
        "/articles/the-three-abstractions-that-make-ai-agents-real/",
        "/articles/lazypost--programming-in-the-age-of-gpt-and-copilot/",
        "/articles/how-things-grow/",
        "/articles/media-meta-argument/",
        "/articles/large-computer-systems-are-organic/",
        "/articles/c14/",
        "/articles/how-i-read-now/",
        "/articles/text-input-the-next-frontier/",
        "/articles/my-favorite-chrome-extensions/",
        "/articles/the-1964-origins-of-responsive-design/",
        "/articles/writing-is-building--but-software-is-now-content/",
        "/articles/bug-finding-and-static-analysis-in-the-real-world/",
        "/",
        "/articles/rational-equivalence/",
        "/articles/code-review-just-do-it/",
        "/articles/connecting-my-blog-to-buzz/",
        "/articles/some-advice-on-internships/",
        "/articles/asynchronous-learning-is-more-inclusive/",
        "/articles/subject-object-verb--or---how-we-use-ai/",
        "/articles/posting-to-tumblr-from-emacs/",
        "/articles/productivity-isnt/",
        "/articles/llms-are-compilers/",
        "/articles/how-i-use-ai--late-2024-/",
        "/articles/the-automatic-corporation/",
        "/articles/themes-the-economics-of-programming/",
        "/articles/we-are-all-remote-workers/",
        "/articles/recent-updates-to-old-posts/",
        "/articles/confessions-of-an-ai-hype-bro/",
        "/articles/engineering-culture-and-tools/",
        "/articles/balance/",
        "/articles/jumping-to-analysis/",
        "/articles/emacs-in-the-age-of-ai/",
        "/articles/teaching-as-performance/",
        "/articles/the-perils-of-closed-worlds/",
        "/articles/listening-to-your-reading/",
        "/articles/lurking-smalltalk/",
        "/articles/on-vagueness/",
        "/articles/end-user-abstraction/",
        "/articles/english-words-lifted-from-hindi/",
        "https://www.linkedin.com/in/vivek-haldar-25261b3a/",
        "/articles/google-apps-script--spreadsheets--mashup-hub/",
        "/articles/executable-thought/",
        "/articles/fixing-auth-for-personal-ai-agents/",
        "/articles/mcpblox-transform-compose-mcp-servers-unix-pipes/",
        "/articles/treating-algorithms-fairly/",
        "/articles/the-cognitive-style-of-unix/",
        "/articles/is-there-a-stem-worker-shortage/",
        "/articles/so-good-they-cant-ignore-you-review/",
        "/articles/the-best-minds-of-my-generation-are-thinking-about-how-to-make-people-click-ads/",
        "/articles/how-unix-won/",
        "/articles/how-to-debate/",
        "/articles/taylorist-science/",
        "/articles/read-cognify-write/",
        "/articles/coaching-and-review/",
        "/articles/presentism/",
        "/articles/guru-moment/"
      ],
      "httpBodyMetaTags": {},
      "httpBodyByteSize": 66445,
      "httpBodyPageTitle": "Vivek Haldar"
    },
    "/articles/airspace/": {
      "date": "2026-02-07T19:38:28Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "205.196.210.242",
      "ipASN": "New Dream Network, LLC",
      "ipCountry": "United States",
      "httpHeaderHash": "RBM2XAQAQBXGLMJ7D4T722EOG33IE5ZP",
      "httpHeaderTechnologies": [
        "Apache HTTP Server"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 420,
      "httpBodyHash": "36KILT6XNL4HJQSIUBKFRT6ZDYRYGWRH",
      "httpBodyTechnologies": [
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "/",
        "https://www.googletagmanager.com/gtag/js?id=G-RS2LDDF762",
        "http://www.theverge.com/2016/8/3/12325104/airbnb-aesthetic-global-minimalism-startup-gentrification",
        "/css/main.51317dd3ff05d3e195833b9b7e78e9dc8241c9c0177003faa58bf060f253cefef96f015b1645d8c4d7527830513db9b8a145859e815506209cc697e10f4f14b1.css"
      ],
      "httpBodyMetaTags": {
        "description": "Some scattered thoughts after reading about  the airspace aesthetic.\n\n  We could call this strange geography created by technology “AirSpace.” It’s the realm of coffee shops, bars, startup offices, and co-live / work spaces that share the same hallmarks everywhere you go: a profusion of symbols of comfort and quality, at least to a certain connoisseurial mindset. Minimalist furniture. Craft beer and avocado toast. Reclaimed wood. Industrial lighting. Cortados. Fast internet. The homogeneity of these spaces means that traveling between them is frictionless"
      },
      "httpBodyByteSize": 5171,
      "httpBodyPageTitle": "Airspace"
    },
    "/articles/showing-it/": {
      "date": "2026-02-07T19:42:29Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "205.196.210.242",
      "ipASN": "New Dream Network, LLC",
      "ipCountry": "United States",
      "httpHeaderHash": "YPQ65O5B3NAYPIH6IXRSYQ5JW3AQHVE4",
      "httpHeaderTechnologies": [
        "Apache HTTP Server"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 419,
      "httpBodyHash": "JWP4GRWSHTJWQ56SH4UCENNM3A4VFXFI",
      "httpBodyTechnologies": [
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "https://www.googletagmanager.com/gtag/js?id=G-RS2LDDF762",
        "http://www.nybooks.com/articles/archives/2010/nov/25/generation-why/?pagination=false",
        "/css/main.51317dd3ff05d3e195833b9b7e78e9dc8241c9c0177003faa58bf060f253cefef96f015b1645d8c4d7527830513db9b8a145859e815506209cc697e10f4f14b1.css",
        "/"
      ],
      "httpBodyMetaTags": {
        "description": "Or is it possible he just loves programming? No doubt the filmmakers considered this option, but you can see their dilemma: how to convey the pleasure of programming—if such a pleasure exists—in a way that is both cinematic and comprehensible? Movies are notoriously bad at showing the pleasures and rigors of art-making, even when the medium is familiar.\n\n(From Zadie Smith’s essay, Generation Why)\nThis is a problem that programmers often face. How exactly can they convey the sheer awesomeness of the stuff they create? Painters can point to their paintings. Mechanical engineers can point to shiny metallic objects. What can programmers show? Pages of incomprehensible code?"
      },
      "httpBodyByteSize": 3112,
      "httpBodyPageTitle": "Showing it"
    },
    "/articles/the-7-stages-of-debugging/": {
      "date": "2026-02-07T20:25:33Z",
      "httpProtocol": "h2, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "205.196.210.242",
      "ipASN": "New Dream Network, LLC",
      "ipCountry": "United States",
      "httpHeaderHash": "3JML6PMUGR4OMPY6GWHXU7PASKG4SFXC",
      "httpHeaderTechnologies": [
        "Apache HTTP Server"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 419,
      "httpBodyHash": "QYCIHBWVEHXVM2EY2LYKRTHZOCAAPKLD",
      "httpBodyTechnologies": [
        "Google Analytics"
      ],
      "httpBodyUrls": [
        "http://www.recover-from-grief.com/7-stages-of-grief.html",
        "https://www.googletagmanager.com/gtag/js?id=G-RS2LDDF762",
        "/css/main.51317dd3ff05d3e195833b9b7e78e9dc8241c9c0177003faa58bf060f253cefef96f015b1645d8c4d7527830513db9b8a145859e815506209cc697e10f4f14b1.css",
        "/"
      ],
      "httpBodyMetaTags": {
        "description": "(with my deepest apologies to the 7 stages of grief.)\n\nShock \u0026 Denial:\nBut… but… how can this happen? I have unit-tests! And they even pass!! Besides, look at the code, it’s obvously correct. Really, this shouldn’t be happening. Can you even reproduce this?\nPain \u0026 Guilt:\nOMG. The other guy just gave me a reliable reproduction. My code sucks! I’m a worthless moron! How many other bugs are lurking in the code I shipped? I should just quit programming and go into sales."
      },
      "httpBodyByteSize": 3584,
      "httpBodyPageTitle": "The 7 stages of debugging"
    }
  }
}