Прочитал, что Уилла Смита отменяют за случившееся на Оскаре. Кто не знает: там ведущий отпустил едкую шутку про короткую причёску жены Смита, а оказалось, что она больна, и короткие волосы из-за этого. Смит вышел и дал ведущему по лицу.
Теперь Netflix и другие студии разрывают со Смитом контракты. Уже отменили какой-то фильм с ним, а в другом стали менять актёра.
Я не фанат насилия, и мне очень понятна модель его недопущения. Действительно, в современном обществе хочется быть защищённым от него. Как человек, который в подростковом возрасте дважды убегал от гопников, а всего несколько лет назад был на настоящей стрелке против угрожавшего ножом обмудка — я хорошо знаком с концепцией уязвимости и страха из-за возможного насилия.
Тем не менее, я твёрдо уверен, что мир не работает на простых всеобъемлющих правилах. Нельзя просто сказать, что насилие недопустимо ни при каких обстоятельствах. Это идеалистическое и, возможно, желаемое утверждение, которое не имеет с реальностью ничего общего. И реакция западного общества на поступок Смита лично для меня — проявление мерзкого унизительного малодушия. Иногда нужно остановить действия другого человека. Смит не бил женщину или ребёнка, он вышел к равному по силе взрослому мужику, у которого ещё и было преимущество в виде внимания зала. Вышел к нему в открытую лицом к лицу и очень слабо влепил пощёчину. Это следовало сделать для встряски, просто чтобы привести ведущего к пониманию того, насколько неуместной и даже оскорбительной была его шутка. Нарушение границ от этого шлепка не выше, чем от слов ведущего.
Уилл Смит — мужик. Глубоко презираю тупой лицемерный канселкультурный каток, который уже разгоняется в его сторону. Для меня это одно из худших проявлений того, во что превратилось западное общество, хотя в целом многие другие ценности и идеи оттуда мне близки.
#life
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js