News for hackers. Stuff that matters.

tmarice

I recently found out there is a limit to the number of masked emails you can have on Fastmail (1000, iirc -- definitely not infinite for practical purposes). Also, I miss the option of being able to create masked emails on all the domains I connected to Fastmail -- you can only use the "main" one.
Excellent! I enjoy your blog, and just bought a copy, looking forward to reading it.
After vibing myself into a corner multiple times on important projects, I now have only two modes: clankermaxx for code I don't really care about (mostly frontend react), and write by hand everything else. Using Django for backend already removes the most of the cruft, and writing by hand also means I actually understand what's going on. Works fine for now.

I'm still on the fence for tests: I don't really like to write them, but the LLM-generated tests are pretty bad, even the frontier models on xhigh thinking. I usually generate them, but I don't really have the confidence they test anything except 1==1. Unfortunately it's hard to justify the time spent on writing them manually.

Re:Built Dental Scope on Wednesday September 30, 2026 @08:11AM (#49907748)
You built nothing.

You pointed your clanker of choice to a dataset (or more realistically, asked it to find an appropriate dataset), and told it to build a interactive 3d model. You learned nothing from this project because no mental effort was spent beyond listing out features for your clanker, and some manual testing.

Re:Coding Is Not Solved on Monday September 28, 2026 @10:39AM (#49878743)
I mean, was typing out code by hand really that bad?

If you were a professional software developer, you a) learned to touch type, b) started using vim/emacs keybindings to navigate around the project, and c) used a framework which already abstracted away a large part of the menial work.

And going all-in on the loop and no-code-review nonsense in a project someone is actually paying you for, I can only assume means you're hoping not to be around when the slop tower collapses.

Large majority of ACs sold in the EU are air-to-air heat pumps.
Re:Native Instant Space Switching on macOS on Friday April 10, 2026 @05:25AM (#47715532)
I had a similar stance on this until I went through macOS -> linux with i3 -> back to macOS transition. i3 window and workspace operations on a maxed-out Dell XPS were truly instantaneous, and after moving back to macOS, there is no way to unsee the slugishness of the native window operations.

I'm using Aerospace at the moment, and it gets pretty close, but still isn't as nice as i3.

I’ve been using devenv.sh for the last year for this, and never been happier.
Re:Your sign-up form is a weapon on Thursday April 02, 2026 @09:06AM (#47613948)
I don't really understand the captcha hate, it's table stakes for any public-facing form. You need to pick a point on the "Ease of signup" vs. "Security" curve, and email signup + captcha seems to be the sweet spot.

I haven't seen any proof that the big ones (Google, CF) can be easily and automatically bypassed, and would love to learn more if someone has evidence to the contrary.

A couple of years ago I had to evaluate A/B test and feature flag providers, and even then when they were a young company fresh out of YC, GrowthBook stood out. Bayesian methods, bring your own storage, and self-hosting instead of "Contact us for pricing" made them the go-to choice. I'm glad they're doing well.
Yeah, that Cursor blog post is a bit iffy since they just brush over the "ripgrep is slow on large monorepos", move on to techniques they used, and then completely ignore the fact that you have to build and maintain the index.

On a mid-size codebase, I fzf- and rg-ed through the code almost instantly, while watching my coworker's computer slow down to a crawl when Pycharm started reindexing the project.

Re:Ask HN: Who wants to be hired? (March 2026) on Thursday March 05, 2026 @10:23AM (#47262635)
Location: Zagreb, Croatia (UTC + 1)

Remote: Yes, Remote Only (EU/US overlap)

Willing to relocate: No

Technologies: Python, Django, Celery, PostgreSQL, SQL, Linux, Docker, React, FastAPI

Résumé/CV: https://tmarice.dev/tomislav_maricevic_cv.pdf

LinkedIn: https://linkedin.com/in/tomislav-maricevic

Github: https://github.com/tmarice

Email: [email protected]

Product engineer with 10 years of experience. I love Python and Django (8 years and counting), have worked extensively with Celery and Postgres, have some React/Typescript experience, as well as some exposure to Docker, GitHub Actions and MLOps workflows.

I am comfortable owning products end to end: backend architecture, data models, async workflows, monitoring, and collaborating with business, product, and ops teams. Interested in roles that value ownership and strong engineering fundamentals.

Nice, I did not know about this!

I feel Kitty doesn't get enough love, it's all ghostty this, ghostty that, but Kitty has been my top performing terminal emulator for 10 years now.

Re:Notes on Starting to Use Django on Wednesday January 28, 2026 @10:11AM (#46796358)
This is not specific to Django, but to any project using a database. Here's a list of a couple quite useful resources I used when we had to address this:

* https://github.com/tbicr/django-pg-zero-downtime-migrations

* https://docs.gitlab.com/development/migration_style_guide/

* https://pankrat.github.io/2015/django-migrations-without-dow...

* https://www.caktusgroup.com/blog/2021/05/25/django-migration...

* https://openedx.atlassian.net/wiki/spaces/AC/pages/23003228/...

Generally it's also advisable to set a statement timeout for migrations otherwise you can end up with unintended downtime -- ALTER TABLE operations very often require ACCESS EXCLUSIVE lock, and if you're migrating a table that already has an e.g. very long SELECT operation from a background task on it, all other SELECTs will queue up behind the migration and cause request timeouts.

There are some cases you can work around this limitation by manually composing operations that require less strict locks, but in our case, it was much simpler to just make sure all Celery workers were stopped during migrations.

Re:Notes on Starting to Use Django on Wednesday January 28, 2026 @06:45AM (#46794118)
After working with Django for 8 years, I find it hard to move on to anything else. It's just the right amount of magic, and just the right amount of flexibility, and it's just such a joy to work with.

Re: Django is OK for simple CRUD, but falls apart on anything complex - this is just untrue. I have worked in a company with a $500M valuation that is backed by a Django monolith. Reporting, recommender systems, file ingestion pipelines, automatic file tagging with LLM agents -- everything lives inside Django apps and interconnects beautifully. Just because it's a Django app doesn't mean you cannot use other libraries and do other stuff besides basic HTTP request processing.

Recently I had the misfortune of doing a contract on a classic SPA project with Flask and sqlalchemy on the backend and React on the frontend, and the amount of code necessary to add a couple of fields to a form is boggling.

This kind of EM-focused articles often mention "coaching" and "career growth" -- I always wonder what does this concretely mean. Are they all managing teams of juniors straight out of college?

What can a career EM, or even an engineer-to-EM convert who has been out of the coding game for more than a few years, teach a non-junior engineer on their team?

I understand we can talk and exchange our concrete life experiences, same as I would talk to and listen to any other person, but the word "coaching" implies one party is superior to the other in one very concrete area.

Re:Proton Spam and the AI Consent Problem on Sunday January 25, 2026 @05:04AM (#46752528)
On their Masked Email feature page https://www.fastmail.com/features/masked-email/

> Companies have no way of linking different Masked Email addresses together to track you.

I have received the Fastmail support response, and since they do not consider this a vulnerability, I'll post it here:

- You have a Masked Email

- You have set up forwarding from your Fastmail account to another email service

- The other email service rejects the mail for some reason

- The bounce message goes back to the original sender, and may include the email addresses along the chain after the Masked Email address.

I'm assuming the bounce message contains the X-Resolved-To header mentioned in the other HN thread linked above.

Re:Proton Spam and the AI Consent Problem on Saturday January 24, 2026 @12:02PM (#46745249)
Well they still claim it is impossible to connect different masked emails together. If you as a sender can reliably determine the target email address, then that claim is untrue as well.
Re:Proton Spam and the AI Consent Problem on Saturday January 24, 2026 @11:03AM (#46744706)
One concrete vulnerability is mentioned in a linked thread and described here https://news.ycombinator.com/item?id=37791500

I have created a ticket with the Fastmail support asking them more details about the vulnerability you mention in your thread, I’m curious to see their response.

Re:Proton Spam and the AI Consent Problem on Saturday January 24, 2026 @07:50AM (#46743124)
Do elaborate.
Re:Proton Spam and the AI Consent Problem on Friday January 23, 2026 @04:14AM (#46730282)
I've been using Fastmail for years now, and I'm completely satisfied. Custom domain + built-in masked email functionality works great.
Re:Django: What's new in 6.0 – Adam Johnson on Wednesday December 10, 2025 @05:31AM (#46216187)
Celery is the worst background task framework, except for all the others.

There are bugs and issues, but because so many people are using it, you’re rarely the first to stumble upon a problem. We processed double-digit millions of messages daily with Celery + RabbitMQ without major obstacles. Regardless of what people say, it should be your first go-to.

Re:What the hell have you built on Friday November 07, 2025 @04:09AM (#45844756)
Very relatable to a recent interview experience I had with a popular freelance platform for the backend developer position.

I never worked at a FAANG-ish company, and in the course of my 10-year career I spent most of my efforts on stopping the organizations from building the wrong thing in the first place, not on "making things scaleable" from the get-go. My view is that if you have product-market fit, you can throw money on the problem for a very, very long time and do just fine, so everyone in the org should focus on achieving PMF as soon as possible.

The question of "How would you scale a Django service to 10M requests per day" came up, and my answer to just scale components vertically and purchase stronger servers obviously was not satisfactory.

Looks great, looking forward to trying it.

Interesting that you included Temporal for background task processing — did you ever use it in production in a Django project instead of Celery?

Show HN: Fast Masked Mail Creator – Chrome Extension for Fastmail Masked Emails

https://chromewebstore.google.com/detail/fast-masked-mail-creator/jgnkjcmgagjaabogldbabgbcncakpdbb

Hi HN, I'm heavy user of Fastmail's masked email feature, but since I don't use 1Password or Bitwarden, I find it cumbersome to create masked mails by going to the Fastmail settings page every time I need one.To streamline this process, I developed a tiny Chrome extension that allows you to create a new masked email through the context menu with just one click, and autofill the email form...

( Read More... | no comments | on HN )

Older »