<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: lightandlight</title><link>https://news.ycombinator.com/user?id=lightandlight</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 29 May 2026 17:22:30 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lightandlight" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lightandlight in "Show HN: Crazierl – An Erlang Operating System"]]></title><description><![CDATA[
<p>> browser-based demo<p>Wait, so is the browser running a JavaScript build of Qemu? /</p>
]]></description><pubDate>Sun, 29 Mar 2026 22:56:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47568327</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=47568327</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47568327</guid></item><item><title><![CDATA[New comment by lightandlight in "The 49MB web page"]]></title><description><![CDATA[
<p>> Reddit, HN<p>Hacker News still has a feed (that's the only reason why I saw this thread). And Reddit gives you a feed for your subscribed subreddits.</p>
]]></description><pubDate>Sun, 15 Mar 2026 22:45:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47392803</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=47392803</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47392803</guid></item><item><title><![CDATA[New comment by lightandlight in "Show HN: Aurion OS – A 32-bit GUI operating system written from scratch in C"]]></title><description><![CDATA[
<p>> The commit activity might look unusual because I worked in very intense 12h/day sprints over 14 days.<p>That's a weird way to put it.<p>The commit activity looks unusual because it's a completed project whose files were individually committed in alphabetical order. There's no development history.</p>
]]></description><pubDate>Thu, 12 Mar 2026 23:33:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47358761</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=47358761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47358761</guid></item><item><title><![CDATA[New comment by lightandlight in "Show HN: Aurion OS – A 32-bit GUI operating system written from scratch in C"]]></title><description><![CDATA[
<p>Good to see more hobby OS projects. I'm almost due to start another round of learning this stuff.<p>What have been the most helpful reference materials so far?<p>What's the most memorable challenge you overcame?<p>What's the coolest or most surprising thing you learned?</p>
]]></description><pubDate>Thu, 12 Mar 2026 23:00:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47358432</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=47358432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47358432</guid></item><item><title><![CDATA[New comment by lightandlight in "Why Objective-C"]]></title><description><![CDATA[
<p>> Reading all the really, super old documentation that explains entire subsystems in amazingly technical depth<p>Any links?<p>> Maybe this is also why Smalltalk fiends are such fans.<p>I started getting interested in Smalltalk after I tried writing a MacOS program by calling the Objective-C runtime from Rust and had a surprisingly good time. A Smalltalk-style OO language feels like a better base layer for apps than C.</p>
]]></description><pubDate>Tue, 03 Mar 2026 10:07:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47230420</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=47230420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47230420</guid></item><item><title><![CDATA[New comment by lightandlight in "Vibecoding #2"]]></title><description><![CDATA[
<p>> do you think there's any appetite in people paying for this type of tool which lets you spin up infra on demand and gives you all the capabilities built so far?<p>(I'm not the author) The easiest way to charge for this kind of software is to make it SaaS, and I think that's pretty gross, especially for a CLI tool.<p>> I'm skeptical and I may just release it all as OSS<p>It doesn't have to be one or the other: you could sell the software under libre[1] terms, for example.<p>[1]: <a href="https://en.wikipedia.org/wiki/Free_software" rel="nofollow">https://en.wikipedia.org/wiki/Free_software</a></p>
]]></description><pubDate>Wed, 21 Jan 2026 14:23:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46706108</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=46706108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46706108</guid></item><item><title><![CDATA[New comment by lightandlight in "SendGrid isn’t emailing about ICE or BLM – it’s a phishing attack"]]></title><description><![CDATA[
<p>I often go one step futher by appending a short random identifier, `{service}.{id}@{domain}`, to make it harder to guess (in case someone learned of my email address policy).<p>I created a little GTK program to help: <a href="https://github.com/LightAndLight/gen-alias" rel="nofollow">https://github.com/LightAndLight/gen-alias</a></p>
]]></description><pubDate>Fri, 09 Jan 2026 19:53:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46558420</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=46558420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46558420</guid></item><item><title><![CDATA[New comment by lightandlight in "A website to destroy all websites"]]></title><description><![CDATA[
<p>I'm with you. Surprised by the negative reactions here.<p>A possible piece of the puzzle: I originally read the article on mobile, no issues. Then I opened it on my desktop, and found the design quite jarring. The margins are much too large for my taste, forcing the text into a single narrow column, and the header animations were distracting and disorienting (fortunately the page works perfectly with JavaScript disabled). Perhaps this triggered people?</p>
]]></description><pubDate>Fri, 02 Jan 2026 00:45:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=46460035</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=46460035</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46460035</guid></item><item><title><![CDATA[Show HN: Request sensitive user input from system services]]></title><description><![CDATA[
<p>`asker` allows daemons to request user input.<p>I run Syncthing to keep my KeepassXC in sync across devices. At the same time I have `syncthing-merge`[1] running to handle any conflicts due to concurrent database edits. It calls `keepassxc-cli merge` to merge conflicting databases, which requires my database password. `syncthing-merge` runs as a system service under its own user, so I wasn't able to use a graphical dialog program like GNOME's `zenity` to ask for the password. My solution is to run a user service that can create graphical dialogs in response to requests from system daemons, while enforcing minimal access to the data that the user enters.<p>With the required NixOS config[2] in place, a system service calls `asker KEY` to issue a request. If that service is a member of the `asker-keys-{KEY}` group, then the request proceeds, is handled by a user service (`asker-prompt`), and then printed to stdout (i.e. to be piped into another program). I took care to ensure that only authorised services could read the user's input.<p>I looked into using existing keyring programs via the D-Bus Secret Service API, but I couldn't figure out how to control access to individual secrets. I know exactly which services should be allowed to access particular secrets, and I want to enforce that. In particular, I don't want my logged-in user to have universal access to these secrets, because then any program I run can read them (see also: recent discussion of this issue[3]). I also found that these keyring programs aren't suited for ephemeral data; they store secrets for a while.<p>It might be possible to achieve this using pure D-Bus with access control policies. I haven't looked into this because after I decided that the Secret Service API was insufficient, I figured that rolling my own protocol would be easier than learning D-Bus.<p>Questions for you:<p>* Which wheels could I have avoided reinventing?<p>* Is there anything I could simplify?<p>* Have I failed at my security goals due to mistakes or oversights?<p>[1]: <a href="https://github.com/LightAndLight/syncthing-merge" rel="nofollow">https://github.com/LightAndLight/syncthing-merge</a>
[2]: <a href="https://github.com/LightAndLight/asker?tab=readme-ov-file#usage-examples" rel="nofollow">https://github.com/LightAndLight/asker?tab=readme-ov-file#us...</a>
[3]: <a href="https://news.ycombinator.com/item?id=46278857">https://news.ycombinator.com/item?id=46278857</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46439560">https://news.ycombinator.com/item?id=46439560</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 30 Dec 2025 23:42:24 +0000</pubDate><link>https://github.com/LightAndLight/asker</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=46439560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46439560</guid></item><item><title><![CDATA[New comment by lightandlight in "I migrated to an almost all-EU stack and saved 500€ per year"]]></title><description><![CDATA[
<p>This year I moved off LastPass, and started using [Syncthing](<a href="https://syncthing.net/" rel="nofollow">https://syncthing.net/</a>) to sync my [KeepassXC](<a href="https://keepassxc.org/" rel="nofollow">https://keepassxc.org/</a>). It works pretty well, but doesn't have any automatic conflict resolution (I've been working on [something](<a href="https://github.com/LightAndLight/syncthing-merge" rel="nofollow">https://github.com/LightAndLight/syncthing-merge</a>) for this).<p>Next up I'm moving my TODOs off Todoist to something local-first, and plugging that into my Syncthing setup.</p>
]]></description><pubDate>Tue, 30 Dec 2025 09:50:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46431410</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=46431410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46431410</guid></item><item><title><![CDATA[New comment by lightandlight in "Teaching feed readers about YouTube subscriptions"]]></title><description><![CDATA[
<p>Right, and [kjkjadksj says](<a href="https://news.ycombinator.com/item?id=44445957">https://news.ycombinator.com/item?id=44445957</a>) a similar thing:<p>> If you have a feed reader system there is no need to subscribe [via YouTube] in the first place. You’ve obviated that system.<p>This approach works, and it's a great way to subscribe to public channels without a YouTube account. The main reason I'm not doing it is that I <i>want</i> to subscribe via YouTube.<p>> It would be great if it was more discoverable<p>Oh, hopefully there's a browser extension that detects feeds on a page and lights up and provides a menu. Shame that the YouTube mobile app isn't similarly extensible.</p>
]]></description><pubDate>Wed, 02 Jul 2025 21:11:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44448885</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=44448885</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44448885</guid></item><item><title><![CDATA[New comment by lightandlight in "Teaching feed readers about YouTube subscriptions"]]></title><description><![CDATA[
<p>I wrote a program that exposes my YouTube subscriptions as a news feed. It's seriously a relief to finally have this stuff show up in [my feed reader](<a href="https://www.newsblur.com" rel="nofollow">https://www.newsblur.com</a>).<p>It's not a "Show HN" because there's no way for others to try it (yet).<p>Some things I'm curious about:<p>* Is anyone else here doing something similar?<p>* Would anyone like to use this service?<p>* Are there other YouTube-meets-news-feed features that you'd love to see?</p>
]]></description><pubDate>Sun, 29 Jun 2025 11:03:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=44412110</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=44412110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44412110</guid></item><item><title><![CDATA[Teaching feed readers about YouTube subscriptions]]></title><description><![CDATA[
<p>Article URL: <a href="https://lectio.news/">https://lectio.news/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44412109">https://news.ycombinator.com/item?id=44412109</a></p>
<p>Points: 17</p>
<p># Comments: 14</p>
]]></description><pubDate>Sun, 29 Jun 2025 11:03:50 +0000</pubDate><link>https://lectio.news/</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=44412109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44412109</guid></item><item><title><![CDATA[New comment by lightandlight in "Definitive solution to the hardest problem in computing: P = NP?"]]></title><description><![CDATA[
<p>I'm encouraged by what you've shared here.
My impression of this topic is that it attracts a lot of cranks: "The secrets of the universe have been revealed, and you are all blind!"
Sounds like you're open to feedback and the possibility of being wrong.<p>My main concern is that it will be hard for you to find people who could give you excellent feedback on this,
because they probably have epistemic shields up around this topic due to all the surrounding crankery.
I don't know how to solve this, but I wish you luck.</p>
]]></description><pubDate>Tue, 20 May 2025 00:23:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44036462</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=44036462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44036462</guid></item><item><title><![CDATA[New comment by lightandlight in "Introducing a terms of use and updated privacy notice for Firefox"]]></title><description><![CDATA[
<p>I was pretty confused about why this even exists (it's weird to read a bunch of paragraphs that are semantically valid but don't seem to convey information), and then I read the [Privacy Notice](<a href="https://www.mozilla.org/en-US/privacy/firefox" rel="nofollow">https://www.mozilla.org/en-US/privacy/firefox</a>). Looks like there's a decent amount of surveillance / ad tech built in to Firefox.<p>From "How is your data used?":<p>> Firefox also shows its own search suggestions based on information stored on your local device (including recent search terms, open tabs, and previously visited URLs). These suggestions may include sponsored suggestions from Mozilla’s partners<p>> Mozilla's partners receive de-identified information about interactions with the suggestions they've served.<p>> Depending on your location, Mozilla derives the high level category (e.g., travel, shopping) of your search from keywords in that query, in order to understand the types and number of searches being made. We utilize privacy preserving technologies such that Mozilla only learns that someone, somewhere, performed a search relating to a particular category, without knowing who.<p>> Mozilla may also receive location-related keywords from your search (such as when you search for “Boston”) and share this with our partners to provide recommended and sponsored content. Where this occurs, Mozilla cannot associate the keyword search with an individual user once the search suggestion has been served and partners are never able to associate search suggestions with an individual user.<p>> You may be able to opt into an enhanced search experience, which will result in Mozilla processing additional personal data, including your technical data, location and search data. Some of that information may be shared with our partners on a de-identified and/or aggregated basis.<p>> We use technical data, language preference, and location to serve content and advertising on the Firefox New Tab page in the correct format (i.e. for mobile vs desktop), language, and relevant location. Mozilla collects technical and interaction data, such as the position, size, views and clicks on New Tab content or ads, to understand how people are interacting with our content and to personalize future content, including sponsored content. This data may be shared with our advertising partners on a de-identified or aggregated basis.<p>> In some instances, when ads are enabled on New Tab, additional browsing data may also be processed locally on your device to measure the effectiveness of those ads; such data will only be shared with Mozilla and/or our advertising partners via our privacy-preserving technologies on an aggregated and/or de-identified basis.<p>> When you allow us to do so, Firefox sends Mozilla data about the website domain or specific advertising campaign (if any) that referred you to our download page to help us understand and improve our marketing efforts. Firefox also shares information with our marketing partners to measure and improve these campaigns; what information is specifically shared varies (depending on how you discovered Firefox and your operating system) but generally includes how you were referred to our download page and whether you actively use Firefox. Where Firefox is pre-installed on your device, technical and interaction data (your device type and whether Firefox is used) will be sent to our marketing partners, and shared with Mozilla.</p>
]]></description><pubDate>Fri, 28 Feb 2025 10:47:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=43204158</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=43204158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43204158</guid></item><item><title><![CDATA[New comment by lightandlight in "Grok3 Launch [video]"]]></title><description><![CDATA[
<p>Here are some of my experiences:<p>* Figuring out where to start when learning new things (see also
  <<a href="https://news.ycombinator.com/item?id=43087685">https://news.ycombinator.com/item?id=43087685</a>>)<p><pre><code>  One way I treat LLMs is as a "semantic search engine". I find that LLMs get
  too many things wrong when I'm being specific, but they're pretty good at
  pointing me in a general direction.

  For example, I started learning about OS development and wanted to use Rust. I
  used ChatGPT to generate a basic Rust UEFI project with some simple
  bootloading code. It was broken, but it now gave me a foothold and I was able
  to use other resources (e.g. OSDev wiki) to learn how to fix the broken bits.
</code></pre>
* Avoiding reading the entire manual<p><pre><code>  It feels like a lot of software documentation isn't actually written for real
  readers; instead being a somewhat arbitrary listing of a program's features.
  When programs have this style of documentation, the worst case for figuring
  out how to do a simple thing is reading the entire manual. (There are better
  ways to write documentation, see e.g. <https://diataxis.fr/>)

  One example is [gnuplot](http://www.gnuplot.info/). I wanted to learn how to
  plot from the command line. I could have pieced together how to do it by
  zipping around the
  [gnuplot manual](http://www.gnuplot.info/docs_5.4/Gnuplot_5_4.pdf) and building
  something up piecewise, but it was faster to instruct Claude directly. Once
  Claude showed me how to do a particular thing (e.g. draw a scatter plot with
  dots intstead of crosses) I then used the manual to find other similar
  options.
</code></pre>
* Learning a large codebase / API<p><pre><code>  Similar to the previous point. If I ask Claude to write a simple program using
  a complex publicly-available API, it will probably write a broken program, but
  it won't be *completely* bogus because it will be in the right "genre". It
  will probably use some real modules, datatypes and functions in a realistic
  way. These are often good leads for which code/documentation I should read.

  I used this approach to write some programs that use the
  [GHC API](https://hackage.haskell.org/package/ghc). There are hundreds of
  modules, and when I asked Claude how to do something with the GHC API it wrote
  relevant (if incorrect) code, which helped me teach myself.
</code></pre>
* Cross-language poetry translation<p><pre><code>  My partner is Chinese and sometimes we talk about Chinese poetry. I'm not very
  fluent in Chinese so it's hard for me the grasp the beauty in these poems.
  Unfortunately literal English translations aren't very good. We've had some
  success with asking LLMs to translate Chinese poems in the style of various
  famous English poets. The translation is generally semantically correct, while
  having a more pleasing use of the English language than a direct translation.</code></pre></p>
]]></description><pubDate>Tue, 18 Feb 2025 13:37:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=43089286</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=43089286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43089286</guid></item><item><title><![CDATA[New comment by lightandlight in "OpenAI Is a Bad Business"]]></title><description><![CDATA[
<p>> I just asked ChatGPT what it knows about me, and apparently I am known for my work in the field of AI. [..] people taking this stuff at face value for anything important is terrifying.<p>Yeah, I'd be more comfortable if it could say "I don't know" instead of generating bullshit.<p>Simon Willison's article Think of language models like ChatGPT as a “calculator for words”[1] helped me think about this topic better:<p>> If you ask an LLM a question, it will answer it—no matter what the question! Using them as an alternative to a search engine such as Google is one of the most obvious applications—and for a lot of queries this works just fine. It’s also going to quickly get you into trouble.<p>All of this is why I only every use LLMs for things that I can verify.<p>[1]: <a href="https://simonwillison.net/2023/Apr/2/calculator-for-words/" rel="nofollow">https://simonwillison.net/2023/Apr/2/calculator-for-words/</a></p>
]]></description><pubDate>Tue, 15 Oct 2024 21:15:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=41853211</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=41853211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41853211</guid></item><item><title><![CDATA[New comment by lightandlight in "Does “building in public” work?"]]></title><description><![CDATA[
<p>> > What I mean by this is, if you’re building in public there’s a 99% chance you’re going to end up building products for other indiehackers who are interested in following people who build in public.<p>> There must be some named law that states that the set of people you listen determine most of your thoughts. But it's something way wider in scope than Conway's Law.<p>A related term is "audience capture". When you do things based on the approval of your followers, you can end up catering to some weird niches.</p>
]]></description><pubDate>Sun, 22 Sep 2024 21:34:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=41620273</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=41620273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41620273</guid></item><item><title><![CDATA[New comment by lightandlight in "Show HN: GritQL, a Rust CLI for rewriting source code"]]></title><description><![CDATA[
<p>The first tool like this I saw was [comby](<a href="https://comby.dev/" rel="nofollow">https://comby.dev/</a>). I remember it being a bit annoying to use for small-to-medium refactors. Next time I'll try `grit` and see how it does.</p>
]]></description><pubDate>Thu, 21 Mar 2024 04:45:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=39774945</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=39774945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39774945</guid></item><item><title><![CDATA[New comment by lightandlight in "More than 50,000 Americans died by suicide in 2023–more than any year on record"]]></title><description><![CDATA[
<p>My childhood best friend died by suicide 2 years ago, after we had been out of contact for ~7 years. We were around 26 at the time. I had no idea what to about it, and it's something I still have to deal with as I get more in touch with my memories of childhood. I'm starting to develop more compassion and gratitude for my past friends, even if we're not friends anymore.</p>
]]></description><pubDate>Thu, 21 Mar 2024 00:24:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=39773656</link><dc:creator>lightandlight</dc:creator><comments>https://news.ycombinator.com/item?id=39773656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39773656</guid></item></channel></rss>