I think the problem is that exploit can mean multiple things, and it’s obviously true that companies want to exploit everything in the non-pejorative sense.
The problem is transforming the word’s meaning in the next sentence to imply they use the resource/personnel unfairly, which is demonstrably untrue as you point out (though it’s certainly the case that for some companies both meanings apply)
Yep, if the work itself is what drives you rather than the organisation and people, and you’re able to achieve that solo, then the question is just whether you prefer a commute and office experience. Personally, while I miss colleague interactions, I find offices and commutes truly depressing, so I would never choose that over remote all else equal.
We have something very similar[1] we use in the Apache Cassandra project to test complex cluster behaviours.
We appear to use exactly the same basic technique, using byte weaving to intercept concurrency primitives such as synchronized, LockSupport etc to pause the system thread and run them on some schedule.
We only currently run (deterministic) probabilistic traces though, we can’t search the interleaving space. But the traces for a whole cluster are extremely complex and probably unsearchable.
I have been meaning to publish it for broader consumption for years now, but there’s always something more important to do. It’s great to see some dedicated efforts in this space.
It seems that all controlled threads are wrapped with `InterceptibleThread` in the Cassandra simulator. Does this work for ThreadPools (e.g., ForkJoinPool) as well? We had a hard time intercepting thread objects because they are used by the language runtime (e.g., GC threads) as well and we don’t want to interfere with them. Additionally, modifying application code just track thread creation isn’t ideal. To work around this, we came up with this combination of JVMTi and Java Agent solution and we use JVMTi to monitor thread creation and termination.
As for searching schedules, yes, it is hard to search all possible schedules. However, it turns out many searching algorithms such as probabilistic concurrency testing[1] or partial order sampling[2] are still better than random walk. So it is worth to give them a try.
We do currently require all threads to be created by one of our own factories, but that's primarily because this grew out of a non-byte weaving approach (where we explicitly replaced our concurrency primitives). Looking at the class now, all of its state could easily be stashed in either global or ThreadLocal variables, so I don't see anything that would stop us working with FJP etc.
This would certainly be necessary, but don't you anyway need to rewrite the application to trap synchronised, volatile, atomic accesses etc? It doesn't seem all that different to rewrite calls to Thread::start. The issue of JVM threads is perhaps a little trickier, but I am not averse to some ugly integrations. Just take a look at how we make RNGs deterministic
> So it is worth to give them a try.
Thanks for the tips! I am not sure when I will have time to apply these techniques to our simulator, but they are no doubt valuable for the protocol simulations I am relying on today, so maybe I will have a justification to explore them sometime soon.
Really cool work too. I hope it manages to make its way into more hands, so that this technique can be used more widely.
This assumes that road wear and tyre wear are caused by the same mechanism, but tyre wear is presumably caused predominantly by friction, whereas road wear is at least in part (and perhaps predominantly) caused by compression, creating pot holes by causing the earth underneath to move.
It's quite noticeable (to me at least) that the areas with highest wear are usually places that have heavy vehicles (buses and lorries) braking and accelerating. Traffic lights and bus stops will often have bumps/dips that seem to demonstrate a shearing force between the road surface layers.
I have always assumed it was just due to the uneven distribution of weight by vehicles often being stationary in the same spot, so those points are subject to more compression forces than the surrounding road surface.
If it were acceleration and deceleration I’d have expected the effect to be less localised, as breaking and accelerating happens over a much longer distance.
But, I have no actual idea. It’s just probably not friction…
There are always local subsidiaries, so these are generally European companies making the profit and paying no tax. Several of these companies famously exploit jurisdictional loop holes with how they define where the value arises to avoid paying much tax anywhere. While there are rules around how they can do this, they do seem to be broken.
Bicycle paths on walkways are also hazardous to cyclists - and stressful, at least in London where there’s a lot of pedestrians and they uniformly ignore the markings and treat them like any other path. Crashing into a pedestrian is certainly less bad than being crashed into by a car, but most cars do pay attention and try not to hit you (regrettably not enough, admittedly), and you can make good progress.
I think I prefer to be on regular unseparated road, at least in busy areas where road users are used to cyclists. Rural or suburban areas are a different matter, the relative speeds of road traffic and number of pedestrians no doubt flips the trade off.
I couldn't agree more, in my experience in over a decade of daily bike commuting it was segregated bike lanes (Vancouver downtown) would lead to near misses almost weekly, I'd be biking up the hill and cars would regularly right hook me, the signage for cars was confusing, and being separated meant that the cars were not looking for you, they'd cross your path and 'right of way' doesn't mean much in a 20lb bike vs 4000lb car situation. My other pet peeve is bike lane roundabouts. A bike can go through a roundabout at 50km/h but you'll have a hard time stopping in time for a car entering the roundabout (who has the right of way if they're there first) Absolutely deadly and not considering the capabilities of bikes - or E-bikes - at all. On the other hand, getting your bike chops, and learning to drive defensively is a scary prospect for a newer cyclist, mistakes can be deadly, ride safe and keep your head on a swivel!
My experience in Hamburg, Germany as well, which is why I ranked them as equally bad, although as mentioned in my other response it ultimately depends on the city and on how it is implemented.
> Bicycle paths on walkways are also hazardous to cyclists - and stressful, at least in London where there’s a lot of pedestrians and they uniformly ignore the markings and treat them like any other path.
Play loud, obnoxious music from your bike using a portable speaker (or even your phone in a pinch). Doesn't conform to British cultural standards but greatly helps people get out of the way. Of course there's always those with their earphones/headphones so loud that they won't notice you, but it's a minority.
People living in the area would appreciate having less noise in their homes, whether it comes from car traffic, "loud pipes save lives", or anything else.
>Bicycle paths on walkways are also hazardous to cyclists - and stressful
I never said they were great, just better than riding alongside cars. I ride on walkways every single day here in Tokyo, frequently very, very, very close to pedestrians; it IS stressful trying to dodge the chaos of pedestrians and also other cyclists who are all crammed together on narrow sidewalks. It's still better and safer than riding with cars, which is why all the other cyclists here (esp. mothers with children) do it too.
>but most cars do pay attention and try not to hit you
It doesn't matter: just one car not paying attention will likely kill you, or at least cause lifelong injuries. Running into a pedestrian is not at all likely to cause such trauma: the masses and the speeds are both far, far less.
I’m simply providing an alternative view; this is about perception of relative risks, so there is not an absolutely correct position. It might also be that in Tokyo the speed of traffic is higher or road users less conscious of cyclists so the risk of collision is worse, or that the conformance of pedestrians to the shared path rules is better, but in London my experience is that cyclists aren’t that fond of the shared paths.
Most collisions with cars are also not even likely to be as dangerous as you suggest - the really hazardous traffic is lorries, buses etc. I think you also downplay the risk of serious injury when colliding with a pedestrian - to both of you. This also confers potential legal risk, as you are the road user likely to be liable in this jurisdiction should a vulnerable path user incur a serious injury.
No doubt risk averse cyclists like mothers with children are likely to prefer these shared paths whatever the prevailing conditions, but that doesn’t mean they are outright superior and the specific context is likely to matter a great deal.
Correct, as a London bike commuter for over a decade I can confirm that nobody in their right mind uses a shared cycle path. They’re dangerous for pedestrians, and you can’t make any kind of decent progress on them as they’re filled with bins, lampposts, blind driveways, and best of all even bus shelters. Then when you get to the end of it at some random point you’re not expecting there’s no way of joining a road without having to cede priority.
Kids riding to school is the only use case they satisfy.
Are you thinking of Hinkley Point C? My understanding was that there has been no additional funding provided. The project is way over budget, but it is EDF and its owner (the French taxpayer) who appear to be on the hook.
The project is funded by a pre agreed electricity price for the plant once it is operational, and private investment.
It is however likely to impact negotiations for Sizewell C which has not yet been greenlit, as funding terms amenable to the U.K. government and EDF have not been reached. EDF want terms that would cause cost overruns to be born by energy consumers, to avoid a repeat of Hinkley Point.
But the point of the fine in this case is clearly not restitution, but disincentive. Justice in this case is ensuring everyone is equally incentivised to follow a law that society thinks everyone should follow.
If the goal were only to ascribe economic harms to certain actions and reclaim those costs, it would be called a tax or a fee, not a fine.
some people will never understand and at this stage i think its pointless.
Lets have a look at two examples of parking in a disabled person space
if you make 30k a year, have no savings, $100 is major expense.
if you make $1m a year, $100 is just a vip parking space.
Both people should be equally de-incentivized to illegally park in a disabled people parking spots. The proportional fines are the only way to get close enough to that state.
Instead of being the discretionary income of this philanthropic rich guy who would graciously give it all away to his servants, those 100k go to the Swiss government, which famously provides no public benefit or services and in fact just sets the money on fire
It is described as being "tin-using" which means there could still be lead. Towards the end of the article it even states that a competing panel uses tin-lead which can be described as "tin-using".
[1] is a press release from the original result that has been developed, and specifically refers to replacing lead with tin, with the purported reason to produce a lead-free cell for easier commercialisation (due to the concerns over lead). I chose to share the other link originally because it was newer.
The problem is transforming the word’s meaning in the next sentence to imply they use the resource/personnel unfairly, which is demonstrably untrue as you point out (though it’s certainly the case that for some companies both meanings apply)