2,668 karma · joined December 21, 2014
Trams and trains generally offer far more reliable schedules, frequencies and journey times than busses because they either have completely dedicated alignments or have priority where there is any interface with normal traffic.
Most buses inevitably bunch (see https://setosa.io/bus/ for a nice simulation) and/or get stuck in traffic as a matter of routine. The inconvenience may be less per delay but busses are delayed far more frequently than trams and trains on most of the public transport systems I've used. So for regular users, the cumulative inconvenience is much worse on busses than on trains/trams. Which is why people flock to trains and trams when available as an alternative to busses.
Specifically with regard to the parent, the frequency at which unplanned outages happens with tram services in Zurich is extremely low in my experience - certainly planned changes to schedules or routes (for maintenance, upgrades, etc.) are far more frequent. And when "something happens" (i.e. a traffic accident), the path for trams is cleared as quickly as possible - often in 30 minutes or less - so you'd really have to be unlucky to be inconvenienced by such an occurrence.
For example, one alternative is to let my IDE implement the interface (I don’t have to “write” a complete implementation), where the default implementations throw “not yet implemented” type exceptions - which clearly indicate that the omitted behavior is not a deliberate part of the test.
Any “mocked” behavior involves writing normal debuggable idiomatic Java code - no need to learn or use a weird DSL to express the behavior of a method body. And it’s far easier to diagnose what’s going on or expected while running the test - instead of the backwards mock approach where failures are typically reported in a non-local manner (test completes and you get unexpected invocation or missing invocation error - where or what should have made the invocation?).
My test implementation can evolve naturally - it’s all normal debuggable idiomatic Java.
If tests (authored by someone else) break, I now have to figure out whether the breakage is due to the fact that not enough behavior was mocked or whether I have inadvertently broken something. Maybe it’s actually important that code avoid using “isEmpty”? Or do I just mock the isEmpty call and hope for the best? What if the existing mocked behavior for size() is non-trivial?
Typically you’re not dealing with something as obvious.
The cost is the pain - sometimes nightmarish - for other contributors to the code base since tests depending on mocking are far more brittle.
Someone changes code to check if the ResultSet is empty before further processing and a large number of your mock based tests break as the original test author will only have mocked enough of the class to support the current implementation.
Working on a 10+ year old code base, making a small simple safe change and then seeing a bunch of unit tests fail, my reaction is always “please let the failing tests not rely on mocks”.
* warning for Americans: not suitable for those offended by sarcasm
So what? You’re not being asked or expected to feel empathy - just show tolerance. Which is the easiest virtue to develop - just ignore behavior which doesn’t threaten you.
If someone is doing their own thing - wearing a MAGA hat, a rainbow t-shirt or carrying a fluffy toy - it doesn’t bother me in the slightest. Why does it bother you unless they’re getting in your face?
I dislike the official git completion script because it’s so slow when working with large repos. On macOS - because of vagaries of the way its file system works - with large repos it’s effectively unusable. Hint to completion script writers: if your “smart” completion ever takes seconds, it’s worse than useless and far worse than “dumb” filename completion.
I have no issue with charging for new software for retro platforms in order to support the scene but find it slightly offensive that you have to pay to acquire a legal 1.3 kickstart ROM - released and unchanged since 1988. It just feels like copyright squatting.
The bullies are anti-disinformation and anti-hate speech activists?
The USA using its diplomatic power to become a defender of hate-speech and disinformation?
I guess when JD Vance deliberately snubbed the democratically elected government of the country when visiting Germany and instead spent his time with a far-right neo-nazi party, it should have been clear which way the wind was blowing.
I’m not suggesting exposing retransmission, fragmentation, etc to the API user.
The sender provides n bytes of data (a message) to the network stack. The receiver API provides the user with the block of n bytes (the message) as part of an atomic operation. Optionally the sender can be provided with notification when the n-bytes have been delivered to the receiver.
The API should have been message oriented from the start. This would avoid having the network stack try to compensate for the behavior of the application layer. Then Nagel’s or something like it would just be a library available for applications that might need it.
The stream API is as annoying on the receiving end especially when wrapping (like TLS) is involved. Basically you have to code your layers as if the underlying network is handing you a byte at a time - and the application has to try to figure out where the message boundaries are - adding a great deal of complexity.
Obviously, cost scales more than linearly with blade length but it’s a bit like big O - the n^2 factor dominates. This is why wind turbines have been getting bigger and bigger. And why the cost of domestic or small-scale wind turbines remains stubbornly high despite the dramatic fall in the average cost per MW seen for wind turbines - as the falls are largely driven by the ability to manufacture larger and larger turbine blades. While falls in costs for solar PV can be seen at every scale.
It’s about the validity and strength of his arguments. I could continue to agree with Chomsky on some point but now dismissing his argument.
Or if I was undecided about how to judge something in terms of morality, then yes, if Chomsky was proven to have sexually abused trafficked children, I might skip consulting Chomsky on the matter.
To be honest, I don’t know where you’re trying to go with this line. It feels like you think you have some “gotcha” you feel ready to spring and will keep asking these opaque questions until you think you see an opportunity.
Why not just lay out your argument transparently and I can engage?
Or state exactly what it is about my claim that appeals to morality made by immoral people are less convincing than those made by moral people that you disagree with? Forgot about Chomsky - it has nothing specifically to do with him.
Morality arguments are social and contextual. That 2+2 is 4 won’t change and captures some sort of eternal truth while what is deemed moral is constantly changing over time and differs across different societies and social groupings.
So morality arguments require and appeal to a particular shared sense of right and wrong. If Chomsky was guilty of sexually abusing children, then I do not share his moral foundation and so his appeals to morality arguments do not convince me.
But his politics centers around the moral failings of the West so I think yes, if he was involved in the sexual exploitation of trafficked children, then this would devalue his criticism of the morality of the Western political system.