<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: mmerickel</title><link>https://news.ycombinator.com/user?id=mmerickel</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 30 Aug 2026 12:34:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mmerickel" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mmerickel in "Migrating to HTTPX2"]]></title><description><![CDATA[
<p>This level of entitlement is the reason that FOSS has a maintenance / support epidemic. Maintainers don't owe you anything. They put the work in, not you.</p>
]]></description><pubDate>Fri, 28 Aug 2026 21:16:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49484339</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=49484339</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49484339</guid></item><item><title><![CDATA[New comment by mmerickel in "Unifi Travel Router"]]></title><description><![CDATA[
<p>Connect on your phone or other device. Connect to travel router. Clone the mac address of your device. Connect router to wifi. Adjust device to not auto login. Good to go.</p>
]]></description><pubDate>Wed, 24 Dec 2025 03:59:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46372293</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=46372293</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46372293</guid></item><item><title><![CDATA[New comment by mmerickel in "Vendors that treat single sign-on as a luxury feature"]]></title><description><![CDATA[
<p>This is just flat-out untrue, OIDC or SAML plus SCIM should be the default for any enterprise-focused service provider or "you're doing it wrong". You can offer your own IDP as the default, but all of the problems that need to be solved to allow your customers to configure their own IDP are important to the design/architecture of your service and the only reason these providers are treating it as special is because they didn't build the integration between their service and their IDP correctly the first time. Provisioning and authentication are critical to security and you're actively harming your customers if you require them to use your own IDP solution in order to use your service.</p>
]]></description><pubDate>Tue, 19 Aug 2025 20:12:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=44955784</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=44955784</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44955784</guid></item><item><title><![CDATA[New comment by mmerickel in "CGNAT frustrates all IP address-based technologies (2019)"]]></title><description><![CDATA[
<p>It's really fun when your ISP starts using CG-NAT as a security feature in marketing. You ask them for a static IP and they have you sign an agreement that you won't be getting the BENEFITS of their CUSTOMER FIREWALL. Yeah ok, so if that's the language around this then we're just screwed aren't we? And you also can't tell me when you're planning to support IPv6 of course.</p>
]]></description><pubDate>Wed, 05 Mar 2025 22:05:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43273290</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=43273290</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43273290</guid></item><item><title><![CDATA[New comment by mmerickel in "Postgres UUIDv7 and per-back end monotonicity"]]></title><description><![CDATA[
<p>Remember even if timestamps may be generated using a monotonically increasing value that does not mean they were committed in the same order to the database. It is an entirely separate problem if you are trying to actually determine what rows are "new" versus "previously seen" for things like cursor-based APIs and background job processing. This problem exists even with things like a serial/autoincrement primary key.</p>
]]></description><pubDate>Thu, 02 Jan 2025 18:02:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=42576848</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=42576848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42576848</guid></item><item><title><![CDATA[New comment by mmerickel in "Using SQLite as storage for web server static content"]]></title><description><![CDATA[
<p>I'm a huge proponent of using SQLite as an abstraction over a filesystem. One warning I will note though, is be aware that a SQLite database does not shrink unless you vacuum it (basically copies the data into a separate file and deletes the original). This is a manual operation you have to do at points where it makes sense within your application. So be careful with disk usage when just writing binary data and then deleting it.</p>
]]></description><pubDate>Mon, 28 Oct 2024 05:25:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41968073</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=41968073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41968073</guid></item><item><title><![CDATA[New comment by mmerickel in "SQLAlchemy 2.0 Released"]]></title><description><![CDATA[
<p>SQLAlchemy and your efforts are so amazing and appreciated. Thank you and the team for all of your hard work on 2.0 as well as the heroic effort that was put into 1.4 as a stepping stone for existing codebases!</p>
]]></description><pubDate>Fri, 27 Jan 2023 03:38:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=34542166</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=34542166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34542166</guid></item><item><title><![CDATA[New comment by mmerickel in "Coinbase is rescinding already-accepted job offers"]]></title><description><![CDATA[
<p>To be fair they are quite up front when you stake Ethereum that you cannot withdraw it before the network itself supports it... Hope they re-activate your account though!</p>
]]></description><pubDate>Sat, 04 Jun 2022 20:18:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=31624640</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=31624640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31624640</guid></item><item><title><![CDATA[New comment by mmerickel in "KDE Connect Now Available on iOS"]]></title><description><![CDATA[
<p>That's for using macOS input devices to control iPadOS. I was interested in using something on my phone to control my mac. From what I can tell "Switch Control" is probably it, but it looks pretty tricky to setup so far!</p>
]]></description><pubDate>Sun, 15 May 2022 08:19:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=31386112</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=31386112</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31386112</guid></item><item><title><![CDATA[New comment by mmerickel in "KDE Connect Now Available on iOS"]]></title><description><![CDATA[
<p>Is there anything like this on iOS for controlling macOS?</p>
]]></description><pubDate>Sun, 15 May 2022 08:10:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=31386074</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=31386074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31386074</guid></item><item><title><![CDATA[New comment by mmerickel in "AppleScript (2006) [pdf]"]]></title><description><![CDATA[
<p>I have plenty of shortcuts that work on iOS but don't work on macOS. It's fun when you use siri on the mac and it tells you it can't do something halfway through.</p>
]]></description><pubDate>Thu, 03 Mar 2022 19:31:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=30545606</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=30545606</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30545606</guid></item><item><title><![CDATA[New comment by mmerickel in "My smart home 2021: A Home Assistant love story"]]></title><description><![CDATA[
<p>The promise of thread versus reality I feel will be a big problem - I'd love to be wrong though. I'm on the outside of things (haven't used thread, only read about it... use zigbee a lot though). But the way I understand it is that once you join a device to a particular bridge you will still need to use that bridge's ecosystem to communicate - even though the device has its own IP address. For example, when a thread device joins to homekit and establishes an encrypted handshake, it's not like I'll be able to use that device's IP address to talk to it. It's not going to trust me - only homekit. But at least it'll be able to talk to any homekit bridge on the network and avoid a SPOF if I unplug one of my homepod minis.</p>
]]></description><pubDate>Thu, 17 Feb 2022 17:52:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=30376268</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=30376268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30376268</guid></item><item><title><![CDATA[New comment by mmerickel in "AWS federation comes to GitHub Actions"]]></title><description><![CDATA[
<p>There's an open issue to try to enable it - Gitlab issues a unique JWT to every pipeline but it's not directly consumable by AWS right now so you'd have to write an intermediate service that could convert the gitlab token into an AWS session: <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/216259#note_444463320" rel="nofollow">https://gitlab.com/gitlab-org/gitlab/-/issues/216259#note_44...</a></p>
]]></description><pubDate>Wed, 15 Sep 2021 14:25:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=28539428</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=28539428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28539428</guid></item><item><title><![CDATA[New comment by mmerickel in "Reloadr – Hot code reloading tool for Python"]]></title><description><![CDATA[
<p>My project, hupper [1], isn't hot reloading but it's worth mentioning in this thread alongside other code reloaders. It is a general purpose tool to monitor python code and reload the process when code changes. You can use it with any script that you're working on via `hupper -m foo` and your `foo.py` is then reloaded/re-executed everytime you change it. It's used under the hood in other tools to implement things like `pserve --reload` in Pyramid and is used in Warehouse (the codebase for PyPI) to ease development workflows.<p>It's an improvement on some previous attempts at the solution that would crash when reloading invalid code. Hupper does not have this problem due to its multi process design.<p>[1] <a href="https://docs.pylonsproject.org/projects/hupper/en/latest/" rel="nofollow">https://docs.pylonsproject.org/projects/hupper/en/latest/</a></p>
]]></description><pubDate>Fri, 05 Feb 2021 18:12:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=26039366</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=26039366</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26039366</guid></item><item><title><![CDATA[New comment by mmerickel in "React is becoming a black box"]]></title><description><![CDATA[
<p>Quite a few of these packages have undergone significant backward-incompatible changes over the years and are intertwined with specific version ranges of other packages. The churn complaints are caused by the cadence of this happening and how difficult it is to stay on a combination of stuff that actually works together. Babel may have been released in 2015 but nothing written back then would work in babel today. Same with webpack. I can't write something and then come back in a year and expect even an ounce of stability in my project. It's good that things keep improving but it's also exhausting having so much time spent performing upgrades and re-learning best practices in tools you were previously comfortable with.</p>
]]></description><pubDate>Thu, 03 Sep 2020 18:46:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=24367318</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=24367318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24367318</guid></item><item><title><![CDATA[New comment by mmerickel in "Recoil – A state management library for React"]]></title><description><![CDATA[
<p>It seems like something could be written around useRecoilCallback() to watch/get the current value of an atom outside of a React component. Does that sound right?</p>
]]></description><pubDate>Thu, 14 May 2020 18:58:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=23183816</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=23183816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23183816</guid></item><item><title><![CDATA[New comment by mmerickel in "Recoil – A state management library for React"]]></title><description><![CDATA[
<p>Is there any support for changing multiple atoms at once / batch? This is where reducers shine to me - dispatching a single action from the ui in redux that multiple reducers can listen to and use to update their state.<p>Also is there any support for getting the values of atoms outside of a hook? For example from an async action that is not coupled to the render loop which also wants to know the current value.</p>
]]></description><pubDate>Thu, 14 May 2020 18:25:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=23183355</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=23183355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23183355</guid></item><item><title><![CDATA[New comment by mmerickel in "Deprecating password authentication in GitHub API"]]></title><description><![CDATA[
<p>The distinction is whether the resource is owned by another tenant or not. Often a user can view a resource but aren't allowed to edit it, at which point 403 is correct. However if it's something owned by another tenant entirely, and is not public, then a 404 is correct.</p>
]]></description><pubDate>Sun, 12 Apr 2020 18:38:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=22850157</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=22850157</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22850157</guid></item><item><title><![CDATA[New comment by mmerickel in "Setup.cfg – a solution to python config file soup?"]]></title><description><![CDATA[
<p>Yep, until we eventually move everything into `pyproject.toml` which is explicitly documented to support `[tool.foo]` config namespaces.<p><a href="https://www.python.org/dev/peps/pep-0518/" rel="nofollow">https://www.python.org/dev/peps/pep-0518/</a></p>
]]></description><pubDate>Thu, 28 Sep 2017 06:52:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=15355215</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=15355215</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15355215</guid></item><item><title><![CDATA[New comment by mmerickel in "Use pew, not virtualenvwrapper, for Python virtualenvs"]]></title><description><![CDATA[
<p>I'll take a chance to plug `vrun` <a href="https://pypi.org/project/vrun/" rel="nofollow">https://pypi.org/project/vrun/</a> here as well which is a very lightweight wrapper around activate that only applies to the current command. You can use it to start a subshell if you wish.<p>The fundamental problem is that virtualenv scripts are not actually bound to their actual virtualenv. If you forget to activate and a script shells out in a subprocess to execute another script it will not find the version installed into the virtualenv. This should be fixed upstream but so far it doesn't look like it is.<p><pre><code>    $ python3 -m venv env
    $ env/bin/pip install vrun
    $ env/bin/pip install foo # assume foo depends on bar and tries to start bar via subprocess
    $ env/bin/foo # fails because bar is not on the path
    $ env/bin/vrun foo  # works
</code></pre>
`foo` is now executed in a process in which the virtualenv is fully activated and will find appropriate dependencies on the path if it tries to run a subprocess, etc.</p>
]]></description><pubDate>Fri, 08 Sep 2017 20:05:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=15203498</link><dc:creator>mmerickel</dc:creator><comments>https://news.ycombinator.com/item?id=15203498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15203498</guid></item></channel></rss>