<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: phforms</title><link>https://news.ycombinator.com/user?id=phforms</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 09:13:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=phforms" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by phforms in "Bugs Apple loves"]]></title><description><![CDATA[
<p>Years ago, someone demonstrated an improved mobile text editing system called "Eloquent" [1] and I wish this would be the default today.<p>However, my biggest issue with mobile text selection is accidental scrolling or scrolling too fast/far while dragging on the screen to select longer text parts. This is especially annoying in landscape mode when there is just a tiny gap between the visible text and the touch keyboard. I don’t know how to solve this, but it just makes the text editing process feel incredibly insecure/slippy and annoying for me.<p>[1] <a href="https://www.youtube.com/watch?v=_9YPm0EghvU" rel="nofollow">https://www.youtube.com/watch?v=_9YPm0EghvU</a></p>
]]></description><pubDate>Fri, 23 Jan 2026 10:19:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46730719</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=46730719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46730719</guid></item><item><title><![CDATA[New comment by phforms in "Show HN: One clean, developer-focused page for every Unicode symbol"]]></title><description><![CDATA[
<p>Don’t know if it was added after your comment, but there actually is one separate page for each character, just click the arrow in the top-right corner of each box. For more "giant" character previews I can recommend <a href="https://decodeunicode.org/en" rel="nofollow">https://decodeunicode.org/en</a> (which is more focussed on writing systems though).<p>There is also a "Copied x" toast (is this the correct term? idk) at the bottom of the viewport when you click a character box, maybe it was also added later on.</p>
]]></description><pubDate>Tue, 30 Dec 2025 11:34:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46432250</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=46432250</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46432250</guid></item><item><title><![CDATA[New comment by phforms in "Language is primarily a tool for communication rather than thought (2024) [pdf]"]]></title><description><![CDATA[
<p>Maybe the structure and operation in LLMs is a somewhat accurate model of the structure and operation of our brains and maybe the actual representation of “thought” is different between the human brain and LLMs. Then it might be the case that what makes the LLM “feel human” depends not so much on the actual thinking stuff but how that stuff is related and how this process of thought unfolds.<p>I personally believe that our thinking is fundamentally grounded/embodied in abstract/generalized representations of our actions and experiences. These representations are diagrammatic in nature, because only diagrams allow us to act on general objects in (almost) the same way to how we act on real-world objects. With “diagrams” I mean not necessarily visual or static artefacts, they can be much more elusive, kinaesthetic and dynamic. Sometimes I am conscious of them when I think, sometimes they are more “hidden” underneath a symbolic/language layer.</p>
]]></description><pubDate>Sat, 29 Nov 2025 10:51:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46086610</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=46086610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46086610</guid></item><item><title><![CDATA[New comment by phforms in "Python is not a great language for data science"]]></title><description><![CDATA[
<p>In the past few years I have seen some serious efforts from the Clojure community to make Clojure more attractive for data science. Check out the Scicloj[1] group and their data science stack/toolkit Noj[2] (still in beta) as well as the high-performance tabular data processing library tech.ml.dataset (TMD)[3].<p>- [1] <a href="https://scicloj.github.io" rel="nofollow">https://scicloj.github.io</a><p>- [2] <a href="https://scicloj.github.io/noj" rel="nofollow">https://scicloj.github.io/noj</a><p>- [3] <a href="https://github.com/techascent/tech.ml.dataset" rel="nofollow">https://github.com/techascent/tech.ml.dataset</a></p>
]]></description><pubDate>Tue, 25 Nov 2025 19:11:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46049484</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=46049484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46049484</guid></item><item><title><![CDATA[New comment by phforms in "Learn Prolog Now (2006)"]]></title><description><![CDATA[
<p>You might have forgotten the language but I bet it must have had some influence on how you think or write programs today. I don’t think the value of learning Prolog is necessarily that you can then write programs in Prolog, but that it shifts your perspective and adds another dimension to how you approach problems. At least this is what it has done for me and I find that still valuable today.</p>
]]></description><pubDate>Wed, 12 Nov 2025 18:29:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45903897</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=45903897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45903897</guid></item><item><title><![CDATA[New comment by phforms in "Advent of Code 2025: Number of puzzles reduce from 25 to 12 for the first time"]]></title><description><![CDATA[
<p>It is unfortunate, but I can absolutely understand it. Keeping up such open-ended, time-consuming projects year after year while the person doing it changes inevitably – their personal life, habits, job, interests, etc. – must feel like a burden at some point, even if it is out of love and passion (I know that from personal experience with my voluntary work, from which I had to take a break after 10+ years).<p>I am truly thankful for all of Eric Wastls work on Advent of Code, no matter how much time he can invest and how much puzzles we get. I already look forward to the challenge at the start of autumn and consider what programming language I will choose (this year it’ll be Uiua :)). I am very slow at these puzzles, so I mostly quit at around puzzle 12 anyway, but I learn so much from them and they are a lot of fun.</p>
]]></description><pubDate>Sun, 26 Oct 2025 20:26:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45714948</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=45714948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45714948</guid></item><item><title><![CDATA[New comment by phforms in "The Little Book of Linear Algebra"]]></title><description><![CDATA[
<p>As an autodidact who never learned this stuff at school/uni, his lectures are what made linear algebra really click for me. I can only recommend them to anyone who wants to get a visual intuition on the fundamentals of LA.<p>What also helped me as a visual learner was to program/setup tiny experiments in Processing[1] and GeoGebra Classic[2].<p>- [1] <a href="https://processing.org" rel="nofollow">https://processing.org</a>
- [2] <a href="https://www.geogebra.org/classic" rel="nofollow">https://www.geogebra.org/classic</a></p>
]]></description><pubDate>Tue, 02 Sep 2025 19:43:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45108075</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=45108075</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45108075</guid></item><item><title><![CDATA[New comment by phforms in "Graphical Linear Algebra"]]></title><description><![CDATA[
<p>Years ago when I was reading this (just a couple of chapters, not all of it), it opened my eyes to the power of diagrammatic representation in formal reasoning unlike anything before. I never did anything useful with string diagrams, but it was so fun to see what is possible with this system!</p>
]]></description><pubDate>Thu, 10 Jul 2025 20:29:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44525213</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=44525213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44525213</guid></item><item><title><![CDATA[New comment by phforms in "Emacs dired-mode as a file manager"]]></title><description><![CDATA[
<p>Okay, I can see the issue now, maybe I haven’t really used dired intensely enough for it to bother me. I just tried your snippet and having the cursor remain on the dired buffer for a quick preview is a feature I didn’t know I needed. Thanks for sharing!</p>
]]></description><pubDate>Sat, 24 May 2025 17:36:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=44082571</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=44082571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44082571</guid></item><item><title><![CDATA[New comment by phforms in "Emacs dired-mode as a file manager"]]></title><description><![CDATA[
<p>I guess you already know the command `dired-find-file-other-window` (bound to `o` by default), which reuses the right split window, if already there and opens a new window if there is none. Horizontal splits do not seem to be reused though (they often don’t have enough vertical space for dired anyway, which is why I guess they designed it this way).</p>
]]></description><pubDate>Fri, 23 May 2025 23:47:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44077638</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=44077638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44077638</guid></item><item><title><![CDATA[New comment by phforms in "Graphics livecoding in Common Lisp"]]></title><description><![CDATA[
<p>Processing is what ignited my passion for programming and Quil has become my favorite way of writing it. It is amazing that you can re-evaluate the draw/update function in a running sketch and immediately see the changes, without having to reload the whole thing. And on top of it you have the beauty of the whole Clojure Stdlib with its immutable datastructures.<p>I just learned that there is now a tweak mode in Processing that lets you tweak certain parameters in the code (via draggable values, etc.) while the sketch is running, which is pretty awesome for experimenting with values. However, you still have to reload the whole sketch when you want to change other parts of the code, you can’t just eval a function in the editor and get immediate feedback like in Quil.</p>
]]></description><pubDate>Thu, 24 Apr 2025 00:34:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=43778183</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=43778183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43778183</guid></item><item><title><![CDATA[New comment by phforms in "Graphics livecoding in Common Lisp"]]></title><description><![CDATA[
<p>I am not sure if this is what you mean, but the original UCBLogo (which I think is used in the Turtle Geometry book) is still alive and maintained[1] (not by the original authors, but Brian Harvey seems to chime in every now and then) and it does run well on modern computers.<p>Now that I think about it, Logo seems to be pretty much a livecoding environment (not surprising given that it is a Lisp, but with less parentheses). You can define and edit functions from the REPL while the program continues with the same state, the same canvas. You can even pause e.g. a running procedure that draws a polygon, rotate and move the turtle and then continue the polygon procedure with that new state (at least this is possible with UCBLogo).<p>[1]: <a href="https://github.com/jrincayc/ucblogo-code">https://github.com/jrincayc/ucblogo-code</a></p>
]]></description><pubDate>Wed, 23 Apr 2025 20:51:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=43776508</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=43776508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43776508</guid></item><item><title><![CDATA[New comment by phforms in "Emacs Lisp Elements"]]></title><description><![CDATA[
<p>My Emacs wouldn’t be the same without Prots modus themes[1], which I found to be a great foundation to build my own theme on top of. I am grateful for all the work he did for the Emacs community.<p>I also enjoy watching his videos where he talks about various philosophical topics from a very clear, pragmatic and down-to-earth perspective. My impression is that he is a really kind and humble person and that he lives by his philosophical insights, without bragging about his lifestyle or judging about how other people live their lifes.<p>[1]: <a href="https://protesilaos.com/emacs/modus-themes" rel="nofollow">https://protesilaos.com/emacs/modus-themes</a></p>
]]></description><pubDate>Sun, 13 Apr 2025 00:39:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43669092</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=43669092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43669092</guid></item><item><title><![CDATA[New comment by phforms in "Gemini 2.5 Pro vs. Claude 3.7 Sonnet: Coding Comparison"]]></title><description><![CDATA[
<p>I like using LLMs more as coding assistents than have them write the actual code. When I am thinking through problems of code organization, API design, naming things, performance optimization, etc., I found that Claude 3.7 often gives me great suggestions, points me in the right direction and helps me to weigh up pros and cons of different approaches.<p>Sometimes I have it write functions that are very boilerplate to save time, but I mostly like to use it as a tool to think through problems, among other tools like writing in a notebook or drawing diagrams. I enjoy programming too much that I’d want an AI to do it all for me (it also helps that I don’t do it as a job though).</p>
]]></description><pubDate>Mon, 31 Mar 2025 17:34:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43537557</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=43537557</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43537557</guid></item><item><title><![CDATA[New comment by phforms in "Parinfer: Simpler Lisp Editing"]]></title><description><![CDATA[
<p>I’ve been considering Parinfer, but my issue was that it is a bit unpredictable where parens end up and I have to be careful to not mess up my code structure. Maybe I should give it another try for a longer time period.<p>My favourite structural editing tool for about a year now is symex[1], which is an Emacs package (and unfortunately not that well known compared to paredit, lispy, etc.). It takes some getting used to at first but after a while you only move around and think in terms of s-expressions, you don’t even see parentheses anymore. It really feels like you are a squirrel climbing trees (hence the image on the repo, I guess). I just hope the dev(s) will be able to get rid of the heavy dependencies on other packages soon.<p>[1]: <a href="https://github.com/drym-org/symex.el/">https://github.com/drym-org/symex.el/</a></p>
]]></description><pubDate>Mon, 20 Jan 2025 18:25:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42771526</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=42771526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42771526</guid></item><item><title><![CDATA[New comment by phforms in "Show HN: Tetris in a PDF"]]></title><description><![CDATA[
<p>Apparently, it is set to false by default in Zen Browser. In my Firefox it was still true.</p>
]]></description><pubDate>Fri, 10 Jan 2025 09:25:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=42654066</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=42654066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42654066</guid></item><item><title><![CDATA[New comment by phforms in "Siyuan: Privacy-first, self-hosted personal knowledge management software"]]></title><description><![CDATA[
<p>I believe convenience and actually wanting to give something back to the creators would have many people pay for pro features, since it’s actually “Pay once, use for life”, which is a rare and welcome sight in this subscription-flooded world. And it still leaves people with low income the option to (legally?) circumvent payment. Not sure how sustainable this is as a business model, but I think it’s pretty nice compared to being forced into continuous payment.</p>
]]></description><pubDate>Thu, 26 Dec 2024 20:52:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=42517723</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=42517723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42517723</guid></item><item><title><![CDATA[New comment by phforms in "Siyuan: Privacy-first, self-hosted personal knowledge management software"]]></title><description><![CDATA[
<p>It seems like they borrowed heavily from Notion, Obsidian and RemNote, as far as I can tell (wouldn’t call it a knock-off though, since there are sooo many apps in this space that you don’t really know who came up with what anymore). But the app doesn’t feel janky to me at first glance, it definitely feels more responsive than Notion and less “slippy” than RemNote. Although it is quite noisy with all the tooltips popping up immediately.<p>My first impression is that they really wanted to include everything (even RemNote-like spaced-repetition flashcards, Notion-like Databases and of course there has to be AI too) and it seems like they did a pretty decent job at that. I also appreciate that there are so many export options, even for Org-Mode (preserving internal links, images, code-blocks, etc.).<p>I like that it provides a solid, feature-rich alternative to all the cloud-first, closed-source apps in this space. But it may be too distracting/overwhelming for my use-cases with all the advanced layout capabilities and features though. Tana is a similar all-in-one solution that is really well done (and more innovative than this one), but I always seem to gravitate toward more focussed apps.</p>
]]></description><pubDate>Thu, 26 Dec 2024 20:07:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42517399</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=42517399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42517399</guid></item><item><title><![CDATA[New comment by phforms in "Org Mode Syntax Cheat Sheet (2017)"]]></title><description><![CDATA[
<p>Good idea to update the radio targets along with the wrapping. Also, I didn’t know `insert-pair` exists, could have saved me some typing. :)</p>
]]></description><pubDate>Fri, 01 Nov 2024 18:16:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42019936</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=42019936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42019936</guid></item><item><title><![CDATA[New comment by phforms in "Org Mode Syntax Cheat Sheet (2017)"]]></title><description><![CDATA[
<p>To quickly link to bullet points, just use [[*My bullet point]] (if you omit the *, it may still work but Org also finds non-heading elements like table names with the same text).<p>Personally, I like to create custom ids for bullet points so that I can easily change the text in the bullet point later without breaking my links:<p><pre><code>  * My bullet point
  :PROPERTIES:
  :CUSTOM_ID: foo
  :END:
</code></pre>
This is easier with C-c C-x p (org-set-property).<p>Elsewhere, I can just write [[#foo]] to create a link to that bullet.</p>
]]></description><pubDate>Fri, 01 Nov 2024 14:26:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=42017203</link><dc:creator>phforms</dc:creator><comments>https://news.ycombinator.com/item?id=42017203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42017203</guid></item></channel></rss>