<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: ciaovietnam</title><link>https://news.ycombinator.com/user?id=ciaovietnam</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 22:57:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ciaovietnam" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ciaovietnam in "Ask HN: Who is building solo with AI?"]]></title><description><![CDATA[
<p>I've been building this CMS, e-commerce and app builder platform - <a href="https://sitegui.app" rel="nofollow">https://sitegui.app</a> - solo in order to keep the cost down before it gains enough growth momentum. It is built by one to be extended by other developers/freelancers. Now AI also is a part of the platform too (AI App Builder & Integrated AI Agents for chatbot, reporting and automation).</p>
]]></description><pubDate>Thu, 02 Oct 2025 08:09:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45447304</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=45447304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45447304</guid></item><item><title><![CDATA[Show HN: Build your app's backend with just 1 prompt]]></title><description><![CDATA[
<p>Article URL: <a href="https://sitegui.app">https://sitegui.app</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44563889">https://news.ycombinator.com/item?id=44563889</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 14 Jul 2025 18:52:03 +0000</pubDate><link>https://sitegui.app</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=44563889</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44563889</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Ask HN: Conversational AI to Learn a Language"]]></title><description><![CDATA[
<p>I just tried it and it works perfectly. The color scheme and font size could be touched up to look better. Just out of curiosity, is $10/month enough to cover the (unlimited) API cost? Do you estimate how many percentage of your users will use more than $10 API fee each month?</p>
]]></description><pubDate>Wed, 21 May 2025 04:13:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44048194</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=44048194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44048194</guid></item><item><title><![CDATA[Show HN: AI Agent for Documentation and other apps]]></title><description><![CDATA[
<p>We build an Agent framework that can leverage existing apps/pages' content as the knowledge source. The agents can also be used to convert/transform app/page content through automation.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44044852">https://news.ycombinator.com/item?id=44044852</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 20 May 2025 19:12:51 +0000</pubDate><link>https://sitegui.com/agent/platform_assistant</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=44044852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44044852</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Documentation Generator"]]></title><description><![CDATA[
<p>I was able to generate documentation for LiteGUi (<a href="https://deepwiki.com/SiteGUI-platform/litegui" rel="nofollow">https://deepwiki.com/SiteGUI-platform/litegui</a>) and the result is quite promising. It captures all the core concepts and visualizes them beautifully.</p>
]]></description><pubDate>Fri, 09 May 2025 23:10:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43941789</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43941789</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43941789</guid></item><item><title><![CDATA[Documentation Generator]]></title><description><![CDATA[
<p>Article URL: <a href="https://deepwiki.com">https://deepwiki.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43941767">https://news.ycombinator.com/item?id=43941767</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 09 May 2025 23:07:06 +0000</pubDate><link>https://deepwiki.com</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43941767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43941767</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Open-sourcing OpenPubkey SSH (OPKSSH): integrating single sign-on with SSH"]]></title><description><![CDATA[
<p>Now I have to trust OpenPubkey, hoping it wont get hacked. No way will I add this to my servers, I will keep using the long live public key.</p>
]]></description><pubDate>Tue, 25 Mar 2025 15:20:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43472407</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43472407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43472407</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Ask HN: Old Unix technologies like cron and SSE in modern workflows?"]]></title><description><![CDATA[
<p>I use SSE to send web users to another page (redirection header) while still processing other long running stuff for them. The result: non-blocking web access, users dont have to wait for all stuff processed to see a confirmation message e.g: a user signs up, you can show them their account has been created instantly while still creating relevant services (e.g: a virtual server) for their account.</p>
]]></description><pubDate>Sun, 09 Mar 2025 01:05:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=43305174</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43305174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43305174</guid></item><item><title><![CDATA[Vectorizing multimodal e-commerce product data with AWS Titan: a practical guide]]></title><description><![CDATA[
<p>Article URL: <a href="https://norahsakal.com/blog/vectorizing-ecommerce-product-data-with-aws-titan-a-practical-guide/">https://norahsakal.com/blog/vectorizing-ecommerce-product-data-with-aws-titan-a-practical-guide/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43305029">https://news.ycombinator.com/item?id=43305029</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 09 Mar 2025 00:45:20 +0000</pubDate><link>https://norahsakal.com/blog/vectorizing-ecommerce-product-data-with-aws-titan-a-practical-guide/</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43305029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43305029</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Handling Database Failures in a Distributed System with RabbitMQ Workers"]]></title><description><![CDATA[
<p>I'm not familiar with RabbitMQ but this is how I built a queue for LiteGUI using Redis.<p>Firstly, every job gets stored in an activity table with a retry and result column.<p>If the job should be run instantly without queueing, no queue entry is needed, the retry column is 0 and the result column is filled.<p>If the job fails for whatever reason, a queue entry containing the activity ID is added to let the queue worker process it later on. When the worker processes the job, the retry column will be incremented no matter of the outcome. If the worker succeeds, the activity will be updated with the result.<p>If the worker fails to process it and the retry number is less than 5, another queue entry will be added (as the current one is already removed from the queue). When to process that queue entry depends on the retry number, they can be 1m, 5m, 25m, 2.1h, 10.4h, 2.2 days using the following formula:<p>$interval = 300 * pow(5, ($retry - 1));<p>This approach also helps in case of queue failure, you can just rebuild the queue from the activity table for entries with no result (or status) and retry number is less than 5.<p>To be honest, I don't work with queue regularly but I have to implement it anyway. I'm sharing this approach so we all can improve it.</p>
]]></description><pubDate>Fri, 07 Mar 2025 05:12:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43287515</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43287515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43287515</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Ask HN: How did the internet discover my subdomain?"]]></title><description><![CDATA[
<p>There is a chance that your subdomain is the first/default virtual host in your web server setup (or the subdomain's access log is the default log file) so any requests to the server's IP address get logged to this virtual host. That means they didn't access your subdomain, they accessed via your server IP address but got logged in your subdomain's access log.</p>
]]></description><pubDate>Fri, 07 Mar 2025 03:08:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=43287109</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43287109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43287109</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Why it still takes days for banks to give you your money"]]></title><description><![CDATA[
<p>Zelle is quite fast but still has room for improvement especially the user experience. I enjoy much better experience in Vietnam where I can send to anyone at any bank instantly free of charge using official bank apps and can widthraw money from ATMs cardlessly using smart OTP.</p>
]]></description><pubDate>Wed, 05 Mar 2025 18:24:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43270302</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43270302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43270302</guid></item><item><title><![CDATA[When did modern humans reach each of the 7 continents?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.livescience.com/archaeology/when-did-modern-humans-reach-each-of-the-7-continents">https://www.livescience.com/archaeology/when-did-modern-humans-reach-each-of-the-7-continents</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43270048">https://news.ycombinator.com/item?id=43270048</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 05 Mar 2025 18:04:18 +0000</pubDate><link>https://www.livescience.com/archaeology/when-did-modern-humans-reach-each-of-the-7-continents</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43270048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43270048</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Ask HN: What's your blog / portfolio stack?"]]></title><description><![CDATA[
<p>I built my own CMS system which places WYSIWYG content editor in a sandboxed iframe to avoid XSS. The advantage of this approach is that I can edit HTML directly using the browser's developer console in case the WYSIWYG editor does not support what I want. After all, raw HTML/CSS codes are behind what we see on a website, so I prefer to work with them directly rather than using Markdown. Whatever CMS you use, just make sure it supports changing theme/template and allows custom content to be inserted at different sections on a web page or preferably multiple pages (i.e global content widget). I found these 2 features crucial and make my work a lot easier.</p>
]]></description><pubDate>Wed, 05 Mar 2025 17:51:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43269869</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43269869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43269869</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Magento Credit Card Stealer Disguised in an <Img> Tag"]]></title><description><![CDATA[
<p>This can happen to any shopping cart that lets shop owners add custom codes/plugins to the checkout page. Though that enhances the look and feel, I dont think it is a good idea. The checkout page should use a universal design (like Shopify's checkout page), it will reduce the chance of XSS attacks.</p>
]]></description><pubDate>Tue, 18 Feb 2025 18:58:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43093653</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43093653</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43093653</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Building a free image CDN with Cloudflare R2 and workers"]]></title><description><![CDATA[
<p>Thanks for sharing. How fast is this type of CDN from different countries/locations?</p>
]]></description><pubDate>Tue, 18 Feb 2025 13:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43089458</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43089458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43089458</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Ask HN: Whats the stack you guys use for SaaS home page and blog these days?"]]></title><description><![CDATA[
<p>There are so many CMSes to choose these days, you just need to choose one that fits your needs. For me, I will choose one that allows me to change theme, menu items and add contents to different sections on the page whenever I want.</p>
]]></description><pubDate>Tue, 18 Feb 2025 10:39:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43088140</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43088140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43088140</guid></item><item><title><![CDATA[Draw Entity-Relationship Diagrams, Painlessly]]></title><description><![CDATA[
<p>Article URL: <a href="https://dbdiagram.io/home">https://dbdiagram.io/home</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43087875">https://news.ycombinator.com/item?id=43087875</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 18 Feb 2025 09:51:14 +0000</pubDate><link>https://dbdiagram.io/home</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43087875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43087875</guid></item><item><title><![CDATA[New comment by ciaovietnam in "Show HN: Qweek – Create a Week's Worth of Social Media Content in Minutes"]]></title><description><![CDATA[
<p>It looks promising. Is it possible to one-click post to the target platforms instead of copy and paste?</p>
]]></description><pubDate>Tue, 18 Feb 2025 08:28:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43087313</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43087313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43087313</guid></item><item><title><![CDATA[New comment by ciaovietnam in "The cross-eyed method of comparing lists"]]></title><description><![CDATA[
<p>So cool. I was able to spot Hipopotamus and Meeerkat right away as they are floating and blurry while others stay the same.</p>
]]></description><pubDate>Tue, 18 Feb 2025 02:47:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=43085576</link><dc:creator>ciaovietnam</dc:creator><comments>https://news.ycombinator.com/item?id=43085576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43085576</guid></item></channel></rss>