И это всё МОЁ

Как можно сделать редирект с поддоменов на основной с сохранение URL в строке браузера?


Делю так:


RewriteCond %{REQUEST_URI} ^/?$
RewriteCond %{HTTP_HOST} ^(.+)\.site\.ru$ [NC]
RewriteRule ^/?$ /db/%1 [L]


Но редирект меняет адресную строку, например: name.site.ru -> site.ru/db/name









 ,








И это всё МОЁ

COVID-19 разогнал всех по домам, но как бы то ни было, у сообщества накопилось много интересных мыслей по Perl и Raku, которыми хочется поделиться.


Присоединяйся к трёхдневному мероприятию насыщенному интересными выступлениями!


Конференция будет проходить с 24 по 26 июня. Купившие билет в 10$, смогут смотреть живые выступления и задавать вопросы докладчикам. Для всех остальных, видеоотчёт будет доступен на ютуб совершенно бесплатно.


Доклады традиционно читают волонтёры и желающие могут поддержать альтруистов рублём.









 , ,








И это всё МОЁ

Надо печатать этикетки на вот такие пипирки, куда ссыпаются SMD-компоненты. Размер стикера ~ 12*22мм, 2-3 строки.


Есть Epson LW-400 и Brother PT-H105, но с ними некоторые нюансы…



  • Стандартные расходники от круглой поверхности постепенно отклеиваются. А продвинутый выбор есть только для Brother.

  • С выбором размера шрифтов и выравниванием у эпсона немного жопа, а у бразера жопа размером с дом.


Я уже раскатал губень купить новый Brother PT-P300BT, на котором можно с мобильника печатать, но к счастью сначала поставил андроидовское приложение поиграться. За такие интерфейсы надо отрывать руки и выдавливать глаза.


Пока заказал D11 поиграться (не жалко, если что), но там выбор расходников не очень.


Посоветуйте, что мелкое можно взять под мою задачу, с подходящим расходниками (которые будут намертво клеиться). Желательно без возни с линуксовыми драйверами и т.п. Мне вполне подойдет с мобильника 3 строки текста набить. И покомпактнее, т.к. этикетки надо печатать раз в пол года, и заводить офисный принтер мне нафик не вперлось.









 ,








И это всё МОЁ

Народ, помогите пожалуйста разобраться в проблеме.
Есть Raspberry Pi 4 (установлена последняя версия Raspberry Pi OS, подключена к локальной сети и имеет свой IP 192.168.1.150), к ней подключен USB LTE-модем (его IP 192.168.9.1 и на нем висит WEB-интерфейс модема). Модем эмулирует сетевую карту (eth1 с IP 192.168.9.100). Установлен 3proxy, в конфиге явно прописано socks -n -a -p8002 -i192.168.1.150 -e192.168.9.100
Пытаюсь зайти через сокс на любой сайт и ничего не открывается. При этом на WEB-интерфейс модема (http://192.168.9.1) захожу без проблем с любого компа в локальной сети через сокс.


Такой же конфиг, но на винде, работает без проблем. Изначальная задача была подключаться с любого компа в локальной сети через сокс и выходить в инет через модем. Что делаю не так? Куда копать?


/etc/3proxy/3proxy.cfg


nserver 8.8.8.8
nserver 1.1.1.1
#
nscache 65536
#Leave default timeout as well:
#
timeouts 1 5 30 60 180 1800 15 60
#
#Specify daemon as a start mode
#
daemon
#
log /var/log/3proxy/3proxy.log
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 1
#
authcache user 60
auth none
#HTTP Proxy
# Use default ACLs, don't need to flush
#proxy -n -p9999 -a
#
#SOCKS
socks -n -a -p8002 -i192.168.1.150 -e192.168.9.100
flush


/var/log/3proxy/3proxy.log


14-06-2020 07:34:34 | - | 192.168.1.201 | 185.255.55.29:443 | 0    | 0    |api.ip.sb
14-06-2020 07:34:44 | - | 192.168.1.201 | 87.250.250.242:80 | 0 | 0 |ya.ru


ifconfig:


pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.150 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::2b80:b5b1:2269:99f0 prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:1c:0a:3c txqueuelen 1000 (Ethernet)
RX packets 93130 bytes 133974433 (127.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9016 bytes 975470 (952.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.9.100 netmask 255.255.255.0 broadcast 192.168.9.255
inet6 fe80::344e:b41d:77e1:ccbb prefixlen 64 scopeid 0x20<link>
ether 0c:5b:8f:27:9a:64 txqueuelen 1000 (Ethernet)
RX packets 822 bytes 331847 (324.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 481 bytes 66212 (64.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 603 bytes 35972 (35.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 603 bytes 35972 (35.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether dc:a6:32:1c:0a:3e txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


route -n


pi@raspberrypi:~ $ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.9.1 0.0.0.0 UG 204 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 204 0 0 eth1


ip route show


pi@raspberrypi:~ $ ip route show
default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.150 metric 202
default via 192.168.9.1 dev eth1 proto dhcp src 192.168.9.100 metric 204
192.168.1.0/24 dev eth0 proto dhcp scope link src 192.168.1.150 metric 202
192.168.9.0/24 dev eth1 proto dhcp scope link src 192.168.9.100 metric 204









 , ,








И это всё МОЁ

В фортране есть понятие «чистых» функций, которые не меняют глобального состояния. И есть конструкции вида do concurrent, которые позволяют запускать содержащийся в них код параллельно, причем как именно это будет сделано - на усмотрение компилятора. И внутри этой конструкции как раз можно вызывать только чистые функции. В том числе недопустим всякий ввод-вывод и прочее.


Т.е. по-идее, в принципе нет каких-либо препятствий тому, чтобы содержащийся внутри код исполнялся на GPU, причем без какого либо вмешательства в сам код. Но вот сделано ли это?


UPD, чтобы было понятно:


do concurrent ипользуется в виде


do concurrent (i=1:N)
...
result(i) = ...
end do


А уже после окончания цикла ты что-то можешь с этим result делать


что просто очень похоже на то, как пишется код для GPU









 ,








И это всё МОЁ

упарился побеждать, есть ли счастливчики?








 ,








И это всё МОЁ

Здравствуйте! Есть странная проблема: в панели Vesta в Cron для бэкапов используется команда


sudo /usr/local/vesta/bin/v-backup-users


Команда отрабатывает без проблем. Но если мы делаем файл, например backup_file, внутри него прописываем этот же самый код и запускаем файл из командной строки/из Cron/под разными пользователями:


sudo /usr/local/vesta/bin/backup_file


То не происходит ничего, как будто команды нет. Причем другие команды в этом же файле считываются, а эта игнорируется. Кто догадывается, в чем проблема?









 ,








И это всё МОЁ

Сабж. Юзабилити же непоцстрадало.


И где персоналии? Куда делся обладатель коричневого пояса Рамиль например, почему он еще не в бешенстве?









 








И это всё МОЁ

в убунту 20.04 юзер может успешно выполнять mlockall() без рута. Как вам такое?









 








И это всё МОЁ

Как правильно собрать динамическую библиотеку, зависящую от других динамических библиотек (дополнительных), чтобы можно было переносить между различными компьютерами без сборки дополнительных библиотек на всех компьютерах? Является ли строгим требованием совпадение версии ядра или эту проблему можно обойти?
Не уверен, что смогу найти все нужные библиотеки в виде статических (*.a).

Другими словами, есть самописная библиотека, зависящая, в частности от opencv (в общем случае и других сторонних библиотек). Переношу ее с одной Убунты 18.04 на другую. При этом посредством ldd скопировал все библиотеки, которые зависят от моей самописной.
Добавляю на новый комп только те библиотеки, которых нет

lists=`ls *so*`
TARGET=/home/user/work/libs
for name in $lists ; do
res=`ldconfig -p | grep $name`
if [ -z "$res" ] ; then
echo "[+] $name"
cp $name $TARGET
else
echo "[-] $name"
fi
done

Экспортирую LD_LIBRARY_PATH и получаю
UnsatisfiedLinkError: /home/user/mylibrary/bin/mylibrary.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/user/libs/libopencv_imgproc.so.4.3)

Ядро у операционок различное 5.3 и 4.15. Похоже это проблема, но я не админ на целевой.

Если, я копирую все библиотеки, то в целевой ОС возникают проблемы: любая стандартная команда (ls, cat, ...) приводит к segmentation fault.

P.S. Может существует какие-то книжки или статьи по переносу, прошу порекомендовать.








 








И это всё МОЁ

Недавно установил себе систему elementary OS. До этого долгое время пользовался Ubuntu, она меня во всем устраивает, но захотелось попробовать чего-нибудь новенького. Установка прошла быстро, но при первой загрузке оказалось, что я не могу настраивать разрешение монитора. «Настройка дисплеев» не открывается. Разрешение установлено 640x480. Поменять его я не могу. Немного покопавшись, выяснил, что драйвера Nvidia требуют обновления, жму обновить - выдает ошибку «Failed to install „nvidia-340“, а в деталях написано:

описание ошибки

Error while install package: попытка перезаписать »/lib/udev/rules.d/71-nvidia.rules", который уже имеется в пакете nvidia-kernel-common-440
440.59-0ubuntu0.18.04.1


В системе три пакета nvidia, которые можно обновить, но все они при попытке обновления выдают такую ошибку. Я попробовал запустить систему в одном из предлагаемых при запуске компьютера режимах. Жаль я не документировал, что он там сканировал, но терминал выдал ошибку, связанную с дисплеем, после чего мне предлагалось ее устранить. Я согласился и мне удалось достичь того, что настройка дисплеев все-таки открылась, но там можно выставить разрешение 1024x768, не больше. Драйвера все так же не устанавливались. Я удалил систему и установил ее по новой, внимательно изучая каждый шаг установки - это не помогло.

Файл 71-nvidia.rules не удаляется.

Как исправить ситуацию? Компьютер Intel Core 2 Quad, 8 Гб ОЗУ, NVIDIA GeForce 450 на 1 Гб, четыре винчестера - два по 500 Гб и два по 1 Тб. Ubuntu на нем летает, фото, видео, музыка, Steam и поддерживаемые игры, все замечательно работает и настраивается, а elementary OS не может нормально заработать.








 , , , ,








23:39

joker.vim

И это всё МОЁ






Допилил тему для Вима/Неовима: https://github.com/ksevelyar/joker.vim

Пример конфига и плагины https://github.com/ksevelyar/dotfiles/blob/master/home/.config/nvim/init.vim

Использую ее с Alacritty (быстр и поддерживает прозрачность) и lightline.vim (быстр и простое апи).

Источник вдохновения: https://github.com/whatyouhide/vim-gotham





















>>> Просмотр
(2560x1080,
239 Kb
)










 , ,








И это всё МОЁ

Поскольку я люблю ИГЫ111 и блоб Нвидии, грузился я себе в иксы в текстовой консольке 80x24, и grub2 у меня тоже был чорный, текстовый. Но оказалось я слоу, и в nvidia-drivers завезли nvidia-drm.modeset=1. И стала у меня vesa консолька красивая, с мелкими буковками, 1920x1080x32. И решил я по этому поводу в grub2 тоже красоту навести, но не тут то было...

Ловлю удивительный глюк. При загрузке с GRUB_TERMINAL=«gfxterm» никакие GRUB_GFXMODE не применяются, да и на gfxterm идёт ругань, и всё сваливается в textmode. Но я умею читать документацию, консоли груба не боюсь, колочу в ней vbeinfo - никаких режимов нет. Второй раз vbeinfo, не перезагружаясь - режимы есть. videoinfo ведёт себя аналогично, показывает режимы только со второго раза. vbetest 1920x1080x32, videotest 1920x1080x32 отрабатывают нормально, но аналогичным образом, только со второго захода. Не сказать чтобы мне эта красота была особенно нужна, но хочется же разобраться и как то пофиксить или закостылить какой нибудь костыль, пинающий vbe два раза, и потом уже выставлять всякие красоты с бэкграундами. Есть идеи как это реализовать?

Конфиг grub.cfg меня пугает, он полон нечеловеческого кода сгенерённого скриптами и шаблонами. Я пытался туда вписать vbeinfo два раза перед тем местом где инициализация графического режима начинается, и чего то они у меня вообще не отработали.








 , ,








И это всё МОЁ

На самом деле мнение Рогозина о использовании линукса не так интересно, навряд ли роскосмос будет переходить на эту ОС, есть и другие реалтаймовые оси вполне для этого хорошие.


Интересно другое, как я понял ракеты SpaceX управляются ПК из обычных, домашних комплектующих.


И вот это интересно, как будет корёжить и ломать бюрократов в Роскосмосе при установке в космическое оборудование всяких малинок, оранжей и stm32?









 , , , ,








И это всё МОЁ

Давайте поговорим о Snap(py), FlatPak и AppImage!

Начну с последнего. На первый взгляд неплохо, одно приложение - один файл, ничего устанавливать не надо. Скачал, «chmod'нул +х» и можно запускать. Но кто гарантирует*, что оно запустится? В отличии от первых двух тут нет никаких зависимостей, никто не знает, будет ли на целевой системе нужная библиотека. И вообще это просто спецификация (да, есть эталонная реализация), в которой так и написано, что надо нацеливаться на наиболее старые версии дистрибутивов и всё носить с собой. Вопросы безопасности в AppImage никак не решаются и оставлены на усмотрения пользователя и применение стороннего ПО (Firejail). С одной стороны пользователь сам должен понимать, что он скачивает и что запускает. С другой - AppImage позиционируется именно как простой для пользователя, неискушённого терминалом, способ скачать ПО и сразу его запустить. Создатель AppImage (ник probonopd) явно фанатеет от macOS и их подхода установки программ с помощью перетаскивания бандла (директория с расширением ".app";) из архива в «/Applications». Кстати, что забавно, у пользователей macOS это вызывает большие трудности и они знают 1000 и 1 способ как сделать это неправильно. Проблема с безопасностью не только в, что от пользователя требуются дополнительные знания, но и в том, что применение стороннего решения не всегда работает гладко. И это при том, что именно Firejail рекомендуется на главной странице AppImage. Существуют так же и другие небольшие трудности, вроде интеграции с рабочим столом или автоматических обновлений, но это решается установкой дополнительного демона. Хотя при этом концепция становится уже не такой красивой, как изначальное «перетащил, запустил».

Snap. В основном я им и пользуюсь, т.к. стоит Ubuntu 20.04 и это способ установки ПО по умолчанию в приложении Software**. В отличии от предыдущего варианта, тут есть зависимости и разработчик ПО имеет гарантию (наверное), что его ПО будет работать, если они удовлетворены. Есть также изоляция приложений. Но она несколько странная и достаточно слабая. У некоторых приложений можно изменить список прав (да и вообще посмотреть), у других - нельзя. Нет доступного и ясного объяснения, что при этих изменениях происходит под капотом. Ввели новые термины, вроде «Interface», «Plug», «Slot». Но что оно делает внутри? Монтирует разные директории и файлы устройств, меняет профили AppArmor или что? Я пока точного описания не нашёл. Нет нормальной интеграции этого всего с Software. С виду описание разных приложений может ничем и не отличаться, но если посмотреть с помощью

snap run --shell soft-name
изнутри snap-контейнера, то права доступа к файлам и каталогам различаются, и одно приложение получает «Permission denied» там, где у другого всё хорошо. Понятно, что всю это информацию можно получить с использованием консольных команд, но я за прозрачные и изучаемые системы. Даже Android при установке приложения выводит больше информации о требуемых правах доступа и позволяет их менять при первом использовании. Кажется, относительно недавно snap сделал шаг в правильном направлении и интегрировал xdg-portals, которые изначально появились во FlatPak. Это такой способ получения доступа к, например, файлам, когда пользователь видит обычный для него диалог открытия/сохранения файла и выбирает файл, но при этом диалог является отдельным демоном вне контейнера и по результатам выбора управляет доступом для приложения внутри. И это правильный шаг. Но я пока не видел snap приложений, которые это используют. И раз уж приложения запускаяются в некой песочнице, что мешало её сделать более полноценной, ближе к тем же LXC? Чтобы изнутри приложение не просто было ограничено в доступе к определённым файлам, а не видело их в принципе, так же, как и другие процессы. Кроме этого мне очень не нравится, как snap-приложения запускаются. Очень медленно! Хотя их образы всегда смонтированы. Из-за этого вывод информации консольными утилитами (mount, df, ...) сильно захламлён и читать его неудобно. Кстати, зачем? Для интеграции с рабочим столом разве не было бы достаточно копирования .desktop-файлов и подобного наружу? А ещё интересно, как у snap-а с установкой приложений извне магазина от Canonical и просто из скачанного файла? Похоже, что никак. Software по двойному клику на .snap открывается, но сообщает, что установить не в состоянии.

И, наконец, FlatPak. С ним я пока сталкивался недостаточно много, а внутрь заглядывал ещё меньше. На первый взгляд изоляция устроена более полноценно и работают те самые порталы. Хотя, пишут, всё это обман и не работает нормально. По пока неизвестной мне причине запуск приложений из FlatPak происходит быстрее, чем Snap (пробую на одной и той же Ubuntu 20.04). И, насколько я понимаю, магазинов (или их аналогов) тут может быть сколько угодно.

Написал я всё это с целью узнать впечатления других пользователей о данных технологиях, получить более точные и правильные описания процессов, скрытых от глаз, поговорить о достоинствах и недостатках. Может быть есть другие альтернативы, о которых я не знаю?

Интересно, насколько вообще нужно было создавать тот же Snap (или FlatPak) с нуля? Можно ли было использовать apt+dpkg? И тут и там есть пакеты, есть зависимости, действия, которые нужно выполнять при установке и удалении. Можно же было сделать отдельную директорию с отдельной базой для «толстых» пакетов, а управлять ими с помощью существующих средств?

* - предвижу ответ «На GNU/Linux тебе никто ничего не гарантирует, неосилятор!»
** - Как раньше было хорошо с уникальными необычными именами. А теперь «Software», «Files», «Text Editor», «Viewer». Даже в macOS названия и то более разнообразные.








 , ,








И это всё МОЁ

http://en.roscosmos.ru/21511/ ((оргинал на руском)[www.forbes.ru/tehnologii/402477-eto-ih-voyna-ne...]) с подачи https://arstechnica.com/science/2020/06/russias-space-leader-seems-pretty-bitter-about-spacexs-success/


Как известно все на ракетах и кораблях SpaceX работает под управленим Линукс.









 , , , ,








И это всё МОЁ

Итак, спустя 2 дня после использования арча, он просто перестал загружаться. При загрузке ОС я попадаю в консоль, в которой ничего кроме
«Starting version 245.6-4-arch
root: recovering journal
root: clean, 228763/1638400 files, 2765734/6553600 blocks»
Не выдает. Консольный курсор просто мигает, как бы символизируя, что ОС не может загрузиться.


Гуглинг не помог, единственное, что я понял так это то, что boot каталог куда-то пропал. Когда я загрузился с установочного образа арча и попытался примонтировать dev/sda1 к каталогу /mnt/boot мне выдало, что mnt/boot directory doesn’t exist. Потом я попробовал создать каталог /boot через mkdir и примонтировать таки удалось. То есть,boot исчез из раздела и это является причиной моей проблемы.


В связи с чем у меня назревает два вопроса:
Как решить эту проблему без полной переустановки арча?
Как избежать повторения подобных необьяснимых случаев?









 , , ,








И это всё МОЁ

Есть старый компьютер и желание превратить его в гит-сервер. И у меня возникло несколько вопросов:



  1. Что предпочтительнее CentOS 8 или Ubuntu 20.04

  2. Так как имеется динамический IP, как правильно настроить сеть на компьютере

  3. Что указать в EXTERNAL_URL при установке GitLab









 , ,








И это всё МОЁ
И это всё МОЁ

Я несколько разачаровался в Рогозине после прочтения его стенаний http://en.roscosmos.ru/21511/ (оргинал на руском) с подачи https://arstechnica.com/science/2020/06/russias-space-leader-seems-pretty-bitter-about-spacexs-success/


После нескольких критичных высказываний Рогозина в прошлом, когда его назначили главой Роскосмоса, я как-то поверил что он тот человек который может что-то расшевелить, благо у него прямой доступ к царю.


Но в этой статье он выглядит просто как типичный подподъездый философ-разговорник.


Как-то печально.


А может он просто сдался, смирился и просто огрызается аргументами тупняков вроде Конанихина и примкнувших к нему плоскоземельщиков.



Причем этих бюджетных денег Илону Маску выделено примерно в три раза больше суммы контракта Роскосмоса с корпорацией «Энергия» на разработку намного более сложного российского лунного корабля «Орёл».



Поправьте меня, если я ошибаюсь, но деньги не Dragon 2 выделены авансом как оплата полетов экипажей на несколько лет вперед



Между прочим, космодром Восточный, построенный в амурской тайге в 8 часах лёта от Москвы, в регионе, где нет ни необходимой рабочей силы, ни строительной техники, ни логистических центров (это всё пришлось завозить и создавать на Дальнем Востоке), стоит в 2,5 раза дешевле этого якобы частного американского корабля.



SpaceX confirmed their target launch price for crewed Dragon flights of US$160 million. отнимем стоимость запуска Falcon 9($60млн) остается 100. т.е. Восточный обошелся $40млн?



Не менее странным является утверждение о том, что «впервые частная компания создала пилотируемый корабль».



Похоже он с лора взял это повторяющийся тупняк о том, что контрактор по постройке по готовым чертежам и тот кто разработал все сам это одно и то-же. Весьма печальное такое слышать от главы такой корпорации.



Поэтому и себестоимость наших пусков значительно ниже американских. Господа, видимо, путают себестоимость пуска и цену пусковой услуги, которая формируется рыночным образом. Исходя из этого, я утверждаю, что корабль «Союз МС» в связке с ракетой «Союз-2.1а» был и остается вне конкуренции — что бы ни заявляли наши конкуренты.



Типичная попытка запутать собеседника в себестоимости и цене запуска. Сравнивать никому не известную себестоимость запуска Союза и коммерческую цену запуска на Драгон2 умалчивая что SpaceX запускает не в убыток. Где, ля, факты?



Любопытная деталь: когда российская частная компания S7 забирала командное судно и стартовую платформу «Морского старта» из американского порта, правительственные чиновники открыто заявляли нашим представителям, что они не допустят появления у русских конкурента Илону Маску (это к вопросу о том, насколько частные американские компании являются частными).



Кто-то может привести ссылку на эти высказывания или Рогозин это придумал?


Остается только надеяться на



Прорыв в космических технологиях мы ожидаем и от совместной с Росатомом работы над транспортно-энергетическим модулем. В нашей отрасли за него отвечают Центр Келдыша и санкт-петербургское КБ «Арсенал». Мы серьезно продвинулись в понимании технологии работы этого ядерного космического буксира, которому нет альтернативы в покорении дальнего космоса.



Хочется верить что это сбудется и в срок.









 , ,