HNHacker News
TopNewBestAskShowJobs

comfydragon

115 karma · joined May 24, 2016

submissionscomments
comfydragon··on Our Project Suncatcher prototype satellite is in orbit
There were 317 successful orbital launches in 2025 [0] and 229 so far this year [1]...

[0]: https://en.wikipedia.org/wiki/2025_in_spaceflight#Orbital_la...

[1]: https://en.wikipedia.org/wiki/2026_in_spaceflight#Orbital_la...

Edit: mistyped 317 as 313

comfydragon··on Supreme Court takes sledgehammer to federal regulatory structure
> Campaigns already have strong limits.

The SC decided today that political parties can spend as much money as they want in coordination with candidates.

comfydragon··on Google Hits 50% IPv6
It really isn't. I mean, at a very basic addressing level, sure, IPv4 addresses and IPv6 addresses are just a sequence of octets. But at a network infrastructure level they are quite different, and IPv6 is (conceptually) designed for large-scale, hands-off deployments. See: SLAAC, NDP, DAD, GUA/ULA/link-local address scopes, unicast vs. multicast vs. anycast, etc.
comfydragon··on RFC 10008: The new HTTP Query Method
> the term 'query' is already used to refer to http requests in general

In what circles is this the case? I sometimes colloquially refer to a GET request as a query, but definitely not so on a POST, PUT or DELETE.

comfydragon··on A Matter Wi-Fi Light Bulb in Rust on the Raspberry Pi Pico 2 W
Thread is also IP(v6)-based. But in this context, Thread would go a fair ways toward solving stavros's concern, as it means security could be enforced on the Border Router(s), rather than each individual device.
comfydragon··on Copy Fail
It's a loadable module:

    CONFIG_CRYPTO_USER_API_AEAD=m
Using bpftrace to watch calls to module_request, openat, etc., it looks like when the kernel calls modprobe, it doesn't even look at the disable-algif.conf file:

    [module_request] pid=3648 comm=python name=algif-aead
    [umh_setup] pid=3648 comm=python path=/sbin/modprobe argv0=/sbin/modprobe argv1=-q argv2=-- argv3=algif-aead argv4=
    [openat] pid=3688 file=/etc/ld.so.cache
    [openat] pid=3688 file=/lib/liblzma.so.5
    [openat] pid=3688 file=/lib/libz.so.1
    [openat] pid=3688 file=/lib/libgcc_s.so.1
    [openat] pid=3688 file=/lib/libc.so.6
    [openat] pid=3688 file=/etc/modprobe.d
    [openat] pid=3688 file=/lib/modprobe.d
    [openat] pid=3688 file=/lib/modprobe.d/dist-blacklist.conf
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/modules.softdep
    [openat] pid=3688 file=/lib/modprobe.d/systemd.conf
    [openat] pid=3688 file=/etc/modprobe.d/usb.conf
    [openat] pid=3688 file=/proc/cmdline
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/modules.dep.bin
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/modules.alias.bin..
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/modules.symbols.b..
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/modules.builtin.a..
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/modules.builtin.b..
    [openat] pid=3688 file=/sys/module/algif_aead/initstate
    [openat] pid=3688 file=/sys/module/af_alg/initstate
    [openat] pid=3688 file=/sys/module/algif_aead/initstate
    [openat] pid=3688 file=/lib/modules/6.6.87.2-microsoft-standard-WSL2/kernel/crypto/alg..
    [finit_module] pid=3688 comm=modprobe fd=0 flags=0
    [module_load] pid=3688 comm=modprobe name=algif_aead
Restart WSL2, run the bpftrace, and try `sudo modprobe algif-aead`, and that shows it looking at (or I guess opening) other files in /etc/modprobe.d, including the new one.

The mystery is why.

comfydragon··on Copy Fail – CVE-2026-31431
Weirdly, the mitigation does not seem to work under WSL2 (at least in Ubuntu 24.04).

    Linux wsl2 6.6.87.2-microsoft-standard-WSL2 ...
`modprobe algif_aead` errors out, but if I run the POC, it succeeds.

Outside of WSL2, the mitigation does appear to work though.

comfydragon··on Your job is to deliver code you have proven to work
> The branch itself gets created with the ticket number and everything follows from that, there's no extra effort.

Only problem there is the potential for a deeply-ingrained assumption that the Jira key being in the branch name is sufficient for the traceability between the Jira issue and commits to always exist. I've had to remind many people I work with that branch names are not forever, but commit messages are.

Hasn't quite succeeded in getting everyone to throw a Jira ID in somewhere in the changeset, but I try...

comfydragon··on Pebble Index 01 – External memory for your brain
Pebble Time 2 has a compass sensor and HRM. https://ericmigi.com/blog/pebble-time-2-design-reveal#final-...

Unless you specifically are after a barometer, in which case I don't think the PT2 has that.

comfydragon··on Pebble, Rebble, and a path forward
I think most of the battery life improvement is the much more power-efficient SOCs available. The original Pebble used an STM32 processor and a TI Bluetooth chip, where nowadays having BLE integrated into the SOC is table stakes.
comfydragon··on How To Build A Smartwatch: Software
Did you get it in black like I did? My buttons also cracked practically right away (within a day), I suspect because the reinforcements were installed poorly (the buttons are VERY hard to press). It made the down button unusable.

But kudos to Eric and Claudio, they're shipping me a replacement (in white, which, as I understand it and as they said in their email, should be less susceptible to the issue, something about the white rubber versus black makes it less problematic). My only frustration was how quickly it failed, since I know it's a new-old-stock case.

Highly looking forward to the Time 2. I only stopped using my Pebble Time Steel when the battery life degraded to ~3 days (after about 6 years), used a Fossil Hybrid for a few years, now a Pixel watch. Measuring battery life in weeks will be a breath of fresh air :)

comfydragon··on IKEA launches new smart home range with 21 Matter-compatible products
> Matter simplifies this. It defines the API layer.

Technically Zigbee _also_ defines an API layer -- the Zigbee Cluster Library, or ZCL -- but that's more like an opt-in standard you _could_ implement, rather than any hard requirement. And no surprise, the Matter Cluster Library Specification, being authored by the same CSA that made ZCL, is eerily similar to ZCL...

But as I understand it, you're right that Matter is essentially "hey everyone, let's _actually_ standardize around a common application layer". It isn't technologically revolutionary (the building blocks have been around for more than a decade), but it's a better packaging of it all.

Source: My employer has been involved with Zigbee and other low-power network technologies for a long time.

comfydragon··on Setting the clock ahead to see what breaks
Assuming you have an ability to run your whole bare-metal application in a simulated/"dev" environment. Not everyone has that luxury. That becomes much easier if the micro you're targeting has support of some kind in say QEMU, but those are fairly few and far between.
comfydragon··on Things I’ve learned in my years as a software engineer (2021)
The way I interpreted that point is basically "if you don't think the tool/language/library you're using sucks in some way, you're not using it enough". As in, "opinionated" here doesn't mean "you should use this, everything else sucks" (which is what opinionated usually means in software contexts), it means you have opinions about these things that are founded in experience, not impressions. In that light, you ARE opinionated.
comfydragon··on CircuitPython – The easiest way to program microcontrollers
Various MicroPython implementations, specifically the STM32 port (which runs the PyBoard), expose their filesystem as a USB mass storage device that you can copy files into directly. So I wouldn't say that it's exclusive to CircuitPython by any stretch.
comfydragon··on Quick Start Guide for Flipper Zero
In the US, at least the 433 and 915 MHz, and of course 2.4 GHz, bands are unlicensed and widely used by all sorts of commercial, industrial, and DIY electronics. All my wireless temperature sensors in my house are on the 433 MHz band, my natural gas meter speaks (ERT) on 915...
comfydragon··on Lazygit: A simple terminal UI for Git commands
git remote prune origin ?
comfydragon··on Notes from the Meeting on Python GIL Removal Between Python Core and Sam Gross
MicroPython isn't really an alternative implementation of Python so much as it is an embedded scripting language that looks pretty much identical to normal Python.
comfydragon··on 20 years after 9/11: Will we ever stop taking our shoes off at airports?
I got a REAL ID several months ago and definitely didn't get fingerprinted in the process.
comfydragon··on strcpy: A niche function you don't need
williamvds's point is that the first argument to printf is still itself a null-terminated string, so it's basically turtles all the way down if you're using the C standard library.
comfydragon··on FTDI FT232RL: Real vs. Fake (2014)
Not quite, at least not necessarily. One feature of FTDI chips is an EEPROM that can be used to customize the enabled features, enumeration strings, and other things. That programming could probably be done in a separate jig, or in-circuit. So yes, 5 minutes of hardware work, but more potential rework at a higher level.

Not to mention the possibility of sealed cases/enclosures or potted PCBs.

comfydragon··on Emacs 27.2
> The community has migrated over to Spacemacs

I'm guessing you meant to say Doom Emacs there?

comfydragon··on The kernel has 6 separate ASN.1 parsers
Not in core Python, but in a widely-used library, yes. https://github.com/pyca/cryptography/issues/5771
comfydragon··on Perseverance Rover lands on Mars [video]
We actually got a picture like 3 minutes after landing. (Okay, a picture from shortly after landing.)
comfydragon··on Why Wasn't Ruby 3 Faster?
By resizing my window down to mobile-ish width, the "get your free e-book" thing on the right side covers the whole screen.
comfydragon··on Why updating DNS is slow
Not to mention some IOT devices or cellular routers/devices might force a longer minimum cache TTL, to "minimize data usage". I worked on a device that did so (minimum pdnsd cache time of 25 hours). It ended up causing failures when our cloud server did a cut-over, dropping the TTLs 24 hours in advance. :(
comfydragon··on Go 1.16 will make system calls through Libc on OpenBSD
But, that link shows mmap taking 6 arguments?
comfydragon··on We don’t use Python native enums
They're implemented using metaclasses. Metaprogramming is a part of the language.
comfydragon··on Sudo buffer overflow explained, and how to patch (WSL and Linux) [video]
That version has the patches for this CVE. https://launchpad.net/ubuntu/+source/sudo/1.8.31-1ubuntu1.2

I had basically the same comment on the first HN posts about it. Just because `sudo -V` doesn't say 1.9.5p2 doesn't mean you're still vulnerable... https://news.ycombinator.com/item?id=25920839

comfydragon··on Heap-based buffer overflow in Sudo
Unless the patches have been backported, as is the case for Ubuntu 18.04, in which case it may not need to be 1.9.5p2. https://launchpad.net/ubuntu/+source/sudo/1.8.21p2-3ubuntu1....
Page 1 of 2Next →