<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: dpeckett</title><link>https://news.ycombinator.com/user?id=dpeckett</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 12:32:45 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dpeckett" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dpeckett in "How the brain's activity, energy use and blood flow change as people fall asleep"]]></title><description><![CDATA[
<p>Absolutely, loss of deep sleep is associated with a ton of aging related cognitive decline. There's a number of startups experimenting with techniques to enhance deep sleep in the elderly atm (timed audio clicks, electrical stimulation etc).<p>There's not a lot of evidence that most common sleep medications are associated with long term improvements in health outcomes. Most have substantial detrimental effects on sleep architecture, can exacerbate underlying issues like apnea etc. Interesting the gabapentanoids (chronic pain) and Xyrem (narcolepsy) are associated with increased slow wave sleep. More research is needed (eg the DORA drugs [1]).<p>Thankfully circadian issues (in the absence of sleep loss) aren't associated with negative health outcomes. Just a case of finding a way to modify ones life to accommodate them.<p>1. <a href="https://en.wikipedia.org/wiki/Orexin_antagonist" rel="nofollow">https://en.wikipedia.org/wiki/Orexin_antagonist</a></p>
]]></description><pubDate>Tue, 28 Oct 2025 13:18:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45732513</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45732513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45732513</guid></item><item><title><![CDATA[New comment by dpeckett in "How the brain's activity, energy use and blood flow change as people fall asleep"]]></title><description><![CDATA[
<p>Melatonin has a short half life (~1h), that's why melatonin receptor agonists [1] are a thing. So just mechanistically it's unlikely to help with sleep maintenance.<p>Do you wake up after 5.5h at a consistent time of the day and the first half of the night is peaceful? If you fall back asleep do you then wake again shortly after?<p>I mean waking in the night can be many things (apnea, etc), but you could very well have a rather advanced sleep phase.<p>1. <a href="https://en.wikipedia.org/wiki/Melatonin_receptor_agonist" rel="nofollow">https://en.wikipedia.org/wiki/Melatonin_receptor_agonist</a></p>
]]></description><pubDate>Tue, 28 Oct 2025 12:36:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45732017</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45732017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45732017</guid></item><item><title><![CDATA[New comment by dpeckett in "How the brain's activity, energy use and blood flow change as people fall asleep"]]></title><description><![CDATA[
<p>I'm pretty sure at this point I have familial advanced sleep phase syndrome of an unknown genetic etiology [1].<p>Wake up stupid early in the morning, get drowsy very early in the evenings etc. For a long time due to social pressure/habit I'd just power through the evening drowsiness. That lead to me only being able to sleep six hours or so (due to waking up stupid early), which over time lead to a substantial sleep debt.<p>Going to bed early helps a lot, but over time it seems like I easily start drifting earlier and earlier. I've recently had some success stabilizing my rhythm using sublingual melatonin when I first waken at 2-3am. Let's me get a couple extra hours of additional quality sleep which is a lifesaver. Wears off quick enough that by 9am or so it's basically out of my system.<p>I've actually been tinkering/hacking the last year or so on sleep tracking wearables. Initially focused on EEG/HRV monitoring but I'm taking a very modular approach and ultimately want to build a full set of sensors/effectors/etc.<p>I've recently been experimenting a lot with skin temperature gradients, turns out in the lead up to sleep it's not just blood flow in the brain that is altered [2].<p>1. <a href="https://en.wikipedia.org/wiki/Advanced_sleep_phase_disorder#Familial_advanced_sleep_phase_syndrome" rel="nofollow">https://en.wikipedia.org/wiki/Advanced_sleep_phase_disorder#...</a><p>2. <a href="https://journals.physiology.org/doi/pdf/10.1152/ajpregu.2000.278.3.R741" rel="nofollow">https://journals.physiology.org/doi/pdf/10.1152/ajpregu.2000...</a></p>
]]></description><pubDate>Tue, 28 Oct 2025 12:22:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=45731877</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45731877</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45731877</guid></item><item><title><![CDATA[New comment by dpeckett in "Wireguard FPGA"]]></title><description><![CDATA[
<p>FWIW QUIC enforces TLS 1.3 and modern crypto. A lot smaller surface area and far fewer foot-guns. Combined with memory safe TLS implementations in Go and Rust I think it's fair to say things have changed since the heartbleed days.</p>
]]></description><pubDate>Mon, 13 Oct 2025 06:25:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45565279</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45565279</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45565279</guid></item><item><title><![CDATA[New comment by dpeckett in "Wireguard FPGA"]]></title><description><![CDATA[
<p>How did you work around WireGuard's encryption and multiqueue bottlenecks? Jumbo frames?<p>25G is a lot for WireGuard [1].<p>1. <a href="https://www.youtube.com/watch?v=oXhNVj80Z8A" rel="nofollow">https://www.youtube.com/watch?v=oXhNVj80Z8A</a></p>
]]></description><pubDate>Mon, 13 Oct 2025 05:22:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=45564930</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45564930</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45564930</guid></item><item><title><![CDATA[New comment by dpeckett in "Wireguard FPGA"]]></title><description><![CDATA[
<p>Now that's an interesting, and wild, idea.<p>I don't believe you could implement RFC 9484 directly in the browser (missing capsule apis would make upgrading the connection not possible). Though WebTransport does support datagrams so you could very well implement something custom.</p>
]]></description><pubDate>Mon, 13 Oct 2025 05:15:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45564888</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45564888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45564888</guid></item><item><title><![CDATA[New comment by dpeckett in "Wireguard FPGA"]]></title><description><![CDATA[
<p>I've recently spent a bunch of time working on a mesh networking project that employs CONNECT-IP over QUIC [1].<p>There's a lot of benefits for sure, mTLS being a huge one (particularly when combined with ACME). For general purpose, spoke and hub VPN's tunneling over QUIC is a no-brainer. Trivial to combine with JWT bearer tokens etc. It's a neat solution that should be used more widely.<p>However there are downsides, and those downsides are primarily performance related. For a bunch of reasons, some just including poorly optimized library code, others involving relatively high message parsing/framing/coalescing/fragmenting costs, and userspace UDP overheads. On fat pipes today you'll struggle to get more than a few gbits of throughput @ 1500 MTU (which is plenty for internet browsing for sure).<p>For fat pipes and hardware/FPGA acceleration use cases, google probably has the most mature approach here with their datacenter transport PSP [2]. Basically a stripped down per flow IPsec. In-kernel IPsec has gotten a lot faster and more scalable in recent years with multicore/multiqueue support [3]. Internal benchmarking still shows IPsec on linux absolutely dominating performance benchmarks (throughput and latency).<p>For the mesh project we ended up pivoting to a custom offload friendly, kernel bypass (AF_XDP) dataplane inspired by IPsec/PSP/Geneve.<p>I'm available for hire btw, if you've got an interesting networking project and need a remote Go/Rust developer (contract/freelance) feel free to reach out!<p>1. <a href="https://www.rfc-editor.org/rfc/rfc9484.html" rel="nofollow">https://www.rfc-editor.org/rfc/rfc9484.html</a><p>2. <a href="https://cloud.google.com/blog/products/identity-security/announcing-psp-security-protocol-is-now-open-source" rel="nofollow">https://cloud.google.com/blog/products/identity-security/ann...</a><p>3. <a href="https://netdevconf.info/0x17/docs/netdev-0x17-paper54-talk-slides/sec_ws_slides.pdf" rel="nofollow">https://netdevconf.info/0x17/docs/netdev-0x17-paper54-talk-s...</a></p>
]]></description><pubDate>Mon, 13 Oct 2025 04:44:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45564745</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=45564745</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45564745</guid></item><item><title><![CDATA[New comment by dpeckett in "Io_uring, kTLS and Rust for zero syscall HTTPS server"]]></title><description><![CDATA[
<p>For TCP streams syscall overhead isn't a big issue really, you can easily transfer large chunks of data in each write(). If you have TCP segmentation offload available you'll have no serious issues pushing 100gbit/s. Also if you are sending static content don't forget sendfile().<p>UDP is a whole another kettle of fish, get's very complicated to go above 10gbit/s or so. This is a big part of why QUIC really struggles to scale well for fat pipes [1]. sendmmsg/recvmmsg + UDP GRO/GSO will probably get you to ~30gbit/s but beyond that is a real headache. The issue is that UDP is not stream focused so you're making a ton of little writes and the kernel networking stack as of today does a pretty bad job with these workloads.<p>FWIW even the fastest QUIC implementations cap out at <10gbit/s today [2].<p>Had a good fight writing a ~20gbit userspace UDP VPN recently. Ended up having to bypass the kernels networking stack using AF_XDP [3].<p>I'm available for hire btw, if you've got an interesting networking project feel free to reach out.<p>1. <a href="https://arxiv.org/abs/2310.09423" rel="nofollow">https://arxiv.org/abs/2310.09423</a><p>2. <a href="https://microsoft.github.io/msquic/" rel="nofollow">https://microsoft.github.io/msquic/</a><p>3. <a href="https://github.com/apoxy-dev/icx/blob/main/tunnel/tunnel.go" rel="nofollow">https://github.com/apoxy-dev/icx/blob/main/tunnel/tunnel.go</a></p>
]]></description><pubDate>Fri, 22 Aug 2025 14:31:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=44985151</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=44985151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44985151</guid></item><item><title><![CDATA[New comment by dpeckett in "Go Protobuf: The New Opaque API"]]></title><description><![CDATA[
<p>Amen to that.</p>
]]></description><pubDate>Tue, 17 Dec 2024 18:56:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=42444134</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42444134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42444134</guid></item><item><title><![CDATA[New comment by dpeckett in "Go Protobuf: The New Opaque API"]]></title><description><![CDATA[
<p>It's a different company paying each time ;)<p>I'm actually super excited to see how <a href="https://www.sovereign.tech" rel="nofollow">https://www.sovereign.tech</a> turns out long-term. Germany has a lot of issues with missing the boat on tech, but the sovereign tech fund is such a fantastic idea.</p>
]]></description><pubDate>Tue, 17 Dec 2024 12:16:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42440754</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42440754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42440754</guid></item><item><title><![CDATA[New comment by dpeckett in "Go Protobuf: The New Opaque API"]]></title><description><![CDATA[
<p>It's mind-blowing to think XDR / ONC RPC V2 were products of the 1980s, and that sitting here nearly forty years later we are discussing the same problem space.<p>Probably the biggest challenge with something like XDR is it's very hard to maintain tooling around it long-term. Nobody wants to pay for forty years of continuous incremental improvement, maintenance, and modernization.<p>Long term this churn will hopefully slow down, it's inevitable as we collectively develop a solid set of "engineering principles" for the industry.</p>
]]></description><pubDate>Tue, 17 Dec 2024 11:41:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=42440563</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42440563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42440563</guid></item><item><title><![CDATA[New comment by dpeckett in "Go Protobuf: The New Opaque API"]]></title><description><![CDATA[
<p>Now that's an interesting thought, I wonder if you could use a modified subset of TypeScript to create a IDL/DDL for JSON-RPC. Then compile that schema into implementations for various target languages.</p>
]]></description><pubDate>Tue, 17 Dec 2024 10:29:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=42440135</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42440135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42440135</guid></item><item><title><![CDATA[New comment by dpeckett in "Go Protobuf: The New Opaque API"]]></title><description><![CDATA[
<p>I'd say the success of REST kind of proves that's something that for the most part can be worked around. Often comes down to the JSON codec itself, many codecs will allow unmarshalling/marshalling fields straight into long int types.<p>Also JS now has BigInt types and the JSON decoder can be told to use them. So I'd argue it's kind of a moot point at this stage.</p>
]]></description><pubDate>Mon, 16 Dec 2024 22:56:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=42436425</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42436425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42436425</guid></item><item><title><![CDATA[New comment by dpeckett in "Go Protobuf: The New Opaque API"]]></title><description><![CDATA[
<p>To be honest I kind of find myself drifting away from gRPC/protobuf in my recent projects. I love the idea of an IDL for describing APIs and a great compiler/codegen (protoc) but there's just soo many idiosyncrasies baked into gRPC at this point that it often doesn't feel worth it IMO.<p>Been increasingly using LSP style JSON-RPC 2.0, sure it's got it's quirks and is far from the most wire/marshaling efficient approach but JSON codecs are ubiquitous and JSON-RPC is trivial to implement. In-fact I recently even wrote a stack allocated, server implementation for microcontrollers in Rust <a href="https://github.com/OpenPSG/embedded-jsonrpc">https://github.com/OpenPSG/embedded-jsonrpc</a>.<p>Varlink (<a href="https://varlink.org/" rel="nofollow">https://varlink.org/</a>) is another interesting approach, there's reasons why they didn't implement the full JSON-RPC spec but their IDL is pretty interesting.</p>
]]></description><pubDate>Mon, 16 Dec 2024 22:16:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=42436071</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42436071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42436071</guid></item><item><title><![CDATA[New comment by dpeckett in "Why America's economy is soaring ahead of its rivals"]]></title><description><![CDATA[
<p>The German pension system is completely insane. There is no fund backing it, and disbursements already exceed contributions to the tune of 127B EUR per year (which is subsidized from the general budget) and the gap is only growing.<p>Probably explains a good chunk of Germany's and the EUs anemic growth. Simply put, that's 127B EUR that can't be spent investing in the future and growing the economy.</p>
]]></description><pubDate>Thu, 05 Dec 2024 13:41:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=42328141</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42328141</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42328141</guid></item><item><title><![CDATA[New comment by dpeckett in "Why America's economy is soaring ahead of its rivals"]]></title><description><![CDATA[
<p>I think this is the fundamental cultural difference between countries like the USA (and Australia) vs most of the EU.<p>Folks here expect and trust the state to provide for the future, private provisions are easily dismissed as unnecessary. As a result of this the median household wealth of the area I live in is 5x lower than my home country of Australia, despite incomes (adjusted for purchasing power) not being drastically different.<p>Whether that trust is wisely placed we'll have to wait and see[1]. However I do need to narrow that down a bit, it's not the whole EU, mostly France/Germany. There are other nations moving ahead with private pension schemes etc and much higher household wealth (Denmark, Sweden, Netherlands).<p>1. My main concern is government investment is inherently slow, politically charged, and pathologically risk averse vs the private sector. This means in the aggregate, over the long term, private household investments will out perform.</p>
]]></description><pubDate>Thu, 05 Dec 2024 10:23:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=42326740</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42326740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42326740</guid></item><item><title><![CDATA[New comment by dpeckett in "Hetzner cuts traffic on US VPSs, raises prices"]]></title><description><![CDATA[
<p>Yep they're the technology equivalent of a discount supermarket. Everything is commoditized to the extreme.<p>Breath of fresh air in the modern cloud era tbh.</p>
]]></description><pubDate>Thu, 28 Nov 2024 16:22:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=42266444</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42266444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42266444</guid></item><item><title><![CDATA[New comment by dpeckett in "Hetzner cuts traffic on US VPSs, raises prices"]]></title><description><![CDATA[
<p>This is typical of Hetzner, if a product SKU is losing money they very quickly make changes, even going as far as to discontinue the product entirely (eg. GPU servers). They definitely don't seem to be a fan of loss leaders.<p>I'm guessing somehow the traffic usage patterns of their USA customers was very different to their EU counterparts, or the cost of expanding network capacity was a lot higher than anticipated.<p>It's a bit of a shock for sure but it seems this model is a big part of how they can maintain their slim margins.</p>
]]></description><pubDate>Thu, 28 Nov 2024 15:06:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=42265746</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42265746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42265746</guid></item><item><title><![CDATA[New comment by dpeckett in "I Didn't Need Kubernetes, and You Probably Don't Either"]]></title><description><![CDATA[
<p>That probably runs on Kubernetes (or Borg) under the hood.</p>
]]></description><pubDate>Wed, 27 Nov 2024 10:30:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=42254839</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42254839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42254839</guid></item><item><title><![CDATA[New comment by dpeckett in "Why don't you move abroad?"]]></title><description><![CDATA[
<p>Yeh nah mate, I'd recommend moving to the middle of nowhere in Aus over a low cost region in the EU. You really want to be in a long term growth environment (even if you're starting off at the bottom) than some decaying, economically deprived region. There's no free lunch in the western world.<p>I'm an Aussie living in a relatively low cost region in the EU, I moved here for career and networking/ecosystem reasons. That aspect of the move have definitely paid off in multiples but there's no doubt that QoL is significantly lower here and the tax rates on income are double what you are used to (a lot goes to social programs that as an immigrant you have limited entitlement to).</p>
]]></description><pubDate>Wed, 20 Nov 2024 11:36:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=42192908</link><dc:creator>dpeckett</dc:creator><comments>https://news.ycombinator.com/item?id=42192908</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42192908</guid></item></channel></rss>