<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: FujiApple</title><link>https://news.ycombinator.com/user?id=FujiApple</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Jul 2026 00:11:01 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=FujiApple" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by FujiApple in "Understanding Traceroute"]]></title><description><![CDATA[
<p>> If you ever see packet loss in a trace at one step but the steps after it aren't showing it, you can ignore that packet loss, it's likely a CPU limitation on a busy router.<p>Trippy now includes [0] forward loss (Floss) and backward loss (Bloss) _heuristics_ to help surface such behaviour.<p>The idea was inspired by our previous discussion [1] on the topic on HN some time ago!<p>These columns are experimental and so not shown by default but can be enabled [2].<p>[0] <a href="https://github.com/fujiapple852/trippy/blob/master/RELEASES.md#forward-and-backward-packet-loss-heuristics" rel="nofollow">https://github.com/fujiapple852/trippy/blob/master/RELEASES....</a><p>[1] <a href="https://news.ycombinator.com/item?id=38591827">https://news.ycombinator.com/item?id=38591827</a><p>[2] <a href="https://trippy.rs/reference/column" rel="nofollow">https://trippy.rs/reference/column</a></p>
]]></description><pubDate>Wed, 08 Apr 2026 23:49:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47697642</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=47697642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47697642</guid></item><item><title><![CDATA[New comment by FujiApple in "Writing simple tab-completions for Bash and Zsh"]]></title><description><![CDATA[
<p>I’ve recently been building a similar tool [1] which defines a specification for CLIs, though the goals are slightly different to the tool you mention I think. I just added support for fish as it happens.<p>[1] <a href="https://github.com/fujiapple852/claptrap" rel="nofollow">https://github.com/fujiapple852/claptrap</a></p>
]]></description><pubDate>Sun, 10 Aug 2025 23:50:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44859518</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=44859518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44859518</guid></item><item><title><![CDATA[New comment by FujiApple in "Rust CLI with Clap"]]></title><description><![CDATA[
<p>Something I’ve been working on recently is a command line tool [1] to bring clap declarative command line parsing to shell scripts. Unfinished WIP but largely functional.<p>[1] <a href="https://github.com/fujiapple852/claptrap">https://github.com/fujiapple852/claptrap</a></p>
]]></description><pubDate>Tue, 01 Jul 2025 04:08:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44430517</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=44430517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44430517</guid></item><item><title><![CDATA[New comment by FujiApple in "Show HN: Bracket City – A daily, exploded (?) crossword puzzle"]]></title><description><![CDATA[
<p>Great concept. I was on mobile and agree the custom keyboard is far from ideal. As others have said I also found it to be overly US-centric. Keen to see how this develops, feels like a winning idea!</p>
]]></description><pubDate>Tue, 25 Feb 2025 00:26:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=43166638</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=43166638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43166638</guid></item><item><title><![CDATA[New comment by FujiApple in "Schrödinger's IPv6 Cat"]]></title><description><![CDATA[
<p>You can, with several caveats, detect which hop(s) on the path perform NAT by using some trickery [1]:<p>> NAT devices are detected by observing a difference in the expected and actual checksum of the UDP packet that is returned as the part of the Original Datagram in the ICMP Time Exceeded message. If they differ then it indicates that a NAT device has modified the packet. This happens because the NAT device must recalculate the UDP checksum after modifying the packet (i.e. translating the source port) and so the checksum in the UDP packet that is nested in the ICMP error may not, depending on the device, match the original checksum.<p>[1] <a href="https://github.com/fujiapple852/trippy/releases/tag/0.11.0">https://github.com/fujiapple852/trippy/releases/tag/0.11.0</a></p>
]]></description><pubDate>Sat, 14 Dec 2024 01:01:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=42413738</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=42413738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42413738</guid></item><item><title><![CDATA[New comment by FujiApple in "How Raw sockets behave differently in macOS and Linux"]]></title><description><![CDATA[
<p>OP, you may find this [1] “trick” useful.  It allows you to dynamically determine the correct byte order for the various IPv4 headers for the platform and thus avoid the need to statically decide on the byte ordering for each platform you intend to target.<p>You may also find this [2] table useful, it shows which platforms allow the combination of IPPROTO_ICMP + IP_HDRINCL so it may be used without elevated privileges.<p>In general, my experience of raw sockets is that they are not very “raw” at all, the OS can and does still perform a variety of modifications and additions to what you send and receive, in highly platform specific and often poorly documented ways. In particular, TCP and raw sockets should generally be avoided.<p>[1] <a href="https://github.com/fujiapple852/trippy/blob/master/crates/trippy-core/src/net/platform/byte_order.rs">https://github.com/fujiapple852/trippy/blob/master/crates/tr...</a><p>[2] <a href="https://github.com/fujiapple852/trippy/issues/101#issuecomment-1784009140">https://github.com/fujiapple852/trippy/issues/101#issuecomme...</a></p>
]]></description><pubDate>Wed, 18 Sep 2024 23:55:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=41586929</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=41586929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41586929</guid></item><item><title><![CDATA[New comment by FujiApple in "The journey of an internet packet: Exploring networks with traceroute"]]></title><description><![CDATA[
<p>It’s not guaranteed to be accurate, but tracing using the UDP/dublin strategy with a fixed dest port and varying src port per round can help to identify and visualize valid ECMP flows.  I recently wrote some guidance [1] on using Trippy in this way.<p>[1] <a href="https://github.com/fujiapple852/trippy?tab=readme-ov-file#udpdublin-with-fixed-target-port-and-variable-source-port">https://github.com/fujiapple852/trippy?tab=readme-ov-file#ud...</a></p>
]]></description><pubDate>Wed, 28 Aug 2024 15:17:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=41380477</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=41380477</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41380477</guid></item><item><title><![CDATA[New comment by FujiApple in "The Tao of Unicode Sparklines (2021)"]]></title><description><![CDATA[
<p>I recently had to look at the implementation of the Sparkline [1] widget in Ratatui which uses a similar Unicode technique but scales nicely for sparklines with larger vertical size.<p>[1] <a href="https://github.com/ratatui/ratatui/blob/20c88aaa5b9eb011a52240eab5edc1a8db23157a/src/widgets/sparkline.rs#L157">https://github.com/ratatui/ratatui/blob/20c88aaa5b9eb011a522...</a></p>
]]></description><pubDate>Mon, 26 Aug 2024 23:42:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=41363272</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=41363272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41363272</guid></item><item><title><![CDATA[New comment by FujiApple in "Ask HN: What are you working on (August 2024)?"]]></title><description><![CDATA[
<p>Exploring adding the (novel?) concept of forward and backward packet loss heuristics to Trippy [1] as discussed here [2].<p>[1] <a href="https://github.com/fujiapple852/trippy/issues/860">https://github.com/fujiapple852/trippy/issues/860</a><p>[2] <a href="https://news.ycombinator.com/item?id=38591945">https://news.ycombinator.com/item?id=38591945</a></p>
]]></description><pubDate>Sun, 25 Aug 2024 01:18:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=41343478</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=41343478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41343478</guid></item><item><title><![CDATA[New comment by FujiApple in "Slack AI Training with Customer Data"]]></title><description><![CDATA[
<p>I recently tried Zulip [1] again after a few years and the UX is much improved on web and mobile, worth a look (it is OSS and you can self host).<p>[1] <a href="https://zulip.com/" rel="nofollow">https://zulip.com/</a></p>
]]></description><pubDate>Fri, 17 May 2024 00:21:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=40385001</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=40385001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40385001</guid></item><item><title><![CDATA[New comment by FujiApple in "APNIC: Big Tech’s use of carrier-grade NAT is holding back internet innovation"]]></title><description><![CDATA[
<p>This Tailscale blog [1] from 2020 has been posted on HN many times before I’m sure but is worth highlighting again as it does a great job outlining the technical complexities that CGNAT (and NAT in general) introduce.<p>I have my head in this space at the moment as I’m trying to implement NAT detection (as pioneered by Dublin traceroute [2]) into Trippy [3].<p>[1] <a href="https://tailscale.com/blog/how-nat-traversal-works" rel="nofollow">https://tailscale.com/blog/how-nat-traversal-works</a><p>[2] <a href="https://dublin-traceroute.net/" rel="nofollow">https://dublin-traceroute.net/</a><p>[3] <a href="https://github.com/fujiapple852/trippy/issues/1104">https://github.com/fujiapple852/trippy/issues/1104</a></p>
]]></description><pubDate>Sat, 27 Apr 2024 05:35:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=40177549</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=40177549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40177549</guid></item><item><title><![CDATA[New comment by FujiApple in "NetBSD 10: Proper old-school Unix, not like those lazy, decadent Linux types"]]></title><description><![CDATA[
<p>What is the state of the art for running NetBSD (and other *BSD) in CI such as GitHub actions?<p>Edit: to add a bit more detail, I maintain a cross platform tool [1] on GitHub and require a way to build and test it in CI for several platform not natively supported by GitHub.<p>Currently I use cargo-cross [2] to build it from a Linux OS but this doesn’t work for running the tests.<p>One option I’m aware of is running a qemu VM on Linux, which is the approach taken by postgres [3].<p>Another option is using an external CI provider such as Cirrus who claim to have native support [4] for various *BSD.<p>[1] <a href="https://github.com/fujiapple852/trippy">https://github.com/fujiapple852/trippy</a><p>[2] <a href="https://github.com/cross-rs/cross">https://github.com/cross-rs/cross</a><p>[3] <a href="https://github.com/anarazel/pg-vm-images">https://github.com/anarazel/pg-vm-images</a><p>[4] <a href="https://cirrus-ci.org/guide/FreeBSD/" rel="nofollow">https://cirrus-ci.org/guide/FreeBSD/</a></p>
]]></description><pubDate>Wed, 17 Apr 2024 11:50:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=40063272</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=40063272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40063272</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>Thanks! I’ll take a look</p>
]]></description><pubDate>Tue, 12 Dec 2023 23:10:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=38620106</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38620106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38620106</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>For the RTT and loss% measurements Trippy just does the obvious thing (i.e. RTT = recv time - send time and loss% = lost / total_sent).<p>There is a plan [0] to add custom columns to Trippy and then to add various jitter measurements [1].<p>Thanks for pointing out the above RFCs, I'll take a look at those and see if they make sense to add to Trippy.<p>[0] <a href="https://github.com/fujiapple852/trippy/issues/757">https://github.com/fujiapple852/trippy/issues/757</a><p>[1] <a href="https://github.com/fujiapple852/trippy/issues/39">https://github.com/fujiapple852/trippy/issues/39</a></p>
]]></description><pubDate>Mon, 11 Dec 2023 01:06:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=38596595</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38596595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38596595</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>Thanks for that, I'll give this some thought and write a proposal in this [0] placeholder issue.<p>[0] <a href="https://github.com/fujiapple852/trippy/issues/860">https://github.com/fujiapple852/trippy/issues/860</a></p>
]]></description><pubDate>Mon, 11 Dec 2023 01:02:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=38596571</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38596571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38596571</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>I agree regarding documentation.  There was a request [0] for something similar, though not specifically covering this important point.<p>Regarding sending a ping flood, Trippy allow you to reduce the minimum and maximum round time (and grace period) to send packets almost as fast as you like.  For example, to send at 50ms intervals (with a 10ms grace period):<p>> trip example.com -i 50ms -T 50ms -g 10ms<p>[0] <a href="https://github.com/fujiapple852/trippy/issues/853">https://github.com/fujiapple852/trippy/issues/853</a></p>
]]></description><pubDate>Sun, 10 Dec 2023 16:13:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=38592523</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38592523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38592523</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>Something I intend to add to Trippy, but have not got around to it yet; is to codify the "If a packet takes the path A -> B -> C and pings to B have 50% loss but pings to C have 0% loss, then the path is perfectly fine" idea and use that to produce more meaningful headline status information to the user.  How would you codify this?</p>
]]></description><pubDate>Sun, 10 Dec 2023 15:04:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=38591945</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38591945</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38591945</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>Thank you, I'll look into those RFCs.</p>
]]></description><pubDate>Sun, 10 Dec 2023 14:28:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=38591702</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38591702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38591702</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>That looks great, seems like they've raised the bar for GeoIp accuracy, kudos to them.<p>It looks like they provide mmdb files (for a fee) which should be compatible with Trippy.  I'd love to be able to test it out, the sample [0] they provide is rather limited but I guess enough to test compatibility.<p>[0] <a href="https://github.com/ipinfo/sample-database/blob/main/IP%20Geolocation%20Extended/ip_geolocation_extended_ipv4_sample.mmdb">https://github.com/ipinfo/sample-database/blob/main/IP%20Geo...</a></p>
]]></description><pubDate>Sun, 10 Dec 2023 13:12:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=38591316</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38591316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38591316</guid></item><item><title><![CDATA[New comment by FujiApple in "Trippy – A Network Diagnostic Tool"]]></title><description><![CDATA[
<p>Thank you for adding Trippy to your list.<p>> how did you accomplish all the package managers?<p>In most cases I didn't do anything! I've discovered that there are many kind souls out there who are willing to give up their free time to package and maintain 3rd party applications for a variety of systems they wish to support.  It's tedious and, I suspect, usually thankless work.  I am very grateful to all of those who have helped with this for Trippy.</p>
]]></description><pubDate>Sun, 10 Dec 2023 12:22:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=38591055</link><dc:creator>FujiApple</dc:creator><comments>https://news.ycombinator.com/item?id=38591055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38591055</guid></item></channel></rss>