Росатом, где я работаю, участвует в проекте под названием Rhisotope.
Браконьеры очень сильно сокращают популяцию носорогов, потому что рог на чёрном рынке хорошо продаётся. Есть даже направления альтернативной медицины, основанные на порошке из рога носорога.
Несколько учёных додумались вводить носорогам в рог специальный изотоп, который чуть-чуть фонит. Самому носорогу это не причиняет вреда, зато такая метка светится на сканерах в аэропортах. Уже установлено 11 000 таких сканеров. Полагается, что это осложнит перевозку рогов, а значит снизит и поток контрабанды. План у проекта пометить минимум 1000 носорогов за первые три года. Кстати, раньше людям приходилось отрезать живым носорогам рога, чтобы спасти их от убийства. Рог отрастает за 1.5 года, но с точки зрения природы даже его временное отсутствие неестественно.
На мой взгляд, в дополнение к этой инициативе нужно отлавливать самих браконьеров и вводить им изотопы с более сильным излучением.
#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