<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: donjoe</title><link>https://news.ycombinator.com/user?id=donjoe</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 01 Jul 2026 01:59:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=donjoe" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by donjoe in "European digital ID wallets rely on safety services of Google and Apple"]]></title><description><![CDATA[
<p>It's great you do have a bank-bound system in Finland.
I hope their implementation is not as bad as e.g. the Swedish BankID.<p>BankID is _in theory_ a nice technology. However, it is only handed out to people registered with the Swedish tax authorities holding a Swedish bank account.<p>All daily activities are nowadays bound to BankID: need a doctor's appointment? -> needs BankID; Want to buy something on Blocket? -> needs BankID.<p>As an European frequently spending some time in Sweden not in possession of a Swedish tax #, I feel very much excluded from online and partially offline activities in this country.</p>
]]></description><pubDate>Tue, 30 Jun 2026 14:08:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48732958</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=48732958</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48732958</guid></item><item><title><![CDATA[Den stora Älgvandringen – The great moose migration (live)]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.svtplay.se/video/jXv3A5G/den-stora-algvandringen/idag-00-00">https://www.svtplay.se/video/jXv3A5G/den-stora-algvandringen/idag-00-00</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47893516">https://news.ycombinator.com/item?id=47893516</a></p>
<p>Points: 95</p>
<p># Comments: 12</p>
]]></description><pubDate>Fri, 24 Apr 2026 17:45:52 +0000</pubDate><link>https://www.svtplay.se/video/jXv3A5G/den-stora-algvandringen/idag-00-00</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=47893516</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47893516</guid></item><item><title><![CDATA[New comment by donjoe in "Hacking Washing Machines [video]"]]></title><description><![CDATA[
<p>The video brought me back to my internship in the early 2010s.
My job was testing the new US ovens (which for us Europeans are massive).
The bus was amazing. Integrated into a LabView setup, you could basically collect any readings from the oven as well as remotely control it. Also, it was super easy to confirm "manual" actions (e.g. soleniods pushing buttons/motors turning knobs).<p>A few other interesting tasks I was involved back then were:<p>- smashing an oven's door until the hinges would give up
- testing new heating elements in the open (basically, building a gigantic grill)
- appliance transport packaging tests
- cooking and baking on a daily basis to make sure food turns out as expected<p>Overall, home appliances are a great product as an engineer to work on. It is a product you usually use multiple times a day. And if you love cooking yourself, even better :-)</p>
]]></description><pubDate>Tue, 30 Dec 2025 14:14:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46433495</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=46433495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46433495</guid></item><item><title><![CDATA[New comment by donjoe in "Exploring PostgreSQL 18's new UUIDv7 support"]]></title><description><![CDATA[
<p>To me, the most important question is: how do I scale v7 in an environment of 20+ engineers?<p>When using v7, I need some sort of audit that checks in every API contract for the usage of v7 and potential information leakage.<p>Detecting V7 uuids in the API contract would probably require me to enforce a special key name (uuidv7 & uuid for v4) for easier audit.<p>Engineers will get this wrong more than once - especially in a mixed team of Jr/sr.<p>Also, the API contracts will look a bit inconsistent: some resources will get addressed by v7, others by v4. On top, by using v4 on certain resources, I'd leak the information that those resources addressed by v4 will contain sensitive information.<p>By sticking to v4, I'd have the same identifier for all resources across the API. When needed, I can expose the creation timestamp in the response separately. Audit is much simpler since the fields state explicitly what they will contain.</p>
]]></description><pubDate>Sat, 18 Oct 2025 07:32:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45625602</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=45625602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45625602</guid></item><item><title><![CDATA[New comment by donjoe in "Munich from a Hamburger's perspective"]]></title><description><![CDATA[
<p>... If you live close by Theresienwiese, the city provides free cleaning for any accidents during Oktoberfest in your front/backyard also. I have to smile everytime I do find the note containing an emergency accident cleanup number in my mailbox :-)</p>
]]></description><pubDate>Wed, 18 Jun 2025 16:31:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=44311287</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=44311287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44311287</guid></item><item><title><![CDATA[New comment by donjoe in "Buttplug MCP"]]></title><description><![CDATA[
<p>Let's hope it's deepseek-compatible.</p>
]]></description><pubDate>Fri, 30 May 2025 11:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=44135230</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=44135230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44135230</guid></item><item><title><![CDATA[Bending Spoons Acquires Komoot]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.businesswire.com/news/home/20250320568940/en/Bending-Spoons-Acquires-komoot">https://www.businesswire.com/news/home/20250320568940/en/Bending-Spoons-Acquires-komoot</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43440122">https://news.ycombinator.com/item?id=43440122</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 21 Mar 2025 19:48:34 +0000</pubDate><link>https://www.businesswire.com/news/home/20250320568940/en/Bending-Spoons-Acquires-komoot</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=43440122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43440122</guid></item><item><title><![CDATA[New comment by donjoe in "Database mocks are not worth it"]]></title><description><![CDATA[
<p>testcontainers is great. I struggled a bit with testcontainers due to the nature of one container per test which just felt too slow for writing gray/blackbox tests. The startup time for postgres was > 10 seconds. After a bit of experimenting, I am now quite happy with my configuration which allows me to have a snappy, almost instant testing experience.<p>My current setup:<p>- generate a new psql testcontainer _or_ reuse an existing one by using a fixed name for the container
- connect to the psql container with no database selected
- create a new database using a random database name
- connect to the randomly generated database
- initialize the project's tables
- run a test
- drop the database
- keep the testcontainer up and running and reuse with next test<p>With this setup, most tests run sub-second;</p>
]]></description><pubDate>Mon, 30 Dec 2024 22:05:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42554050</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=42554050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42554050</guid></item><item><title><![CDATA[New comment by donjoe in "An Analysis of the Performance of WebSockets in Various Programming Languages (2021)"]]></title><description><![CDATA[
<p>Which is perfectly fine. However, you will be able to process only a single message per connection at once.<p>What you would do in go is:<p>- either a new goroutine per message<p>- or installing a worker pool with a predefined goroutine size accepting messages for processing</p>
]]></description><pubDate>Sat, 23 Nov 2024 07:19:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=42219633</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=42219633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42219633</guid></item><item><title><![CDATA[New comment by donjoe in "Data Fetching for Single-Page Apps"]]></title><description><![CDATA[
<p>UseMemo should not be used for fetching/kicking off a fetch either. UseMemo fans should be pure. Using logic that belongs into useEffect (logic that happens _outside_ the reactive flow) could potentially lead to other side effects which are very hard to debug. Just a example: a lot of fetch implementations are using fetch with a cache triggered in useMemo returning immediately. You will probably have a setState somewhere in the flow which will terribly interrupt react and break your page.<p>In case you trigger a native fetch, you've got no way to cancel the call due to the missing cleanup fn.</p>
]]></description><pubDate>Mon, 22 Jul 2024 19:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=41038479</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=41038479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41038479</guid></item><item><title><![CDATA[New comment by donjoe in "'The big problem is water': UK ebike owners plagued by failing motors"]]></title><description><![CDATA[
<p>Bikes are all about efficiency since you don't use any energy but your own. Things change a bit nowadays with e-bikes.<p>When it comes to efficiency, internal gear hubs sadly aren't yet in the range of a rear derailleur.<p><a href="https://fahrradzukunft.de/17/wirkungsgradmessungen-an-nabenschaltungen-2" rel="nofollow">https://fahrradzukunft.de/17/wirkungsgradmessungen-an-nabens...</a><p>A dirty rear derailleur of course also reduces the drive train's efficiency by a lot - which can be solved by cleaning the chain every other month.<p>When moving towards belt drives, you need a very stiff frame which can be opened/split in the back to fit the belt. These frames are more expensive to produce which will furthermore increase the overall bike's price.<p>Ideally, we all train our legs to be able to handle a single speed setup ;-)</p>
]]></description><pubDate>Sun, 16 Jun 2024 05:35:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40694915</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=40694915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40694915</guid></item><item><title><![CDATA[New comment by donjoe in "Towards Modern Development of Cloud Applications (2023)"]]></title><description><![CDATA[
<p>Discussed here: <a href="https://news.ycombinator.com/item?id=34986267">https://news.ycombinator.com/item?id=34986267</a></p>
]]></description><pubDate>Sun, 14 Jan 2024 13:01:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=38990030</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=38990030</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38990030</guid></item><item><title><![CDATA[New comment by donjoe in "Show HN: DataSheetGrid, an Airtable-like React component"]]></title><description><![CDATA[
<p>... besides the change towards hooks and the react dev team which does not seem to be clear about how to best use them.<p>The new beta docs just recently changed again removing old best practices concerning dependency arrays in useEffect hooks in favor of a new potential hook called useEffectEvent (which is still experimental).<p>I love to work with react.
However, it takes _a lot of time_ onboarding new engineers for tasks which are a bit more complicated in nature. Also, using hooks the wrong way can really mess up your product big times.<p>It would be nice to see react moving in a direction which is by design/architecture less error-prone.</p>
]]></description><pubDate>Sat, 11 Nov 2023 17:11:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=38232166</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=38232166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38232166</guid></item><item><title><![CDATA[New comment by donjoe in "Nokia launches DIY repairable budget Android phone"]]></title><description><![CDATA[
<p>Umidigi is another company to mention. Their Bison models pretty much fill the gap between a massive rugged phone and a standard phone. The phone's battery @~6kmAh usually covers a 2-3 day trip without charging.</p>
]]></description><pubDate>Sun, 26 Feb 2023 08:40:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=34944042</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=34944042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34944042</guid></item><item><title><![CDATA[New comment by donjoe in "Next, Nest, Nuxt Nust?"]]></title><description><![CDATA[
<p>To me, the biggest problem with javascript as a backend language is - especially in large teams: people tend to mix backend code with frontend code after a while.<p>Looking at next.js for example. There are so many ways to fetch data for a page:
getStaticProps, getInitialProps, getServerSideProps and the API handler (I hope I didn't miss any now). Each single one of those uses their own naming concepts (context vs req/res, query vs params). It is very easy - especially for newcomers to the frontend - to break things or leak data by not following the concepts of the frontend.<p>By dividing backend and frontend on a language level, you get a clear boundary on an API level which helps developers having a clear focus on their actual problem scope.<p>I guess you could solve the problem by having two node.js applications: one providing API endpoints and one taking care of the view. By then, I'd just switch to a properly type-safe language for the backend.</p>
]]></description><pubDate>Sun, 18 Dec 2022 12:58:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=34037272</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=34037272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34037272</guid></item><item><title><![CDATA[New comment by donjoe in "134.5 kg Concrete Bike [video]"]]></title><description><![CDATA[
<p>The knife throwing machine reminds me a lot of the slingshot channel:<p><a href="https://youtube.com/c/Slingshotchannel" rel="nofollow">https://youtube.com/c/Slingshotchannel</a></p>
]]></description><pubDate>Wed, 31 Aug 2022 21:09:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=32668385</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=32668385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32668385</guid></item><item><title><![CDATA[New comment by donjoe in "Tools for Better Thinking"]]></title><description><![CDATA[
<p>I recommend Haberfellner - Systems Engineering (ISBN 303013430X).<p>The Incose handbook for systems engineering: <a href="https://www.incose.org/products-and-publications/se-handbook" rel="nofollow">https://www.incose.org/products-and-publications/se-handbook</a><p>(You might be able to find an older version for free)<p>Disclaimer: I've been participating in a Systems Engineering master program @ university a while back which was based on both Haberfellner (and is finally available in English also) and Incose.</p>
]]></description><pubDate>Tue, 07 Jun 2022 05:33:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=31650236</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=31650236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31650236</guid></item><item><title><![CDATA[New comment by donjoe in "A portable wind turbine the size of a water bottle"]]></title><description><![CDATA[
<p>Also, most portable devices on the market won't provide you with enough power for charging electronic devices in cloudy conditions.<p>My ideal combination to cover about 80-90% of power needs whilst camping/hiking/cycling would be a combination of water turbine (for rivers or tiny streams) and solar.<p>In case I'd be hiking in an area with no water supply, I'd consider something like a wind turbine. Yet, I wouldn't know why I would want to hike in an area with no water supply ;-)</p>
]]></description><pubDate>Sat, 14 May 2022 10:51:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=31376695</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=31376695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31376695</guid></item><item><title><![CDATA[New comment by donjoe in "Show HN: Fruits – Sell digital products via your website, newsletter, etc"]]></title><description><![CDATA[
<p>Point taken. Thanks - will look into it!</p>
]]></description><pubDate>Fri, 13 May 2022 14:30:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=31368136</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=31368136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31368136</guid></item><item><title><![CDATA[New comment by donjoe in "Show HN: Fruits – Sell digital products via your website, newsletter, etc"]]></title><description><![CDATA[
<p>... bank transfers is one of the feature requests already in our pipeline!<p>Due to limited time (fruits was built within a few days), we reduced the product to the most simple MVP we could come up with. We will now be adding features on a daily basis :-)</p>
]]></description><pubDate>Fri, 13 May 2022 14:10:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=31367859</link><dc:creator>donjoe</dc:creator><comments>https://news.ycombinator.com/item?id=31367859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31367859</guid></item></channel></rss>