Live data from Hacker News

OSRD: Open-Source Railway Designer

osrd.fr

31–40 of 51 posts

Re: OSRD: Open-Source Railway Designer

#31
post #26

Earlier quoted context omitted.

The database needs to be shared between multiple actors: several teams of multiple people working in different companies. For instance, a team may be working on a single project such as a new railway or a large timetable change. Another example would be multiple freight companies requesting new routes. Additionally, the UI contains complicated elements such as custom maps with the railway network and custom graphs to…

> Note that the system uses a client-server architecture but isn't really distributed. Yeah, I kind of agree. The thing is, it's orchestrating multiple containers to do the job. I can't figure out why you couldn't just have one container.

Part of the answer is that some of these services need to be scaled horizontally to be able to handle a significant number of users (e.g. tile servers, the core server), another part of the answer is architectural constraints (e.g. the core server needs to keep quite a bit of per-infrastructure data in RAM).

(Of course, it's completely possible to build a single container which runs all of the services in parallel, but then monitoring/scaling/availability/etc are more difficult to handle.)

Re: OSRD: Open-Source Railway Designer

#32
post #26

Earlier quoted context omitted.

The database needs to be shared between multiple actors: several teams of multiple people working in different companies. For instance, a team may be working on a single project such as a new railway or a large timetable change. Another example would be multiple freight companies requesting new routes. Additionally, the UI contains complicated elements such as custom maps with the railway network and custom graphs to…

> Note that the system uses a client-server architecture but isn't really distributed. Yeah, I kind of agree. The thing is, it's orchestrating multiple containers to do the job. I can't figure out why you couldn't just have one container.

Read the architectural description - it does mention why and how.

Re: OSRD: Open-Source Railway Designer

#33
post #32
post #26

Earlier quoted context omitted.

> Note that the system uses a client-server architecture but isn't really distributed. Yeah, I kind of agree. The thing is, it's orchestrating multiple containers to do the job. I can't figure out why you couldn't just have one container.

Read the architectural description - it does mention why and how.

Yeah, I read it. It says: "It is a multi-service architecture where several software components interact with each other. This choice was made to ensure the modularity of the code and to guarantee the exploitability of certain OSRD services by external applications"

Modularity of code is a common explanation for using a multi-service architecture, but it's not a particularly strong one (services are just one way of modularizing code). In terms of OSRD services being accessed by external applications, it doesn't seem like that would work particularly well, given the coupling between the pieces. The only pieces that would make any sense to me for outside applications to directly in would be the PostgreSQL database... and if that were the plan, I'd just host the whole thing in PostgreSQL.

Re: OSRD: Open-Source Railway Designer

#34
post #26

Earlier quoted context omitted.

> Note that the system uses a client-server architecture but isn't really distributed. Yeah, I kind of agree. The thing is, it's orchestrating multiple containers to do the job. I can't figure out why you couldn't just have one container.

Part of the answer is that some of these services need to be scaled horizontally to be able to handle a significant number of users (e.g. tile servers, the core server), another part of the answer is architectural constraints (e.g. the core server needs to keep quite a bit of per-infrastructure data in RAM). (Of course, it's completely possible to build a single container which runs all of the services in parallel, b…

> (Of course, it's completely possible to build a single container which runs all of the services in parallel, but then monitoring/scaling/availability/etc are more difficult to handle.)

Having done both, I'm always surprised when people say that it is more difficult to handle running N-copies of the same container than a heterogeneous set of containers. Sure, at really large scale you can glean efficiencies from it (which is why one might do it), but there's a lot of complexity that comes with that.

Re: OSRD: Open-Source Railway Designer

#35
post #6

This looks like a serious tool for real professionals to use. Cool! I wish they had some screenshots or videos of the process. In the meantime, if anyone's looking for gamified railroad-building (just for fun), check out: https://store.steampowered.com/app/1124180/Rail_Route/ https://store.steampowered.com/app/1134710/NIMBY_Rails/ https://store.steampowered.com/app/503940/Railway_Empire/ Or several more: https://gith…

I'd highly recommend Railway Empire (and Railway Empire 2). It's the spiritual successor to Sid Meyer's Railroads! With a fair bit more content and features.

EDIT: Railway Empire 2 is actually on sale right now! https://store.steampowered.com/app/1644320/Railway_Empire_2/

Re: OSRD: Open-Source Railway Designer

#36
post #33
post #32

Earlier quoted context omitted.

Read the architectural description - it does mention why and how.

Yeah, I read it. It says: "It is a multi-service architecture where several software components interact with each other. This choice was made to ensure the modularity of the code and to guarantee the exploitability of certain OSRD services by external applications" Modularity of code is a common explanation for using a multi-service architecture, but it's not a particularly strong one (services are just one way of m…

If you read deeper, you'd find out that for example the simulation engine is a separate (older?) system written in Java that does have an API but does not implement other components like designing the railroad system etc.

Re: OSRD: Open-Source Railway Designer

#37

Kudos for the EU (and as often, also here: France!) for supporting such initiatives to open up niche, often-invisible areas of a market to create new grounds for innovation and disruption! It doesn't work out in all cases, but in areas where it does it silently moves society forward!

Here in Europe , a lot of former public utilities companies and the public sector in general has been really pushing niche OSS and OpenData projects in Europe.

It's not always useful (rarely actually) for the average Joe, but it's definitely cool to see them embracing OSS and OpenData.

Re: OSRD: Open-Source Railway Designer

#38
post #36
post #33

Earlier quoted context omitted.

Yeah, I read it. It says: "It is a multi-service architecture where several software components interact with each other. This choice was made to ensure the modularity of the code and to guarantee the exploitability of certain OSRD services by external applications" Modularity of code is a common explanation for using a multi-service architecture, but it's not a particularly strong one (services are just one way of m…

If you read deeper, you'd find out that for example the simulation engine is a separate (older?) system written in Java that does have an API but does not implement other components like designing the railroad system etc.

There you go! Now I get it. Thanks.

Re: OSRD: Open-Source Railway Designer

#39
post #13

Earlier quoted context omitted.

Thanks for the links, I've just discovered Mashinky [1], which looks like OpenTTD with amazing graphics. So cool! [1]: https://store.steampowered.com/app/598960/Mashinky/

Whoa... this game looks realistic at first glance, with locomotives and carriages modeled on real-world counterparts, but when watching the demo video, the railfan in me immediately starts screaming "No! This is all wrong !" - the track grades are much too steep, the curves much too tight, and that one scene where two freight trains almost collide and then one of them stops dead with a few meters distance to the othe…

That's what I liked about Transport Fever: grading track correctly is important, hard, and expensive!

Re: OSRD: Open-Source Railway Designer

#40

Earlier quoted context omitted.

Transport Fever 2 has a strong modding community doing virtual model railroading. There are plenty of mods improving vehicle stock, physics and procedures. https://steamcommunity.com/app/1066780/images/ https://www.transportfever.net/

That's really cool! Is it a deeper simulation than games like Cities Skylines?

The gameplay is focused on logistics, so those aspects have a lot more control. I particularly enjoy that in conjunction with the model railway aesthetics.

- You build roads and railways, and stations for passengers and cargo (road/rail/air/sea) - You set up 'lines' to connect various stations, and you can specify what and how much gets loaded/unloaded at every station (or whether vehicles on that line stop there at all), and how long vehicles should wait for their cargo - You buy each vehicle and assign it to a line, and in the case of trains you also buy each component e.g. locomotives, passenger cars, stake cars, hoppers depending on what your line needs to transport

The cities grow by themselves based on the passenger transport links with other cities and the level of goods supply. There's no zoning, building water pipes, schools, or anything like that. Just the minutiae of getting things from A to B via C to pick up some more things destined for Y and Z.

Post reply on HN