Magic links are not great but they are the right choice sometimes

LLM disclaimer: this post was written based on a discussion with claude and drafted by claude. I have edited it heavily but if you’re allergic to LLM’s feel free to skip it. The setup: we’re have a policy compliance system that employees use roughly once per year to check boxes confirming they’ve read our updated policies. The right solution is to integrate this with our existing SSO solution that has proper anomaly detection, brute force protection, and phishing-resistant auth and so on.

Continue reading →

Thank you for blaugust

This is the real end-of-blaugust post. I really enjoyed taking part, even if my partaking was very isolated. Now towards the end, I decided to check blog of this years blaugust host and… why the heck did I not do that earlier. Instead of trying to force out some micro blogs, I could taken inspiration from the massive amount of material available there. As none of my posts are ready to be posted, I’ll take the opportunity to wrap it up with the suggested “Lessons Learned” topics from the blaugust calendar.

Continue reading →

Blaugust near the end thoughts

Second to last day This was going to be the launch of the new version of hasmypasswordbeenstolen.net, but my high standard got to me. It will be out soon-ish but not yet. As for blaugust, it has been great. Although one blog per day is clearly too much for me. It has still been a great encouragement to get a few old ones out, and some new ones also. I will try to keep up the posting, but without a specific deadline to hit (midnight) there is a high risk that I just go back to perfecting things forever.

Continue reading →

More mailinator thoughts

Continuing the trend of praising mailinator, turns out one of the reasons feature creep did not get to it, was that it was or maybe is still “just” a side project, this interview with the creator has a bunch of interesting details. The interview is a few years old by now, but still interesting. nathanlatkathetop.libsyn.com/703-the-a… Also this presentation from a few years later is also interesting, also old. Things have probably changed since then.

Continue reading →

Setting up your own mailinator domain

Mailinator is one of those great forever services which I seriously hope will never disappear, it has saved me from so much “newsletters” and other things I don’t want in my mailbox. Sadly it for some reason people think it’s a good idea to block it sometimes. Which makes absolutely no sense to me. I mean, I am clearly indicating that I do not want email from you. If you force me to give my own email, and send me emails (which we know you will) I will put them into spam.

Continue reading →

Reviewing the charities annual reports

This is a follow up to [this](blog.nyman.re/2025/08/2… and this. So we’re continuing the quest to figure if it’s realistic for a normal person in the tech industry to do a life-saving donation. Let’s look closer at the charities listed last time by reading their yearly reports. Medeor’s report for 2024 Overall a very good report. Very transparent. From this we can read that they have received, around 34 million in funding.

Continue reading →

Dishonest game developers

Note This is a very old blog draft, all the way from 2019 when you could still download Fortnite on your iPad (which you can again but it’s a bit harder and you need to live in EU). But the point still stands I need to publish something. Enjoy, or not :-) I recently tried Fortnite for the first time, thinking I would check out what the fuzz was about. So I install it on the iPad and get started.

Continue reading →

box-art.css

Today we’re onto something lighter again. A box-art/nfo-style css, in as part of experimenting with a new look for this blog. This is harder than it looks to do in CSS, but I enjoyed the challenge. This is also something the LLM’s failed quite hard, but at least claude wrote me a simple javascript page where I could tweak the parameters until it worked. Also.. I just found this, it’s just beautiful int10h.

Continue reading →

Finding a charity where you can see the impact

This is a follow up to the previous one where we defined the question. Read that first Can I make a direct life saving impact to someone, where my action, with a high degree of probability, leads to the survival of someone who might otherwise not have survived. If the action is a donation, and the answer is Yes, and I have the means. Then I want to do it.

Continue reading →

What can YOU do?

The world is a big place. Really big. There are a lot of people in it. And because there are so many people, it means there are a lot of people who, at this moment needs help. So what can you do? A lot. That’s a too wide question. Let’s narrow it down to a very specific question. Can you save the life of someone in need? Again, yes, there are lots of ways you could, but also a lot of ways which won’t work.

Continue reading →

vibecoding feels very productive, but often I’ve noticed it’s just a feeling, I actually know better than the LLM what the problem is, and could fix it faster, but for some reason I get stuck prompting it again and again

not sure why

Hopefully the psychology departments are looking at this

My favourite podcasts

Security Podcasts I Enjoy In special order, roughly in the order of which I remembered them which says something about how much I listen to them. Risky Business - the main feed, compact and respects my time. I haven’t missed in on a long time. They have expanded and have other great podcasts now, including a news bulletin. I listen to those sometimes. Three Buddy Problem - Quite new podcast, entertaining listen but the opposite of Risky Biz when it comes to being compact.

Continue reading →

A simple devcontainer for your agent with eyes (browser and screenshot capabilities)

These instructions have been tested on a M1 MacBook with podman, your mileage may vary. Note that running playwright/chrome as root might be dangerous so don’t use this for scraping or untrusted content unless you know what you’re doing. Actually, never feed untrusted content into your LLM and always sandbox it as much as possible. Otherwise you will sooner or later be a sad panda. Instruction Put this into .devcontainer/devcontainer.json

Continue reading →

You cannot hide on the internet

At least not on the IPv4 network, but I would not trust the IPv6 network either, and you have not been able to for a long time. If you open a port to the whole world, it will get probed. If it’s a popular port like 443 or a sensitive one like 9200, it will get scanned really-fast. Same goes if you announce it by creating a TLS certificate with a ACME service like Let’s Encrypt.

Continue reading →

LUKS on NVMe: From 40 GiB/s to 4, Then Back to 20 GiB/s

Note: This testing described in this post was done over a year ago. It might be that things changed since then. At work, we recently upgraded our PostgreSQL servers. This time, however, we encountered an unexpected roadblock when attempting to enable full disk encryption (FDE) with LUKS - our standard deployment. In past benchmarks, enabling LUKS full-disk encryption cost us ~10%. This time, it left us with only 10% of our throughput - a 90% drop.

Continue reading →

Internet is big but we humans are not ready for it

I thought it was crazy to think about all the 8.2 billion people. A even crazier thought is how many internet users there are, who in theory can talk to anyone else. From an information point of view it’s just a amazing amount of informationand potential available. Of course, not everyone has something to say to every other user. But the fact that people who are interested in a subject can “easily” talk to so many likeminded people should allow for humanity to develop at a never-before seen pace.

Continue reading →

There are a lot of people on this planet.

Our brains are not designed for numbers that big.

I put together a little art project about how many people there are.

nyman.re/everyone-…

Makes you feel small doesn’t it?

And still you can make a difference. Magical

Claude Code > Gemini Code > Codex

Based solely on my gut feeling after having played with each one of them on some toy projects.

One pet peeve I had with Codex was that it did not want to finish things, when asked to move stuff, if it thought it was too much it just left at the end of the file.

Gemini Pro worked fine the little I tried it but I dislike on principle because it’s not possible to deactivate the history when it’s part of the Google Suite/Workspace/Apps. I’m actually not sure if that affects Gemini Code.

Claude Code seems to be a good balance.

At some point I will try to compare by giving them the same instructions on the same project and see what actually happens.

Putting your crypto you didn't know about to good use

Do you have an old Keybase account? Or do you know someone who has? If not, you can stop reading now. If you have, and you weren’t into the crypto stuff back in the days you probably have around 500 EUR / 600 USD lying around there in magic internet money. With the world on fire, those money is not doing any good locked into some internet wallet. So I’d recommend getting them out of there and spend them on either yourself, someone you care about, or something good like charity.

Continue reading →

The one time my gabriel+website@mydomain paid off.

I have for a long time been using the + format to create “unique” emails for companies. Nowadays I’ve levelled that up with using <word>@rnd.mydomain which is a wildcard for the domain. I’ll write a blog about why it’s better and how to do it sometime. Either way, this is a repost of an old twitter thread. Back in 2020, I was been repeatedly called by a bitcoin/CFD company who refused to accept a “I’m not interested”.

Continue reading →