<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: citguru</title><link>https://news.ycombinator.com/user?id=citguru</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 08:55:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=citguru" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by citguru in "PGDumpCloud – Stream PGDump Backups Directly to S3 Compatible Storage Object"]]></title><description><![CDATA[
<p>I needed to back up terabytes of Postgres RDS data to R2 without intermediate local dumps or AWS egress fees, I could not find any ideal solution, so I built this.</p>
]]></description><pubDate>Wed, 15 Apr 2026 22:58:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47786429</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47786429</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47786429</guid></item><item><title><![CDATA[PGDumpCloud – Stream PGDump Backups Directly to S3 Compatible Storage Object]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/CITGuru/pgdumpcloud">https://github.com/CITGuru/pgdumpcloud</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47786428">https://news.ycombinator.com/item?id=47786428</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 15 Apr 2026 22:58:54 +0000</pubDate><link>https://github.com/CITGuru/pgdumpcloud</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47786428</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47786428</guid></item><item><title><![CDATA[New comment by citguru in "Distributed DuckDB Instance"]]></title><description><![CDATA[
<p>Hi,<p>DuckLake is great for the lakehouse layer and it's what we use in production. But there's a gap and thats what I'm trying to address with OpenDuck. DuckLake do solve concurrent access at the lakehouse/catalog level and table management.<p>But the moment you need to fall back to DuckDB's own compute for things DuckLake doesn't support yet, you're back to a single .duckdb file with exclusive locking. One process writes, nobody else reads.<p>OpenDuck sits at a different layer. It intercepts DuckDB's file I/O and replaces it with a differential storage engine which is append-only layers with snapshot isolation.</p>
]]></description><pubDate>Tue, 14 Apr 2026 15:09:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47766644</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47766644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47766644</guid></item><item><title><![CDATA[New comment by citguru in "Distributed DuckDB Instance"]]></title><description><![CDATA[
<p>The project is still fairly new and not close to production tbh.<p>I'd actually recommend the simplest option: just write them to Parquet on S3 and query with plain DuckDB. Or you could use Ducklake - <a href="https://ducklake.select/" rel="nofollow">https://ducklake.select/</a></p>
]]></description><pubDate>Tue, 14 Apr 2026 14:30:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47766152</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47766152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47766152</guid></item><item><title><![CDATA[New comment by citguru in "Distributed DuckDB Instance"]]></title><description><![CDATA[
<p>Thanks for this, really enjoyed reading this and helps validate some of my personal thoughts</p>
]]></description><pubDate>Tue, 14 Apr 2026 14:25:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47766074</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47766074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47766074</guid></item><item><title><![CDATA[New comment by citguru in "Distributed DuckDB Instance"]]></title><description><![CDATA[
<p>Yes, this is actually one of the core problems OpenDuck's architecture addresses.<p>The short version: OpenDuck interposes a differential storage layer between DuckDB and the underlying file. DuckDB still sees a normal file (via FUSE on Linux or an in-process FileSystem on any platform), but underneath, writes go to append-only layers and reads are resolved by overlaying those layers newest-first. Sealing a layer creates an immutable snapshot.<p>This gives you:<p>Many concurrent readers: each reader opens a snapshot, which is a frozen, consistent view of the database. They don't touch the writer's active layer at all. No locks contended.<p>One serialized write path: multiple clients can submit writes, but they're ordered through a single gateway/primary rather than racing on the same file. This is intentional: DuckDB's storage engine was never designed for multi-process byte-level writes, and pretending otherwise leads to corruption. Instead, OpenDuck serializes mutations at a higher level and gives you safe concurrency via snapshots.<p>So for your specific scenario — one process writing while you want to quickly inspect or query the DB from the CLI — you'd be able to open a read-only snapshot mount (or attach with ?snapshot=<uuid>) from a second process and query freely. The writer keeps going, new snapshots appear as checkpoints seal, and readers can pick up the latest snapshot whenever they're ready.<p>It's not unconstrained multi-writer OLTP (that's an explicit non-goal), but it does solve the "I literally cannot even read the database while another process has it open" problem that makes DuckDB painful in practice.</p>
]]></description><pubDate>Tue, 14 Apr 2026 13:57:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47765738</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47765738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47765738</guid></item><item><title><![CDATA[New comment by citguru in "Distributed DuckDB Instance"]]></title><description><![CDATA[
<p>This is an attempt to replicate MotherDucks differential storage and implement hybrid query execution on DuckDB</p>
]]></description><pubDate>Tue, 14 Apr 2026 06:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47761998</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47761998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761998</guid></item><item><title><![CDATA[Distributed DuckDB Instance]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/citguru/openduck">https://github.com/citguru/openduck</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47761997">https://news.ycombinator.com/item?id=47761997</a></p>
<p>Points: 185</p>
<p># Comments: 36</p>
]]></description><pubDate>Tue, 14 Apr 2026 06:31:44 +0000</pubDate><link>https://github.com/citguru/openduck</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=47761997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47761997</guid></item><item><title><![CDATA[New comment by citguru in "Tell HN: Worst AWS service and support team experience"]]></title><description><![CDATA[
<p>Already started porting some of the services, but alot are tightly coupled with AWS services</p>
]]></description><pubDate>Thu, 30 Jun 2022 07:47:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=31929753</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=31929753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31929753</guid></item><item><title><![CDATA[New comment by citguru in "Tell HN: Worst AWS service and support team experience"]]></title><description><![CDATA[
<p>10 hours is too much time. Time is money, we deal with time sensitive business. If people are not able to process transactions how are their users able to do their daily activities. Money was definitely lost once the Finance team analyse the situation</p>
]]></description><pubDate>Thu, 30 Jun 2022 07:46:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=31929749</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=31929749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31929749</guid></item><item><title><![CDATA[New comment by citguru in "Tell HN: Worst AWS service and support team experience"]]></title><description><![CDATA[
<p>Developer Plan</p>
]]></description><pubDate>Thu, 30 Jun 2022 07:44:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=31929737</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=31929737</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31929737</guid></item><item><title><![CDATA[Tell HN: Worst AWS service and support team experience]]></title><description><![CDATA[
<p>Its been about 10 hours now that our core business operations is down because AWS security system decided that our account has unauthorized service usage and place a restriction on some part of services we can have access to.<p>One of them is obviously AWS Lambda. Two weeks ago we started processing large volume of transactions (We provide wallet and digital assets infrastructure for businesses) and needed to increase our services performance from request time out to memory to even our RDS instance to be able to accommodate the kind of requests we are currently processing.<p>However yesterday (29th of July) at around 5:04PM we got an email from AWS about unautorized service charges due to some unauthorized activity and could be a potential account hack or compromise.<p>My heart first sank because I was just waking up from a nap after reviewing the new lambda functions the teams worked on and planning to promote to production and staging server.<p>The second is this is a very high risk security issues and could be a potential hack. We primarily use MPC base vault to securely store and process transactions. Regardless, this is a very a big issue and had to respond by first of all changing the root passwords, deactivating all API keys, disabling console login access for all other users and removing any type of old keys.<p>After doing this will at least help secure our account for the main time. But then I was curious as well since the suspected activity is because of the unauthorized service charge, decided to go check all services from each region and end up checking our AWS Bill and carefully looking at the bill.<p>At the end it's a bill the team expected following our new changes from increasing our lambda function memory to time out and upgrading our RDS instance, the bill basically makes sense. AWS must have mistakenly detected this as unauthorized charge.<p>However the issue here is it's been 10 hours, and we have literally lost access to AWS Lambda functions the moment they notified us of this issues and one of our core business solutions is down because AWS shut it down.<p>The customer support experience from the AWS support team is the worst I have seen in my entire life. This is outrageous and never wished anyone to experience this. For over 10 hours, our customers (businesses such as payment gateway and exchanges) can't run some business operations because the lambda service (which cant be easily migrated to another alternative service) is down.<p>Their team keep saying they are waiting for their internal team response for over hours and no good response yet. They didn't provide a valid reason nor why this is taking too much time to fix. Its like they are lack of empathy and just robots behind the keyboards.<p>The AWS Support team are very heartless with no sense of urgency and this is not the first time such encounter is happening.<p>This has taught us a lesson not to build our product to be tightly locked with a cloud provider as migrating would be like starting from scratch and be more complicated.<p>If you work in AWS, the technical support team or customer support team and you would like to help us get past this. Please you can reach out here: hi[[at]]powr[[dot]]finance.<p>Thanks.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=31928266">https://news.ycombinator.com/item?id=31928266</a></p>
<p>Points: 27</p>
<p># Comments: 20</p>
]]></description><pubDate>Thu, 30 Jun 2022 02:47:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=31928266</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=31928266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31928266</guid></item><item><title><![CDATA[Bitpowr: The Crypto Infrastructure You Need]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.bitpowr.com/">https://www.bitpowr.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30018351">https://news.ycombinator.com/item?id=30018351</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 21 Jan 2022 02:11:31 +0000</pubDate><link>https://www.bitpowr.com/</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=30018351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30018351</guid></item><item><title><![CDATA[Bryss Framework – The Restful API Framework for PHP]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/CITGuru/bryss">https://github.com/CITGuru/bryss</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=24264104">https://news.ycombinator.com/item?id=24264104</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 24 Aug 2020 18:58:06 +0000</pubDate><link>https://github.com/CITGuru/bryss</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=24264104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24264104</guid></item><item><title><![CDATA[Securing Your Application Secrets with a Secure Vault]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/better-programming/securing-your-application-secrets-with-a-secure-vault-74f292c5b84e">https://medium.com/better-programming/securing-your-application-secrets-with-a-secure-vault-74f292c5b84e</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=24129736">https://news.ycombinator.com/item?id=24129736</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 12 Aug 2020 08:29:01 +0000</pubDate><link>https://medium.com/better-programming/securing-your-application-secrets-with-a-secure-vault-74f292c5b84e</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=24129736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24129736</guid></item><item><title><![CDATA[How to Copy File Path on Windows 10]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=GyRUSKiskRc">https://www.youtube.com/watch?v=GyRUSKiskRc</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23166198">https://news.ycombinator.com/item?id=23166198</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 13 May 2020 12:33:53 +0000</pubDate><link>https://www.youtube.com/watch?v=GyRUSKiskRc</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=23166198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23166198</guid></item><item><title><![CDATA[How to Expose Your Localhost URL to Public]]></title><description><![CDATA[
<p>Article URL: <a href="https://youtu.be/ZlvHiqLXp8Q">https://youtu.be/ZlvHiqLXp8Q</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23141162">https://news.ycombinator.com/item?id=23141162</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 11 May 2020 11:58:29 +0000</pubDate><link>https://youtu.be/ZlvHiqLXp8Q</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=23141162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23141162</guid></item><item><title><![CDATA[How to Write Unit Tests for Your REST API]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/better-programming/how-to-write-unit-test-for-your-rest-api-f8f71376273f">https://medium.com/better-programming/how-to-write-unit-test-for-your-rest-api-f8f71376273f</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23111955">https://news.ycombinator.com/item?id=23111955</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 08 May 2020 06:23:07 +0000</pubDate><link>https://medium.com/better-programming/how-to-write-unit-test-for-your-rest-api-f8f71376273f</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=23111955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23111955</guid></item><item><title><![CDATA[How to Automate Your Front-End Application Testing with Selenium]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/better-programming/automating-your-front-end-application-testing-with-selenium-8e9d51f0f73c">https://medium.com/better-programming/automating-your-front-end-application-testing-with-selenium-8e9d51f0f73c</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23089709">https://news.ycombinator.com/item?id=23089709</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 06 May 2020 11:13:32 +0000</pubDate><link>https://medium.com/better-programming/automating-your-front-end-application-testing-with-selenium-8e9d51f0f73c</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=23089709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23089709</guid></item><item><title><![CDATA[How to Setup Selenium on Node Environment]]></title><description><![CDATA[
<p>Article URL: <a href="https://dev.to/oyetoket/how-to-setup-selenium-on-node-environment-30bc">https://dev.to/oyetoket/how-to-setup-selenium-on-node-environment-30bc</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23077993">https://news.ycombinator.com/item?id=23077993</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 05 May 2020 09:04:42 +0000</pubDate><link>https://dev.to/oyetoket/how-to-setup-selenium-on-node-environment-30bc</link><dc:creator>citguru</dc:creator><comments>https://news.ycombinator.com/item?id=23077993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23077993</guid></item></channel></rss>