<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: georgestagg</title><link>https://news.ycombinator.com/user?id=georgestagg</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 10:39:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=georgestagg" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by georgestagg in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>In principle, yes, that’s the idea! However I will say we have focused mainly on the grammar and using DuckDB for reading from local files for this alpha release, so I expect there may be some bugs around connecting to remote databases still to iron out!</p>
]]></description><pubDate>Mon, 20 Apr 2026 18:09:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47838285</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=47838285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47838285</guid></item><item><title><![CDATA[New comment by georgestagg in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>Currently our only writer module is for vegalite, the output is a vegalite spec (JSON). Tools already exist to render this kind of output to an interactive chart, SVG, PNG, etc. with their own controls for sizing and the like.<p>Our ggsql Jupyter kernel can use these vegalite specifications to output charts in a Quarto document, for example.<p>In the future we plan to create a new high performance writer module from scratch, avoiding this intermediate vegalite step, at which point we’ll have better answers for your questions!</p>
]]></description><pubDate>Mon, 20 Apr 2026 18:07:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47838260</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=47838260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47838260</guid></item><item><title><![CDATA[New comment by georgestagg in "ggsql: A Grammar of Graphics for SQL"]]></title><description><![CDATA[
<p>ggsql has the concept of a "reader", which can be thought of as the way ggsql interfaces with a SQL database. It handles the connection to the database and generating the correct dialect of SQL for that database.<p>As an alpha, we support just a few readers today: duckdb, sqlite, and an experimental ODBC reader. We have largely been focusing development mainly around driving duckdb with local files, though duckdb has extensions to talk to some other types of database.<p>The idea is that ggsql takes your visualisation query, and then generates a selection of SQL queries to be executed on the database. It sends these queries using the reader, then builds the resulting visualisation with the returned data. That is how we can plot a histogram from very many rows of data, the statistics required to produce a histogram are converted into SQL queries, and only a few points are returned to us to draw bars of the correct height.<p>By default ggsql will connect to an in-memory duckDB database. If you are using the CLI, you can use the `--reader` argument to connect to files on-disk or an ODBC URI.<p>If you use Positron, you can do this a little easier through its dedicated "Connections" pane, and the ggsql Jupyter kernel has a magic SQL comment that can be issued to set up a particular reader. I plan to expand a little more on using ggsql with these external tools in the docs soon.</p>
]]></description><pubDate>Mon, 20 Apr 2026 13:55:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47834407</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=47834407</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47834407</guid></item><item><title><![CDATA[New comment by georgestagg in "WebR – R in the Browser"]]></title><description><![CDATA[
<p>This is great! Thanks for sharing!</p>
]]></description><pubDate>Sat, 29 Nov 2025 17:54:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46089403</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=46089403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46089403</guid></item><item><title><![CDATA[New comment by georgestagg in "WebR – R in the Browser"]]></title><description><![CDATA[
<p>You can, yes:<p><a href="https://shinylive.io/r/examples/" rel="nofollow">https://shinylive.io/r/examples/</a></p>
]]></description><pubDate>Sat, 29 Nov 2025 13:27:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46087380</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=46087380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46087380</guid></item><item><title><![CDATA[New comment by georgestagg in ""DSEG": Original 7-segment and 14-segment fonts (2014)"]]></title><description><![CDATA[
<p>If you’re at all interested in segmented displays Posy’s YouTube video about them is pure gold: <a href="https://youtu.be/RTB5XhjbgZA" rel="nofollow">https://youtu.be/RTB5XhjbgZA</a></p>
]]></description><pubDate>Wed, 01 Oct 2025 21:17:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45443681</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=45443681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45443681</guid></item><item><title><![CDATA[New comment by georgestagg in "Easy Forth (2015)"]]></title><description><![CDATA[
<p>For those who haven’t seen it before, Jones Forth is a wonderful implementation written in literate programming style.<p>It’s well worth reading through, even if you don’t know any assembly.<p>[1] <a href="https://github.com/nornagon/jonesforth/blob/master/jonesforth.S" rel="nofollow">https://github.com/nornagon/jonesforth/blob/master/jonesfort...</a></p>
]]></description><pubDate>Mon, 22 Sep 2025 20:10:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45338826</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=45338826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45338826</guid></item><item><title><![CDATA[New comment by georgestagg in "WebR – R in the Browser"]]></title><description><![CDATA[
<p>Here’s a ggplot2 example: <a href="https://webr.sh/#code=eJxtkLFOwzAQhsWapzh5ckSUpEgsSBkY2RAVrNXFOaVWndiyL2rCyhPwDt14A3bei7hNUAduOn33%2F7999%2Flx6rGjr9eeNRtqNvnLySHvv4u97ag4Ur0bAvniet4g48%2FNk%2B4DozG5Q3XAloIUbeuM5TuRJkbXHv0kF5ImyaWTnW6OFDgDnA1jhZ4wg6ly1rGd09IUbiEBaMl2O2d1zzIKlTXV%2FBhTBkG%2FU5Q31AfN02oYje6kkmUGZb5Z4fQH78tYKzdYBxmG%2BrxSJR7nT8BbgGfrBoOsbS%2ByKDvXVIl%2F%2BXjxXZElbauQmXzc9mqo0MUAqEBs7eAVPcByCpH%2BAsV8exc%3D&a" rel="nofollow">https://webr.sh/#code=eJxtkLFOwzAQhsWapzh5ckSUpEgsSBkY2RAVrN...</a></p>
]]></description><pubDate>Sat, 23 Aug 2025 16:58:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44997267</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=44997267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44997267</guid></item><item><title><![CDATA[New comment by georgestagg in "WebR – R in the Browser"]]></title><description><![CDATA[
<p>There’s a simplified example here: <a href="https://github.com/r-wasm/webr/tree/main/src/examples/eval" rel="nofollow">https://github.com/r-wasm/webr/tree/main/src/examples/eval</a></p>
]]></description><pubDate>Sat, 23 Aug 2025 16:41:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44997138</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=44997138</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44997138</guid></item><item><title><![CDATA[New comment by georgestagg in "I have no constructor, and I must initialize"]]></title><description><![CDATA[
<p>I like how the rules to the right of the headings react to the page width and how many lines are used.</p>
]]></description><pubDate>Fri, 05 Jul 2024 18:28:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=40884941</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=40884941</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40884941</guid></item><item><title><![CDATA[New comment by georgestagg in "Fortran on WebAssembly"]]></title><description><![CDATA[
<p>WebAssembly is generally most useful when you want to write high performance web applications using languages like C, C++ or Rust.<p>WebAssembly sits in the background quietly powering the web-based versions of products like Adobe Photoshop, AutoCAD, Figma, Canva, and likely others. By using Wasm components combined with other browser technologies such as HTML canvas and webGL, app performance and responsiveness can be improved.<p>WebAssembly also powers the Pyodide and webR projects, enabling Python and R code to run in a browser without a supporting computational server. Where I’ve seen this used most effectively so far is in teaching materials, particularly for teaching data science, where interactive R and Python examples can be embedded directly into teaching materials without the educator having to worry about the time or expense to deploy a powerful backend service to evaluate learner’s code.</p>
]]></description><pubDate>Fri, 05 Apr 2024 21:23:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=39947403</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=39947403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39947403</guid></item><item><title><![CDATA[New comment by georgestagg in "Fortran on WebAssembly"]]></title><description><![CDATA[
<p>I’ll definitely be trying out more of LFortran in the future.<p>For this post I really wanted to go deeper into the approach we’ve taken with flang, but I can see that LFortran is also a very strong choice here for running Fortran on Wasm.</p>
]]></description><pubDate>Fri, 05 Apr 2024 18:27:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=39945498</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=39945498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39945498</guid></item><item><title><![CDATA[New comment by georgestagg in "Fortran on WebAssembly"]]></title><description><![CDATA[
<p>Thanks! There’s a series of books I really like, The Theoretical Minimum[1], that also takes that kind of approach but for teaching physics.<p>[1] <a href="https://en.m.wikipedia.org/wiki/The_Theoretical_Minimum" rel="nofollow">https://en.m.wikipedia.org/wiki/The_Theoretical_Minimum</a></p>
]]></description><pubDate>Fri, 05 Apr 2024 18:21:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=39945442</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=39945442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39945442</guid></item><item><title><![CDATA[Fortran on WebAssembly]]></title><description><![CDATA[
<p>Article URL: <a href="https://gws.phd/posts/fortran_wasm/">https://gws.phd/posts/fortran_wasm/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39944275">https://news.ycombinator.com/item?id=39944275</a></p>
<p>Points: 235</p>
<p># Comments: 51</p>
]]></description><pubDate>Fri, 05 Apr 2024 16:21:49 +0000</pubDate><link>https://gws.phd/posts/fortran_wasm/</link><dc:creator>georgestagg</dc:creator><comments>https://news.ycombinator.com/item?id=39944275</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39944275</guid></item></channel></rss>