Британцы любят снимать сериалы в своего рода театральном стиле — небольшой набор сцен, где находится мало персонажей с минимумом движения и ведут длинные монологи/диалоги. Всё повествование и передача авторского замысла строится на расзговорах.
За последний год я частично посмотрел Alan Bennett's Talking Heads (люди монологом рассказывают свои истории на больные темы) и State of Union (женатая пара на грани разрыва, выясняют отношения в баре после сеансов у психолога). И ещё на днях полностью досмотрел After Life — у мужчины умирает жена, он теряет вкус к жизни и начинает говорить всё что думает. Затравка звучит интересно, но на деле это быстро уходит в довольно классическую драму о потере и поиске себя.
Есть ощущение, что такие произведения отходят как раз к британскому театру с его давней и сильной историей. Мне такой жанр нравится, но есть один нюанс: британцы просто жесть какие извращенцы. Не знаю, будто бы они годами были чопорными и высококультурными, сдерживали себя, а потом проникновение европейских "ценностей" сорвало какие-то пломбы. Это проявляется вообще во многих проектах, даже в каком-нибудь "Докторе Кто" можно увидеть эпизоды с шутками не просто ниже пояса, а прям отвратительную пошлятину. В коротких диалоговых драматических сериалах такого ещё больше. Герои могут пять минут обсуждать прямым текстом супер мерзкие интимные подробности. А в обычном диалоге на отвлечённую тему будут вставлять комментарии ниже пояса так, будто бы это абсолютно обычная естественная часть общения.
Не знаю, взаимодействуют ли люди у них так в реальной жизни. Возможно, это современная инкарнация своеобразного британского юмора: в конце-концов у Дугласа Адамса тоже было всякие неожиданное. В книге. Американский фильм оставил гэги, но убрал совсем трэшатину.
#fiction
🚀 Вышел стабильный 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