Live data from Hacker News

A Parable

cs.virginia.edu

71–80 of 83 posts

Re: A Parable

#71
post #48

It may be a symptom of my own possibly-pathological preference for reusable modular design, but I'd want to make tiny toilet-only cars. Borrowing anonymouz's diagram style: +---------------+ +-+ +---------------+ | | |T| | | +---------------+.+-+.+---------------+ O O O O O O Then all carriage-cars and toilet-cars are… • reversible • interchangeable with others of their type • easily externally identifiable at shunti…

Then the cars to each end of the toilet car would still exist in two types, depending of the direction of the arrows; which means you have 3 different units instead of 1. Reduce conditionals, reduce cache misses! ^^

Re: A Parable

#72
post #57

I have told the above story to different audiences. Programmers, as a rule, are delighted by it, and managers, invariably, get more and more annoyed as the story progresses; true mathematicians, however, fail to see the point. If I may venture an explanation for that, it is that the different groups identify with different people in the story. Managers identify with the cost-cutter. It is a story about the futility a…

I wonder. And I'm curious what other readers think Dijkstra meant by that.

I think, as far as the part about mathematicians goes, that the point is that once the problem is stated sufficiently abstractly and sufficiently precisely, there is no problem.

Forget all the nonsense about trains and toilets and rail yards and whatnot. You start with a single linear, symmetric object, and you don't have a problem. Then you break it into two sub-objects, one of them asymmetric ...

    |-T-| = |-| + |T-|
... and now you have a problem. If you want the problem to go away, just un-break apart the pieces. QED.

(As Dewey said, "A problem well posed is half-solved." And sometimes doesn't even exist.)

Re: A Parable

#73
Alternatively, the company could place the toilets in the middle of each car rather than on an end. NB: This solution may be hard to implement once the train cars have been designed/procured.

Re: A Parable

#74
post #67

Ironically, this kind of "cost-savings" is exactly what the Netherlands railways have been doing over the years (only by closing half the existing toilets). However, they ended up with the ultimate solution: ordering new trains without any toilets . No joke, they even came up with the brilliant idea of handing out plastic bags for "emergencies"...

As far as I remember from the news, each toilet in the NS trains costs more than €1 million, which is why they decided not to install any. Perhaps they should fix that number, instead of removing the toilets altogether. Note that a train toilet is nothing special, the waste disposal is just an open pipe to the bottom of the train.

Now they spend €150 million a year on bags.

Re: A Parable

#75
post #57

I have told the above story to different audiences. Programmers, as a rule, are delighted by it, and managers, invariably, get more and more annoyed as the story progresses; true mathematicians, however, fail to see the point. If I may venture an explanation for that, it is that the different groups identify with different people in the story. Managers identify with the cost-cutter. It is a story about the futility a…

My take on the situation, from a mathematician point of view (M.S. in math, but very rusty):

They started out with a toilet on each car and ended with a toilet on each car, the cars just happened to be twice as long in the end.

Re: A Parable

#76
post #8

Hrm. I was annoyed by the cost-savings idea and at each of the partial fixes, and then reasonably pleased by the solution (but I would have been happier if the root cause was fixed.) So I'm not a manager, and not a programmer... I'm a sysadmin at heart.

I saw the solution immediately, to be honest. Of course, my mother has worked for a railroad since before I was born, so maybe I had an unfair advantage...

You're a customer at heart.

Re: A Parable

#77
The take away I got from the article is that complication in a requirement multiplies many times in the rest of the business process. The KISS principle is not just for developers. It's more so for the business people. Having simple business models, requirements, and features directly translated into ease of implementation, simpler operation, and more satisfying service. And lower cost, too.

Re: A Parable

#78
I'm saddened to see that they didn't A/B test to discover the optimal customer satisfaction solution. A few ideas leap to mind:

* Toilets every n cars (from 0 to 3)

* Asymmetrical vs symmetrical ordering of toilet enabled cars.

* Helvetica vs Times for signage.

etc.

Re: A Parable

#79
I'm a bit surprised to see that nobody has mentioned that this is a very common configuration in the real world, cars linked this way ("coupled, from now until eternity") are called married pairs, or twin units: http://en.wikipedia.org/wiki/Married_pair

They're falling out of favor on New York's MTA system, but Chicago's newest 5000-series cars are still configured in married pairs.

Hypothetically, with married pairs you never need to turn cars around, each unit is independently functional, and the number of many expensive components is reduced by half. Quite elegant, if you ask me.

Romantically(?) divorce among married pairs is rare, and in the case of Chicago, fan-sites document the handful of mis-matched cars.

Re: A Parable

#80
post #67

Ironically, this kind of "cost-savings" is exactly what the Netherlands railways have been doing over the years (only by closing half the existing toilets). However, they ended up with the ultimate solution: ordering new trains without any toilets . No joke, they even came up with the brilliant idea of handing out plastic bags for "emergencies"...

As far as I remember from the news, each toilet in the NS trains costs more than €1 million, which is why they decided not to install any. Perhaps they should fix that number, instead of removing the toilets altogether. Note that a train toilet is nothing special, the waste disposal is just an open pipe to the bottom of the train.

I would think they took into account cleaning (multiple times per day), maintenance, vandalism and loss of seating to come up with that number.

Especially the latter, since this isn't the first time they've done something insane for a few extra seats.

Putting the air intakes at the bottom of new trains (instead of on top as was the original manufacturers design) comes to mind, which lead to dozens of trains becoming unusable and needing weeks of repairs after a bit of snowfall...

Post reply on HN