KISS - Keep It Simple Stupid and put a toilet in each car of the train.
A Parable by Dijkstra (1973)
81–90 of 107 posts
Re: A Parable by Dijkstra (1973)
#82Earlier quoted context omitted.
Depends on what you think you're teaching. Are you teaching computer science, or are you teaching software engineering? Hint: Of your graduates, probably 95% will work as software engineers, and only 5% will be computer scientists. But CS departments think they're computer science departments, even though they mostly are located in the college of engineering. (I accidentally typed "enginerring", which I thought was a…
I have some university degrees in (non-software) engineering. Engineering school is pretty far from a vocational program, but engineering students often mistake it for one. When I was in industry, it was easy to spot the people who'd made that mistake -- they couldn't engineer their way out of a wet paper bag. Engineering is applied science, and if you don't understand the science, you're going to have a heck of a ti…
So, does a software engineer need to know some computer science? Absolutely, but they need to know more than that. They need to know how to efficiently produce working software at scale.
And, to return to my previous post, starting with Haskell could still get you to a software engineering education, as opposed to a computer science education. But it feels to me like the initial direction is aiming at a CS education, not at a software engineering education.
Re: A Parable by Dijkstra (1973)
#83I thought the moral was going to be that accommodating toiletless cars cost more than simply building all cars with toilets.
Re: A Parable by Dijkstra (1973)
#84The math is simple. This did not require a mathematician, just an cost benefit analysis. ($ * toilet each car) < shunting{($ * action * yard) + ($ * training * employee)} + ($ * accident cleanup) + ($ * customer bad will)
Read until the end again. The solution they came up with still only put toilets in 50% of the cars.
Re: A Parable by Dijkstra (1973)
#85Moral: The engineer who conceived of the innovation was forgotten and not compensated for it, and the train owners made the bulk of the money. Sounds like software engineering to me!
I feel like the actual moral of the story should be "don't underestimate how trying to scrimp on a vital resource can result in horrible logistical complexities and a nightmare UX".
Re: A Parable by Dijkstra (1973)
#86Earlier quoted context omitted.
https://en.wikipedia.org/wiki/Software_crisis
Projects running over-budget Projects running over-time Software was very inefficient Software was of low quality Software often did not meet requirements Projects were unmanageable and code difficult to maintain Software was never delivered Yeah, that one.
1) we don't get increasingly bigger and more powerful systems
2) we're behind some previously existing "no crisis" state
Both (1) and (2) are factually wrong.
Projects running over-budge, over-time, often not meet requirements etc, are not a crisis in the actual meaning of the world.
It's just a normal state of affairs.
And despite that we have got from the laughingly primitive software in the 50s and 60s, to the software "eating the world" today, and have systems with 10 to 100 or 1000 more lines of code, and way more functionality -- even in our pockets.
If only "crisis" looked that way in other domains too.
It's not a crisis, it's just unrealistic expectations.
Even if we could do 100x better in the _future_, it wouldn't justify the term crisis for the state we're in, and have been for decades.
Re: A Parable by Dijkstra (1973)
#87This solution is wrong. Rolling stock needs maintenance, and if you keep units permanently paired you can easily run out of units. In fact there is no easy solution given realistic business constraints. You can either put toilets in every car, which has a cost because it reduces available seating. In the best case you’ll lose money because of the lost seats. In the worst case overcrowding will make the toilets ineffe…
Re: A Parable by Dijkstra (1973)
#88I guess the ultimate solution assumes that all the turntables are long enough to deal with at least two-car consists? Seems strange that the company would cheap out on a little bit of porcelain in each car and then overprovision its turntables in such an extravagant way.
With the toilet at the end of the carriage that is connected to its corresponding non-toilet carriage, and consequently approximately in the middle (the offset is the "last three feet" that Dijkstra mentions), there is no longer a need to reverse any two-carriage set.
Re: A Parable by Dijkstra (1973)
#89I thought the moral was going to be that accommodating toiletless cars cost more than simply building all cars with toilets.
Re: A Parable by Dijkstra (1973)
#90Earlier quoted context omitted.
With the toilet at the end of the carriage that is connected to its corresponding non-toilet carriage, and consequently approximately in the middle (the offset is the "last three feet" that Dijkstra mentions), there is no longer a need to reverse any two-carriage set.
Turntables are not just for reversing. A turntable also moves cars (and engines) between multiple tracks and storage facilities. Two-car sets need to be moved even if not reversed.