Я вам давно писал про книгу "Квантовый волшебник" канадского фантаста Дерека Кюнскена. Сейчас читаю вторую часть, "Квантовый сад". Вспомнил, что еще тогда хотел рассказать об интересном описании религии у автора.
По сюжету нация богатых и высокомерных людей, нуменов, создала себе генетически измененных людей-слуг. Эти слуги — там их называют "куклы" — специально сделаны размером с карлика и физически более слабыми, чем обычные люди. Но нумены встроили в кукол еще один уровень защиты от неповиновения и восстания: от запаха нуменов куклы впадали в религиозный экстаз, буквально испытывая чувство, будто общаются с богами. А при лишении возможности вдыхать запах своих богов эти слуги впадали в жесткую депрессию.
Причем, экстаз они испытывали вообще при любом взаимодействии со своими хозяевами. Даже если те их били или унижали, для слуг это форма божественной милости. Казалось бы, что могло пойти не так?
В итоге слуги стали замечать, что хозяева иногда причиняют друг другу вред и даже убивают себе подобных. Если не будет богов — не будет и экстаза. Так что они пришли к логичному решению: переловили всех богов и посадили в клетки. В заточении нумены начали самоубиваться, поэтому клетки делали всё меньше размером, пока человек внутри не станет полностью обездвижен, скрюченный в три погибели. Иногда ему удаляли конечности, чтобы лучше помещался. Кормили принудительно через трубочку. А чтобы было больше запаха, эти клетки ставили в жаркие помещения с вентиляторами, и ходили толпами туда молиться.
При этом никакая религиозная атрибутика не исчезла: куклы всё так же считали нуменов богами и преклонялись перед ними, испытывая восторг и благоговение. Всё-таки, это было зашито в их генетике.
#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