Live data from Hacker News

Show HN: Performant intracontinental public transport routing in Rust

github.com

1–10 of 26 posts

Show HN: Performant intracontinental public transport routing in Rust

#1
I made a public transport route planning program that's capable of planning journeys across Europe or North America! There's only one other FOSS project I know of (MOTIS/Transitous) that can do transit routing at this scale, and in the testing I've performed mine is about 50x faster. I've spent a few weeks on this project now and it's getting to the point where I can show it off, but the API responses need a lot of work before they're usable for any downstream application.

Example query (Berlin to Barcelona): https://farebox.airmail.rs/plan/52.5176122,13.4180261/41.380...

There are some bugs still. Notably, it's not capable of planning the return trip for this route, nor the reverse of the trip from Seattle to NYC that I gave in the blog post.

Blog post: https://blog.ellenhp.me/performant-intracontinental-transit-...

Repo: https://github.com/ellenhp/farebox

Side-note but in the past some have criticized my writing style and it's been a bit hurtful at times but if you have constructive feedback on the blog post I'd appreciate it. I'm trying to get better at writing. :)

Show HN: Performant intracontinental public transport routing in Rust
github.com

Re: Show HN: Performant intracontinental public transport routing in Rust

#3
post #2

This is very cool. But, bus from New York to St Louis and then backtrack on Amtrak. Ouch. I know the train options from NYP to CHI are slow, but I didn’t think they’re that slow (they’re not)! Nevermind having to take a greyhound for 1000 miles.

Yeah I strongly suspect that there's something in the GTFS spec that I'm missing that's resulting in some vehicle journeys not being added to the timetable. This would also explain why it completely fails to find routes on the return trips for some of the examples. I'm still pretty stoked about it and hopeful I'll get the bugs ironed out. :)

edit: also if you look at the Berlin to Barcelona trip you'll see a bus, which makes no sense to me whatsoever, so I suspect that some of the high speed rail trips didn't make it from the GTFS feed into the packed timetable that I'm serving itineraries from.

Re: Show HN: Performant intracontinental public transport routing in Rust

#4
Love this. I really enjoy seeing people build tooling and infrastructure around public transit.

[edit] As someone who reads and writes (and reviews) a ton of writing and technical documentation -- and is very picky about it -- there is nothing at all wrong with this writing style. Literally my only nit is consider incorporating URL shortening, I always bristle at %20 in URIs. Especially ones that wrap.

Re: Show HN: Performant intracontinental public transport routing in Rust

#5
My day job is OpenTripPlanner work, so I absolutely love to see this. I've long thought about what a RAPTOR engine would look like written in Rust. So cool that you've done it. You should share this in the OTP Gitter chat if you haven't already, the people there would love to see it. I wonder if this would be small enough to run on a phone? I have thought about offline trip planning on a phone, but running OTP is out of the question as a graph can be gigabytes and take minutes to load.

Re: Show HN: Performant intracontinental public transport routing in Rust

#8
The fact that the software being written in Rust is supposed to be valuable information to be put in the title is interesting.

Nobody would say “Performant intracontinental public transport routing in C++”, or any other combination. It’s just something around the Rust language.

Re: Show HN: Performant intracontinental public transport routing in Rust

#9

The fact that the software being written in Rust is supposed to be valuable information to be put in the title is interesting. Nobody would say “Performant intracontinental public transport routing in C++”, or any other combination. It’s just something around the Rust language.

A quick search of “c++” on HN shows many C++ related posts explicitly mention the language. I would assume many other language specific posts also name the language they’re using to save uninterested parties a click. There’s really nothing particularly interesting about this: it’s a fairly natural pattern in a multilingual community like HN.

Re: Show HN: Performant intracontinental public transport routing in Rust

#10

The fact that the software being written in Rust is supposed to be valuable information to be put in the title is interesting. Nobody would say “Performant intracontinental public transport routing in C++”, or any other combination. It’s just something around the Rust language.

It depends on a number of factors, one of which is how the authors perceive the work. Does it stand on its own merits or is it interesting because of the technical decisions? Sometimes it starts as a technical exploration and outgrows itself faster than the author can come to terms with the magnitude of the work.
Post reply on HN