HNHacker News
TopNewBestAskShowJobs

zmj

903 karma · joined July 11, 2011

On chatbots: https://zmj.dev/author_assistant.html

RMNP hiking photography: https://hiking.zmj.dev

Go radix tree: https://pkg.go.dev/github.com/zmj/radixtree

C# rsync delta: https://github.com/zmj/rsync-delta

C# SQLite wrapper: https://www.nuget.org/packages/Sqlite.Fast/

submissionscomments
zmj··on Falsehoods programmers believe about TCP
I had to deal with the second problem in a file synchronization app. The solution was to propagate a “device id” through the request and poll/push, so the originating device could ignore changes that it originated.
zmj··on Russ Cox is stepping down as the Go tech lead
Thanks Russ! Putting tooling on a first-class basis was revolutionary, and it's still Go's standout feature.
zmj··on Glasgow 2024 Hugo Awards Statement – 22 July, 2024
I read a lot of SFF, but the actual Hugo / Nebula winners don't really move up in my reading list compared to the other nominees.

Maybe the "winner" sticker drives some paper book sales?

zmj··on Garage: Open-Source Distributed Object Storage
https://hub.docker.com/r/localstack/localstack
zmj··on Ask HN: Advice for leading a software migration?
Migrate the most complex use case first. There's nothing worse than discovering mid-migration that you have to pause for rework. Better instead to slow down with your first adopter and accelerate for subsequent.
zmj··on The Performance Impact of C++'s `final` Keyword
.NET is a little smarter about switch code generation these days: https://github.com/dotnet/roslyn/pull/66081
zmj··on Turning off electrical grids to prevent wildfire− a complex, technical operation
Agreed this was confusing. It seems like the risk factors that would lead to turning off a neighborhood (non-buried power lines, exposure to wind and available fuels) should have been known and announced in advance.

I'm in Lafayette, and it seemed strange that our power was on when neighborhoods in Louisville and Erie were out.

zmj··on Turning off electrical grids to prevent wildfire− a complex, technical operation
That's actually a real concern for using this strategy in Colorado in the fall. The Marshall Fire (mentioned in the article) was followed by snow and temperatures well below freezing. Sadly, this probably killed some pets that escaped the fire.
zmj··on Ask HN: What are your oldest "online" accounts still in use?
My World of Warcraft account. 20 years this fall!
zmj··on Via ferratas are finally catching on in the United States
Wasn't that due to lightning strikes on the cables?
zmj··on Projected File System
This isn't FUSE. It's a thin middle layer to hydrate content into the real filesystem.
zmj··on Lessons from a never-ending personal project
Do you want the thing you're building, or do you want to have built the thing you're building?
zmj··on I benchmarked six Go SQLite drivers
FFI was high priority for C# in the early days, when most meaningful .NET software was running on Windows and doing interop with win32. The runtime was designed to ensure that scenario would be low-overhead, and that legacy lives on in modern .NET.
zmj··on My favorite database shirts
Yup. I’ve had one of the North Carolina Google Fiber shirts for well over a decade.

I walked by the office a few weeks ago. It’s vacant and looked trashed inside. There’s a metaphor there.

zmj··on Fourteen Years of Go
Go has entered the "boring technology" phase, along with Java, .NET, etc. It's a safe, productive choice, with well understood upsides and downsides. There's not much to talk about... and that's ok!

"Choose Boring Technology": https://boringtechnology.club/

zmj··on Unified versus Split Diff
> the tests always pass

> it happens often that, even if the changes looks reasonable they are wrong

I’m having trouble reconciling these two statements.

When I review code, I’m rarely looking for bugs. Instead I’m looking for tests that would catch those bugs.

zmj··on What's new in C# 12: overview
Collection expressions are somewhere between spooky and very cool. If you don't specify a concrete type for the collection, the compiler is free to choose the "best" option given your usage of the collection:

https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...

zmj··on Starlink Direct to Cell
Two-way communication is important to prevent false positive emergencies, too. There have been several times I've used my inReach to message that I'm going to miss my planned check-in time, but everything is OK - no need to alert SAR.

Also to communicate on-the-fly decision-making to inform potential SAR - "I'm making good time, going to head up this extra peak before continuing the planned route."

I'm happy to have a cell phone backup to the inReach, but I don't see this Starlink offering as a replacement. That goes double if you're out in winter. Phone batteries aren't great in the cold.

zmj··on Beavers are helping restore wetlands and create buffers against wildfires
There's a lot of that happening in the Front Range (east side, not the Colorado). In addition to the mentioned benefits, beaver dams are also great at filtering debris from recent wildfires from continuing downstream.
zmj··on Two supermoons in August
I'm really hoping Aug 30 is a clear night in Colorado. Hiking by moonlight is something else.
zmj··on Is ORM still an anti-pattern?
I think this is the sweet spot. Last time I worked with SQLite on .NET I wrote a wrapper library along those lines: https://github.com/zmj/sqlite-fast
zmj··on The Staff Engineer's Path – Book Review
Those can be some of the most fun problems. Fixing deeply rooted reliability or scalability problems in the business's core product without disrupting users? That's absolutely a path to recognition and rewards.
zmj··on Colorado kills law that made it harder for cities to offer Internet service
I'm a data point towards that feedback loop. My partner and I moved to Colorado from a Southern state 4 years ago. We wanted to live somewhere in the West, and chose Colorado because:

* Mountains!

* Great legal protections for gender minorities, especially Boulder County

* Good tech scene to job hunt locally

We weren't part of that initial shift, but we're definitely part of the acceleration. We've met plenty of other transplants with similar stories.

zmj··on March 20 ChatGPT outage: Here’s what happened
I'm not familiar with the Python client specifically, but Redis clients generally multiplex concurrent requests onto a single connection per Redis server. That necessitates some queueing.
zmj··on Scalability is overrated
Office documents are zip files - you could get a start on this by version-controlling the contents individually.
zmj··on Using {blocks} in Rust and Go for fun and profit
C# has the same issue for stack-allocated spans. Doing that in a loop is often a stack overflow.
zmj··on Why is Booz Allen renting us back our own national parks?
I booked the 5-7am slot at RMNP every week this summer and had no problems, including July 4.

If you're doing anything that's life and death, you arrive before 5am anyway. The accident you reference mentioned that he knew it was a lazy choice:

> This summer the park continued a timed-entry system it launched in 2021. The program requires visitors to schedule and reserve windows of time to enter the park. Toor said he wanted to start earlier but was only able to secure an 8 a.m. entry reservation. Feduschak and Gaines, who ascended a much more technical route, entered the park before the timed entry system starts at 5 a.m.

> “Eight was a late start, but we didn’t quite have the oomph to get in before the 5 a.m. cutoff,” Toor said. “Maybe we just need to suck it up and get there before 5 a.m.”

zmj··on Why is Booz Allen renting us back our own national parks?
Yep. I use recreation.gov for entry permits into Rocky Mountain National Park every week in the summer, and I’ve never had a technical issue with it.
zmj··on Go 1.21 may have a clear(x) builtin
C# had the same NaN behavior until recently: https://learn.microsoft.com/en-us/dotnet/core/compatibility/...
zmj··on LiteDB: A .NET embedded NoSQL database
A few years ago, I needed faster SQLite interop than Microsoft.Data.Sqlite, and ended up writing my own: https://github.com/zmj/sqlite-fast

The ergonomics could be better, but this enabled query execution to avoid heap allocations and reflection.

← PreviousPage 3 of 9Next →