<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: emadda</title><link>https://news.ycombinator.com/user?id=emadda</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 09:29:18 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=emadda" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by emadda in "The Road to the WASM Component Model 1.0"]]></title><description><![CDATA[
<p>I like the technical design of WASM, but I feel that better OS sandboxes for regular native code will be the common approach to running untrusted code.<p>As soon as you compile to WASM you no longer have the C FFI and the ability to call the OS systems interfaces for files, network and others.<p>It is extra work to move something to WASM vs just compiling it and running it in a sandbox.</p>
]]></description><pubDate>Thu, 11 Jun 2026 06:56:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48487156</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=48487156</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48487156</guid></item><item><title><![CDATA[New comment by emadda in "Why isn't the U.S. better at soccer?"]]></title><description><![CDATA[
<p>I think this comes down to higher competition and practice in Europe.<p>A football is the default “toy” given to young lads, and you can play anywhere with anyone.<p>So much so there are custom “no ball games” signs in many neighbourhoods due to noise averse residents getting annoyed.<p>There are also many supporting elders who try to improve and guide skill development.</p>
]]></description><pubDate>Mon, 08 Jun 2026 08:15:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48442591</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=48442591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48442591</guid></item><item><title><![CDATA[New comment by emadda in "He asked AI to count carbs 27000 times. It couldn't give the same answer twice"]]></title><description><![CDATA[
<p>Thanks.<p>It is using Gemini Flash 3 at the moment.<p>There is a lot to learn in nutrition. The glycemic load metric is quite revealing for pizza vs pasta (slow digesting carbs are supposed to be better). Al-dente cooked pasta is also slower digesting than well cooked pasta.<p>Another interesting thing is how each plant food has unique molecules that can be health promoting in humans. That was one aspect I wanted to reveal/compare for the foods I ate.<p>Dr Weil / Perfect Health Diet / Marks Daily Apple are three sources I like to check for information on nutrition.</p>
]]></description><pubDate>Wed, 29 Apr 2026 19:58:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47953710</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=47953710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47953710</guid></item><item><title><![CDATA[New comment by emadda in "He asked AI to count carbs 27000 times. It couldn't give the same answer twice"]]></title><description><![CDATA[
<p>Related: I created an app to track the molecules in your foods:<p><a href="https://kg.enzom.dev/" rel="nofollow">https://kg.enzom.dev/</a><p>You specify your foods in grams with plaintext (no pictures).<p>I never liked the "take a picture to measure calories" approach, as you could have 10 table spoons of olive oil which would drastically change the calories but would not show in a picture.</p>
]]></description><pubDate>Wed, 29 Apr 2026 13:11:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947899</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=47947899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947899</guid></item><item><title><![CDATA[New comment by emadda in "Vite 8.0 Is Out"]]></title><description><![CDATA[
<p>esbuild has been very stable for my projects too.<p>I think it is the only tool in the JS ecosystem that has not broken after a few years.</p>
]]></description><pubDate>Fri, 13 Mar 2026 12:45:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47363750</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=47363750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47363750</guid></item><item><title><![CDATA[Show HN: kg Food Log: Don't Track Calories; Track Molecules]]></title><description><![CDATA[
<p>Hello HN,<p>This is my molecule tracking web app.<p>It tracks calories like traditional apps, but goes into much higher detail on micronutrients (vitamins, minerals) and amino acids.<p>It is powered by Google Gemini, so you can just type a rough list of foods for each meal and it will infer the exact foods you meant. No more scanning barcodes!<p>I personally built this because the biochemical nature of foods interests me, and it is much faster to use this tool than looking up every food manually.<p>I hope you will find it useful, and let me know of any feature requests.<p>Thanks, Enzo</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47300692">https://news.ycombinator.com/item?id=47300692</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 08 Mar 2026 19:54:28 +0000</pubDate><link>https://kg.enzom.dev/</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=47300692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47300692</guid></item><item><title><![CDATA[Show HN: kg Food Log: Reveal the molecules in your foods]]></title><description><![CDATA[
<p>Hello HN,<p>This is a food log web app powered by Google Gemini.<p>You can use it from any of your devices.<p>Thanks, Enzo</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47270700">https://news.ycombinator.com/item?id=47270700</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 06 Mar 2026 04:00:05 +0000</pubDate><link>https://kg.enzom.dev/</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=47270700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47270700</guid></item><item><title><![CDATA[Show HN: kg Food Log (Google Gemini powered nutrition tracker)]]></title><description><![CDATA[
<p>Hello HN,<p>It's pretty simple:<p>Type in the foods you consumed in your meal and get a table and charts of nutrients in return!<p>The trial has limited tokens, but email me if you would like an extended trial.<p>Feedback welcome, thanks!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47227302">https://news.ycombinator.com/item?id=47227302</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 03 Mar 2026 02:43:45 +0000</pubDate><link>https://kg.enzom.dev</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=47227302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47227302</guid></item><item><title><![CDATA[New comment by emadda in "Things I learnt about passkeys when building passkeybot"]]></title><description><![CDATA[
<p>PKCE protects the auth token from interception by making it so that only your code that started the flow can redeem it by proving they have the secret code_verifier on the redeem_token() call.<p>The code_challenge == sha256(code_verifier). You will share the code_challenge at the start of the flow.</p>
]]></description><pubDate>Tue, 23 Dec 2025 16:04:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46366404</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46366404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46366404</guid></item><item><title><![CDATA[New comment by emadda in "Things I learnt about passkeys when building passkeybot"]]></title><description><![CDATA[
<p>I just watched this, it is very good.</p>
]]></description><pubDate>Tue, 23 Dec 2025 12:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46364769</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46364769</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46364769</guid></item><item><title><![CDATA[New comment by emadda in "Things I learnt about passkeys when building passkeybot"]]></title><description><![CDATA[
<p>Yes, that is true, I was assuming that any LLM code was going to be checked by the developer. Step 7 in the guide is "review your code and ensure the important logic commented in the example server is still present".<p>The LLM is only for converting the JS based example code into your language X and HTTP framework Y (instead of giving example code for every combination of X and Y).<p>The standard implementation is in a single file `http_server.ts`, which is around 200 lines of well commented code, with important logic commented (around 5 lines). The example code can be run locally with a few commands.<p>The repo also contains a sequence diagram [1], a description of the HTTP handlers needed [2], and a live demo [3] where you can see the request/responses.<p>Thanks for your feedback I have made this clearer in the readme.<p>- [1] <a href="https://github.com/emadda/passkeybot/tree/master?tab=readme-ov-file#sequence-diagrams" rel="nofollow">https://github.com/emadda/passkeybot/tree/master?tab=readme-...</a><p>- [2] <a href="https://github.com/emadda/passkeybot/tree/master?tab=readme-ov-file#http-handlers-you-must-implement-on-your-server" rel="nofollow">https://github.com/emadda/passkeybot/tree/master?tab=readme-...</a><p>- [3] <a href="https://demo.enzom.dev/" rel="nofollow">https://demo.enzom.dev/</a></p>
]]></description><pubDate>Tue, 23 Dec 2025 11:45:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46364524</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46364524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46364524</guid></item><item><title><![CDATA[Things I learnt about passkeys when building passkeybot]]></title><description><![CDATA[
<p>Article URL: <a href="https://enzom.dev/b/passkeys/">https://enzom.dev/b/passkeys/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46357451">https://news.ycombinator.com/item?id=46357451</a></p>
<p>Points: 173</p>
<p># Comments: 146</p>
]]></description><pubDate>Mon, 22 Dec 2025 18:58:45 +0000</pubDate><link>https://enzom.dev/b/passkeys/</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46357451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46357451</guid></item><item><title><![CDATA[Show HN: Passkeybot.com – add passkey auth with a few server side HTTP handlers]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/emadda/passkeybot">https://github.com/emadda/passkeybot</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46345476">https://news.ycombinator.com/item?id=46345476</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 21 Dec 2025 15:24:12 +0000</pubDate><link>https://github.com/emadda/passkeybot</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46345476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46345476</guid></item><item><title><![CDATA[New comment by emadda in "Yep, Passkeys Still Have Problems"]]></title><description><![CDATA[
<p>Related: I released a hosted sign in page for passkey auth today.<p>Take a look:<p><a href="https://passkeybot.com" rel="nofollow">https://passkeybot.com</a></p>
]]></description><pubDate>Wed, 17 Dec 2025 23:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46306981</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46306981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46306981</guid></item><item><title><![CDATA[Show HN: passkeybot.com - add passkey auth with a few server side HTTP handlers]]></title><description><![CDATA[
<p>Hello HN,<p>Passkeybot is a hosted sign in page that only supports passkeys.<p>Add email verification and user auth to your app with only a few server side HTTP handlers.<p>Feedback appreciated, Thanks, Enzo</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46305996">https://news.ycombinator.com/item?id=46305996</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 17 Dec 2025 21:47:18 +0000</pubDate><link>https://github.com/emadda/passkeybot</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46305996</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46305996</guid></item><item><title><![CDATA[New comment by emadda in "Ghostty compiled to WASM with xterm.js API compatibility"]]></title><description><![CDATA[
<p>I built a macOS app that uses Ghostty and fzy to fuzzy search over Apple Note titles. It is working quite well for me.<p><a href="https://github.com/emadda/hot-notes/" rel="nofollow">https://github.com/emadda/hot-notes/</a></p>
]]></description><pubDate>Tue, 02 Dec 2025 13:00:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46120770</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=46120770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46120770</guid></item><item><title><![CDATA[New comment by emadda in "Show HN: JSON Query"]]></title><description><![CDATA[
<p>Maybe JS directly?</p>
]]></description><pubDate>Mon, 27 Oct 2025 21:57:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45726817</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=45726817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45726817</guid></item><item><title><![CDATA[New comment by emadda in "Litestream v0.5.0"]]></title><description><![CDATA[
<p>Cloudflare D1 has this, although you are limited to using JS workers to read/write it.<p><a href="https://developers.cloudflare.com/d1/best-practices/read-replication/" rel="nofollow">https://developers.cloudflare.com/d1/best-practices/read-rep...</a></p>
]]></description><pubDate>Sat, 04 Oct 2025 07:41:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=45471457</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=45471457</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45471457</guid></item><item><title><![CDATA[New comment by emadda in "Libghostty is coming"]]></title><description><![CDATA[
<p>I built a macOS app [1] (to fuzzy search Apple Notes) using Ghostty as a base so that I could use its fast rendering for large lists.<p>I think there is space for an Electron-like framework but for standalone terminal apps. Looking forward to using Ghostty as a library.<p>[1]: <a href="https://enzom.dev/hot-notes/" rel="nofollow">https://enzom.dev/hot-notes/</a></p>
]]></description><pubDate>Wed, 24 Sep 2025 12:55:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=45359634</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=45359634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45359634</guid></item><item><title><![CDATA[New comment by emadda in "Web apps in a single, portable, self-updating, vanilla HTML file"]]></title><description><![CDATA[
<p>The local html file can read local resources via src=file_path attributes on html tags (img, audio, video, script etc).<p>But the src-included files must be in the same directory as the root html file (or a descendant directory)<p>I used this in my macOS app Pocket Log to output a local html audio log (<a href="https://enzom.dev" rel="nofollow">https://enzom.dev</a>).</p>
]]></description><pubDate>Mon, 18 Aug 2025 14:26:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44941015</link><dc:creator>emadda</dc:creator><comments>https://news.ycombinator.com/item?id=44941015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44941015</guid></item></channel></rss>