<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: uwemaurer</title><link>https://news.ycombinator.com/user?id=uwemaurer</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 02:59:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=uwemaurer" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by uwemaurer in "DuckDB 1.5.2 – SQL database that runs on laptop, server, in the browser"]]></title><description><![CDATA[
<p>I benchmarked DuckDB 1.5.2 with the latest Java JDBC driver which now supports user defined functions. This allows very fast modifications <a href="https://sqg.dev/blog/java-duckdb-benchmark/" rel="nofollow">https://sqg.dev/blog/java-duckdb-benchmark/</a></p>
]]></description><pubDate>Wed, 22 Apr 2026 15:57:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47865487</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47865487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47865487</guid></item><item><title><![CDATA[Benchmarking DuckDB from Java: Fast Insert, Update, and Delete]]></title><description><![CDATA[
<p>Article URL: <a href="https://sqg.dev/blog/java-duckdb-benchmark/">https://sqg.dev/blog/java-duckdb-benchmark/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47861770">https://news.ycombinator.com/item?id=47861770</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 22 Apr 2026 10:58:24 +0000</pubDate><link>https://sqg.dev/blog/java-duckdb-benchmark/</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47861770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47861770</guid></item><item><title><![CDATA[New comment by uwemaurer in "Good CTE, Bad CTE"]]></title><description><![CDATA[
<p>Great article, I always like to structure my queries with CTEs and I was (wrongly) assuming it all gets inlined at the end. 
Sometimes it also gets complicated since these intermediate results can't be easily seen in a SQL editor. I was working on a UI to parse CTE queries and then execute them step by step to show the results of all the CTEs for easier understanding of the query (as part of this project <a href="https://github.com/sqg-dev/sqg/" rel="nofollow">https://github.com/sqg-dev/sqg/</a>)</p>
]]></description><pubDate>Tue, 31 Mar 2026 09:14:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47584672</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47584672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47584672</guid></item><item><title><![CDATA[I benchmarked bulk insert into PostgreSQL from Java (also via DuckDB / Arrow)]]></title><description><![CDATA[
<p>Article URL: <a href="https://sqg.dev/blog/java-postgres-insert-benchmark/">https://sqg.dev/blog/java-postgres-insert-benchmark/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47530517">https://news.ycombinator.com/item?id=47530517</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Mar 2026 13:56:20 +0000</pubDate><link>https://sqg.dev/blog/java-postgres-insert-benchmark/</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47530517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47530517</guid></item><item><title><![CDATA[New comment by uwemaurer in "Chuck Norris has died"]]></title><description><![CDATA[
<p>17 years ago we launched the first "Chuck Norris Facts" app for Android (March 2009). It was a big success until end of 2010 when Chuck Norris sent his lawyers after us to get the app removed from the Android market. Chuck Norris won, we took the app down</p>
]]></description><pubDate>Fri, 20 Mar 2026 18:01:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47458269</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47458269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47458269</guid></item><item><title><![CDATA[New comment by uwemaurer in "SQG (SQL to Code Generator) v0.10: Java Streams and List Type Support"]]></title><description><![CDATA[
<p>Thank you for the suggestion!</p>
]]></description><pubDate>Sun, 08 Mar 2026 22:29:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47302294</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47302294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47302294</guid></item><item><title><![CDATA[SQG (SQL to Code Generator) v0.10: Java Streams and List Type Support]]></title><description><![CDATA[
<p>Article URL: <a href="https://sqg.dev/blog/java-streams-and-list-types/">https://sqg.dev/blog/java-streams-and-list-types/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47265856">https://news.ycombinator.com/item?id=47265856</a></p>
<p>Points: 20</p>
<p># Comments: 6</p>
]]></description><pubDate>Thu, 05 Mar 2026 19:08:54 +0000</pubDate><link>https://sqg.dev/blog/java-streams-and-list-types/</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47265856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47265856</guid></item><item><title><![CDATA[New comment by uwemaurer in "Hardwood: A New Parser for Apache Parquet"]]></title><description><![CDATA[
<p>Great! I will give it a try. I found that using DuckDB to select from the parquet files and using the Apache Arrow API  to read the results is also a very fast method</p>
]]></description><pubDate>Sun, 01 Mar 2026 07:47:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47204625</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=47204625</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47204625</guid></item><item><title><![CDATA[New comment by uwemaurer in "Sqldef: Idempotent schema management tool for MySQL, PostgreSQL, SQLite"]]></title><description><![CDATA[
<p>This is great! It would be a cool feature to integrate with SQG. there you currently need to provide the sequence of migration steps to get the full schema.<p><a href="https://github.com/sqg-dev/sqg/" rel="nofollow">https://github.com/sqg-dev/sqg/</a></p>
]]></description><pubDate>Thu, 05 Feb 2026 08:26:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46897145</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46897145</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46897145</guid></item><item><title><![CDATA[New comment by uwemaurer in "Bluesky 2025 Transparency Report"]]></title><description><![CDATA[
<p>Here are some independent stats: <a href="https://bluefacts.app/bluesky-user-growth" rel="nofollow">https://bluefacts.app/bluesky-user-growth</a></p>
]]></description><pubDate>Fri, 30 Jan 2026 21:05:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46829878</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46829878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46829878</guid></item><item><title><![CDATA[New comment by uwemaurer in "Deep dive into Turso, the “SQLite rewrite in Rust”"]]></title><description><![CDATA[
<p>I recently benchmarked different SQlite implementations/driver for Node. Better-sqlite3 came out on top of this test: <a href="https://sqg.dev/blog/sqlite-driver-benchmark/" rel="nofollow">https://sqg.dev/blog/sqlite-driver-benchmark/</a></p>
]]></description><pubDate>Thu, 29 Jan 2026 16:37:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46812535</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46812535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46812535</guid></item><item><title><![CDATA[New comment by uwemaurer in "Show HN: Fence – Sandbox CLI commands with network/filesystem restrictions"]]></title><description><![CDATA[
<p>I like it. Is it also possible to block all filesystem access and only allow certain directories / files?<p>Currently it seems to allow read access by default and only allows to block some paths with with "denyRead"</p>
]]></description><pubDate>Wed, 21 Jan 2026 11:33:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46704188</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46704188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46704188</guid></item><item><title><![CDATA[New comment by uwemaurer in "Why DuckDB is my first choice for data processing"]]></title><description><![CDATA[
<p>We use DuckDB to process analytics and feeds for Bluesky (<a href="https://bluefacts.app" rel="nofollow">https://bluefacts.app</a>)<p>To get fast access to the query results we use the Apache Arrow interface and generate the code directly from DuckDB SQL queries using the SQG tool ( <a href="https://sqg.dev/generators/java-duckdb-arrow/" rel="nofollow">https://sqg.dev/generators/java-duckdb-arrow/</a>)</p>
]]></description><pubDate>Fri, 16 Jan 2026 19:41:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46651134</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46651134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46651134</guid></item><item><title><![CDATA[SQLite Driver Benchmark: better-sqlite3 vs. node:SQLite]]></title><description><![CDATA[
<p>Article URL: <a href="https://sqg.dev/blog/sqlite-driver-benchmark/">https://sqg.dev/blog/sqlite-driver-benchmark/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46648615">https://news.ycombinator.com/item?id=46648615</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 16 Jan 2026 16:54:50 +0000</pubDate><link>https://sqg.dev/blog/sqlite-driver-benchmark/</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46648615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46648615</guid></item><item><title><![CDATA[Show HN: SQG – Compile SQL (SQLite,DuckDB) to TypeScript/Java Code]]></title><description><![CDATA[
<p>I developed SQG because I had to access a SQLite and a DuckDB database from Java and from Typescript and was unhappy about maintaining the DB access code twice.<p>Also for larger analytics queries (DuckDB) it was annoying to copy the query out of the code into DBeaver, work on it and then copy it back into the code.<p>So I thought of a way of keeping the SQL queries in a separate file, compatible in DBeaver format so I can run them there, and also generate the code from it.<p>This works especially well with DuckDB since it has full type information of the query result, better than SQLite which has it only for fields, not for expressions.<p>For DuckDB it can also generate code using their Apache Arrow API for very fast access.<p>I hope you find it useful, I am glad to hear your feedback.<p>GitHub: <a href="https://github.com/sqg-dev/sqg" rel="nofollow">https://github.com/sqg-dev/sqg</a> 
Docs: <a href="https://sqg.dev" rel="nofollow">https://sqg.dev</a>
Try it online: <a href="https://sqg.dev/playground/" rel="nofollow">https://sqg.dev/playground/</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46603165">https://news.ycombinator.com/item?id=46603165</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 13 Jan 2026 16:26:03 +0000</pubDate><link>https://sqg.dev/</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=46603165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46603165</guid></item><item><title><![CDATA[New comment by uwemaurer in "Show HN: A better Hacker News front end"]]></title><description><![CDATA[
<p>how do you like my hackernews frontend: <a href="https://news.facts.dev/" rel="nofollow">https://news.facts.dev/</a></p>
]]></description><pubDate>Sun, 19 Oct 2025 09:23:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45632997</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=45632997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45632997</guid></item><item><title><![CDATA[New comment by uwemaurer in "Bluesky: Updated Terms and Policies"]]></title><description><![CDATA[
<p>Here are more detailed stats:<p><a href="https://bluefacts.app/bluesky-user-growth" rel="nofollow">https://bluefacts.app/bluesky-user-growth</a></p>
]]></description><pubDate>Fri, 15 Aug 2025 05:52:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44909033</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=44909033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44909033</guid></item><item><title><![CDATA[New comment by uwemaurer in "Revival: There appears to be media consensus: "Bluesky is dead.""]]></title><description><![CDATA[
<p>Bluesky / ATProto is very open, this makes it possible to track the exact statistics how the platform is growing (or shrinking currently):<p><a href="https://bluefacts.app/bluesky-user-growth" rel="nofollow">https://bluefacts.app/bluesky-user-growth</a></p>
]]></description><pubDate>Sat, 12 Jul 2025 11:25:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44541242</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=44541242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44541242</guid></item><item><title><![CDATA[New comment by uwemaurer in "Threads is nearing X's daily app users, new data shows"]]></title><description><![CDATA[
<p>Bluesky has still a lot to catch up: <a href="https://bluefacts.app/bluesky-user-growth" rel="nofollow">https://bluefacts.app/bluesky-user-growth</a></p>
]]></description><pubDate>Tue, 08 Jul 2025 18:47:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44502846</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=44502846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44502846</guid></item><item><title><![CDATA[New comment by uwemaurer in "Bluesky Post Count and Author Stats"]]></title><description><![CDATA[
<p>This is a nice dashboard showing Bluesky User Growth and Active Users.<p>It has trend charts and different time ranges:<p><a href="https://bluefacts.app/bluesky-user-growth" rel="nofollow">https://bluefacts.app/bluesky-user-growth</a><p>Recently it looks like it will start to grow again!</p>
]]></description><pubDate>Tue, 24 Jun 2025 19:45:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=44370256</link><dc:creator>uwemaurer</dc:creator><comments>https://news.ycombinator.com/item?id=44370256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44370256</guid></item></channel></rss>