vak: (бэсм-6)
[personal profile] vak
(Я послал этот текст в список рассылки БЭСМ-6, но сохраню и здесь для памяти.)

Раз уж у нас тут постепенно актуализировалась тема написания компиляторов, я тоже увлёкся и реализовал давнишнюю мечту: портонул Би с PDP-7 на БЭСМ-6.

Исходник компилятора: b-besm.b

Проект на Гитхабе: besm6/b-compiler

История вопроса следующая. В 1969 году Кен Томпсон создал язык Би для машины PDP-7. Компилятор порождал так называемый шитый код, который интерпретировался во время выполнения. Позже в 1971-м Деннис Ритчи портонул Би на машину Honeywell GE 645, но без всякого шитого кода, а уже с нормальной генерацией бинарного кода целевого процессора. А когда Ритчи взялся тащить Би на PDP-11, оказалось, что наличие байтовой адресации существенно меняет дело. Пришлось добавить в Би типы, и он быстро превратился в знакомый нам Си.

Исходники компилятора Би считались потерянными. Но девять лет назад Robert Swierczek чудесным образом сумел восстановить тексты Би из обрывков распечаток в рамках проекта pdp7-unix.

Я взял эти исходники и вместо выдачи шитого кода для PDP-7 вставил генерацию машинных команд БЭСМ-6 для ассемблера Madlen. Добавил минимальную рантайм библиотеку и запихнул в мониторную систему Дубна. Компилятор пишет ассемблерный текст на барабан и, если не случилось ошибок, выполняет как бы команду *READ:1. Дальше обычным образом стартует Мадлен и формирует объектные модули. Компилятор Би и рантайм библиотеку я поместил на отдельную ленту, её можно подключать командой *TAPE:7/B. Покажу пример на симуляторе dubna.

Вот скрипт с исходным текстом классического примера Hello World. Компилятор запускается с ленты командой *TRANS.
*name B compiler
*tape:7/b,40
*library:40
*trans-main:40020
main() {
printf("Hello, B!*n");
}
*execute
*end file
Запускаем. Я не стал убирать таблицу загрузки, чтобы вам было видно размер кода:
$ dubna hello.dub
...
*NAME B COMPILER
*TAPE:7/*,40
*LIBRARY:40
*TRANS-MAIN:40020
OVERLAY OT 20/04/25
B COMPILER FOR BESM-6, VERSION 04/2025
COMPILED 3 LINES OF CODE, FOUND 0 ERRORS

*NO LIST
*CALL BLOCKERR
*MADLEN
MAIN CP 0.0, ST 0.0, RT 1.0*
*READ OLD
*EXECUTE
*LIBRA:40 = B/DIV B/EQ B/GT B/LT B/MUL B/NE B/RET B/SAVE0 B/SAVE
B/TOUT B/TRUE CHAR PRINTD PRINTO PRINTF WRITE WRITEB OUT*CNT OUT*SHFT
OUT*BUFF FLUSH FOUT

MAIN 01000 PRINTD 01413 B/MUL 01757 ISOTCOSY 06002
PROGRAM E 01000 PRINTO 01466 B/GT 01766 ISOTCOS1 E 06053
B/SAVE0 01011 WRITE 01517 FOUT 01771 DRUMTAP* 06073
B/RET 01016 B/TRUE 01622 WRCARD 01772 CHKWORD* C 06124
PRINTF 01023 OUT*CNT 01623 WRWORD E 02014 PRINT8 06125
B/SAVE 01256 OUT*SHFT 01624 WBEGIN E 02033 STOP* 06306
CHAR 01263 OUT*BUFF 01625 WRIEND E 02042 EXIT E 06307
B/NE 01301 FLUSH 01654 B/TOUT 02075 CBOБOДHO 06335
B/EQ 01304 B/LT 01744 WRWORD/ C 04000
WRITEB 01307 B/DIV 01747 XWRITE/ C 06000

HELLO, B!
Вот ещё несколько примеров для Би из разных мест. Все они работают под Дубной:Мандельброт выглядит забавно: mandelbrot.txt

Выводы из всей этой затеи:
  • Би вполне был возможен на БЭСМ-6 уже тогда, в середине 70-х. Увы, никто из аксакалов-бэсмачей про него не знал.
  • Если бы Би тогда состоялся, он мог бы стать важным средством системной разработки. Не судьба. Позже язык ЯРМО пытался занять нишу.
  • Результат примерно соответствует мечте Игоря Григорьевича Пасынкова, когда в 1986 году он позвал меня в курчатник заниматься Си для Эльбруса-Б. Ему хотелось видеть Си не только под юниксом, но и в мониторке.

Католики!

Apr. 21st, 2025 05:13 pm
ingenero: (Default)
[personal profile] ingenero
Наконец! Посетили католическую пасхальную литургию и полностью её высидел. Заняло 3.5 часа, но оно того стоило. Великолепно! Спойлерить не буду, но реально интересно и познавательно. Все по-украински. Кто бы мог подумать, что несколько веков назад за это право шли войны. Проповедь, сами священники производят крайне благоприятное впечатление. А одежда напоминает какого-нибудь «епископа кентерберийского» из Робин Гуда. Пение красивое. Все выверенное, каждый жест.

Зал на Гоголя 4 был полон. Много католических монашек. Из неместных, были только мы. Уверен, мы явно бросались в глаза, особенно когда я подмерз и одел велосипедную желтую ветровку. Так то я в вышиванке был. Но не выгнали, и даже окропили святой водой. Она не зашипела.

Кстати, а еще мэр Терехов пришел поздравить. Мимо нас проходил

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

Протестанты в этом плане идеологически правильные. Отражают простоту Евангелия. Закидонов тоже хватает, но и в первой церкви они были, тут преемственность налицо, и плюсы, и минусы. Простая живая церковь. Совсем не идеальная, но живая.

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

диалог с утра

Apr. 21st, 2025 08:12 am
southwest: (oscar)
[personal profile] southwest
- Вчера римский папа встретился с Джей Ди Венсом, а через несколько часов он помер.
- Ему же всего 40 лет!
utochka: ШЁЛКОВАЯ УМНИЦА (Default)
[personal profile] utochka
Земля ему стекловатой навечно.
vak: (Default)
[personal profile] vak
Вот такая програмулина:
main() {
auto cx, cy, x, y, x2, y2;
auto iter;
auto xmin, xmax, ymin, ymax, maxiter, dx, dy;

xmin = -8601;
xmax = 2867;
ymin = -4915;
ymax = 4915;

maxiter = 32;

dx = (xmax - xmin) / 79;
dy = (ymax - ymin) / 24;

cy = ymin;
while (cy <= ymax) {
cx = xmin;
while (cx <= xmax) {
x = 0;
y = 0;
x2 = 0;
y2 = 0;
iter = 0;
while (iter < maxiter) {
if (x2 + y2 > 16384)
goto next;

y = ((x * y) / 2048) + cy;
x = x2 - y2 + cx;
x2 = (x * x) / 4096;
y2 = (y * y) / 4096;
iter++;
}
next:
write(' ' + iter);
cx = cx + dx;
}
write('*n');
cy = cy + dy;
}
return(0);
}
Запускаем mandelbrot.dub, получаем mandelbrot.txt:
$ dubna mandelbrot.dub
...
!!!!!!!!!!!!!!!"""""""""""""####################################""""""""""""""""
!!!!!!!!!!!!!"""""""""#######################$$$$$$$%'+)%%%$$$$$#####"""""""""""
!!!!!!!!!!!"""""""#######################$$$$$$$$%%%&&(+,)++&%$$$$$$######""""""
!!!!!!!!!"""""#######################$$$$$$$$$$%%%%&')*5:/+('&%%$$$$$$#######"""
!!!!!!!!""""#####################$$$$$$$$$$%%%&&&''),@@@@@@@,'&%%%%%$$$$########
!!!!!!!"""####################$$$$$$$$%%%&'())((())*,@@@@@@/+))('&&&&)'%$$######
!!!!!!""###################$$$$$%%%%%%&&&'+.@@=/<@@@@@@@@@@@@@@@/++@..93%%$#####
!!!!!"################$$$%%%%%%%%%%&&&&'),+2@@@@@@@@@@@@@@@@@@@@@@@@@1(&&%$$####
!!!!"##########$$$$$%%&(-(''''''''''''(*,5@@@@@@@@@@@@@@@@@@@@@@@@@@@@+)-&%$$###
!!!!####$$$$$$$$%%%%%&'(*-@1.+.@-4+))**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4-(&%$$$##
!!!!#$$$$$$$$$%%%%%%'''++.6@@@@@@@@@8/0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3(%%$$$$#
!!!#$$$$$$$%&&&&''()/-5.5@@@@@@@@@@@@@>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?'&%%$$$$#
!!!(**+/+<523/80/46@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4+)'&&%%$$$$#
!!!#$$$$$$$%&&&&''().-2.@@@@@@@@@@@@@@?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'&%%$$$$#
!!!!#$$$$$$$$$%%%%%&'''/,.7@@@@@@@@@;/0@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@0'%%$$$$#
!!!!####$$$$$$$$%%%%%&'(*-:2.,/?-5+))**@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@4+(&%$$$##
!!!!"##########$$$$$%%&(-(''''(''''''((*,4@@@@@@@@@@@@@@@@@@@@@@@@@@@4+).&%$$###
!!!!!"################$$$%%%%%%%%%%&&&&')<,4@@@@@@@@@@@@@@@@@@@@@@@@@/('&%%$####
!!!!!!""##################$$$$$$%%%%%%&&&'*.@@@0@@@@@@@@@@@@@@@@1,,@//9)%%$#####
!!!!!!!"""####################$$$$$$$$%%%&(())((()**-@@@@@@/+)))'&&&')'%$$######
!!!!!!!!""""#####################$$$$$$$$$$%%%&&&''(,@@@@@@@+'&&%%%%%$$$########
!!!!!!!!!"""""#######################$$$$$$$$$$%%%%&')*7@0+('&%%%$$$$$#######"""
!!!!!!!!!!!"""""""######################$$$$$$$$$%%%&&(+-).*&%$$$$$$######""""""
!!!!!!!!!!!!!"""""""""#######################$$$$$$%%'3(%%%$$$$$######""""""""""
!!!!!!!!!!!!!!!""""""""""""#####################################""""""""""""""""

Young Sheldon says

Apr. 21st, 2025 09:27 am
juan_gandhi: (Default)
[personal profile] juan_gandhi
 "In fact, I'd like to meet fewer people, not more."

(S7E5)

Is not it brilliant!

Angelo Papenhoff

Apr. 21st, 2025 12:01 am
vak: (Default)
[personal profile] vak
Много интересных подробностей про исторический компилятор Би для PDP-7 и про первый юникс.

Заунывное

Apr. 21st, 2025 09:27 am
redis: (Default)
[personal profile] redis
Прочитав у одной доброй знакомой об эстонских нытиках, подумал, что уж нам-то давно пора объявить художественное нытье профессиональным видом спорта и добиваться его включения как в летние, так и в зимние олимпиады, а также специально под нытье создать олимпиады весенние и осенние - ныть мы можем круглый год.

Окажись я тренером сборной по нытью, команду формировал бы под фотографиями Риги из советского прошлого. Ах, сколько было людей на улицах, какие все были устремленные в светлое будущее, помогали старушкам перейти дорогу, улыбались новым больницам и мостам, заводам и бассейнам для деток, отдыхали в Юрмале, наводили порядок в Венгрии.

(последнее, кстати, не помешало бы и сейчас)
Read more... )

Трубочки с кремом

Apr. 21st, 2025 05:05 am
crapulous: (Default)
[personal profile] crapulous
Жюль Гуффе справедливо считается одним из лучших кондитеров XIX в. Свои рецепты он часто сопровождал комментариями, в которых мог заочно спорить со своими коллегами и учителями, шутить или выражать свое авторитетное мнение о том или ином блюде. Его суждения порой демонстрировали удивительную прозорливость.

Один из многочисленных рецептов всем известных трубочек с кремом он заканчивает, может и банальным, но совершенно справедливым замечанием:

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


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

ХРУСТЯЩИЕ ГЛАЗИРОВАННЫЕ КАННЕЛОНЫ С КРЕМОМ СЕНТ-ОНОРЕ
Возьмите круглые палочки диаметром 1 см и длиной 14 см, но один конец которых тоньше на миллиметр.
Смажьте эти палочки маслом.
Сделайте тонкое слоеное тесто в 6 оборотов.
Раскатайте на 3 миллиметра.
Нарежьте тесто полосками длиной 25 см и шириной 15 мм.
Слегка намочите верх теста.
Возьмите палку левой рукой, а правой рукой прикрепите к палочке ленту теста, нажав на нее.
Поверните палочку так, чтобы намотать полоску теста по спирали длиной 7 см.
Покройте яйцом поверхность каннеллонов и выложите их на противень на расстоянии 3 см друг от друга.
Готовьте их в горячей печи.
Покройте их сахарной пудрой с помощью коробки для глазури и поставьте в печь для глазировки.
Когда тесто будет готово, удалите палочки, выложите в рожок крем Сент-Оноре и наполните каннелоны изнутри.
Разложите и подавайте горячими.

КРЕМ СЕНТ-ОНОРЕ
12 яиц,
100 г. муки,
500 г. сахарной пудры,
Щепотка соли,
Пинта молока (~ 1 л.).

Положите яичные желтки с мукой в кастрюлю.
Смешайте с молоком, избегая комочков.
Поставьте готовиться на огонь.
Снимите, когда начнет кипеть.
Взбивайте яичные белки до густоты.
Смешайте сахар с белками.
Поставьте крем обратно на огонь.
Аккуратно примешайте белки.
Сохраните для употребления.
selenga: (Default)
[personal profile] selenga
РФ поднимает акциз на спиртное, чтобы увеличить бюджет.

Источник: https://censor.net/ru/n3547708

По 448

Apr. 20th, 2025 09:27 pm
selenga: (волчица)
[personal profile] selenga
да и вообще блог хороший - https://telesyk.dreamwidth.org/2484318.html

про духовность на практике - https://telesyk.dreamwidth.org/2485003.html
[personal profile] biber551
Зараз зловив дивний флешбек. Листаю ленту і мимохідь читаю "знову обстріляли ..." і тут як наяву почув вихід, стогін повітря гвалтуємого швидкоскоростним важким снарядом, удар і розрив, і буквально затопив якийсь звіриний жах. Вже звик до тихого життя...

Але це таке.
Головне інше.



Мій бат вийшов з кільця і відійшов на нові позиції. Як ви бачите по стрілочкам, ворог продовжує на них тиснути.
А що таке відхід під тиском ворога, особливо через тонке гирло "мішка"
Це втрата майна, бо головне вивести всіх людей.
Отакі списки перед виходом робили всі:
Остается:
Генератор 3 шт. (Майно БпАК)
Щегла (майно БпАК)
Бандера павер 2 шт. (Майно БпАК) (постараются один унести с собой)
Экофло 1 шт (майно БпАК)
Переноска

Забирают:
Стационарную рацию
Старлинк
Дроны
Антена + кабеля
АКБ
Рацию + зарядку
Планшет с кропивой
Быстрые зарядки

... привезет сегодня к К...:
Генератор
Мачту
Топливо
Бандера павер
Экофло

Тепер все це треба скомпенсувати. А це гроші.
Тому відкриваю новий збір на потреби 106 бату. Найнегайніше треба 20к дроншикам і 20к мінометці на старлінк.
Я розумію що мабуть вже задовбав вас зборами, але хоч, на диво, держава багато зараз допомагає, більшість втрат закриває, без вашої помічі буде надто важко, а хлопці ітак тримаються з останніх сил.
Тому дуже прошу - допоможіть!

для 106 бату

🔗Посилання на банку
https://send.monobank.ua/jar/73Tz3d5fyg

💳Номер картки банки
4441 1111 2366 0502

Пей пал.
Eugen Pinak:
PayPal: Name: YEVGEN PINAK, Email: pinak77@yahoo.com
vak: (Default)
[personal profile] vak
Я затащил компилятор Би под мониторную систему Дубна. Сделал отдельную ленточку 7/b, на которой лежит бинарник компилятора и рантайм библиотека. Вот классический пример Hello World:
*name B compiler
*tape:7/b,40
*library:40
*trans-main:40020
main() {
printf("Hello, B!*n");
}
*execute
*end file
Запускаем:
$ dubna b.dub
...
*NAME B COMPILER
*TAPE:7/*,40
*LIBRARY:40
*TRANS-MAIN:40020
OVERLAY OT 20/04/25
B COMPILER FOR BESM-6, VERSION 04/2025
COMPILED 3 LINES OF CODE, FOUND 0 ERRORS

*NO LIST
*CALL BLOCKERR
*MADLEN
MAIN CP 0.0, ST 0.0, RT 1.0*
*READ OLD
*EXECUTE
*LIBRA:40 = B/DIV B/EQ B/GT B/LT B/MUL B/NE B/RET B/SAVE0 B/SAVE
B/TOUT B/TRUE CHAR PRINTD PRINTO PRINTF WRITE WRITEB OUT*CNT OUT*SHFT
OUT*BUFF FLUSH FOUT

MAIN 01000 PRINTD 01413 B/MUL 01757 ISOTCOSY 06002
PROGRAM E 01000 PRINTO 01466 B/GT 01766 ISOTCOS1 E 06053
B/SAVE0 01011 WRITE 01517 FOUT 01771 DRUMTAP* 06073
B/RET 01016 B/TRUE 01622 WRCARD 01772 CHKWORD* C 06124
PRINTF 01023 OUT*CNT 01623 WRWORD E 02014 PRINT8 06125
B/SAVE 01256 OUT*SHFT 01624 WBEGIN E 02033 STOP* 06306
CHAR 01263 OUT*BUFF 01625 WRIEND E 02042 EXIT E 06307
B/NE 01301 FLUSH 01654 B/TOUT 02075 CBOБOДHO 06335
B/EQ 01304 B/LT 01744 WRWORD/ C 04000
WRITEB 01307 B/DIV 01747 XWRITE/ C 06000

HELLO, B!
Компилятор генерит ассемблерный код и пишет его на барабан, то есть временный файл фактически. И переключает мониторку на чтение этого барабана, как бы командой *READ:1. Вызывается Мадлен и превращает ассемблерный код в бинарные объектные модули.

Yeshu Nazareen

Apr. 20th, 2025 12:04 am
tanya_salpe: (pic#14217208)
[personal profile] tanya_salpe
Фінiшував сезон винограду - 2, тахінна х… і комуналка. Релігійне святосправжнє ім'я Ісуса, швидше за все, було Йешу Назарін

Jeg - лёд

Apr. 19th, 2025 01:46 pm
thurbo: (Default)
[personal profile] thurbo
- И что это за манускрипт Войнича? – Даже хуже, там большой текст, а тут всего четыре строчки. – Юра развёл руками. Ничем помочь не могу, увы. Наука здесь бессильна
- Но ты сам топил за гипотезу моногенеза, говорил что вот компьютеры жужжат, скоро будет какой-то результат.
- Да, но я за научный метод, а не за всякие спекуляции.
- Увы – вздохнул он. Когда наука говорит «я не знаю» и логика отвечает что недостаточно данных, что остаётся? Или смириться, или ждать интуиции и озарения.

На компьютере пел E-type вместе с Blumchen. Cначала «sam bo rom bam” потом est is nie Vorbei. Вот тебе и билингва – сказал он. «та не, ты шутишь» - ответил приятель. Откуда попсовым певцам знать того, что учёные если узнают, то через пару десятков лет. А может быть – вовсе не узнают никогда.
Мда, текст действительно слишком короткий и обычные методы тут не сработают – думал он. А как можно ещё иначе?

Всё еще не прошло, не закончилось, может быть это и будет ключом. Пусть лёд неизвестности и сомнений растает от тепла наших рук.
ingenero: (Default)
[personal profile] ingenero
https://www.youtube.com/watch?v=evHf-qbSBLo Бали и Индонезия | Моноколесо - все за и против
Чувак рассказывает, почему в этих странах мот лучше моно:
1. Меньше машин, зато хаотичный мото-трафик, который трудно прогнозировать;
2. Случайная поломка колеса приведет к точному столкновению с кучей мотов, потому что «отсутствие полос для безопасного скольжения»;
3. Жарко в экипе;
4. Часто дожди;
5. Загазованный воздух поэтому тяжело управлять колесом 60 кг;
6. Колесо 60 кг и не оставишь нигде, и по магазинам не походишь;
7. Неудобные подушки;
8. Нужен дневной пробег до 100 км.

Начнем с последнего. Ну да, для такого пробега даже не мот нужен, а авто. Дождь, ветер, солнце, мороз – да ну нафиг, только авто. Колесо оптимально для небольших поездок по делам, ну максимум 40 км дневного пробега. А реально и поменьше. Покатушки – хоть сотни, это совсем другая история. Речь именно про поездки по делам.

Кому-то подушки неудобные, а хозяину нравятся. Тут вообще всё дело привычки. Привыкнуть можно ко всему. И отвыкнуть тоже, я совсем на днях повторил эксперимент с в5ф. Чувак взял чужое специфическое колесо, вот и получил специфические ощущения.

Я ною, что даже 35 кг уже не так удобно по делам, а что же говорить про 50+? Конечно неудобно. Тогда почему такой странный выбор? А все просто, особенности стиля езды. Как раз на днях этот чувак делал видосик, как упал с колеса на 90+ км/ч. Он катает в режиме, который я нахожу нездоровым и никогда катать так не планирую. Это важный момент, такие вещи надо проговаривать. А то такие эксперты рассказывают «всегда одевай экип», а новички по тротуару в черепахе и мотошлеме катают 20 км/ч. Ну как же, эксперт сказал. Только он подразумевал под 100 км/ч, а не 20.

Можно посмотреть как он едет на моте. Всех обгоняет, шашечки и скорость часто выше 100 км/ч. И при этом даже без перчаток. Типа мот безопасней. Ну-ну. Те, кто лечил асфальтовую болезнь, на любое расстояние и скорость экип одевают. И подборок падений дофига, и участников движения полно, с тем самым непредсказуемым характером езды.

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

По мне, моты куда безопасней авто для окружающих. Масса и габариты таки меньше. Конечно, 150 кг не подарок, но и не 2 тонны. Про «безопасное скольжение» - вообще странная идея. И перекрестки, и авто со всех сторон. О каком «безопасном скольжении» речь, если не пропустило авто при повороте налево?

Я практически уверен, я бы кайфовал в таком трафика. Меньше авто, куча мотиков, едут медленно – да что еще надо? По улочкам до 30 км/ч, это вообще идеальный расслабон для колеса. Хоть на в10ф катай, а потом его идеально заносить в кафе и магазины. Ну и пристегнуть можно. Другие скутеры и катают куда медленней, поэтому они и без экипа. Кстати, она даже не на скутере, а на моте. Едет и буквально всю дорогу работает руками. Я бы только из-за этого застрелился.

940 150

Apr. 19th, 2025 08:20 am
selenga: (Default)
[personal profile] selenga
Дроны против оккупантов - https://censor.net/ru/trend/843/drony-protiv-okkupantov


Общие боевые потери РФ с начала войны - около 940 150 человек (+1180 за сутки), 10 676 танков, 26 600 артсистем, 22 266 боевых бронированных машин. ИНФОГРАФИКА
Источник: https://censor.net/ru/n3547659


Еще по теме - https://censor.net/ru/tag/3738/unichtojenie

Profile

atejist: (Default)
atejist

March 2025

M T W T F S S
     12
34567 89
10111213141516
17181920212223
24252627 282930
31      

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 01:38 pm
Powered by Dreamwidth Studios