{"slug": "using-typing-in-python-leads-to-different-sorts-of-code", "title": "Using typing in Python leads to different sorts of code", "summary": "A blog and wiki site operator is blocking high-volume crawlers using old browser user agents, particularly Chrome versions, due to a surge in data collection for LLM training as of early 2025. The blocks are causing feed readers like Inoreader and Feedly to display error pages instead of syndicated content, while archive.today and similar services are also blocked due to their indistinguishable crawling behavior. Users of Vivaldi browser may need to adjust User Agent Brand Masking settings to avoid being misidentified as Chrome.", "body_md": "You're probably reading this page because you've attempted to access\nsome part of [my blog (Wandering Thoughts)](../space/blog/) or\n[CSpace](../space/), the wiki thing it's part of. Unfortunately\nyou're using a browser version that my anti-crawler precautions consider\nsuspicious, most often because it's too old (most often this applies to\nversions of Chrome). Unfortunately, as of early 2025 there's a plague\nof high volume crawlers (apparently in part to gather data for LLM\ntraining) that use a variety of old browser user agents, especially\nChrome user agents. To reduce the load on\n[Wandering Thoughts](../space/blog/) I'm experimenting with\n(attempting to) block all of them, and you've run into this.\n\nIf this is in error and you're using a current version of your\nbrowser of choice, you can contact me at [my current place at the\nuniversity](https://www.cs.toronto.edu/~cks/) (you should be able to work out the email address\nfrom that). If possible, please let me know what browser you're\nusing and so on, ideally with its exact User-Agent string.\n\nI am not blocking Inoreader's feed fetcher or considering it to be\ntoo old, and it routinely fetches feeds from me. I don't know why\nInoreader is showing you this page. It is possible that they're\nperiodically trying to fetch feeds or pages with an old browser\nHTTP User-Agent (or an actual old browser) and taking the results\nof that fetch (this page) as what they should show people instead\nof the results of their syndication feed fetcher agents. This is a\nbad mistake today; [the results\nof modern HTTP fetches depend partly on the HTTP User-Agent used](/~cks/space/blog/web/HTTPResultsAndUserAgents).\n\nMuch like Inoreader, Feedly is periodically fetching my syndication\nfeeds with a fake, old browser HTTP User-Agent header, which fails,\nand is then grimly latching on to the results for their actual feed\nfetching with their regular Feedly HTTP User-Agent. There is nothing\nI can do about this; you should contact Feedly support, if you can\nfind them. See [this\ncomment of mine in Wandering Thoughts](https://utcc.utoronto.ca/~cks/space/blog/web/FeedReaderErrorsProblem?showcomments#cks-20260215115901) for more details.\n\nDue to an ongoing attack, you may need to change\n[the\n\"User Agent Brand Masking\" setting](https://help.vivaldi.com/desktop/miscellaneous/user-agent-brand-masking/) so that your Vivaldi identifies\nitself as Vivaldi, instead of Google Chrome. This applies to even\nthe current version of Vivaldi.\n\nYou may be seeing this through archive.today, archive.ph, archive.is,\nand so on. Unfortunately, archive.* crawls pages to archive in a way that\nis impossible to distinguish from malicious actors. They use old Chrome\nUser-Agent values, crawl from IP address blocks that are widely distributed\nand not clearly identified as theirs, and some of their IP addresses have\nfalsified reverse DNS entries that claim they are googlebot IP addresses\n(which is something that is normally done only by quite bad actors). I\nsuggest that you use archive.org, which is a better behaved archival\ncrawler and can crawl [my blog (Wandering Thoughts)](../space/blog/).", "url": "https://wpnews.pro/news/using-typing-in-python-leads-to-different-sorts-of-code", "canonical_source": "https://utcc.utoronto.ca/~cks/space/blog/python/TypeHintsDifferentCode", "published_at": "2026-05-28 08:01:59+00:00", "updated_at": "2026-05-28 08:28:14.872568+00:00", "lang": "en", "topics": ["large-language-models", "artificial-intelligence"], "entities": ["Wandering Thoughts", "CSpace", "Chrome", "Inoreader", "University of Toronto"], "alternates": {"html": "https://wpnews.pro/news/using-typing-in-python-leads-to-different-sorts-of-code", "markdown": "https://wpnews.pro/news/using-typing-in-python-leads-to-different-sorts-of-code.md", "text": "https://wpnews.pro/news/using-typing-in-python-leads-to-different-sorts-of-code.txt", "jsonld": "https://wpnews.pro/news/using-typing-in-python-leads-to-different-sorts-of-code.jsonld"}}