Обычно я отношусь к противникам электросамокатов примерно так же, как к людям, которые призывают валить 5G-вышки. Мракобесы сражаются с прогрессивным улучшением жизни нормальных людей испокон веков. Важная черта состоит в том, что сами мракобесы эти улучшения не понимают и не пользуются ими, как в меме про бабушку "Не нужон нам этот ваш инторнет". Если человек реально не врубается, что такое "last mile problem", почему она возникла, почему её решение повышает удобство жизни, то с ним можно этот вопрос не обсуждать.
Но тут вот, оказывается, с неделю назад в Госдуму внесли законопроект, призывающий штрафовать электросамокатчиков за разные нарушения, и я впервые встал на сторону хейтеров. Предлагается штрафовать, например, за езду вдвоём, за перевоз ребенка, за езду в пьяном виде. Суммы порядка тысяч и десятков тысяч рублей.
Мало! Всецело поддерживаю эти штрафы и даже увеличил бы их. Было удивительно читать, как в комментариях электросамокатчики защищают езду вдвоём и перевозку детей. "Конечно я везу ребёнка с собой, не давать же ему отдельный самокат!" — да, чувак, абсолютно никаких других вариантов не существует.
Принять законопроект обещают в июле.
#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