Some of my own questions followed that route, without being dupe questions and while being a code-based success or fail state. The closure of tickets is detrimental to the site, but somehow, it's still worth asking a question.
122 karma · joined March 22, 2019
Some of my own questions followed that route, without being dupe questions and while being a code-based success or fail state. The closure of tickets is detrimental to the site, but somehow, it's still worth asking a question.
Additionally, in the case of a bigot, the outcomes involving subjects of prejudice may be less meaningful to them even at a subconscious level. Coldness and bigotry can coexist, and certainly produce emergent results.
Also, that the best outcome of using surgeon who has a history of domestic violence is that they're so disassociated from the world, that beating a loved one doesn't matter is a really strange argument. Perhaps the argument is there isn't a better way, but damn.
I used to not be sure about robot surgeons, now I'm pretty convinced.
I think it could be it's own product, but leadership doesn't care.
It could feasibly handled economically. I've wondered if a stronger world govt a century or so down the line saying eco friendly or tariffs. I can't speak to liklihood, but it seems feasible.
Marxism extensively argues that it is easiest to oppress people when you categorize them differently. An example would be how poor whites weakened the rights of free slaves in post Civil War America. Marx would argue the rich propagated racist beliefs to the poor whites who then limited the rights of other poor people. The end result is the poor limit their own democratic representation. Scientific Socialism is an essay by Engles (coauthor of the Commumist Manifesto) where he argues all oppression is based off of sexism (infantilization, dehumanization, objectification) and shows how the concepts of oppression are modified for race and class, so each group appears different but are actually the same. How this would apply to advertisers might be to preserve the status quo, or to make people feel bad to compulsively buy.
Not saying I agree with every aspect of those arguments, but it is a well documented attempt at answering your question.
My first gig was at a 3 person team, including me. The other two wrote their code in basically identical format. I ended up codifying a linter config to make a style guide that basically all existing code already fit into. I remember thinking, this is never going to be so easy again.
Your post makes me think I was right.
That's what I think of when I hear technical debt.
What are examples that make sense and don't just explode in your face?
The end user would rather have an application be frantically logging errors in the background, but be working for their usecase, than a program that is fixated with being correct and refusing to run in the presence of errors.
Obviously quality code still matters, but at least in the business realm "does it do what I expect?" is basically your success/fail state.
I've worked low wage jobs for the Government and Private Industry where we were hit with ransomware and phishing attacks. I think you are underestimating how many workers are really in that position. I'm not sure if you're American, but it's very common in America.
The second I feel is by design. A runtime exception is better than undefined behavior, which was the other option when many of these more abstract languages started taking hold. We're just reaching a point where languages with undefined behavior are being competed against by projects like Rust which offer similar performance without the same risks. Runtime exceptions become less attractive when you can avoid them and avoid undefined behavior with more comprehensive solutions.
My other strongest languages are Golang and JavaScript, so I'm used to (duck-)typed and untyped approaches, and I've never felt that Elixir was difficult to work with because of the lack of types. I've treated pattern-matching like type inference, and as long as you have guard clauses, the worst that can happen is a runtime error which you "let fail" anyway.
I guess the guard clauses are a bit of boilerplate, but I feel like these complaints have a different root. I just don't see it yet.
I learned a good lesson, though: no logic in template files! Ever!
Coming from the Go! world, I view Elixir is trade of speed for OTP out the box niceness. But comparing Elixir to Node, then you're just gaining speed and stability.
And it keeps going -- I very frequently see Go criticized for slowness by C, C++, and Rust developers. It is all about the usecase, which is why I find this topic so interesting. It's one of the few situations Elixir mid-level speed is actually a real world problem.
Things like HP Lovecraft renouncing racism is only preserved because he wrote so many damn letters. It doesn't make the racist stuff he wrote less racist, but it allows a really clear view on how worldviews could change at the time. Perhaps the things we are storing will have historic or philosophical value.
I miss real privacy though.
I remember an ancient mathmatician described how all of existence must be a single geometric point, I think it was Euclid, but I can't find it. This all reminds me of that.
It gives you a simplified fork in goroutines, a way to safely pass by value or signal between these through channels, and structures like select to psuedo randomly deal with race conditions.
That stuff is all awesome!
But when you are talking about performance, opinionated simplicity is a bad philosophy. You are going to want the finer grained control the poster is asking for, and which Go deliberately doesn't allow for. C, C++, and Rust will always have a speed advantage because they lack the overhead of the GC and were designed with allowing the developer minute control of the system, which is the space to make such optimizations.
That said, opininated simplicity means every Go codebase I drop into looks roughly the same. That is not true in the above langauges, precisely because they allow for more control.
To me, Go's ideal use case is the domains of Java, Python, NodeJS, and even Elixir -- where it has a performance edge in many cases and where its consistant style really shine.
All that to say, Go is bad at performance optimized concurrency, as designed.
They aren't as efficient, but using them as a semaphore (i.e. only signaling) can facilitate fairly-efficient, easier-to-read shared memory. But I'm kind of proving the whole...
> You can very carefully design around it only channels
...part of your post.
I think the point about concurrency typifies this, channels aren't as fast as mutexs and semaphores, but it makes sharing code with co workers easier to reason about.
If you're in a domain where performance is still king, Go isn't trying to find a place there.