<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: joppy</title><link>https://news.ycombinator.com/user?id=joppy</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 21:29:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=joppy" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by joppy in "KaTeX – The fastest math typesetting library for the web"]]></title><description><![CDATA[
<p>The commenter says pre-rendered/server-side-rendered mathematics (via katex) is great - I’ve found the opposite. It’s probably great if you have an article with one or two equations. On the other hand, if you have an article which uses mathematics pervasively, like many pure mathematics articles, it quickly becomes far more space efficient to render the mathematics on the client side. You can quickly get 200kB+ pages by pre-rendering.</p>
]]></description><pubDate>Mon, 03 Nov 2025 09:25:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45797268</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=45797268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45797268</guid></item><item><title><![CDATA[New comment by joppy in "Show HN: Wetlands – a lightweight Python library for managing Conda environments"]]></title><description><![CDATA[
<p>“Pixi instead of uv” would be a more fair comparison, as Pixi is a more modern tool which still uses the conda package format and ecosystem, much like uv is a modernised pip which still uses the PyPI package format.<p>One thing an conda package can do which an PyPI package cannot is have binary dependencies: a conda package is linked upon installation, and packages can declare dependencies on shared libraries. As common example is numeric libraries depending on a BLAS implementation: in a conda/pixi environment you will get exactly one BLAS shared library linked into your process, used by numpy, scipy, optimisers, etc. For some foundational libraries like BLAS which have multiple implementations, the user even has the power to consistently switch the implementation within the environment, eg from OpenBLAS to Intel’s MKL.<p>The PyPI package format does not allow binary dependencies: wheels must be self-contained when it comes to binary code (not when it comes to Python code - which hopefully makes it clear that something here is inconsistent). Take any numerical python environment and enumerate the copies of BLAS you have, it is probably 3-5. All running their own threadpools.<p>Another very simple example is with inbuilt modules depending on native code, like the sqlite3 module. In a conda/pixi installation you are guaranteed that the python binary links against the same sqlite3 code as the command-line sqlite3 cli tool in the same environment. Stuff like this removes many cross-language or cross-tool hassles.<p>I prefer uv or poetry if I’m doing anything simple or pure python (or perhaps with a small binary dependency like an event loop). But pixi is the way to go for large environments with lots of extra tools and numerical libraries.</p>
]]></description><pubDate>Thu, 29 May 2025 08:19:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44124063</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=44124063</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44124063</guid></item><item><title><![CDATA[New comment by joppy in "Proof of geometric Langlands conjecture so complex almost no one can explain it"]]></title><description><![CDATA[
<p>Title: this is about the geometric Langlands, not Langlands. They are related but in separate fields.</p>
]]></description><pubDate>Sun, 26 May 2024 09:46:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=40480862</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=40480862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40480862</guid></item><item><title><![CDATA[New comment by joppy in "Australia locks down ports after ‘nationally significant’ cyberattack"]]></title><description><![CDATA[
<p>If a country has the capability to "lock down ports", they're probably shipping ports - do you think Australia is just suddenly going to (or has the capability to) block all IP traffic on certain ports? A notable exception is China.</p>
]]></description><pubDate>Sun, 12 Nov 2023 15:07:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=38240696</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=38240696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38240696</guid></item><item><title><![CDATA[New comment by joppy in "Mapping pedestrian traffic light timing in Sydney, Australia"]]></title><description><![CDATA[
<p>Thanks for making this! I’ve found that as a pedestrian in Sydney, up to half my walking time is spent waiting for traffic lights, and have always wondered what could be done about it.</p>
]]></description><pubDate>Tue, 13 Jun 2023 21:14:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=36317455</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=36317455</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36317455</guid></item><item><title><![CDATA[New comment by joppy in "Why not tell people to “simply” use pyenv, poetry or anaconda"]]></title><description><![CDATA[
<p>Use pipx. It works well.</p>
]]></description><pubDate>Tue, 13 Jun 2023 15:06:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=36311316</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=36311316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36311316</guid></item><item><title><![CDATA[New comment by joppy in "It's not just statistics: GPT-4 does reason"]]></title><description><![CDATA[
<p>The compare-how-big-a-lookup-table-is argument is a bit of a red herring for comparing how complex things are. For example, a 3x3 matrix implements a map from 3 floats to another three floats, a huge space of possibilities (if we have 4-byte floats, this function space has (2^96)^(2^96) elements). From this perspective, representing that map as 9 numbers is an amazing compression ratio. But surely one cannot argue that matrices “have more going on” than arbitrary functions.</p>
]]></description><pubDate>Thu, 25 May 2023 01:16:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=36066037</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=36066037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36066037</guid></item><item><title><![CDATA[New comment by joppy in "Automakers are starting to admit that drivers hate touchscreens"]]></title><description><![CDATA[
<p>The Mazda software works ok with the wheel, but using something like CarPlay with it is almost impossible without taking your eyes off the road for a long time. It’s worse than touch-screens in that respect: what will the spinning knob select next on a screen which has three separate panes?</p>
]]></description><pubDate>Thu, 27 Apr 2023 03:06:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=35722856</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=35722856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35722856</guid></item><item><title><![CDATA[New comment by joppy in "SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s"]]></title><description><![CDATA[
<p>SQLite is so modular that someone could write a replacement for the filesystem layer that ended up sending requests across HTTP to query a database on another server [1]. Without touching any other layer of the code. How much more modular do you want a database to be, without making other compromises?<p>[1]: <a href="https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/" rel="nofollow">https://phiresky.github.io/blog/2021/hosting-sqlite-database...</a></p>
]]></description><pubDate>Thu, 13 Apr 2023 12:56:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=35554678</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=35554678</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35554678</guid></item><item><title><![CDATA[New comment by joppy in "PyCharm 2023.1"]]></title><description><![CDATA[
<p>There a lots of tiny issues: some UI settings like rulers (or whatever PyCharm calls them, vertical guides that tell you when you’re at 100 chars or something) just don’t work, and don’t show up in the main editor (but they show up in the diffs!). Some editor settings, like the main Python settings pane, just doesn’t load its settings page, and requires restarting the editor. Scrolling diffs with the scroll wheel is so janky and laggy to be unusable, but the main editor scrolls fine. Reconnecting after a short disconnect (open and close laptop lid) takes too long. The git client gets itself into a weird state sometimes where it will create the same 5 files no matter which branch I switch to, and the only way I’ve found to reset that is to delete every trace of IntelliJ off the remote and reconnect.</p>
]]></description><pubDate>Sun, 02 Apr 2023 01:02:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=35405962</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=35405962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35405962</guid></item><item><title><![CDATA[New comment by joppy in "PyCharm 2023.1"]]></title><description><![CDATA[
<p>The IntelliJ git interface makes a lot of sense, and makes many helpful operations easy, like “compare what I have now to this particular commit”. The VSCode git interface, even with plugins like GitLens, seems to make these operations hard to get to, and how VSCode manages diffs with the staging area involved is totally bananas.<p>Aside from that, PyCharm has a slightly better debugging interface but otherwise it’s quite close to VSCode for Python development. Sane version control is a bit aside though.</p>
]]></description><pubDate>Fri, 31 Mar 2023 13:10:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=35386608</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=35386608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35386608</guid></item><item><title><![CDATA[New comment by joppy in "PyCharm 2023.1"]]></title><description><![CDATA[
<p>I hope they also worked on removing the many UI bugs from PyCharm remote: laggy scrolling while in the diff view, some editor settings like rulers at 100/120 chars not working properly, some settings panes lagging out until the editor is restarted, etc etc. I need to develop on a remote VM and I’m using VSCode at the moment because it’s remote story is less buggy, but would much rather be using PyCharm.</p>
]]></description><pubDate>Fri, 31 Mar 2023 12:46:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=35386267</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=35386267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35386267</guid></item><item><title><![CDATA[New comment by joppy in "Steam now allows you to copy games over a local network to another PC"]]></title><description><![CDATA[
<p>At LAN parties we used to share our SteamApps folders so that others could copy games across. Interestingly (perhaps due to Windows networking handling copy-many-small-files poorly?) it was often faster to make an uncompressed ZIP of the files, copy that over the network, and unzip it on the other side.<p>Great to see that the steam client now does all this transparently.</p>
]]></description><pubDate>Sun, 19 Feb 2023 07:54:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=34855481</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=34855481</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34855481</guid></item><item><title><![CDATA[New comment by joppy in "Steam now allows you to copy games over a local network to another PC"]]></title><description><![CDATA[
<p>Unfortunately it doesn’t work so well with some larger games. I tried backing up a 120GB up-to-date game, uninstalling and reinstalling steam (to a newly purchased drive), and reloading the game from backup. It still wanted to download 90GB.</p>
]]></description><pubDate>Sun, 19 Feb 2023 07:50:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=34855460</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=34855460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34855460</guid></item><item><title><![CDATA[New comment by joppy in "The Design of Postgres (1986) [pdf]"]]></title><description><![CDATA[
<p>That’s a preprint - check the published version <a href="https://dl.acm.org/doi/10.1145/176584.176586" rel="nofollow">https://dl.acm.org/doi/10.1145/176584.176586</a> which has a date on the front page of the article.</p>
]]></description><pubDate>Wed, 08 Feb 2023 11:47:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=34706867</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=34706867</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34706867</guid></item><item><title><![CDATA[New comment by joppy in "Why is symmetry so important in particle physics?"]]></title><description><![CDATA[
<p>Single-variable letters and suggestive notation make it easier to recognise patterns, and give a good level of abstraction at which thinking about the problem rather than muddling through notation can happen. For example one can rather easily check<p>a(b + c) + (b - d - a)(b + c) = (b - d)(b + c)<p>But it will be hard to simplify<p>add(mul(amins, add(boo, cold)), mul(…<p>You are not expected to understand what the notation means without further context, in the same way a programmer is not meant to see a function call to main(foo) and understand what will happen.</p>
]]></description><pubDate>Mon, 31 Oct 2022 07:39:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=33402977</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=33402977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33402977</guid></item><item><title><![CDATA[New comment by joppy in "We Just Gave $260k to Open Source Maintainers"]]></title><description><![CDATA[
<p>Here in sunny Sydney, US$260k would cover the salary of three good developers, or two exceptional developers.</p>
]]></description><pubDate>Fri, 28 Oct 2022 05:27:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=33368010</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=33368010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33368010</guid></item><item><title><![CDATA[New comment by joppy in "Turbopack, the successor to Webpack"]]></title><description><![CDATA[
<p>My point is not that it’s impossible to write fast JavaScript, it is that creating performant abstractions is very hard in JavaScript. So performant code ends up not using many abstractions, and becomes difficult to write and maintain. Or well-abstracted code which is easy to write and maintain is slow.</p>
]]></description><pubDate>Thu, 27 Oct 2022 10:45:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=33355702</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=33355702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33355702</guid></item><item><title><![CDATA[New comment by joppy in "Column Vectors vs. Row Vectors"]]></title><description><![CDATA[
<p>The 4x4 represents both a 3x3 matrix A and a translation t, so that the “affine transformation” applied to a vector is v -> Av + t. One could pass around pairs (A, t) instead, and figure out how to compose those pairs, but it turns out there’s a nice way of embedding them in a 4x4 matrix such that composition is just 4x4 matrix multiplication.<p>You may opt into some other mathematical niceties too, which are handy for applying perspective transformations, but the main takeaway is that you get efficient compositions of affine transformations.</p>
]]></description><pubDate>Thu, 27 Oct 2022 10:42:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=33355677</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=33355677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33355677</guid></item><item><title><![CDATA[New comment by joppy in "Column Vectors vs. Row Vectors"]]></title><description><![CDATA[
<p>Mathematicians index the ith row and jth column of their n x m matrix as (i, j), which is nothing to do with row-major or column-major order. Those orderings are how a two-dimensional index is flattened to a one-dimensional index. Row-major makes it so that each row is stored one after the other: (i, j) goes to mi + j. Column-major uses i + nj instead.</p>
]]></description><pubDate>Thu, 27 Oct 2022 10:30:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=33355596</link><dc:creator>joppy</dc:creator><comments>https://news.ycombinator.com/item?id=33355596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33355596</guid></item></channel></rss>