HNHacker News
TopNewBestAskShowJobs

chandlerswift

85 karma · joined July 13, 2020

https://chandlerswift.com
submissionscomments
chandlerswift··on The git history command
I've been theoretically a big fan of these commands; I use the `jj` equivalents all the time. The roadblock I've run into is that I as far as I can tell (from the man pages and the git source code) there's no way to get `git history` commands to sign commits they modify:

    $ git log --oneline --show-signature  # look ma, I signed my commits!
    3a1dd8f gpg: Signature made Mon 13 Jul 2026 10:45:50 PM CDT
    gpg:                using RSA key FBF32CDBCC134B44FD29B66FA851D929D52FB93F
    gpg:                issuer "chandler@chandlerswift.com"
    gpg: Good signature from "Chandler Swift <chandler@chandlerswift.com>" [ultimate]
    Second commit
    03c3f6e gpg: Signature made Mon 13 Jul 2026 10:45:16 PM CDT
    gpg:                using RSA key FBF32CDBCC134B44FD29B66FA851D929D52FB93F
    gpg:                issuer "chandler@chandlerswift.com"
    gpg: Good signature from "Chandler Swift <chandler@chandlerswift.com>" [ultimate]
    Initial commit
    $ git history reword HEAD~
    $ git log --oneline --show-signature  # oops! where'd they go?
    5662b2c (HEAD -> main) Second commit
    6bf6830 Initial commit amended
This has pushed me back to the time-honored `git rebase -i` since I do want to keep my commits signed.
chandlerswift··on Show HN: GitClassic.com, GitHub circa 2015 without JS & AI
https://gitclassic.com/navidrome:

    Error: repos.filter is not a function
https://gitclassic.com/navidrome/navidrome:

    API rate limit exceeded for 18.222.58.123. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
chandlerswift··on Guess I'm a rationalist now
Am I reading all of these backwards? You say

> He predicted at least $250 million in damages from Black Lives Matter protests.

He says

> 5. At least $250 million in damage from BLM protests this year: 30%

which, by my reading means he assigns it greater-than-even odds that _less_ than $250 million dollars in damages happened (I have no understanding of whether or not this result is the case, but my reading of your post suggests that you believe that this was indeed the outcome).

You say > He gave a 70% chance to Vitamin D being generally recognized as a good COVID treatment

while he says > Vitamin D is _not_ generally recognized (eg NICE, UpToDate) as effective COVID treatment: 70% (emphasis mine)

chandlerswift··on Blog hosted on a Nintendo Wii
https://web.archive.org/web/20250421184947/https://blog.infe...
chandlerswift··on Orphaning bcachefs-tools in Debian
Thanks for taking the time these references up for me!
chandlerswift··on Orphaning bcachefs-tools in Debian
I'm interested in hearing more about the history behind Debian and zlib! I did some searching and the closest thing I could find was a nod to the same incident in the Upstream Guide[0]. Do you know of a place where I could read more about it?

[0]: https://wiki.debian.org/UpstreamGuide#No_inclusion_of_third_...

chandlerswift··on FCC Officially Raises Minimum Broadband Metric from 25Mbps to 100Mbps
I got the same message, also from Xfinity. It does sort of make me wonder: If the FCC declared broadband to be 100/50, would I have 50mbps upload speeds this morning?

To me, this seems to be a clear positive outcome of the FCC's change: Xfinity had this capacity, the FCC raised their standards, and now all(?) Xfinity customers have increased upload speeds for zero additional cost. Seems like pretty much a best-case result of this metric increase.

Edit: Formerly 200/10, now 300/20. Email arrived 10am today.

chandlerswift··on Conditional Git Configuration
I'd attempted to configure this some time back, but never gotten it working, and this was the kick in the pants I needed to finally get it working!

In case anyone is stuck in the same way that I was, the trailing slash at the end (which I had previously omitted, not realizing) is necessary for this to work. The docs[0] mention this, but I'd managed to repeatedly miss it:

> If the pattern ends with /, * will be automatically added. For example, the pattern foo/ becomes foo/*. In other words, it matches "foo" and everything inside, recursively.

[0]: https://git-scm.com/docs/git-config#Documentation/git-config...

chandlerswift··on Show HN: Trains.fyi – a live map of passenger trains in the US and Canada
Would you please add an OpenStreetMap attribution[0]? It looks like you're using OSM data via OpenRailwayMap (which also requires its own attribution[1]) and Carto basemaps (which I'm not terribly familiar with, but at first glance appear to be based on OSM data[2])---each of which detail their respective attribution requirements.

Leaflet makes this incredibly simple; just add the suggested text to the attribution field when you initialize the layers:

        L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', {
            maxZoom: 19,
            attribution: '' // here!
        }).addTo(map);
        var railwayOverlay = L.tileLayer('https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png', {
            attribution: '', // and here!
        }).addTo(map);
[0]: https://www.openstreetmap.org/copyright

[1]: https://wiki.openstreetmap.org/wiki/OpenRailwayMap/API

[2]: https://drive.google.com/file/d/1P7bhSE-N9iegI398QYDjKeVhnbS... via https://carto.com/legal

chandlerswift··on Was Rust Worth It?
I'm interested in what went into this number.

I checked the six most recently published crates on crates.io (blablabla, nutp, tord, g2d, testpublishtesttest, hellochi, at the time of writing). Three of those (blablabla, testpublishtesttest, and hellochi) did some variation on printing `hello world`. g2d seems like an interesting graphics library. tord provides a data structure for transitive relations, which is also neat. No crate contained over 250 lines of code. Unsurprisingly, none of them contained unsafe code.

Elsewhere in this thread, it's been pointed out that as a consequence of crates.io having a global namespace, plus lax enforcement of an anti-squatting policy, there are a lot of namesquatting packages. Those presumably contain no unsafe code.

tokio contains unsafe code. rand contains unsafe code. regex contains unsafe code. time contains unsafe code. (method: a smattering of packages chosen from blessed.rs; result: every one that I checked except serde containing unsafe code; epistemic status: eh -- I grepped the codebases, ignoring things that were pretty clearly tests, but might have accidentally included some example code or something that's not part of the core library? Please let me know if I've misattributed unsafe usage to one of these projects, or if I've managed to select a biased sample!)

I'd certainly believe a straightforward reading of the claim "80% of crates have no unsafe code"...but that seems almost meaningless, given that a not-insignificant portion of crates contain basically no code at all? I'd be much more interested in a weighted percentage by downloads: I'd be wildly impressed if 80% of crate _downloads_ contained no unsafe code, and would be somewhat unsurprised if the number was well below 50% -- crates with more functionality would be more useful and therefore more download, but also more likely to use unsafe code, I'd imagine.

Edit: I just noticed crates.io has a most-downloaded list[0] -- I might end up running some numbers on top packages there tomorrow morning, for some more solid data.

[0]: https://crates.io/crates?sort=downloads

chandlerswift··on 54% of Portugal’s electricity is now generated by renewable energy
Looks great! Thanks for doing that so quickly :)
chandlerswift··on 54% of Portugal’s electricity is now generated by renewable energy
This is really neat! Thanks for sharing.

I notice that the map uses OpenStreetMap (via Mapbox, it looks like) for its base data, but doesn't display the required attribution[0]. For fixing this, their Attribution Guidelines[1] are pretty informative. Mapbox also has some helpful docs[2], and may have some additional requirements. Thanks!

Edit: After a bit of digging, I'm a bit unimpressed: it looks like the OSM and Mapbox attributions are deliberately hidden? From your compiled index.css:

    .mapboxgl-ctrl-logo,
    .mapboxgl-ctrl-attrib-inner {
      display: none !important;
    }

[0]: https://www.openstreetmap.org/copyright

[1]: https://osmfoundation.org/wiki/Licence/Attribution_Guideline...

[2]: https://docs.mapbox.com/help/getting-started/attribution/

chandlerswift··on AWS Customers Cannot Escape IPv4
Looks like the theme might be a lightly modified version of the GitHub Pages Hacker theme[0]?

[0]: https://github.com/pages-themes/hacker

chandlerswift··on Advanced x86: Virtualization with Intel VT-x
It looks like course details are linked in the sidebar to the right: https://opensecuritytraining.info/AdvancedX86-VTX.html (perhaps this URL would have made more sense for submission, per "Please submit the original source"?)
chandlerswift··on Longest-lasting incandescent light bulbs
Looks like it's still around! https://www.centennialbulb.org/cam.htm

On the home page:

> Click the "Home of the Worlds Longest Burning Light Bulb!" image above to see the Bulb-Cam in action

Which...wasn't the most intuitive, admittedly!

chandlerswift··on Electric cars prove we need to rethink brake lights
One more possible reason might be when driving down a hill: When descending a sufficiently steep incline, I may be braking just to maintain my speed! That said, I'm still _feeling_ negative acceleration to maintain a constant speed. (That said, if I'm doing this for more than a handful of seconds, I'll generally downshift, and _that_ doesn't trigger brake lights, despite also causing increased negative acceleration. So maybe regenerative braking is analagous, and fine without brake lights?)
chandlerswift··on Tell HN: Cancelling HP Instant Ink prevents cartridges from being used
I was looking into Brother (again) as a result of this post, and it turns out they also have their own Instant Ink-style program, with the same "cancel and we'll trash your still-full toner cartridge" terms[0]. Though, perhaps unsurprisingly, it does seem like they do a much better job about making it clearer what you're opting into, though the "we'll make your formerly-working cartridge unusable" note was fairly buried in the FAQs, and not terribly clear up front.

[0]: https://www.brother-usa.com/supplies/subscription-info/refre...

chandlerswift··on Show HN: Tracking my local bus with a RaspberryPi
Thanks! :) I definitely thought about seeing if I made a polished version, if I'd be able to sell a copy to the local transit authority, or something. But it made for a great conversation piece, and was tons of fun to build, so it's definitely a success as far as I'm concerned.
chandlerswift··on Show HN: Tracking my local bus with a RaspberryPi
I'd been exploring a similar project a few years ago, and ended up making a map that showed the location of buses along the routes I tended to take. I was pretty happy with it...except for the fact that it was built for the town (Duluth, MN) I went to school in, and I didn't get it finished until finals week of my last semester, and I left town immediately after!

https://chandlerswift.com/projects/bus-tracker

chandlerswift··on Yahoo Answers to shut down May 4, 2021
And here I was expecting https://xkcd.com/1102/