HNHacker News
TopNewBestAskShowJobs

grepular

13,526 karma · joined December 29, 2009

  ```

  -----BEGIN PGP SIGNED MESSAGE-----
  Hash: SHA512
  
  Last Updated: 2026-Oct-13
    
  Director Engineering @ https://redsift.com/
    
  Blog:     https://www.grepular.com/blog/
  Code:     https://gitlab.com/grepular
  Docker:   https://hub.docker.com/u/grepular
  LinkedIn: https://www.linkedin.com/in/mikecardwell
    
  Email:    mike.cardwell([-at-])grepular.com
  Matrix:   @grepular:matrix.org
  Mastodon: @grepular@mastodon.social
  BlueSky:  https://bsky.app/profile/grepular.com
    
  Websites:
    - https://www.emailprivacytester.com
    - https://www.parsemail.org
    
  Public PGP Key: https://www.grepular.com/1801A332.txt
    
  Tips:
    
    Paypal:  https://www.paypal.me/grepular
    Bitcoin: bitcoin:1PQLtWnjUi1itHLG6QCQeHM3Nxua8pRsq1
    BMAC:    https://buymeacoffee.com/grepular
  -----BEGIN PGP SIGNATURE-----
  
  iQEzBAEBCgAdFiEEWazVMy7edA17fJTj0V47FkDmu60FAmrOdgcACgkQ0V47FkDm
  u60ffgf/Sudg+PI+a3J/UHwJl8DwfD7ioFWSsH936K56YjAeXwgUtgao7o4jfXZs
  XjXOgeOFcMzZ3mCcOjbkX8NA+n/wXer8D3Sa/VnIgL7Nb4tF7zVcv1IC/Igl0You
  FrX9n9/gvps/7e6+ZQqgxO6l3SgRViRuSNKAaf0JtcNnoKC/qPXMYkIDIBrC+OsF
  E6RZQW0Yb8ibj6qr14CpRkYIC/bOY/sosp5sohUHuXkRmaID2iY+lc8O5MLBlJaP
  71UU4Um0/OzJuWl6YDwZByi/e6JR0QkEE+eVMtkz8ZfEI9HzabQTqoVY//w95xQp
  +aTA3Tp+n4YpRvgBUYzJphwuRvvVBg==
  =3FnZ
  -----END PGP SIGNATURE-----


  ```
submissionscomments
grepular··on I love email (2023)
I've had a few emails, and a few contacts over Matrix over the years. Barely any though. My email and matrix id are both on my front page at https://www.grepular.com. I recently added a "Like" button at various places throughout the site, front page, end of articles etc, so a click, followed by typing an optional message and another click is all it would take. I've been wondering if people ignore it due to assuming it is somehow connected to social media.
grepular··on You can use newline characters in URLs
This looks like a good way to trip up crappily built bots
grepular··on Enable CORS for Your Blog
I have done this. I also relaxed my Cross-Origin-Embedder-Policy header - https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...
grepular··on Claude Code Remote Control
Same here on my iPhone. I didn't previously log it into my github account as I don't use github anymore, I use gitlab. So it wont find anything useful there. You actually only need to do this in order to be able to access the list of sessions. Even if you don't log into github, remote-control still works if you copy across the link that the cli tool outputs for you and just visit that on your phone. That's a bit of a pain though of course.
grepular··on Amazon's Ring and Google's Nest reveal the severity of U.S. surveillance state
What's nice about AtomicMail.io? I just tested it with https://www.emailprivacytester.com and it leaked my IP and when I read the email. And I can't even find an option to turn off remote content loading, which has been a standard feature of email and webmail clients for privacy reasons for decades, and should be turned to off by default.
grepular··on Show HN: MephistoMail – A RAM-only, tracker-free disposable email client
I get "Minified React error #300; visit https://reactjs.org/docs/error-decoder.html?invariant=300 for the full message or use the non-minified dev environment for full errors and additional helpful warnings." when trying to view emails from https://www.emailprivacytester.com
grepular··on Roundcube Webmail: SVG feImage bypasses image blocking to track email opens
I have added a test for this to https://www.emailprivacytester.com
grepular··on When internal hostnames are leaked to the clown
Only way I can think of protecting against this is to put a reverse proxy in front of it, like Nginx, and inject CSP headers to prevent cross site requests. Wouldn't block the NAS server side from making external calls, but would prevent your browser doing it for them as is the case here. Also would prevent stuff like Google Analytics if they have it. If you set up a proxy, you could also give it a local hostname like nas.local or something with a cert signed by your private CA that Nginx knows about, and then point the real hostname at Nginx, which has the wildcard cert.

Bit of a pain to set this all up though. I run a number of services on my home network and I always stick Nginx in front with a restrictive CSP policy, and then open that policy up as needed. For example, I'm running Home Assistant, and I have the Steam plugin, which I assume is responsible for requests from my browser like for: https://avatars.steamstatic.com/HASH_medium.jpg, which are being blocked by my injected CSP policy

P.S. I might decide to let that steam request through so I can see avatars in the UI. I also inject "Referrer-Policy: no-referrer", so if I do decide to do that, at least they wont see my HA hostname in there logs by default.

grepular··on Migrate Wizard – IMAP Based Email Migration Tool
I remember about 20 years ago writing a relatively simple tool in perl with IMAP::Client to migrate a Universities staff mail from Courier (I think) to Communigate Pro, and then another one to migrate from Communigate Pro to Microsoft Exchange a few years later.

I was at the beginning of my career. It was pretty easy. Went almost flawlessly, moving thousands of peoples email.

Where is the "painful" part? It's just moving blobs of text around.

grepular··on Anthropic is Down
Just a healthy reminder that places outside of the USA exist.
grepular··on That's not how email works
Apple's system doesn't work. At least not for everyone. https://www.grepular.com/Apples_Protect_Mail_Activity_Doesnt...
grepular··on That's not how email works
You might want to read https://www.grepular.com/Apples_Protect_Mail_Activity_Doesnt...
grepular··on Using proxies to hide secrets from Claude Code
> a secrets store that the model can "use" but never "read".

How would that work? If the AI can use it, it can read it. E.g:

    secret-store "foo" > file
    cat file
You'd have to be very specific about how the secret can be used in order for the AI to not be able to figure out what it is. You could provide a http proxy in the sandbox that injects a HTTP header to include the secret, when the secret is for accessing a website for example, and tell the AI to use that proxy. But you'd also have to scope down which URLs the proxy can access with that secret otherwise it could just visit a page like this to read back the headers that were sent:

https://www.whatismybrowser.com/detect/what-http-headers-is-...

Basically, for every "use" of a secret, you'd have to write a dedicated application which performs that task in a secure manner. It's not just the case of adding a special secret store.

grepular··on Ask HN: Share your personal website
https://www.grepular.com
grepular··on Ask HN: What are you working on? (January 2026)
The main work is doing a water change, which I think I'll have to do every couple of weeks going forwards, but we'll see. I had to do it more often at the start whilst the tank was cycling. Takes me about 40 minutes. I also have to trim the plants every so often. Oh, and feed them of course. It doesn't feel like a lot of work or a chore to me atm.
grepular··on Ask HN: What are you working on? (January 2026)
If your first fish tank is just going to be something small with a goldfish or two in it, I'm not sure how you go about doing that as I've not done that before. Maybe you just fill the tank from the tap and chuck the fish in? I decided to go for a large planted heated freshwater tank with interesting fish and shrimps and snails, so I had to be careful to monitor the water and find out what species could co-exist, what pH and temp they like, etc. It took 6 weeks before I could put anything in it safely, so one tip would be to patient. Another would be, go and speak to the people in the pet shop / aquatics center about what you're doing as they can tell you everything you need to know. I got most of my advice from ChatGPT, but double checked it with the kind people at the aquatics center as I was setting things up.
grepular··on Ask HN: What are you working on? (January 2026)
I bought a 300 litre aquarium about 6 weeks ago for the living room. Added soil, plants and water. Have spent the last 6 weeks watching plants grow, and snails that smuggled in on plants, multiply. I over fertilised it and left the light on accidentally for a couple of days whilst I was away and experienced an algae bloom, which was interesting. Added some cardinal tetras and amano shrimp yesterday and have spent a lot of time just watching them potter around. Has been a nice change from looking at a screen.
grepular··on Rivian Unveils Custom Silicon, R2 Lidar Roadmap, and Universal Hands Free
> You're suggesting that the only alternative to autonomous self-driving cars is public transit?

No. But hopefully one day. I don't mind if you want to subsidise my choice or not. I want self driving tech to get to the point that it is safer than manually driven cars, and I then want people who want to still drive manually to be slowly priced off the roads and then outright banned from doing it.

My preference is that you stop being allowed to drive manually, and as far as I can see, that's the future, as long as the technology works out.

grepular··on Rivian Unveils Custom Silicon, R2 Lidar Roadmap, and Universal Hands Free
Yeah. The tech isn't there yet. The question I was responding to was "Why do people what self driving cars at all". I responded why I want a self driving car.
grepular··on Rivian Unveils Custom Silicon, R2 Lidar Roadmap, and Universal Hands Free
> I don't want to pay for your fantasy of going to sleep in your car and waking up someplace new

So vote with your wallet. And take a bus.

grepular··on Rivian Unveils Custom Silicon, R2 Lidar Roadmap, and Universal Hands Free
Not even close
grepular··on Rivian Unveils Custom Silicon, R2 Lidar Roadmap, and Universal Hands Free
I'd love to get in my car and go to sleep for a couple of hours or read a book whilst it drives me somewhere. Imagine if it could even pull over and charge up without any kind of intervention too. You could get in your car, and get a full nights sleep whilst it drive you somewhere 500 miles away.

Also, at some point, I'm probably going to be too old to drive safely, which will restrict my travels. Not if self driving gets to the point where that doesn't matter anymore.

grepular··on The fuck off contact page
My domain registrar has their email address and phone number in the very header of their page. It's a breath of fresh air. https://gkg.net/
grepular··on Ask HN: Why so many sites block traffic from Russia?
For anyone else that wants to block traffic from Russia, here's how to do it with nginx: https://www.grepular.com/Blocking_Russian_IPs
grepular··on Yt-dlp: External JavaScript runtime now required for full YouTube support
This works for me:

    FROM python:3-slim
    RUN python3 -m pip --no-cache-dir install 'yt-dlp[default]'
    RUN apt-get update \
     && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -q -y ffmpeg curl unzip \
     && curl -fsSL https://deno.land/install.sh -o /tmp/deno.sh \
     && sh /tmp/deno.sh -y \
     && mv /root/.deno/bin/deno /usr/local/bin/ \
     && rm --force --recursive /var/lib/apt/lists/* /tmp/* /var/tmp/*
    ENTRYPOINT ["yt-dlp"]
grepular··on Cloudflare tells U.S. govt that foreign site blocking efforts are trade barriers
How does the US government, force a Russian website, hosted in Russia, for Russian people, following Russian laws, to shut down?
grepular··on Docker Systems Status: Full Service Disruption
Our images are in a private docker registry on quay.io
grepular··on Docker Systems Status: Full Service Disruption
Thanks. I will keep an eye on your project as it looks great and something we would definitely benefit from.

P.S. Your blog could do with an rss feed ;). I will track https://github.com/spegel-org/spegel/releases.atom for now

grepular··on Docker Systems Status: Full Service Disruption
This looks good, but we're using GKE and it looks like it only works there with some hacks. Is there a timeline to make it work with GKE properly?
grepular··on M5 MacBook Pro
I've been forced to use Macbooks for development at work for the past 7 years. I still strongly prefer my personal Thinkpad running Debian for development in my personal life. So don't just put it down to lack of familiarity.
← PreviousPage 2 of 34Next →