Dan Q
danq.me · Personal blog · on HN since 2019
Dan Q, a UK-based web developer, writes about web technology, RSS, email, scraping, privacy, and personal tech experiences.
What HN saysHN commenters link it in RSS discussions and debate its HSBC email post, where the author argues fetching unsecured content is an attack vector.
35HN people shared it
14linked it in comments
33stories submitted
1.4Kstory points
4 months agolast shared
2019people per year2026
Most-shared posts
- 1<Blink> and <Marquee> (2020)5 people · 235 points · first shared 2020 · 183 comments on HN
- 2Your 'App' Could Have Been a Webpage (so I fixed it for you)5 people · 10 points · first shared 2026 · 1 comments on HN
- 3XPath Scraping with FreshRSS4 people · 79 points · first shared 2023 · 14 comments on HN
- 4That's Not How Email Works, HSBC2 people · 54 points · first shared 2026 · 16 comments on HN
- 5The Page with No Code2 people · 10 points · first shared 2023 · 3 comments on HN
- 6Subverting AI Agent Logging with a Git Post-Commit Hook2 people · 3 points · first shared 2026 · discussion on HN
- 7Google shared my phone number1 people · 471 points · first shared 2025 · 175 comments on HN
- 8The Elegance of the ASCII Table1 people · 285 points · first shared 2024 · 187 comments on HN
- 9The Difference Between Downloading and Streaming1 people · 160 points · first shared 2025 · 85 comments on HN
- 10I Hate (Most) Keyboard 'Fn' Keys1 people · 70 points · first shared 2026 · 41 comments on HN
- 11I Learned the Pythagorean Theorem1 people · 21 points · first shared 2025 · 7 comments on HN
- 12We Need to Talk About Botsplaining1 people · 5 points · first shared 2025 · discussion on HN
- 13Converting ISO Country Codes to Flag Emojis1 people · 3 points · first shared 2026 · discussion on HN
- 14Breakups vs. Layoffs1 people · 3 points · first shared 2025 · discussion on HN
- 15I guess I'm never paying DreamHost back1 people · 3 points · first shared 2025 · 1 comments on HN
What HN people wrote when they linked it
jayelbe · 2025-09-08
Websites usually link to their RSS feed using a <link> attribute in the head of the page.
Browsers used to detect this and show an RSS icon near the address bar if the website you were viewing had a feed - and you could click the icon to see more details and subscribe.
I use this Firefox addon which replicates that functionality: https://addons.mozilla.org/en-GB/firefox/addon/feed-preview/
FreshRSS is a good self-hosted RSS feed reader, and you can configure it to scrape non-RSS webpages for updates too: https://danq.me/2022/09/27/freshrss-xpath/
chowells · 2026-01-28
The article addresses this, actually. Fetching any unsecured content is an attack vector. https://danq.me/2026/01/28/hsbc-dont-understand-email/#footnote-27343-…
1over137 · 2026-01-28
"Republican"?! US defaultism strikes again. He's in the UK, and he states his pronouns here https://danq.me/about/ so doesn't sound very "Republican" to me.
Dan-Q · 2025-05-27
Often I'm lazy and just black out revealing information, like I did in my blog post about how British Gas can't understand my name (https://danq.me/it-is-only-q).
But sometimes I've done the same thing in other places and gone further, sometimes concealing "fun" messages. In my post about Halifax putting the wrong names on a letter to me (https://danq.me/halifax-dun-goofed), I changed my address to a message along the lines of "what, you think I'd put my actual address here, like it's my first day on the Internet" and then blurred that.
Incidentally, I think that one was the first times that anybody contacted me to say that they'd noticed the unblurrability of my images, but I've been using this approach for years!
theshrike79 · 2025-03-06
RSS still exists, it's just hidden. Like you can just add any Youtube channel page to an RSS reader and get a feed for it - instead of visiting youtube's algorithm-generated front page.
I just a month ago started moving all my feeds to a self-hosted FreshRSS installation. It lets me create feeds from pages without RSS using XPath[0] or CSS selectors to pick the elements.
I also did a handful of Go applications that generate and/or modify existing feeds to be actually usable instead of just the title. I run those from cron daily and add the generated feeds to FreshRSS
And with FreshRSS I can filter out the "XXX (YC xx) is hiring" posts from HN feeds automatically :)
[0] https://danq.me/2022/09/27/freshrss-xpath/
jackcviers3 · 2024-03-25
Browsers have been grown, not designed. The competitive pressures exuded on browsers to render ill-specified things and hacks has resulted in something essentially where what it does is what it does. That's the case with a lot of software,because we made the choice as a community of programmers to not formally verify the things that we build. Thunk of the origin of the blink tag [1]. We decided to be hackers, and doers, not thinkers.
Just as testing changes the way you structure your software, designing via formal methods changes the code that you produce as well, and it will attract a different set of people than traditional software dev, just as architecture attracts a different set of people than carpentry.
1. https://danq.me/2020/11/11/blink-and-marquee/#:~:text=Invention%20of%2…
drivers99 · 2024-01-25
> Have you ever shoved a <blink> into a <marquee> tag?
If you did, it would blink on Netscape, and it would be a marquee in IE, but not both (in the 90s!). Netscape had blink and IE had marquee and did not support the other[1][2], at least in the 90s.
[1] blink: "some, such as Internet Explorer, never supported the element at all" https://en.wikipedia.org/wiki/Blink_element
[2] marquee: "the first time I tried Netscape 7, in 2002. Netscape 7 and its close descendent (sic) are, as far as I can tell, the only web browsers to support both <blink> and <marquee>." https://danq.me/2020/11/11/blink-and-marquee/
ulrischa · 2023-08-19
Read last week, that freshrss has a new scraping feature:
https://danq.me/2022/09/27/freshrss-xpath/
Hamuko · 2023-07-15
FreshRSS has XPath scraping.
https://danq.me/2022/09/27/freshrss-xpath/
andrewmackrodt · 2023-01-21
For non firefox users wanting to manually render the page, grab the base64 output from the link response header, e.g.
- open developer tools, navigate to network and refresh
- or run from a terminal "curl -s --head 'https://danq.me/wp-content/no-code-webpage/' | sed -nE 's/.*base64,([^>]+)>.*/\1/p'"
- replace the base64 into the below code:
document.head.innerHTML='<style>'+decodeURIComponent(atob('Ym9...9IA').split('').map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)).join(''))+'</style>'
- paste the above string into the developer tools console and press return
dmit · 2019-12-26
In a similar vein: Cheating Hangman, once described as "an app that perfectly recreates the infuriating feeling of playing hangman with your older sibling who was definitely cheating and also knew way more words than you". https://cheatman.danq.me/
Implementation details: https://danq.me/2019/09/26/cheatman/
lsinger · 2019-10-08
Some more information on how Automattic hires:
- https://automattic.com/work-with-us/how-we-hire-developers/
- https://www.andyserong.com/2019/07/25/switching-jobs-and-applying-for-…
- https://danq.me/2019/08/30/automattic-00/
1una · 2025-05-26
There is one in your CV: https://danq.me/cv
mensetmanusman · 2025-05-01