Never trust a system that seems to be working
twitter.com
twitter.com
In electrical circuits made with normal conductors and insulators, e.g. copper wires and organic polymer insulators, it is possible to ignore the currents that branch from the wires and close through the insulators, because they are extremely small (e.g. in the femtoampere range), but frequently it is not possible to ignore the voltage drops along the copper wires, which are caused by the resistances of the wires, and which may be in the millivolt range.
As much as I love academia, I really wish there were more instructors with real experience that could say things like, "for math purposes assume a zero-loss conductor" while still emphasizing that real life is not so simple.
We did have a healthy incubation program, where instructors helped companies with product development, so perhaps that is what brought the real-world experience.
Generally, the biggest problem with math, physics and chemistry is that if you miss just one lesson (no matter if you physically miss it, or in worst case miss out understanding a concept for a couple minutes), you can easily end up "left behind" for years. With history, arts, languages, a number of computer science topics or most of biology you can either skip out on a certain subject or catch up easily on your own, but not getting a specific part in math/physics/chemistry and lacking the resources to follow up is setting oneself up for exponential learning gap later on.
The societal problem is that we've not set up schools or universities to deal with this "failure mode". Privileged kids can have after-school teaching or siblings helping out, but most will sooner or later resign and hate these subjects for the rest of their lives - and that is incredibly sad.
Why do I get a sneaking suspicion that few in the machinery of education want this, as it is a fast-track to continuous accountability?
A nice-to-have addition to your table saw is a big red stop button you can reach with your foot so you don't have to take your hands off of your work pieces to shut the saw down if things have gotten more interesting than you expected them to. Three wire control makes this super easy to add (once you've found the big red mushroom-head n/c switch, of course).
[0] https://twcontrols.com/lessons/control-wiring-3-wire-control...
White means "the red glass lens in front of the incandescent bulb shattered again".
Related, from train signals:
> The invention of the track circuit in 1872 by William Robinson permitted automatic block signals. Most simply, a low voltage battery current runs up one rail and down the other. As long as current flows from the battery through one rail to the relay and back through the other rail, the relay remains energized and routes current from another battery to the green lamp of a clear signal. But when a train is present, the circuit is short circuited by the steel wheels and axles of the cars; a broken rail or an open switch will also break the circuit. As a result the relay is opened and the signal displays red. The system is arranged so the failure of any component results in a red indication or a dark signal (which must be interpreted as the most restrictive aspect that signal can display).
https://www.trains.com/trn/train-basics/abcs-of-railroading/...
For example, cars have "fail open" brakes but have independent cylinders so that it is relatively hard to have all four wheels fail at the same time (older cars had single master cylinders) - and one of the tradeoffs is that people want cars to get going immediately and not wait for brake cylinders to "charge up".
As more and more things get computerized, you have more options for "intelligent failover" - anyone who used to drive an old manual car knew you could slow down using the engine - but now the computer could detect brake failure and do things for you to help recover.
And as seen from other comments, the modern US military prioritizes "on-road safety" over "under ongoing attack ability" - partially because of changing strategies I suspect, but also from the realization that the US military kills more members of the US military each year via accidents, etc, than anything else.
You can use engine braking in automatic vehicles too, by simply changing to a lower gear.
An automatic one will not, and will hold the current gear until car speed falls within shifting range.
Ask me how I know :)
This of course meant the entire cars safety and stability control systems, ABS and traction control were all disabled. It drove like a tank.
The fix, obviously, was to replace the brake booster primer pump (hybrid car). It had worn enough to no longer recalibrate. Still perfectly functional, and would have kept working for a long time, bit it wouldn't quite meet the factory expected parameters so it failed it's test.
It appears that ZF 4HP20/4HP22 gearboxes can do this an unlimited number of times without apparently being damaged, but I'm not trying it on either of mine.
And emergency brake that's wholly separate circuit.
Do you have any details on that? Or a source I could read? I'm pretty curious now.
I drove trucks in the military - specifically, FMTV, HEMTT, HMMWV, and 5 tons. None of them had the reverse brakes you describe.
At the time it was an acceptable trade-off; later military vehicles have more in common with trucks than tanks, I suspect.
The brakes, unboosted, are supposed to still be capable of stopping the vehicle. This is also why hybrid and electric vehicles with regenerative braking, that normally use brake-by-wire with a pedal feel simulator, fail through to using the PFS as a direct unboosted hydraulic cylinder.
Losing all brakes in a hydraulic circuit failure is just because those trucks are so old they only have single circuit hydraulic brakes. Part of the A3 upgrades was changing over to a modern dual circuit hydraulic system.
So basically, the issue is that medium trucks are in a weird in-between. Not heavy enough to require full air brakes, but heavy enough that some of the safety assumptions we make about light vehicles are potentially less true.
I remember a house at the bottom of a steep mountain grade that got plowed into on a regular basis especially during that time.
EDIT: hmm... seems freezing might still be a way to cause failure?
In other words, the brakes would apply on loss of pressure, instead of via pressure.
How far down the line would the supply voltage run (or how far away would a train complete the circuit) before resistance losses degrade the system?
The maximum length of a block with this system (versions of which are still used today) varies greatly depending on local conditions. I've seen 2k to 10k feet as a general performance range.
The transmitter and receiver are wired in parallel and connected to a power supply through a series resistor. When the receiver receives the signal from the transmitter, it pulls the supply voltage down, which then causes the transmitter to stop transmitting, which then causes the receiver to stop pulling the supply down, and the cycle continues. The end result is that if there's no obstruction, the supply voltage pulses and the system checks for this. If there's any other type of condition, the signal is either 0 or VCC. Basically, the system is designed so that false positives are extremely unlikely since that's the worst case scenario.
There's some capacitors in the transmitter/receiver to control the frequency.
edit: it gets you protection against one of the two failing closed, duh
Strictly speaking, there is no Break key in the same sense that there is no SysRq key—there are only special Break and SysRq scancodes that AT and PS/2 keyboards send instead of Pause and Print Screen when Ctrl or Alt respectively is depressed (thus the combined labels), while USB keyboards don’t even have those, they just send normal modifier sequences. But I don’t think that’s what you had in mind :)
I would be willing to bet that none of the ten most popular/best-selling computers in the country for the last 5-10 years have had a key that says “break”.
I'll take that bet and offer up a break key from my active keyboard if I'm wrong.
For example, on most modern Thinkpads, Pause is Fn+P, and thus Break is Ctrl+Fn+P.
Last I checked (this was years ago) the way to deal with this is to wrap it in a sub-message (which are actually nullable), which is just kinda gross.
> "The Fundamental Failure-Mode Theorem (F.F.T.): complex systems usually operate in a failure mode."
-- John Gall, General Systemantics (aka Systemantics, aka The Systems Bible), 1977 < https://en.wikipedia.org/wiki/Systemantics >
Searching for "fundamental failure mode theorem" will provide interesting further insights on this.
https://www.nytimes.com/1976/12/26/archives/why-nothing-work...
They usually operate in a failure mode because it's easy to be deceived by the superficial appearances of complex systems, thus it seems like a big bother to drill down the layers, until a failure has occurred. As excellently demonstrated by this 'Factorio' player.
The right level of logging is usually enough to be annoying but not so annoying you need to reduce it. That means you're hopefully thorough enough in the logging that you're reporting what you care about and the things you see are the the things you can manually fix or ignore, and fit a frequency level you can live with.
Until the stuff you're managing becomes too large for that to make sense anymore, because that only scales so far (but surprisingly far for diligent admins). Then you need to move to something more complex, which is a big job and requires an entirely different way of reviewing (like Prometheus). You're probably better doing that from the beginning, but it's time and effort but everyone can take, or may not have existed at that time.
Surprisingly far. We log terabytes of data a day, most of it is unnecessary. I've been trying to tell people that it is not a good idea but so far I've had limited success. It's easy for people to just "printf" everything (we are lucky if logging libraries are used with proper levels).
Right now, we have the most expensive 'add' operation in history. K8s pod logs some data. That is eventually noticed by fluentd, which is watching the filesystem. Fluentd sends to our logging servers over the network. That goes to kafka, then is shipped to the system that actually does the indexing. And then, there's a query running, which will then count the number of times that string appeared and updates a counter.
All of which could have been avoided if the apps just added +1 to a counter, and exposed that as /metrics so Prometheus could scrape.
Generally though I've found once you start aggregating logs you find many more uses for them.
What they don't realise is that, thanks to the FFT, 2 of those 4 things actually failed over a year ago and the system has been continuing to work ever since without anyone ever noticing. One of the other things actually fails intermittently a couple of times per month, and while a couple of people have noticed that and reported it, either it's not been investigated at all, or when it was investigated everything looked fine and the report was put down as an unexplained glitch. All that was actually needed was for the 4th thing to fail, to cause this "can't happen" failure mode to suddenly ruin everyone's day.
Just because you're paying someone to go check and they don't find anything 99% of the time, you don't get rid of that. If you do, there goes the pnly sensor capable of propagating that signal to the rest of the control network. Applies equally well in electronics/circuits/or human domains.
It's a really useful concept to keep in mind when designing or maintaining complex systems.
The probability of an interaction not going wrong decreases exponentially with each interaction.
----
> the newbie says "aww, why isn't it working?"
> the intermediate says "yay, it's working!"
> the expert goes "hmm, why is it working?"
I've also seen this as
My thing isn't working and I change X and now I get error J instead of error K, so now I have to change X back because it's still not working.
Where K is a "better" error than J, such as K = failed to connect and J is Server 500 error. With J you are at least talking to a webserver.
Take a deep breath. Take off your headset. Go outside. Never look at a computer again. Start driving a bulldozer. Life is good.
"freeze" is still a much better reaction than "quickly dismiss without paying attention". I can understand "freeze"; it's possible to learn and train from there to "good, well done, now read everything and think". I do not understand "quickly dismiss without reading and paying attention".
(I know about the studies for "people dismiss something that isn't getting them their goal", but I still don't understand the mindset that can dismiss something like that even when theoretically trying to figure something out.)
You're using a program. A thingy pops up or unexpectedly shows up that interrupts you.
80% chance it's some stupid ad or newsletter thing. Dismiss with prejudice.
19% chance it's a "oopsie poopsie we did and whoopsie, the server monkeys are working VERY HARD to fix this, sowwy!!" and then the app still works apparently just fine, or if it doesn't you just force close and re-open the app.
1% of the time it's an ad again.
In the remaining floating point error's worth of %, it's an actual actionable thing a user could action to fix the issue.
I don't really blame people for just predicting that a pop up will be useless because it probably will be.
(I hate progress openedge)
Of course, they didn't actually put the error message in the ticket, they'll write "backend crashed" and put a screenshot of the front-end crashing because they didn't do any error handling at all.
Double fuckup if the thing is backups and your data is gone. Reason why we check not only "does the backup job finished" but also "does the size looks right", because backup with 0 files still returns OK...
int bar;
...
foo()
{
if(bar) {
doX();
else
doY();
}
}
Note that uninitialized globals in C are implicitly zero-initialized.doY() had been broken for years but nobody ever set bar to be true; doX() was nevertheless being called. Setting bar to zero caused the buggy doY() to happen. Setting bar to one seemed to work, but would occasionally segfault.
Then someone explicitly initialized bar and got a linker error. Turns out in ye olden days of C, before "extern" was a thing there was a feature where variables that were initialized in no more than one compilation unit would be all coalesced by the linker. Before doY was broken, someone defined a function named bar, which then caused bar to have a non-zero (i.e. true) value. Someone later added some broken feature to "doY" and it passed all the tests because changing doY() didn't have any effect.
This is immensely frustrating because I like to understand mechanical and electrical devices and take pride in my craft, so if I fix something too easily I don't trust that the fix will hold without a mental model of the thing.
I don’t like code that compiles cleanly or runs cleanly on the first try. The worst is when I know that code isn’t close to done yet. Without errors my list of actionable tasks is low. I know there are a certain number of problems, and if I can’t see any it’s because they’re invisible, not because I don’t have any.
That being said I'm always suspicious and start to fiddle with them if I see test + code pass on first time
if dinosaurs < expected { alert("escaped dino!"); }
and nobody anticipated dinosaurs > expected
All we know is that he predicted fence integrity would fail somehow. We don't know what else he predicted, maybe he just got that one right by chance. We don't know if Hammond changed the park after the paper to invalidate Malcom's reasons for predicting fence integrity failure; if he had done this, Malcom would be wrong despite having predicted fence integrity failure.
We sent people to the fucking Moon _and_ brought them back home. I'll be damned if humans can't solve Jurassic Park.
I vastly prefer reading books in general, but with Jurassic Park they really cleaned up a lot of rough edges in the movie. The kids are way less annoying too.
assert (dinosaurs <= expected)
1) Robust system design involves identifying the parts of your system that are mission-critical and always monitoring them. NASA missions have great automation and a 24/7-staffed mission control.
2) If a system failure can result in massive secondary damage, isolate that system. Warehouses receiving orbital payloads should probably be nice and far away from the base you care about.
As mentioned elsewhere in the thread, shades of 'The Moon is a Harsh Mistress' by Heinlein.
All your base are belong to dust.
You should alert on critical parts but you should monitor anything and everything you can. It might be critical in finding out why system broke later on. Easier said than done for hardware but easy for software
Sometimes I wish I could go back and wipe all my Factorio knowledge and start from scratch again, most importantly refusing to use blueprints from the internet except for basic things like balancers. Finding early/mid/late game malls/blueprints sort of ruined the game for me. Min/maxing is fine by myself but once I'm "competing" against the internet or feel obligated to find the most efficient/best green/red/blue circuit factory, or science packs, etc it really ruins the game for me and makes it feel more like a job.
I got a good thousand or two hours out of the game before I hit that point and someday I want to try playing it again with self-enforced limits on what I'm "allowed" to get from the internet and what I need to just figure out on my own. The first game I played was pure bliss (and I played with Bob's mods and a number of others, yes that was stupid for my first playthrough but damn it was fun), I'd love to recapture that.
Once comparing my own work to the best online it took a lot of joy out of the game. But I found that the memory was short lived, once I cut myself off from those online communities it was easy to fall back into the "let me pull out my sketchbook and solve this problem" mindset. I think half the fun is that design process.
I'm well north of 1000 hours now, and still discovering new ways to play and solve problems. I've come full circle and now build spaghetti bases because they are so visually fun.
The game largely felt like I was stuck in the same cookie-cutter, always trying to never have to tear up lines or rebuild elsewhere (trying to do it perfectly from the start). That was easily half the fun of my initial runs, realizing I needed to expand or rebuild instead of trying to perfect the build order.
I mostly played through without any internet advice until I shared with a friend who did use internet advice and the main bus was his advice. Thankfully I already had a base so I tried this for a specific process/product (rockets ofc but still). I think a lot of “late game” stuff by experienced players will likely converge towards a bus since you’ll be already learned scale and order by then, but maybe with less precision in layout. The problem is that you can’t un-see it once you start building with it once.
I agree that fuck perfect from the start, build at the right scale at the right time. It’s way more fun. Conversely, if you like multiplayer games, this is a game where it’s really fun to play with people who are new. You can use their naïveté to override your knowledge or build completely different looking based each time. It’s fun to guide them through rediscovery (eg wtf why did all the trains dead lock!)
It doesn't have to be, though. I'm currently playing Space Exploration + Krastorio 2. Krastorio modifies the early/mid game, Space Exploration meddles a little with the early game, but most of it is late game.
There are a few more inputs required for things so they can get more complicated. And with Krastorio the early game is extended (you have "burner" versions of the science lab and assembly machines). So yes, earlier game is a little slower. On the other hand, it gives you stuff to make up for it. You don't require as much science(at least, before space) and there are things like core miners, which provide infinite resources so you don't have to keep moving miners. Also new power generation.
I guess that it depends on what you want to do. Base Factorio you either play until you launch the rocket, or you move on to megabases. If you want to do that, it's perfectly fine. However if you want to keep playing, it's a lot of the same, only bigger. Space Exploration essentially _starts_ once you launch the rocket. I don't want to do megabases so it seems ok with me.
Also, spaceships :)
I have really enjoyed the puzzles it has posed in the form of circuit network logic for automating rockets and spaceships. The issue described in TFA is just the tip of the iceberg. My factory has deadlocked in a number of interesting and unique ways over the course of the 600 hours I’ve played thus far. I’ve enjoyed the mod. It has some very interesting ideas and challenges. It’s a shame those puzzles are hidden behind so much slog.
Also when does a Factorio system ever work? There's permanently a pressure for it to do more, stuff stuck on the wrong belts, not enough of some input...
Sounds like a growing SaaS company.
Reminds me a lot about Knight Capital bug that cost them $440M in 28 min.
> Rogue orders seemed originated from the new RLP router code, but no one could pinpoint the bug.... they reverted to last-stable.... and even more trades executed than before.
https://www.henricodolfing.com/2019/06/project-failure-case-...
I remember a PDF that went into even greater detail, was a very good read.
More universally, 0 isn't null.
Tests and their dashboards must distinguish “the testing system worked and the test failed” from “the testing system failed”.
But there may be mistakes writing the tests (false success result). To check the tests, I break the implementation, then check that they fail.
There's certainly practical benefit to being able to quickly triage a test failure. Tests that only output booleans are annoying. When there is a failure, it's helpful to have some out-of-band information about why it failed. That's typically provided via console output, but you can make whatever complex logging system you want.
If the regression testing system has an error while running a test, you page the oncall SRE and maybe try to rerun it. You certainly don’t roll back any checkins.
it's a strange problem, to be sure. "I want to speak publicly about something in the market-place square, but in such a way as to avoid the nay-sayers and rabble-rousers.' -- this seems like a problem that was fixed in ye days' of olde by forming secret collectives and 'meeting down by the docks', I guess that's akin to what federated services offer?
note : I find federated social networks to have the same flaw, it's my belief that good things should be archived and catalogued for the public good -- so I have a hard time getting behind the idea of federated spaces that are protected from archival efforts -- but I do acknowledge that curation of a group is one of the best ways to reduce harassment.
Yes, and that sucks. But you can blame the assholes for that; they're the ones who ruin it for everyone else.
Waymo, Cruise, Aurora, and others are doing it the right way.
I have no idea why (something in the compass integrated in the car? was GPS being hacked?). But the thought I kept having was "If I had a self-driving car, what would be the impact of this?". All I could think of was horrendous disasters for me and the other cars around me on the road.
Interesting that the sentinel value is zero in this case. In data analysis that's usually a terrible sentinel value, but here it's the most practical one.
but foone doesn't like the orange site so we probably shouldn't link (another advantage to running your own site, you can make refers you don't like see goats)
> in any case, losing power means the transmitter stops transmitting.
> and here's the fun part: your circuit which controls that inserter is set to insert "if [ICE] < 8000"
> and GETTING NO SIGNAL AT ALL counts the same to it as ICE=0.
> 0 is < 8000.
I'm in the middle of reading this book and I figured this would (finally) happen next chapter. I'll be looking forward to this pivotal moment.
boolean deliver = false;
while( polling ){
deliver = readyToReceive();
if( deliver ) {
send();
}
}Now you have the same problem.
* In Factorio (game) you can have space stations that send supplies to your ground base
* If the supplies are not caught, then they cause damage to your base
* To avoid sending supplies that cannot be caught, you can use logic controls
* A common approach is to have the station say "if (ground supply < X) send"
* This fails if the ground supply loses power, as no signal is interpreted as 0 and 0 < X
* Thus, the system will appear to work until your ground base loses power, at which point it will be destroyed
* A better system is to have the ground base use logic to say "if supply < X send signal" and the station to say "if signal received, send". This way, a power failure fails safe instead of fails active.
With a fun callout to https://en.wikipedia.org/wiki/The_Moon_Is_a_Harsh_Mistress
I hope people on HN will learn to respect all members of our community. Yes that involves not assuming every person online is a man!
If you asked for “signal lights” I could see it. But not traffic.
In the end the known unknowns aren't that bad, just assume laziness and choose whatever checks the least boxes. But the unknown unknowns are regular culture shocks. Like pedestrian lights not being considered traffic lights.
So many not what most people would pick, but what Americans would pick?
It used to be that you had to know english in order to understand them as well...many of the signs used to use the words "walk" and "don't walk"
In many cases the US were the first to mass-manufacture things to some kind of standard, so the question is really: why did the rest of the world choose a different standard. Often they have a good reason (better design, maybe), but the US also has a good reason for not switching (inertia, existing tooling, people understand the existing standard).
The US was the first place that traffic light and crossing signals were installed. The reason they didn't go with the standard the rest of the world uses is that it didn't exist.
Case in point: Ma Bell. And things like signing the credit card receipt.
Like, the WALK / DONT WALK crossing signals that were around in my youth were slowly replaced with the HAND / WALKING PERSON ones, I'm sure because they're better for people who don't read English.
But also there is a cost to change, and it's often not worth doing if the benefit from the new system or standard isn't a lot better than the old.
In fact, a theoretically better standard could actually be worse in some situations if people are accustomed to a different standard. Imagine if America had settled on red for go and green for stop, and then tried to change the standard to match the rest of the world. It would be a calamity as some drivers continued to adhere to the old standard that they knew.
Stop signs were originally yellow, so such a change isn't unprecedented, but in that case they also contained the word STOP so the colour wasn't critical to understanding the sign. Standards can more easily change when there is backwards compatibility available. More recently, some jurisdictions have started adopting traffic light shapes (square = stop, diamond = caution, circle = go) but retain coloured lights for backwards compatibility.
Why doesn't the rest of the world (outside the US) have a 3rd middle brake light (CHMSL), as was mandated in the US in 1986?
My guess is because, despite measurements of ~22% crash avoidance at the time, that number turned out to be between 0% and 4% in practice. Maybe the rest of the world didn't care about 4%, or maybe they thought it was as stupid then as it turned out to be.
But the CHMSL standard in the US has refused to die.
This resulted in premature conclusion errors. They went to the ATM to get money. They got their money so they left... forgetting their card.
When ATMs were updated they fixed the design error. Now the card popped out and had to be removed before money would dispense. This resulted in a spike of people leaving with money hanging out of the ATM because they had been trained that removing their card was the end of the task. (Which is why money now gets sucked back into the machine if it hasn't been removed fast enough).
The point of the anecdote (other than that you hire HCI experts before implementing an interface) is that implementing a new and objectively better system doesn't necessarily result in an objectively better outcome when replacing an incumbent worse system.
Traffic lights? Not so many actually?
Seems like you understand it fairly well. I can't speak for Canada, but the U.S. mostly ignores how other parts of the world do things.
What you're thinking of is called procedural memory, which helps you perform a task without being consciously aware of it (hitting a fast baseball, looking left/right when crossing a street).
Dr. Pavlov's seminal book is generally translated as Conditioned Reflexes. Saliva in response to a bell is a reflex, and it's an acquired one.
Not falling flat on our face when we step forward is also reflexive, as is catching something thrown to us. Both are acquired through rather lengthy processes.
There are many similar examples.
Back in 1649, when Descartes formulated the concept of a reflex, it was used to describe lower animals, to support his notion that they were automata without a mind on their own. The word reflex originated from the "reflection" of the sensory input into a response. The physiological backgrounds were not yet known.
In the early 19th century, Hall narrowed the definition of a reflex to be a "involuntary action of a muscle or gland in response to the stimulation of a receptor neurone which does not depend on the existence of consciousness".
Sherrington, in 1904, narrowed the definition further, introducing the concept of the "reflex arc", a hardwired pathway between receptors and effector muscles.
Pavlov later did a strange thing and widened the definition, which is the source of some confusion. Nowadays, Pavlov's Conditioned Reflexes are mostly called Conditioned Responses, to avoid this exact confusion. NB: there are people arguing that conditioned is a mistranslation, and that it should mean conditional, which makes more sense in the context.
Pretty much every current publication uses the term "reflex" for involuntary, inborn responses, detected by receptors, transported to the spinal cord by afferent nerve fibers, processed there, and the motor signal sent through the efferent nerve fibers to the effector muscles. I only found the term "conditioned reflex" in papers discussing Pavlov's experiment.
However green on walk would be nice.
Very visually distinct, walking and standing, and green/red.
My working theory had been green figure means cross, red figure means cross with caution, like a flashing red hand in the US.
I agree with you. When I'm in the US I keep scanning for a green light, so it takes me a while to find "the white man" telling me it's OK to cross.
Just figured I'd mention that.
Only if you define the rest of the world to mean the very small percentage of places in the world you have been.
From Wikipedia:
In some countries, instead of "don't walk", a depiction of a red man or hand indicating when not to cross, the drawing of the person crossing appears with an "X" drawn over it.
Some countries around the Baltic Sea in Scandinavia duplicate the red light. Instead of one red light, there are two which both illuminate at the same time.
Maybe Australia? You don't remember if you've been to Australia?
Congratulations! I've never been so drunk that I didn't know which continent I was on.
> The icons displayed (hands) are confusing too: the rest of the world uses an icon of a man walking or standing.
Is a hand held up, palm-out, not a signal for "stop" in places other than the US or Canada? I wouldn't assume it's universal, but I'd expect it's got broader reach than that.
Besides, again, I'd personally assume it'd be better to have very different icons for "walk" and "don't walk". Not two different depictions of a person.
*edit to provide context. this isn’t unique to twitter/hn. it’s trendy on reddit to hate tiktok and instagram. it’s trendy on 4chan to hate reddit.
But as you say, people can do what they like.
Unleash the chaos monkey's just in case, not to get too confident.
I've never heard anyone say anything about the Factorio devs except praise their productivity and professionalism.
I think that’s it.
A lot of people have (understandably) lost patience with the "just asking questions" style of rhetoric, and don't appreciate others making excuses for it.
I believe kovarex made some anti-trans statements once, and gamers in general are prone to making abuse pile-ons, so it's a mitigation against that.
Nah, publicly advertised for and defended some right-wing Youtuber. [0]
I won't go as far as defending his views, but recommending his talks and books seems pretty normal to me.
You could also run headless version of the game on a server and just connect to it for the same effect.
Remember - Factorio is just an idle game with extra steps.
The thread's start is here, btw: https://mobile.twitter.com/Foone/status/1581643197427523584
"click here to download PDF" -> "log in to download PDF" -> [ unbelievable, privacy-eviscerating Twitter permissions, email ] --email--> You're almost there, click the emailed link to download the PDF! --click link--> you must go premium to download the PDF!
And then no less than two additional "Your PDF is ready!" emails which also redirect to the "go premium" page.