<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: khrbtxyz</title><link>https://news.ycombinator.com/user?id=khrbtxyz</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 17 Sep 2026 13:07:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=khrbtxyz" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by khrbtxyz in "A 32-year-old bug walks into a Telnet server"]]></title><description><![CDATA[
<p>A surprisingly long article for a one-line fix the authors didn’t send.</p>
]]></description><pubDate>Thu, 17 Sep 2026 05:52:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=49736884</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=49736884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49736884</guid></item><item><title><![CDATA[New comment by khrbtxyz in "OpenBSD has a use-after-free allowing local privilege escalation to root"]]></title><description><![CDATA[
<p>It is required mainly for VMs that use virbr0 and NAT. Networking options like macvtap don't need it.</p>
]]></description><pubDate>Thu, 09 Jul 2026 23:06:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48853576</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=48853576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48853576</guid></item><item><title><![CDATA[New comment by khrbtxyz in "How to create an OS from scratch"]]></title><description><![CDATA[
<p><a href="https://github.com/mariuz/linux-0.01" rel="nofollow">https://github.com/mariuz/linux-0.01</a> might give you some ideas.</p>
]]></description><pubDate>Tue, 30 Sep 2025 03:49:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45421712</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=45421712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45421712</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Atomics and Concurrency"]]></title><description><![CDATA[
<p><a href="https://en.wikipedia.org/wiki/Load-link/store-conditional" rel="nofollow">https://en.wikipedia.org/wiki/Load-link/store-conditional</a></p>
]]></description><pubDate>Fri, 30 May 2025 16:18:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44137698</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=44137698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44137698</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Path Isn't Real on Linux"]]></title><description><![CDATA[
<p>Another bit of trivia about the shebang support in Linux is that is possible to build the kernel without it.  <a href="https://github.com/torvalds/linux/blob/master/fs/Kconfig.binfmt#L100">https://github.com/torvalds/linux/blob/master/fs/Kconfig.bin...</a><p><pre><code>  config BINFMT_SCRIPT
  tristate "Kernel support for scripts starting with #!"
  default y
  help
    Say Y here if you want to execute interpreted scripts starting with
    #! followed by the path to an interpreter.</code></pre></p>
]]></description><pubDate>Wed, 30 Apr 2025 01:32:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43840245</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=43840245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43840245</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Landrun: Sandbox any Linux process using Landlock, no root or containers"]]></title><description><![CDATA[
<p>I don't quite understand what --exec does. If I leave out --exec from example 3, is it supposed to prevent bash from executing other programs?<p><pre><code>  $ landrun --log-level debug --ro /usr/bin,/lib,/lib64 /usr/bin/bash --norc
  [landrun] 2025/03/22 17:16:29 Sandbox config: {ReadOnlyPaths:[/usr/bin /lib /lib64] ReadWritePaths:[] AllowExec:false BindTCPPorts:[] ConnectTCPPorts:[] BestEffort:true}
  [landrun:debug] 2025/03/22 17:16:29 Adding read-only path: /usr/bin
  [landrun:debug] 2025/03/22 17:16:29 Adding read-only path: /lib
  [landrun:debug] 2025/03/22 17:16:29 Adding read-only path: /lib64
  [landrun:debug] 2025/03/22 17:16:29 Applying Landlock restrictions
  [landrun] 2025/03/22 17:16:29 Landlock restrictions applied successfully
  [landrun] 2025/03/22 17:16:29 Executing: [/usr/bin/bash --norc]
  bash-5.2$ 
  bash-5.2$ /usr/bin/uname -r
  6.13.7-200.fc41.aarch64</code></pre></p>
]]></description><pubDate>Sun, 23 Mar 2025 00:24:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=43449817</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=43449817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43449817</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Everything You Never Wanted to Know About Linker Script (2021)"]]></title><description><![CDATA[
<p>Large projects like the Linux kernel, which are mostly C, use the preprocessor in .S files quite heavily.<p>Linux has hardly any .s files.<p><pre><code>  ~/linux$ find . -name '*.s'
  ./arch/x86/kernel/asm-offsets.s
  ./kernel/bounds.s
  ./scripts/mod/devicetable-offsets.s
</code></pre>
But there are plenty of .S files with #includes<p><pre><code>  ~/linux$ $ find . -name '*.S' | xargs grep -l '#include' | wc -l
  1217
</code></pre>
Edit: simplify command as suggested</p>
]]></description><pubDate>Sat, 30 Nov 2024 17:01:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42282582</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=42282582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42282582</guid></item><item><title><![CDATA[New comment by khrbtxyz in "C Gibberish to English"]]></title><description><![CDATA[
<p>Function typedefs make this less confusing by removing awkward parentheses. e.g.<p><pre><code>  typedef int read_block_fn(void *context, u8 *buf, unsigned int block, size_t len);
</code></pre>
<a href="https://github.com/torvalds/linux/blob/0a9b9d17f3a781dea03baca01c835deaa07f7cc3/drivers/gpu/drm/drm_edid.c#L2317">https://github.com/torvalds/linux/blob/0a9b9d17f3a781dea03ba...</a></p>
]]></description><pubDate>Thu, 14 Nov 2024 15:18:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=42136997</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=42136997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42136997</guid></item><item><title><![CDATA[New comment by khrbtxyz in "M4 MacBook Pro"]]></title><description><![CDATA[
<p>Nested virtualization needs at least an M3<p><a href="https://developer.apple.com/documentation/virtualization/vzgenericplatformconfiguration/4360553-isnestedvirtualizationsupported" rel="nofollow">https://developer.apple.com/documentation/virtualization/vzg...</a><p>This is the sad situation on my M2 MacBook Pro :(<p><pre><code>  $ swift repl
  Welcome to Apple Swift version 6.0.2 (swiftlang-6.0.2.1.2 clang-1600.0.26.4).
  Type :help for assistance.
    1> import Virtualization
    2> VZGenericPlatformConfiguration.isNestedVirtualizationSupported
  $R0: Bool = false</code></pre></p>
]]></description><pubDate>Thu, 31 Oct 2024 02:08:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=42002734</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=42002734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42002734</guid></item><item><title><![CDATA[New comment by khrbtxyz in "New iMac with M4"]]></title><description><![CDATA[
<p>This is form-over-function, classic Apple.  They don't want to give even the slightest impression that they are selling a wired mouse.</p>
]]></description><pubDate>Mon, 28 Oct 2024 17:36:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=41973826</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=41973826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41973826</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Exploring How Cache Memory Works"]]></title><description><![CDATA[
<p>From a Raspberry Pi 5: L2 cache line is 128<p><pre><code>  Vendor ID:              ARM
  Model name:             Cortex-A76

  $ lscpu -C
  NAME ONE-SIZE ALL-SIZE WAYS TYPE        LEVEL SETS PHY-LINE COHERENCY-SIZE
  L1d       64K     256K    4 Data            1  256                      64
  L1i       64K     256K    4 Instruction     1  256                      64
  L2       512K       2M    4 Unified         2 1024                     128
  L3         2M       2M   16 Unified         3 2048                      64</code></pre></p>
]]></description><pubDate>Thu, 27 Jun 2024 07:38:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=40808285</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40808285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40808285</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Daily Automated Testing for Milk-V Duo S RISC-V SBC (IKEA Tretakt, Apache NuttX)"]]></title><description><![CDATA[
<p>There's a Python library that has been quite reliable for me for local control.<p><pre><code>  $ python3
  Python 3.12.4 (main, Jun  6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] on darwin
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import pywemo
  >>> d = pywemo.discover_devices()
  >>> d
  [<WeMo Switch "Guest">, <WeMo Switch "Fireplace">, <WeMo Switch "Bedroom Dresser">]
  >>> d[0].model
  'Belkin Plugin Socket 1.0'
  >>> d[0].toggle()
  >>></code></pre></p>
]]></description><pubDate>Sun, 23 Jun 2024 04:45:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=40764868</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40764868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40764868</guid></item><item><title><![CDATA[New comment by khrbtxyz in "EasyOS: An experimental Linux distribution"]]></title><description><![CDATA[
<p>Yes, these commands have way too many options for anyone to remember.  The commands are best wrapped up in a script.  An ISO install is usually a manual process that can take time,  but it is definitely easier.</p>
]]></description><pubDate>Thu, 20 Jun 2024 05:14:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=40735146</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40735146</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40735146</guid></item><item><title><![CDATA[New comment by khrbtxyz in "EasyOS: An experimental Linux distribution"]]></title><description><![CDATA[
<p>Most Linux distributions ship ready-made VM images which are easier to turn into VMs.  See <a href="https://news.ycombinator.com/item?id=40610332">https://news.ycombinator.com/item?id=40610332</a></p>
]]></description><pubDate>Wed, 19 Jun 2024 23:41:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=40733521</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40733521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40733521</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Off-path TCP hijacking in NAT-enabled Wi-Fi networks"]]></title><description><![CDATA[
<p><a href="https://www.apple.com/shop/product/HMJU2ZM/A/belkin-ethernet-power-adapter-with-lightning-connector" rel="nofollow">https://www.apple.com/shop/product/HMJU2ZM/A/belkin-ethernet...</a></p>
]]></description><pubDate>Wed, 19 Jun 2024 02:16:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=40724120</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40724120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40724120</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Hello world in C inline assembly (2018)"]]></title><description><![CDATA[
<p>The exact same thing happens with GCC 12 with 32-bit MIPS.<p><pre><code>  #include <asm/unistd.h>
   
  char msg[] = "hello, world!\n";
   
  int main(void)
  {
      register int syscall_no asm("v0") = __NR_write;
      register int arg1       asm("a0") = 1;
      register char *arg2     asm("a1") = msg;
      register int arg3       asm("a2") = sizeof(msg) - 1;
   
      asm("syscall");
   
      return 0;
  }

  root@OpenWrt:~# objdump --disassemble=main
  ...
  00400580 <main>:
    400580: 27bdfff8  addiu sp,sp,-8
    400584: afbe0004  sw s8,4(sp)
    400588: 03a0f025  move s8,sp
    40058c: 24020fa4  li v0,4004
    400590: 24040001  li a0,1
    400594: 3c020041  lui v0,0x41
    400598: 24450650  addiu a1,v0,1616
    40059c: 2406000e  li a2,14
    4005a0: 0000000c  syscall</code></pre></p>
]]></description><pubDate>Mon, 17 Jun 2024 08:47:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=40703587</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40703587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40703587</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Understanding QEMU Devices (2018)"]]></title><description><![CDATA[
<p>There's also virt-install, which is part of the Virt Manager package.  <a href="https://github.com/virt-manager/virt-manager/blob/main/man/virt-install.rst">https://github.com/virt-manager/virt-manager/blob/main/man/v...</a><p><pre><code>  curl --output-dir $HOME/.local/share/libvirt/images/ -LO https://cloud.debian.org/images/cloud/bookworm/20240507-1740/debian-12-genericcloud-arm64-20240507-1740.qcow2
  virt-install --import --osinfo debian12 --disk size=20,backing_store=$HOME/.local/share/libvirt/images/debian-12-genericcloud-arm64-20240507-1740.qcow2 --controller type=scsi,model=virtio-scsi --cloud-init</code></pre></p>
]]></description><pubDate>Fri, 07 Jun 2024 16:39:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=40610332</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40610332</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40610332</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Show HN: A Short IPv6 Guide for Home IPv4 Admins"]]></title><description><![CDATA[
<p>Returning both the ULA and global addresses should be okay.  This is what my OpenWRT router does without any special setup.  wk1 is one of my local machines.<p><pre><code>  $ dig +short wk1 AAAA @192.168.1.1
  2601:646:...
  fd7c:b0fd:fd6a:1::ba5</code></pre></p>
]]></description><pubDate>Fri, 07 Jun 2024 01:32:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=40604448</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=40604448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40604448</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Ask HN: What are your favourite programming shortcuts"]]></title><description><![CDATA[
<p>Found it in the readline manual<p><a href="https://tiswww.cwru.edu/php/chet/readline/readline.html#index-insert_002dcomment-_0028M_002d_0023_0029" rel="nofollow">https://tiswww.cwru.edu/php/chet/readline/readline.html#inde...</a><p>insert-comment (M-#)
Without a numeric argument, the value of the comment-begin variable is inserted at the beginning of the current line.</p>
]]></description><pubDate>Sat, 30 Mar 2024 07:46:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=39872733</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=39872733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39872733</guid></item><item><title><![CDATA[New comment by khrbtxyz in "Ask HN: What are your favourite programming shortcuts"]]></title><description><![CDATA[
<p>Is this something special you have set up on your Mac?<p>I keep getting screenshots when I hit command-shift-3.  <a href="https://support.apple.com/en-us/102646" rel="nofollow">https://support.apple.com/en-us/102646</a></p>
]]></description><pubDate>Sat, 30 Mar 2024 04:06:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=39871746</link><dc:creator>khrbtxyz</dc:creator><comments>https://news.ycombinator.com/item?id=39871746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39871746</guid></item></channel></rss>