<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: thomasp85</title><link>https://news.ycombinator.com/user?id=thomasp85</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 21 Apr 2026 09:24:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=thomasp85" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>We are not out to convince anyone to switch from ggplot2 (and we are not planning to stop developing that).<p>ggsql is (partly) about reaching new audiences and putting powerful visualisation in new places. If you live in R most of the time I wouldn't expect you to be the prime audience for this (though you may have fun exploring it since it contains some pretty interesting things ggplot2 doesn't have)</p>
]]></description><pubDate>Mon, 20 Apr 2026 18:29:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47838574</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47838574</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47838574</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>Ah - I don't think it really matters here, but if you find yourself in need then you can open a GitHub issue and we can discuss</p>
]]></description><pubDate>Mon, 20 Apr 2026 16:48:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47836949</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47836949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47836949</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>Ah - yes, in theory you could create a "ggplot2 writer" which renders the plot object to an R file you can execute. It is not too far away from the current Vega-Lite writer we use. The other direction (ggplot2->ggsql) is not really feasible</p>
]]></description><pubDate>Mon, 20 Apr 2026 16:46:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47836925</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47836925</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47836925</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>That is certainly in the pipeline. We chose to start with vegalite so we could focus on the internals of the representation</p>
]]></description><pubDate>Mon, 20 Apr 2026 15:57:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47836165</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47836165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47836165</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>I'm not quite sure I understand what you mean by "degrade in context" - care to elaborate?</p>
]]></description><pubDate>Mon, 20 Apr 2026 15:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47836088</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47836088</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47836088</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>My answers will probably disappoint<p>1) No (unless you count 'render to image and insert that into your excel document')
2) This is not possible - manual adjustments are not reproducible and we live by that ethos</p>
]]></description><pubDate>Mon, 20 Apr 2026 15:20:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47835626</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47835626</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47835626</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>Let me try to not miss any of the questions :-)<p>ggsql is modular by design. It consists of various reader modules that takes care of connecting with different data backends (currently we have a DuckDB, an SQLite, and an ODBC reader), a central plot module, and various writer modules that take care of the rendering (currently only Vegalite but I plan to write my own renderer from scratch).<p>As for deployment I can only talk about a utopian future since this alpha-release doesn't provide much tangible in that area. The ggsql Jupyter kernel already allows you to execute ggsql queries in Jupyter and Quarto notebooks, so deployment of reports should kinda work already, though we are still looking at making it as easy as possible to move database credentials along with the deployment. I also envision deployment of single .ggsql files that result in embeddable visualisations you can reference on websites etc. Our focus in this area will be Posit Connect in the short term<p>I'm afraid I don't know what IR stands for - can you elaborate?</p>
]]></description><pubDate>Mon, 20 Apr 2026 14:32:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834962</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834962</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>I don't think we will get the various niche geoms that have been developed by the ggplot2 community anytime soon.<p>The point of this is not to superseed ggplot2 in any way, but to provide a different approach which can do a lot of the things ggplot2 can, and some that it can't. But ggplot2 will remain more powerful for a lot of tasks in many years to come I predict</p>
]]></description><pubDate>Mon, 20 Apr 2026 14:25:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834841</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834841</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>That is conceivable, not a top priority as we want to focus on this being a great experience for <i>every</i> backend, but certainly something we are thinking of</p>
]]></description><pubDate>Mon, 20 Apr 2026 14:23:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834811</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834811</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>We certainly plan to create a few videos showing how to set it up and use it. If you use it in Positron with the ggsql extension it can interact directly with the connection pane to connect to the various backends you have there</p>
]]></description><pubDate>Mon, 20 Apr 2026 13:44:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834224</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834224</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>That is fair - it is somewhat of a special concept.<p>ggsql connects directly with your database backend (if you wish - you can also run it with an in-memory DuckDB backend). Your visual query is translated into a SQL query for each layer of the visualisation and the resulting table is then used for rendering.<p>E.g.<p>VISUALISE page_views AS x FROM visits
DRAW smooth<p>will create a SQL query that calculates a smoothing kernel over the data and returns points along that. Those points are then used to create the final line chart</p>
]]></description><pubDate>Mon, 20 Apr 2026 13:42:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834209</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834209</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834209</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>I'd say it does, though it is certainly much more low-level than e.g. ggplot2. But the basic premises of the building blocks described be Leland Wilkinson is there</p>
]]></description><pubDate>Mon, 20 Apr 2026 13:35:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834120</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834120</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>I'm one of the authors - happy to take any questions!</p>
]]></description><pubDate>Mon, 20 Apr 2026 13:31:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834079</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47834079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834079</guid></item><item><title><![CDATA[New comment by thomasp85 in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>The new visualisation tool from Posit. Combines SQL with the grammar of graphics, known from ggplot2, D3, and plotnine</p>
]]></description><pubDate>Mon, 20 Apr 2026 12:51:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47833559</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47833559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47833559</guid></item><item><title><![CDATA[ggsql: A Grammar of Graphics for SQL]]></title><description><![CDATA[
<p>Article URL: <a href="https://opensource.posit.co/blog/2026-04-20_ggsql_alpha_release/">https://opensource.posit.co/blog/2026-04-20_ggsql_alpha_release/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47833558">https://news.ycombinator.com/item?id=47833558</a></p>
<p>Points: 413</p>
<p># Comments: 80</p>
]]></description><pubDate>Mon, 20 Apr 2026 12:51:20 +0000</pubDate><link>https://opensource.posit.co/blog/2026-04-20_ggsql_alpha_release/</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=47833558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47833558</guid></item><item><title><![CDATA[Gganimate has been released. A grammar of animated graphics]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.data-imaginist.com/2019/gganimate-has-transitioned-to-a-state-of-release/">https://www.data-imaginist.com/2019/gganimate-has-transitioned-to-a-state-of-release/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=18814988">https://news.ycombinator.com/item?id=18814988</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 03 Jan 2019 13:41:58 +0000</pubDate><link>https://www.data-imaginist.com/2019/gganimate-has-transitioned-to-a-state-of-release/</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=18814988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18814988</guid></item><item><title><![CDATA[New comment by thomasp85 in "Announcing ggraph: A grammar of graphics for relational data"]]></title><description><![CDATA[
<p>Really happy you like it. Would love to see something published using it</p>
]]></description><pubDate>Sun, 26 Feb 2017 07:12:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=13736090</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=13736090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13736090</guid></item><item><title><![CDATA[New comment by thomasp85 in "Announcing ggraph: A grammar of graphics for relational data"]]></title><description><![CDATA[
<p>You can of course animate it like this <a href="https://twitter.com/thomasp85/status/694905779539812352" rel="nofollow">https://twitter.com/thomasp85/status/694905779539812352</a> but a static representation is often easier to interogate. I would try to bin the time points and facet on them...</p>
]]></description><pubDate>Sat, 25 Feb 2017 20:49:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=13733744</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=13733744</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13733744</guid></item><item><title><![CDATA[New comment by thomasp85 in "Announcing ggraph: A grammar of graphics for relational data"]]></title><description><![CDATA[
<p>Without needing to get into an R vs Python discussion I think it is fair to say that this is a perfectly valid subjective opinion and that a lot of people will disagree completely... none of the ggplot2 Python ports holds a candle to the original, feature-wise. So the question is whether you will reach out for the lesser tool or learn a new programming style...</p>
]]></description><pubDate>Sat, 25 Feb 2017 20:45:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=13733724</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=13733724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13733724</guid></item><item><title><![CDATA[New comment by thomasp85 in "Announcing ggraph: A grammar of graphics for relational data"]]></title><description><![CDATA[
<p>Depending on the number of time points you can use the facetting functions in ggraph to create small multiples</p>
]]></description><pubDate>Sat, 25 Feb 2017 20:29:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=13733655</link><dc:creator>thomasp85</dc:creator><comments>https://news.ycombinator.com/item?id=13733655</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13733655</guid></item></channel></rss>