У Каца обстоятельный ролик про самокаты. Самое главное — приводятся исследования, показывающие, что на электросамокаты чаще пересаживаются именно с автомобиля и такси, а не с общественного транспорта. Это, пожалуй, был самый неоднозначный момент в спорах, в том числе в моих дискуссиях с некоторыми людьми в комментариях под предыдущими записями. Даже фанаты автомобилей в общем-то понимают, что снижение автомобилизации города это благо для всех его жителей, включая самих автомобилистов. Но некоторые сторонники автомобилей выступали против электросамокатов с риторикой «Пусть эти люди продолжают пешком ходить / на автобусах ездить».
На деле рассматривается так называемая «проблема последней мили» — перемещение от крупного транспортного узла до точки назначения. И ее очень плохо решает рейсовый общественный транспорт, но хорошо решают такси, каршеринг и, с некоторыми поправками, личные авто. Средства микромобильности, к которым относятся велосипеды и самокаты, тоже призваны решать именно эту проблему.
Так что да: электросамокатчик это по статистике чаще всего не выехавший на дорогу автомобилист (на своей машине или каршеринге/такси).
Впрочем, выводы Кац, разумеется, делает самые банальные, ничего не говорящие о том, как решать проблему простым жителям здесь и сейчас. Надеяться на какую-то адаптацию городов в России для людей было бы очень наивно.
P.S. Недавно проехался на кикшеринге с новым ограничением 20км/ч. По субъективным ощущениям стало сильно медленнее, но по часам — не сильно медленнее. Все ещё один из самых удобных способов перемещения по городу.
#life
https://youtu.be/UOSOPAlxwD4
🚀 Вышел стабильный 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