<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: stebalien</title><link>https://news.ycombinator.com/user?id=stebalien</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 17:34:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=stebalien" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by stebalien in "Make tmux pretty and usable (2024)"]]></title><description><![CDATA[
<p>My experience is that Emacs wants to be your everything, and works best if you let it. Have you tried putting your terminals inside of Emacs instead of the other way around?<p>* If you need a "real" terminal emulator, you can use something like vterm (<a href="https://github.com/akermu/emacs-libvterm/" rel="nofollow">https://github.com/akermu/emacs-libvterm/</a>).<p>* If you need to be able to attach/detach Emacs sessions on remote machines, you can use something like dtach or abducto (<a href="https://www.brain-dump.org/projects/abduco/" rel="nofollow">https://www.brain-dump.org/projects/abduco/</a>).</p>
]]></description><pubDate>Mon, 13 Apr 2026 15:25:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47753383</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47753383</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47753383</guid></item><item><title><![CDATA[New comment by stebalien in "Waymo Safety Impact"]]></title><description><![CDATA[
<p>I live in LA and Waymos are the only cars I don't have to play chicken with when crossing the street. Even the drivers that see you will just give you a "sorry, I'm in a rush" wave as they nearly run you over.</p>
]]></description><pubDate>Thu, 19 Mar 2026 21:07:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47446110</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47446110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47446110</guid></item><item><title><![CDATA[New comment by stebalien in "Kagi Small Web"]]></title><description><![CDATA[
<p>I've been using it for 2.5 years at this point, and have the same experience. I don't think it's hopeless, but Kagi will need to step up their methods. IMO, there's actually a lot they can do here.</p>
]]></description><pubDate>Tue, 17 Mar 2026 14:18:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47413043</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47413043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47413043</guid></item><item><title><![CDATA[New comment by stebalien in "Is legal the same as legitimate: AI reimplementation and the erosion of copyleft"]]></title><description><![CDATA[
<p>Copyleft is a mirror of copyright, not a way to fight copyright. It grants rights to the consumer where copyright grants rights to the creator. Importantly, it gives the end-user the right to modify the software running on their devices.<p>Unfortunately, there are cases where you simply can't just "re-implement" something. E.g., because doing so requires access to restricted tools, keys, or proprietary specifications.</p>
]]></description><pubDate>Mon, 09 Mar 2026 17:02:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47311816</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47311816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47311816</guid></item><item><title><![CDATA[New comment by stebalien in "Court finds Fourth Amendment doesn’t support broad search of protesters’ devices"]]></title><description><![CDATA[
<p>The case was filed in 2023.</p>
]]></description><pubDate>Fri, 27 Feb 2026 16:43:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47182604</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47182604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47182604</guid></item><item><title><![CDATA[New comment by stebalien in "AirSnitch: Demystifying and breaking client isolation in Wi-Fi networks [pdf]"]]></title><description><![CDATA[
<p>Maybe I've just lost all patience for fluff, but I gave up trying to figure out what the attack was from the article pretty quickly where the abstract answered all my questions immediately.</p>
]]></description><pubDate>Thu, 26 Feb 2026 16:48:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47168536</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47168536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47168536</guid></item><item><title><![CDATA[New comment by stebalien in "AirSnitch: Demystifying and breaking client isolation in Wi-Fi networks [pdf]"]]></title><description><![CDATA[
<p>The article is hot garbage, here's the abstract from the paper (<a href="https://www.ndss-symposium.org/ndss-paper/airsnitch-demystifying-and-breaking-client-isolation-in-wi-fi-networks/" rel="nofollow">https://www.ndss-symposium.org/ndss-paper/airsnitch-demystif...</a>):<p>To prevent malicious Wi-Fi clients from attacking other clients on the same network, vendors have introduced client isolation, a combination of mechanisms that block direct communication between clients. However, client isolation is not a standardized feature, making its security guarantees unclear. In this paper, we undertake a structured security analysis of Wi-Fi client isolation and uncover new classes of attacks that bypass this protection. We identify several root causes behind these weaknesses. First, Wi-Fi keys that protect broadcast frames are improperly managed and can be abused to bypass client isolation. Second, isolation is often only enforced at the MAC or IP layer, but not both. Third, weak synchronization of a client’s identity across the network stack allows one to bypass Wi-Fi client isolation at the network layer instead, enabling the interception of uplink and downlink traffic of other clients as well as internal backend devices. Every tested router and network was vulnerable to at least one attack. More broadly, the lack of standardization leads to inconsistent, ad hoc, and often incomplete implementations of isolation across vendors. Building on these insights, we design and evaluate end-toend attacks that enable full machine-in-the-middle capabilities in modern Wi-Fi networks. Although client isolation effectively mitigates legacy attacks like ARP spoofing, which has long been considered the only universal method for achieving machinein-the-middle positioning in local area networks, our attack introduces a general and practical alternative that restores this capability, even in the presence of client isolation.</p>
]]></description><pubDate>Thu, 26 Feb 2026 16:22:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47168161</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=47168161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47168161</guid></item><item><title><![CDATA[New comment by stebalien in "UK House of Lords attempting to ban use of VPNs by anyone under 16"]]></title><description><![CDATA[
<p>> democracy<p>house of lords</p>
]]></description><pubDate>Thu, 11 Dec 2025 22:12:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46237974</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=46237974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46237974</guid></item><item><title><![CDATA[New comment by stebalien in "Copper thieves are wreaking havoc across America"]]></title><description><![CDATA[
<p>We do need to provide better services, but that's not going to solve this issue. The vast majority of people struggling to make ends meet don't stoop to destroying public infrastructure. Only the true anti-social assholes go there.</p>
]]></description><pubDate>Sat, 29 Nov 2025 22:45:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46091518</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=46091518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46091518</guid></item><item><title><![CDATA[New comment by stebalien in "How stealth addresses work in Monero"]]></title><description><![CDATA[
<p>This article left me more confused than enlightened. I recommend reading <a href="https://risencrypto.github.io/Monero/" rel="nofollow">https://risencrypto.github.io/Monero/</a> instead as it actually explains how the cryptography fits into Monero.</p>
]]></description><pubDate>Sat, 29 Nov 2025 16:05:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46088560</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=46088560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46088560</guid></item><item><title><![CDATA[New comment by stebalien in "Dr Matthew Garrett v Dr Roy Schestowitz and Anor"]]></title><description><![CDATA[
<p>For anyone interested, the story is told in the "truth defense" section:<p><a href="https://caselaw.nationalarchives.gov.uk/ewhc/kb/2025/3063#lvl_5_2" rel="nofollow">https://caselaw.nationalarchives.gov.uk/ewhc/kb/2025/3063#lv...</a></p>
]]></description><pubDate>Thu, 20 Nov 2025 16:15:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=45994242</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45994242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45994242</guid></item><item><title><![CDATA[New comment by stebalien in "How I am deeply integrating Emacs"]]></title><description><![CDATA[
<p>You likely don't need to optimize anything; Emacs has seen some pretty significant optimizations recently (native Emacs Lisp compilation, tree-sitter modes, better handling of long lines, etc.) so performance is rarely the issue.<p>However, you do need to avoid call-process (spawning blocking processes) as much as possible. Also, my experience with TRAMP has been pretty awful due to the fix for <a href="https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12145" rel="nofollow">https://debbugs.gnu.org/cgi/bugreport.cgi?bug=12145</a> (literally: TRAMP blocks all of Emacs while waiting on a network connection).</p>
]]></description><pubDate>Thu, 06 Nov 2025 18:35:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45838645</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45838645</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45838645</guid></item><item><title><![CDATA[New comment by stebalien in "How I am deeply integrating Emacs"]]></title><description><![CDATA[
<p>If you want to try eshell, try combining it with EAT (eat-eshell-mode).<p>> Maybe in my retirement I will end my career by helping to make emacs + EXWM multi threaded. I am guessing that is a daunting project, but it sure would be fulfilling.<p>This isn't fixable with threads, unfortunately. The issue is that:<p>1. Emacs e.g., launches a process with call-process. This blocks EVERYTHING (including other threads).
2. That process wants to map the window but EXWM can't respond to this request because Emacs is blocked.
3. The call to call-process never returns because the process can't create its window.<p>You'd have to fix Emacs to not block everything in cases like this, but that has been tried before: <a href="https://mail.gnu.org/archive/html/emacs-devel/2023-06/msg00796.html" rel="nofollow">https://mail.gnu.org/archive/html/emacs-devel/2023-06/msg007...</a><p>At this point, I think the right answer is to write a minimal out-of-process window manager (e.g., a wayland compositor).<p>1. During normal operation, it would behave like EXWM and ask Emacs how to manage windows, etc.
2. In special cases (TBD), it would behave autonomously, acting like a standard floating window manager until Emacs becomes responsive again.</p>
]]></description><pubDate>Thu, 06 Nov 2025 18:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45838472</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45838472</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45838472</guid></item><item><title><![CDATA[New comment by stebalien in "How I am deeply integrating Emacs"]]></title><description><![CDATA[
<p>IMO, they're a great way to get started without having to invest too much time up-front. On the other hand, that was 10 years ago and it's a LOT easier to throw together a usable config nowadays; with LSP + built-in tree-sitter modes, you no longer need 3 packages per language plus a bunch of configuration glue.</p>
]]></description><pubDate>Thu, 06 Nov 2025 17:48:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45837995</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45837995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45837995</guid></item><item><title><![CDATA[New comment by stebalien in "Self-hosting email like it's 1984"]]></title><description><![CDATA[
<p>I used to do this. What finally killed it wasn't reputation, it was the fact that I needed 100% uptime or risk losing messages, getting my address blacklisted, etc. Email is supposed to be resilient to down time (retries, trying each MX record, etc.) but I found that large mail providers tend to just bounce and walk away.<p>Worse, GitHub (back in 2016 and 2018) would mark a recipient as "unavailable" after a single bounce, refusing to send any more notifications to that address. They since improved the situation and their support was actually very helpful and responsive here, but it's pretty clear that modern SMTP senders have an expectation that recipients will be "always online" that didn't exist when the protocol was invented.</p>
]]></description><pubDate>Sat, 04 Oct 2025 19:55:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45476198</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45476198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45476198</guid></item><item><title><![CDATA[New comment by stebalien in "Where it's at://"]]></title><description><![CDATA[
<p>Ah, that's exactly what I was looking for. Thanks!<p>I guess I get why it works that way (avoids some issues with domain expiration) but... honestly, I'd rather have my domain name in control. Even after registering my own rotation key, I'm still at the mercy of the centralized PLC directory.<p>Unfortunately, it looks like it's not possible to migrate to a web DID without starting over.</p>
]]></description><pubDate>Sat, 04 Oct 2025 01:48:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469802</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45469802</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469802</guid></item><item><title><![CDATA[New comment by stebalien in "Where it's at://"]]></title><description><![CDATA[
<p>Is there any documentation on how to do this without running a custom appserver and/or PDS? Can I create my own DID and delegate to another DID?</p>
]]></description><pubDate>Sat, 04 Oct 2025 01:12:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469591</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45469591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469591</guid></item><item><title><![CDATA[New comment by stebalien in "Where it's at://"]]></title><description><![CDATA[
<p>I control my domain name and its DNS but I don't have the keys used to sign my DID. I followed the instructions here: <a href="https://bsky.social/about/blog/4-28-2023-domain-handle-tutorial" rel="nofollow">https://bsky.social/about/blog/4-28-2023-domain-handle-tutor...</a><p>From my reading of your blog post, it sounds like the DID is the ultimate authority and not my domain name, which sounds like a pretty big problem for user portability.</p>
]]></description><pubDate>Sat, 04 Oct 2025 01:11:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469586</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45469586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469586</guid></item><item><title><![CDATA[New comment by stebalien in "Where it's at://"]]></title><description><![CDATA[
<p>The recommendation to resolve from handles to DIDs for "permalinks" is concerning to me:<p>- My handle is something _I_ control. I can make it point at a different PDS at any time.<p>- My DID is something my PDS controls.<p>I could solve this by indirecting through a web DID under my control, but there's no recommendation anywhere in Bluesky's documentation. Is that something everyone needs to do to ensure real identity portability?<p>edit: I'm not sure this CAN be solved without running a PDS given that I can't use my own keys. What am I missing here?</p>
]]></description><pubDate>Sat, 04 Oct 2025 00:48:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45469486</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45469486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45469486</guid></item><item><title><![CDATA[New comment by stebalien in "F-Droid and Google’s developer registration decree"]]></title><description><![CDATA[
<p>Sure, but that means that either Google or the application author would be required to give me working keys with no restrictions, which would make the entire system rather pointless.<p>However, now that I think about it, the fact that "unauthorized" apps can still be installed via ADB exception may cover this?</p>
]]></description><pubDate>Mon, 29 Sep 2025 06:22:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45410853</link><dc:creator>stebalien</dc:creator><comments>https://news.ycombinator.com/item?id=45410853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45410853</guid></item></channel></rss>