The commenter probably meant https://github.com/iShape-Rust/iTriangle, a sibling library that is indeed quite fast at triangulation, especially on bigger inputs
In my experience, Google Maps too often sends me down dangerous streets - busy, wide, arterials with fast moving automobiles.
Though I do know some people who prefer them because they can be a little faster. Not worth it for me. I'd much rather go a little out of my way for a comfortable safe ride.
Be sure to send them an email first, so that you can arrive at the proper time for them to give you a tour. It is very, very worth it. One of the best museum experiences so far.
Thanks to both of you for the info. I'm longtime Seattle and I had no idea. I'm still disappointed that the living computer museum was closed. Jody Allen is a decent person so was surprised she let that tiny line item expire from the spreadsheet, I digress.
+1 to this! If you have any interest in telephones, telephone switching, or phreaking, this place is incredible. And the people who run it are awesome.
Another thing that becomes easier with change IDs is reviewing multiple related commits together, essentially "stacked pull requests".
If you treat a branch as your unit of review, then it becomes super difficult for someone to submit a chain of related changes. You'll be constantly rebasing your pull requests onto each other as you get feedback from dependent branches.
I heard that the github CLI recently introduced support for this, but since in git there's no concept of dependent branches (a branch isn't even an object in git, just a reference to a commit), I think this approach will always be clunkier than reviewing commits related by a change ID.
> If you treat a branch as your unit of review, then it becomes super difficult for someone to submit a chain of related changes. You'll be constantly rebasing your pull requests onto each other as you get feedback from dependent branches.
A lot of people in the comments are saying he did it for "likes" - that's a pretty harsh reading of the article.
What I think a lot of people are missing is that the difference between supporting corporates who spend up to millions per year on your product and supporting end-users who are literlly counting every cent they spend is a huge gulf in terms of expectations, technical ability, professionalism.... the list goes on. It's a completely different game.
I thought the article was a brilliant summary of why you simply can't help all the users all the time. It's a hard lesson to learn in the world of Tech Support. We all want to be the knight is shining armour solving customer problems, but the skill to be able to say "no" in the right way is not universal.
To those ragging on the author - there are huge numbers of people who, even if you paid them to use your software, they would still complain and swear at you. It's just life. And dealing with the competing interests of customers, time pressures, personal sanity and many more is almost exactly the job description of Tech Support.
Thanks. I'm not really understanding the likes comment. What are likes in this context? I was very explicit in the post I thought providing better support would build customer relationships and improve retention, and I learned that really isn't true. Also I wrote this a couple days ago so the blog would have content and only submitted on a whim, had I known I'd get 10K views and 100 comments I would've written it more carefully
Thanks for posting this. I have experienced similar. I have found that nasty bug reports are most effective. Good data, and the people are too cheesed off/embarrassed, to follow up, after you address it. Occasionally, it can actually be turned around, and they can become evangelists.
I have integrated a simple feedback form into the app, with the option to send anonymously. That seems to help.
> had I known I'd get 10K views and 100 comments
Is that still the case, after being frontpaged on HN (but most comments are probably here)?
This was also my thought! OP is going to get a lot of arrows for this article, but it's a genuinely great write up that matches a lot of my experience with mass-market products.
It's a great account for people to reflect on. I've immediately sent this article to several early-stage founders who are burning astounding amounts of time on undesirable customers.
Everybody on HN knows better than OP how to run their own business and could absolutely please 100% of customers or potential customers 100% of the time. Apparently.
I’m a bit doubtful with this conclusion, as apparently in many cases humans will rather refute reality is meaningful if it fails to pass their idealistic proof-test.
What do you think is happening to the water not being utilized in the production of power? I assumed it's still being run downstream, just not through the power producing turbines.
I'd expect there's not a big effect on the ultimate amount of water being released downstream either way.
I believe in free access. I also believe those going to get an abortion shouldn’t be impeded by protesters in the immediate vicinity when getting their healthcare.
She was standing alone, across the street, on the curb/grass next to the sidewalk, kind of doing a homer simpson into the bushes.
There were no other people visible, she made no noise.
She didn't impede anyone, and it would have been very difficult to tell she was protesting, if that's in fact what she was doing (I'm not her, so I don't know).
I don't believe in God, so those particulars (or that it was an abortion clinic) aren't important to me. She was arrested for thinking silently to herself.
Do you believe God was listening to the prayers and influencing the people at the abortion clinic? From what I read the lady was standing there and not blocking free access. The law says you may not influence.
Indeed there is currently no incremental update in Headway, and deployments are largely an exercise left to the reader.
For maps.earth (a Headway planet deployment), I typically rebuild the world, and then do a blue/green deployment.
I guess the one exception is for transit routing. We have individual transit zones small enough to fit into memory, which can be deployed incrementally. There’s nothing really built in about it - just another level of indirection via our “travelmux” service which redirects your routing queries to a different backend depending on mode and region.
I am trying to learn from real deployments as I design Corviont's updater for edge boxes (bandwidth caps, maintenance windows, unreliable WAN, atomic swap + rollback).
When you say transit "zones" are small enough to deploy incrementally - what is the actual artifact per zone (roughly what format), and what sizes do you typically see?
And when a transit zone dataset changes, how do you roll that out safely - do you restart/reload the backend that serves that zone, or do you bring up a new backend/version and then flip travelmux to point at it?
Transit routing is provided by OpenTripPlanner, so the deployment artifact is their OTP serialized graph format.
So it’s not really incremental with respect to the existing transit zone deployment. I just mean I can redeploy a single transit zone with the latest GTFS without having to touch the other transit zones, tileserver, geocoder, etc.
reply