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. 1
    <Blink> and <Marquee> (2020)
    5 people · 235 points · first shared 2020 · 183 comments on HN
  2. 2
  3. 3
    XPath Scraping with FreshRSS
    4 people · 79 points · first shared 2023 · 14 comments on HN
  4. 4
    That's Not How Email Works, HSBC
    2 people · 54 points · first shared 2026 · 16 comments on HN
  5. 5
    The Page with No Code
    2 people · 10 points · first shared 2023 · 3 comments on HN
  6. 6
    Subverting AI Agent Logging with a Git Post-Commit Hook
    2 people · 3 points · first shared 2026 · discussion on HN
  7. 7
    Google shared my phone number
    1 people · 471 points · first shared 2025 · 175 comments on HN
  8. 8
    The Elegance of the ASCII Table
    1 people · 285 points · first shared 2024 · 187 comments on HN
  9. 9
    The Difference Between Downloading and Streaming
    1 people · 160 points · first shared 2025 · 85 comments on HN
  10. 10
    I Hate (Most) Keyboard 'Fn' Keys
    1 people · 70 points · first shared 2026 · 41 comments on HN
  11. 11
    I Learned the Pythagorean Theorem
    1 people · 21 points · first shared 2025 · 7 comments on HN
  12. 12
    We Need to Talk About Botsplaining
    1 people · 5 points · first shared 2025 · discussion on HN
  13. 13
    Converting ISO Country Codes to Flag Emojis
    1 people · 3 points · first shared 2026 · discussion on HN
  14. 14
    Breakups vs. Layoffs
    1 people · 3 points · first shared 2025 · discussion on HN
  15. 15
    I guess I'm never paying DreamHost back
    1 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/
1una · 2025-05-26
There is one in your CV: https://danq.me/cv

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close