Because it's the least offensive. No one can yell at you or claim the color is "dated" if you stick to white/gray/black and a touch of stainless steel.
Sad to see how many houses are painted gray or beige in SF now. We are going to paint ours purple in protest.
The REILs are part of ARFF training. Pilot training on it is also clear. The system is automated. It plots the direction and speed of anything approaching the runway and predicts a conflict. If the REILs are red it is HIGHLY likely there is a conflict that is missed by human error and you should not proceed without confirming. Don't just confirm cleared to cross, explicitly tell the controller "XYZ tower we have red runway entrance lights. Please confirm runway XX is clear".
The system is smart enough that if you get red bars to cross for an airplane departing once it passes your position the red clears because it knows the airplane is already past you. It is not dumb - it was deliberately designed to minimize false positives so everyone would trust it otherwise they might ignore it when it really counts. (AFAIK it very accurate in fact so the firetrucks weren't crossing because they distrusted the red lights).
This is just like all aviation incidents and indeed most incidents of any kind: the holes in the swiss cheese lined up.
The emergency aircraft couldn't find a free gate, creating a massive distraction for ATC, airport, et al. This is probably the primary domino that started the sequence. Had a gate been free this incident would not have happened. One big hole lined up.
Normally the aircraft would visually see the truck or the truck would visually see the airplane. But it was dark and rainy. Another hole lined up.
Everyone involved was rushing because noise abatement requires the airport to close at a certain hour. Thus everyone wanted to take-off or land before that shutdown. Another hole.
Normally the controller wouldn't issue the clearance to cross or their supervisor monitoring behind them would notice the error and override. But the controller and/or supervisor were distracted by the emergency. Another hole lined up.
The controller realized the error and issued a stop command but the fire truck proceeded anyway; they may or may not have heard the transmission. Another hole lined up.
Then someone else decided to jump on frequency during this busy time (we don't know who just yet) which may have prevented the controller's stop and/or go-around commands from being heard (another hole lined up).
The ARFF crew did not obey the REILs, accepting the clearance. Perhaps they thought the red lights were due to aircraft on short final and they still had time to cross? Perhaps it was some other misunderstanding of how that system works. Another hole lines up.
And the Air Canada jet was not paying attention to the chaos on frequency. There's a reason runway crossings are typically done on tower frequency: so aircraft can hear what is going on. But it was late at night and their brains probably didn't process what was happening. Or they were too close to touching down to have the bandwidth. Another hole lined up.
> The emergency aircraft couldn't find a free gate, creating a massive distraction for ATC, airport, et al.
Yes. And I want to add one more thing to this: the airplane with the "odour" issue was kinda ambivalent about the danger. They deemed it dangerous enough to declare an emergency, and request a gate then later ask for airstairs but not dangerous enough to pop the slides and just evacuate right there and then. I'm not saying this is wrong. Obviously they were evaluating the situation as new information was coming in. But it increased the workload of the ATC. They were trying to find a gate, and etc. If it was a clearer "mayday mayday mayday, aft cabin fire, we are evacuating" that might have been paradoxically less "work" for the ATC. Or at least more of a "practiced" scenario.
> Perhaps it was some other misunderstanding of how that system works.
Yeah. That's a big one. Total speculation but maybe they thought the airplane with the "odour" issue was keeping it red?
Is that not an admission that his poor management and lack of vision cannot foresee any way to make profitable use of those people's labor?
A company raking in 5-6 billion per year can't find any profitable bets to make? Possibilities to invest in? All they can do is cut?
LOL. If you're that bad at capitalism then please resign and let someone else give it a try.
Reminds me of PG&E. So bad at being a for-profit electric company they need constant state handouts to guarantee profits. They made bad contracts so they need a PCIA fee for not selling me electricity. Hedging? Severing contracts? Arbitrage? Forecasting? Never heard of those, now make with the free coin! My son... if you are that bad at capitalism shut it down!
I agree with Warren Buffet's take here. A company that cuts or can only pump dividends is basically saying "we can't figure out how to make productive use of people and/or cash". What an unbelievable joke.
Gamblers are the whales of that industry. The industry is well aware of that and well aware of how much harm they can cause. But their paychecks depend on not knowing so they choose not to.
Same as pay-to-win freemium games. Find the whales and milk them for all you can. For every high-spender who can afford it they know full well the other 99 cannot. They know they are ruining some people's lives. They know they use dirty psychological manipulation tactics. Their paychecks depend on not knowing so they choose not to.
There are many jurisdictions where the companies are not allowed to ban 'winners', but the companies often respond by lowering those users' bet size limits.
No different than big tech and their divisive algorithms. Or big pharma and side effects. Or big manufacturing and environmental harm (including harm to the people living around manufacturing companies).
It is an inherent property of unchecked capitalism to externalise and ignore any unwanted costs. Or on the flip side of that coin, profit from causing damage to others, where possible.
Also there’s a bit of a tragedy of the commons. If one entity is scrupulous that doesn’t mean another will. Obviously if they had any morals they’d see the bright line.
Had an interesting case study where a coworker liked to gamble - he was fairly responsible, kept to his budget and treated it like an expensive hobby he enjoyed- but at the same time, he had someone else handle his retirement investments, which is an unpredictable payoff market where you come out ahead on average. I asked a couple times why he didn't replace gambling with investing and never got a good answer. He was certainly smart enough that he could have had fun with the research and chance.
Then there was a market downturn and his investment advisor had to talk him down from selling in a panic, and I was like "oh... It's not an information problem at all. It's entirely an emotional regulation problem"
> I asked a couple times why he didn't replace gambling with investing and never got a good answer
There's a simple answer, which is that gambling is fun, and investing is not fun (my guess.) Your coworker is a pleasure seeker, like everyone is to some degree.
I think your coworker was quite smart. Investing and gambling are close enough that for many parties they are indistinguishable. I've heard investing described as 'gambling for people with more money'. The biggest difference is that if you have enough money you can legally manipulate the market. If it's your retirement investment that might just be over the horizon far enough to get you into danger. Just having access to that with a habit could already be an issue.
That's true, but if that was what was stopping him he could have got a no fees account and just used his casino budget to speculate on penny stocks instead. It would be like going to a casino that has better odds and that he can access on his lunch break... Ok I see your point.
I'm not sure it's irrational to sell in a market downturn. It's a way to pad your emergency savings rather than try to catch a falling knife later when you're already fired. Of course if you sell more than you need to survive a layoff, then that's probably not smart.
If you dig into JS engine implementations they deal with a lot of the same sorts of things. Simple objects with straightforward properties are tagged such that they skip the dynamic machinery with fallback paths to deal with dynamism when it is necessary.
A common approach is hidden classes that work much like classes in other languages. Reading a simple int property just reads bytes at an offset from the object pointer directly. Upon entry to the method bits of the object are tested and if the object is not known to be simple it escapes into the full dynamic machinery.
I don't know if those exact techniques would work for Python but this is not an either-or situation.
See also: modern Objective-C msg_Send which is so fast on modern hardware for the fast-path it is rarely a performance bottleneck. Despite being able to add dynamic subclasses or message forward at runtime.
This is just an analogy but in Swift String is such a commonly used hot path the type is designed to accommodate different backing representations in a performant way. The type has bits in its layout that indicate the backing storage. eg a constant string is just a pointer to the bytes in the binary and unless the String escapes or mutates incurs no heap allocation at all - it is just a stack allocation and a pointer.
Javascript implementations do their own magic since most objects aren't constantly mutating their prototypes or doing other fun things. They effectively fast-path property accesses and fallback if that assumption proves incorrect.
Couldn't python tag objects that don't need such dynamism (the vast majority) so it can take the fast path on them?
It already has a fast path, from (I think) 3.11. If you run `object.x` repeatedly on the same type of object enough times, the interpreter will swap out the LOAD_ATTR opcode to `LOAD_ATTR_INSTANCE_VALUE` or `LOAD_ATTR_SLOT`, which only makes sure that the type is the same as before and loads the value from a specified offset, without doing a full lookup.
Scrolling to the bottom then forcing me to click "show more"? Lazy. A truly horrible experience. I don't know how anyone could think that is a good idea. The worst offenders are the ones showing me products. You might as well not have pages of products at all. Just tell me these 12 are the only ones you have because I've already lost interest. Not that most web stores are any good - most have no useful ability to search or browse so finding anything is like digging through a junk drawer. It all screams "we hate selling product, please go away".
Next worst? Everything Google makes and all the fools who copied them: scroll down, scrolling hard stops, then a few seconds later the next segment of content loads. The scrollbar position is naught but lies. WHY??? Are you proud of that? Because you shouldn't be. You should be ashamed. Demand-load the content behind the scenes so scrolling is continuous and smooth. If the user scrolls fast then skip pages and/or cancel prior requests. The scrolling is the priority, lazy-load the content as needed... but for f*k sake don't do what Google does.
The top worst: hijacking scrolling for any form of animation or to change direction. Absolutely horrid and I leave any webpage that does this out of spite. This just screams "I'M A DESIGNER, LOOK AT MEEEEE!!!!!". It is code equivalent of being "too clever", but for UX. If you don't want people to buy your product or signup for your service but instead be impressed by your ability to vomit out D-E-S-I-G-N then by all means proceed. Everyone is guilty of this, even those who should know better.
I'll add having a floating header that covers the top portion of the page, and only appears when you scroll up. I like to read text in the top third of the page, then scroll down so the lines I'm reading are still in the top third of the page. With the height of my monitor that's the most comfortable position, this should usually be the case if following common ergonomic guidelines. If I scroll up, very often such a header will appear & cover the text I was trying to scroll up to read, so I have to scroll farther. Then it's visible, so I scroll down to move it back up to the top portion of the page as the header goes away. Lather, rinse, repeat, install a uBlock origin filter to get rid of floating headers.
You might want to take some time off the internet, I can smell your liver from here.
The internet sucks, it always sucked, most people don't know how to do anything properly, trends ruin everything else. It's always going to suck, most things do. Time to take a chill pill and learn to live with it.
Sometimes it produces useful output. A good base of tests to start with. Or some little tool I'd never take the time to make if I had to do it myself.
On the other hand I tried to get help debugging a test failure and Claude spit out paragraph after paragraph arguing with itself going back and forth. Not only did it not help none of the intermediate explanations were useful either. It ended up being a waste of time. If I didn't know that I could have easily been sent on multiple wild goose chases.
It's an accelerator. A great tool if used well. But just like all the innovations before it that were going to replace programmers it simply won't.
I used Claude just the other day to write unit test coverage for a tricky system that handles resolving updates into a consistent view of the world and handles record resurrection/deletion. It wrote great test coverage because it parsed my headerdoc and code comments that went into great detail about the expected behavior. The hard part of that implementation was the prose I wrote and the thinking required to come up with it. The actual lines of code were already a small part of the problem space. So yeah Claude saved me a day or two of monotonously writing up test cases. That's great.
Of course Claude also spat out some absolute garbage code using reflection to poke at internal properties because the access level didn't allow the test to poke at the things it wanted to poke at, along with some methods that were calling themselves in infinite recursion. Oh and a bunch of lines that didn't even compile.
The thing is about those errors: most of them were a fundamental inability to reason. They were technically correct in a sense. I can see how a model that learned from other code written by humans would learn those patterns and apply them. In some contexts they would be best-practice or even required. But the model can't reason. It has no executive function.
I think that is part of what makes these models both amazingly capable and incredibly stupid at the same time.
Funny enough Chinese State owned banks have been doing much the same for quite some time. No one ever defaults, loans are extended as long as it takes. Presumably the threat of being called into the next party meeting to explain yourself is sufficient motivation for the people running the business to pivot as many times as it takes until they find a way to make money. Worst case the state swaps someone else into leadership.
I say this to say... who knows? I guess if you shuffle deck chairs fast enough everything works out fine (?)
The larger you are, the larger the rounding errors are, the more money that can disappear due to a failure and explained away or extended or written off or whatever euphemism you want to pick. But the sum of rounding errors is less likely to itself be a rounding error. It works until it doesn't, and Evergrande collapsing with $300 billion in Chinese real estate debt will be a case study for years to come.
Isn't the real underlying risk here concentration, as opposed to diversification?
If you have unlimited capital and time horizon, because you're a nation with the power to tax and print money, then you can keep this game going for a long time.
The only thing that mandates it stops are if (a) too many of your loans are correlated with the same thing that crashes (e.g. energy, tulips, AI, etc) or (b) too many of your loans are tied together in a single entity (either because it combined multiple smaller entities or because it tied itself into all their financial arrangements).
Sad to see how many houses are painted gray or beige in SF now. We are going to paint ours purple in protest.
reply