<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: tmarice</title><link>https://news.ycombinator.com/user?id=tmarice</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 07 May 2026 15:34:37 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tmarice" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tmarice in "Native Instant Space Switching on macOS"]]></title><description><![CDATA[
<p>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.<p>I'm using Aerospace at the moment, and it gets pretty close, but still isn't as nice as i3.</p>
]]></description><pubDate>Fri, 10 Apr 2026 09:25:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47715532</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47715532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47715532</guid></item><item><title><![CDATA[New comment by tmarice in "Show HN: Home Maker: Declare Your Dev Tools in a Makefile"]]></title><description><![CDATA[
<p>I’ve been using devenv.sh for the last year for this, and never been happier.</p>
]]></description><pubDate>Fri, 03 Apr 2026 06:16:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47623723</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47623723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47623723</guid></item><item><title><![CDATA[New comment by tmarice in "Subscription bombing and how to mitigate it"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Thu, 02 Apr 2026 13:06:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47613948</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47613948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47613948</guid></item><item><title><![CDATA[New comment by tmarice in "Claude Code's source code has been leaked via a map file in their NPM registry"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Tue, 31 Mar 2026 14:25:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47587864</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47587864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587864</guid></item><item><title><![CDATA[New comment by tmarice in "Ripgrep is faster than grep, ag, git grep, ucg, pt, sift (2016)"]]></title><description><![CDATA[
<p>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.<p>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.</p>
]]></description><pubDate>Tue, 24 Mar 2026 11:33:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47501162</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47501162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47501162</guid></item><item><title><![CDATA[Asyncio is neither fast nor slow]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.changs.co.uk/asyncio-is-neither-fast-nor-slow.html">https://blog.changs.co.uk/asyncio-is-neither-fast-nor-slow.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47500509">https://news.ycombinator.com/item?id=47500509</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 24 Mar 2026 10:03:36 +0000</pubDate><link>https://blog.changs.co.uk/asyncio-is-neither-fast-nor-slow.html</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47500509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500509</guid></item><item><title><![CDATA[Reinventing Python's AsyncIO]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.baro.dev/p/reinventing-pythons-asyncio">https://blog.baro.dev/p/reinventing-pythons-asyncio</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47441352">https://news.ycombinator.com/item?id=47441352</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 19 Mar 2026 15:42:48 +0000</pubDate><link>https://blog.baro.dev/p/reinventing-pythons-asyncio</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47441352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47441352</guid></item><item><title><![CDATA[New comment by tmarice in "Ask HN: Who wants to be hired? (March 2026)"]]></title><description><![CDATA[
<p>Location: Zagreb, Croatia (UTC + 1)<p>Remote: Yes, Remote Only (EU/US overlap)<p>Willing to relocate: No<p>Technologies: Python, Django, Celery, PostgreSQL, SQL, Linux, Docker, React, FastAPI<p>Résumé/CV: <a href="https://tmarice.dev/tomislav_maricevic_cv.pdf" rel="nofollow">https://tmarice.dev/tomislav_maricevic_cv.pdf</a><p>LinkedIn: <a href="https://linkedin.com/in/tomislav-maricevic" rel="nofollow">https://linkedin.com/in/tomislav-maricevic</a><p>Github: <a href="https://github.com/tmarice" rel="nofollow">https://github.com/tmarice</a><p>Email: hn@tmarice.dev<p>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.<p>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.</p>
]]></description><pubDate>Thu, 05 Mar 2026 15:23:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47262635</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47262635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47262635</guid></item><item><title><![CDATA[New comment by tmarice in "Show HN: Deff – Side-by-side Git diff review in your terminal"]]></title><description><![CDATA[
<p>Nice, I did not know about this!<p>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.</p>
]]></description><pubDate>Fri, 27 Feb 2026 09:18:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47178442</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=47178442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47178442</guid></item><item><title><![CDATA[New comment by tmarice in "Some notes on starting to use Django"]]></title><description><![CDATA[
<p>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:<p>* <a href="https://github.com/tbicr/django-pg-zero-downtime-migrations" rel="nofollow">https://github.com/tbicr/django-pg-zero-downtime-migrations</a><p>* <a href="https://docs.gitlab.com/development/migration_style_guide/" rel="nofollow">https://docs.gitlab.com/development/migration_style_guide/</a><p>* <a href="https://pankrat.github.io/2015/django-migrations-without-downtimes/" rel="nofollow">https://pankrat.github.io/2015/django-migrations-without-dow...</a><p>* <a href="https://www.caktusgroup.com/blog/2021/05/25/django-migrations-and-deployment/" rel="nofollow">https://www.caktusgroup.com/blog/2021/05/25/django-migration...</a><p>* <a href="https://openedx.atlassian.net/wiki/spaces/AC/pages/23003228/Everything+About+Database+Migrations" rel="nofollow">https://openedx.atlassian.net/wiki/spaces/AC/pages/23003228/...</a><p>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.<p>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.</p>
]]></description><pubDate>Wed, 28 Jan 2026 15:11:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46796358</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46796358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46796358</guid></item><item><title><![CDATA[New comment by tmarice in "Some notes on starting to use Django"]]></title><description><![CDATA[
<p>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.<p>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.<p>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.</p>
]]></description><pubDate>Wed, 28 Jan 2026 11:45:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46794118</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46794118</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46794118</guid></item><item><title><![CDATA[New comment by tmarice in "Things I've learned in my 10 years as an engineering manager"]]></title><description><![CDATA[
<p>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?<p>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?<p>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.</p>
]]></description><pubDate>Mon, 26 Jan 2026 12:55:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46765067</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46765067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46765067</guid></item><item><title><![CDATA[New comment by tmarice in "Proton spam and the AI consent problem"]]></title><description><![CDATA[
<p>On their Masked Email feature page <a href="https://www.fastmail.com/features/masked-email/" rel="nofollow">https://www.fastmail.com/features/masked-email/</a><p>> Companies have no way of linking different Masked Email addresses together to track you.<p>I have received the Fastmail support response, and since they do not consider this a vulnerability, I'll post it here:<p>- You have a Masked Email<p>- You have set up forwarding from your Fastmail account to another email service<p>- The other email service rejects the mail for some reason<p>- The bounce message goes back to the original sender, and may include the email addresses along the chain after the Masked Email address.<p>I'm assuming the bounce message contains the X-Resolved-To header mentioned in the other HN thread linked above.</p>
]]></description><pubDate>Sun, 25 Jan 2026 10:04:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46752528</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46752528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46752528</guid></item><item><title><![CDATA[New comment by tmarice in "Proton spam and the AI consent problem"]]></title><description><![CDATA[
<p>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.</p>
]]></description><pubDate>Sat, 24 Jan 2026 17:02:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46745249</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46745249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46745249</guid></item><item><title><![CDATA[New comment by tmarice in "Proton spam and the AI consent problem"]]></title><description><![CDATA[
<p>One concrete vulnerability is mentioned in a linked thread and described here <a href="https://news.ycombinator.com/item?id=37791500">https://news.ycombinator.com/item?id=37791500</a><p>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.</p>
]]></description><pubDate>Sat, 24 Jan 2026 16:03:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46744706</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46744706</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46744706</guid></item><item><title><![CDATA[New comment by tmarice in "Proton spam and the AI consent problem"]]></title><description><![CDATA[
<p>Do elaborate.</p>
]]></description><pubDate>Sat, 24 Jan 2026 12:50:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46743124</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46743124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46743124</guid></item><item><title><![CDATA[New comment by tmarice in "Proton spam and the AI consent problem"]]></title><description><![CDATA[
<p>I've been using Fastmail for years now, and I'm completely satisfied. Custom domain + built-in masked email functionality works great.</p>
]]></description><pubDate>Fri, 23 Jan 2026 09:14:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46730282</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46730282</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46730282</guid></item><item><title><![CDATA[New comment by tmarice in "Django: what’s new in 6.0"]]></title><description><![CDATA[
<p>Celery is the worst background task framework, except for all the others.<p>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.</p>
]]></description><pubDate>Wed, 10 Dec 2025 10:31:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46216187</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=46216187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46216187</guid></item><item><title><![CDATA[New comment by tmarice in "What the hell have you built"]]></title><description><![CDATA[
<p>Very relatable to a recent interview experience I had with a popular freelance platform for the backend developer position.<p>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.<p>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.</p>
]]></description><pubDate>Fri, 07 Nov 2025 09:09:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45844756</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=45844756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45844756</guid></item><item><title><![CDATA[New comment by tmarice in "Show HN: Django Keel – 10 Years of Django Best Practices in One Template"]]></title><description><![CDATA[
<p>Looks great, looking forward to trying it.<p>Interesting that you included Temporal for background task processing — did you ever use it in production in a Django project instead of Celery?</p>
]]></description><pubDate>Tue, 21 Oct 2025 19:18:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45660347</link><dc:creator>tmarice</dc:creator><comments>https://news.ycombinator.com/item?id=45660347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45660347</guid></item></channel></rss>