<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: maciej_pacula</title><link>https://news.ycombinator.com/user?id=maciej_pacula</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 09:02:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=maciej_pacula" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by maciej_pacula in "Building a Pythonic REST client that feels like an ORM"]]></title><description><![CDATA[
<p>We're a small startup that had to build and iteratively evolve both the backend API and the Python client with a tiny team.<p>Pydantic and code generation both had friction points that didn't fit our situation, so we ended up with a ~435-line framework that makes the client read like a mini-ORM.<p>The post walks through our implementation. While it worked well for us (so far), it may not be right for everyone. And we miss out on the ecosystem around OpenAPI etc. Not having Swagger definitely stings.<p>I'd love to hear whether others are still building REST clients by hand, or is everything auto-generated from OpenAPI specs these days?</p>
]]></description><pubDate>Thu, 26 Feb 2026 16:48:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47168542</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=47168542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47168542</guid></item><item><title><![CDATA[Building a Pythonic REST client that feels like an ORM]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.gofigr.io/posts/building-a-pythonic-rest-client">https://blog.gofigr.io/posts/building-a-pythonic-rest-client</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47168541">https://news.ycombinator.com/item?id=47168541</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 26 Feb 2026 16:48:34 +0000</pubDate><link>https://blog.gofigr.io/posts/building-a-pythonic-rest-client</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=47168541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47168541</guid></item><item><title><![CDATA[New comment by maciej_pacula in "Building a cross-language plot capture engine in R and Python"]]></title><description><![CDATA[
<p>I spent a lot of time trying to build a "zero-config" plot capture system for both R and Python. It turns out the two languages have fundamentally different philosophies on how pixels get to the screen which make this easy in Python and super hard in R.<p>I wrote a deep dive comparing the display architectures in both languages, including some admittedly hacky ways to find figure objects through stack inspection. Hope it helps someone avoid our mistakes!</p>
]]></description><pubDate>Thu, 19 Feb 2026 18:20:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47077068</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=47077068</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47077068</guid></item><item><title><![CDATA[Building a cross-language plot capture engine in R and Python]]></title><description><![CDATA[
<p>Article URL: <a href="https://quickanalysis.substack.com/p/capturing-plots-in-r-and-python-a">https://quickanalysis.substack.com/p/capturing-plots-in-r-and-python-a</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47077067">https://news.ycombinator.com/item?id=47077067</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 19 Feb 2026 18:20:57 +0000</pubDate><link>https://quickanalysis.substack.com/p/capturing-plots-in-r-and-python-a</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=47077067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47077067</guid></item><item><title><![CDATA[Show HN: Automatically add Git hash to your Jupyter figures]]></title><description><![CDATA[
<p>Hi HN!<p>Did you ever want to include the Git commit hash and the name of the notebook in your Jupyter figures? So that your future self doesn't have to scramble tracing a figure to its source?<p>GoFigr Lite does just that. It's a free and open source Jupyter plugin which automatically adds metadata to each figure you generate. We support matplotlib, seaborn, plotnine and plotly.<p>The idea here is that when you share the figure with a coworker or a collaborator, you can always trace it back to the source. This improves reproducibility and reduces the stress when you are inevitably asked for tweaks later on.<p>See installation instructions here: <a href="https://github.com/GoFigr/gofigr-python/blob/main/README_lite.rst" rel="nofollow">https://github.com/GoFigr/gofigr-python/blob/main/README_lit...</a><p>I would love to hear your thoughts!<p>Full disclosure: we also offer a commercial product which elaborates on this idea.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45514920">https://news.ycombinator.com/item?id=45514920</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 08 Oct 2025 11:31:56 +0000</pubDate><link>https://github.com/GoFigr/gofigr-python/blob/main/README_lite.rst</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=45514920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45514920</guid></item><item><title><![CDATA[New comment by maciej_pacula in "Huge reproducibility project fails to validate biomedical studies"]]></title><description><![CDATA[
<p>On the data analysis side, I think making version control both mandatory and automatic would go a long way.<p>One issue is that internal science within a company/lab can move incredibly fast -- assays, protocols, datasets and algorithms change often. People tend to lose track of what data, what parameters, and what code they used to arrive at a particular figure or conclusion. Inevitably, some of those end up being published.<p>Journals requiring data and code for publication helps, but it's usually just one step at the end of a LONG research process. And as far as I'm aware, no one actually verifies that the code you submitted produces the figures in your paper.<p>It's a big reason why we started <a href="https://GoFigr.io" rel="nofollow">https://GoFigr.io</a>. I think making reproducibility both real-time and automatic is key to make this situation better.</p>
]]></description><pubDate>Fri, 25 Apr 2025 18:22:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=43796955</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=43796955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43796955</guid></item><item><title><![CDATA[New comment by maciej_pacula in "Show HN: GoFigr – real-time, figure-centric version control for Jupyter and R"]]></title><description><![CDATA[
<p>Here's the Colab link if you'd like to try it out: <a href="https://colab.research.google.com/github/GoFigr/examples/blob/main/GoFigr_demo.ipynb" rel="nofollow">https://colab.research.google.com/github/GoFigr/examples/blo...</a></p>
]]></description><pubDate>Tue, 25 Feb 2025 18:51:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43175774</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=43175774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43175774</guid></item><item><title><![CDATA[Show HN: GoFigr – real-time, figure-centric version control for Jupyter and R]]></title><description><![CDATA[
<p>Hi HN! After spending the better part of the last decade working in data science, I realized that figure management is (a) a real issue, (b) poorly supported by existing tools.<p>Specifically:<p>1. Data Scientists generate a ton of figures, many of which invariably end up in Slack, emails, and PowerPoint.<p>2. Being able to trace a figure back to the notebook is a royal pain. Especially if the code has changed.<p>Even if you use git, it's unrealistic to git commit for every figure, and searching for figures in git history is well, painful.<p>Which is why I created GoFigr. GoFigr is a Jupyter plugin/R library which automatically adds QR codes to your figures and syncs them with the GoFigr service.<p>We also store the notebook name and the full source code (IPython history in Python) as it existed when the figure was generated.<p>Furthermore, we support text search within figures as well as reverse image search, so you can always find the exact revision and reproduce it with ease.<p>Building this has been a ton of fun. The backend is mostly Python + Django + Postgres + Elastic Search. Frontend is React. I'm super excited to show it to the HN community!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43175724">https://news.ycombinator.com/item?id=43175724</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 25 Feb 2025 18:48:09 +0000</pubDate><link>https://gofigr.io/</link><dc:creator>maciej_pacula</dc:creator><comments>https://news.ycombinator.com/item?id=43175724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43175724</guid></item></channel></rss>