LINUX.ORG.RU

Сообщения praseodim

 

Уязвимость AMD Inception

 , ,

А чего как-то мимо лора прошло? В июле была уязвимость типа bleeding для процессоров Zen2, а с неделю назад пожалте бриться и владельцы Zen3 и 4.

https://3dnews.ru/1091232/amd-soobshchila-ob-uyazvimosti-inception-kotoraya-z...

AMD раскрыла информацию об уязвимости под кодовым именем Inception (CVE-2023-20569, AMD-SB-7005), которую обнаружили исследователи Швейцарской высшей технической школы Цюриха (ETH Zurich). Она позволяет атакующему похищать конфиденциальные данные, хотя и предоставляет весьма ограниченные возможности.

Как обычно опять из-за спекулятивного выполнения команд. На хоботе новость, что на некоторых задачах заплатка почти в 2 раза снижает производительность

https://www.ixbt.com/news/2023/08/16/zaplatka-ot-ujazvimosti-inception-v-proc...

со ссылкой на тесты фороникса https://www.phoronix.com/review/amd-inception-benchmarks/5 и Tom's Hardware https://www.tomshardware.com/news/amds-inception-fix-causes-up-to-54-performa...

Чаще всего значительное снижение производительности фиксируется в приложениях, работающих с базами данных, компиляцией кода, проектированием и обработкой изображений. Нужно понимать, что в данном случае речь идёт о серверном процессоре и соответствующих тестах под Linux. Насколько всё плохо в случае потребительских Ryzen, пока неясно.

praseodim
()

Посоветуйте по поводу хостинга Scaleway

 ,

Кто там хостится, подскажите как бы деньги сохранить? Дело вот в чем.

У них сейчас переход на новый метод загрузки инстансов (того, что хостится, виртуальная машина). Старый, называемый ими bootscript, теперь депрекейтид, хотят на новый, названый local boot, который через efi.

Так как у меня старый тип VC1S, для него предлагается завести новый инстанс с local boot и перетащить туда данные. Через снапшоты или как-то локально.

Все бы ничего, но самый дешевый новый инстанс мне будет стоить примерно в ДВА раза ДОРОЖЕ, чем я сейчас плачу. LOL. Похоже нет у них теперь тарифов, которые были в лет пять назад.

Там что-то сказано, что через их специальную консоль (для которой надо api key получить и т.д.) как-то можно легаси инстансы создать. Но там честно говоря легко поднапутать и не очень понятно насчет этого, может там опять будет старый bootscript.

Ну и в общем чего посоветуете? Можно конечно до упора сидеть на текущем, пока не отвалится. Хз.

praseodim
()

Госдума РФ утвердила законопроекты, которые могут помешать участию граждан в крупных СПО-проектах

 ,

Взято с Opennet, там подробно https://www.opennet.ru/opennews/art.shtml?num=59517

Государственная Дума РФ в третьем, окончательном, чтении приняла законопроекты №346588-8, №346769-8 и №346750-8, запрещающие участие граждан РФ в незарегистрированных в специальном реестре иностранных некоммерческих организациях, и вводящие, среди прочего, уголовную ответственность за организацию деятельности подобных организаций. Закон вступит в силу после того как пройдёт утверждение в Совете федерации и будет подписан президентом. У продвигаемого закона есть очень серьёзный побочный эффект - под его действие потенциально попадает участие во многих международных СПО-проектах.

Придумано конечно против околополитических, но формально без разницы. Закоммитил патч - участвуешь.

praseodim
()

Чебурнетизация. Регистрация на сайтах только с российских e-mail и реестр хостеров.

 ,

Еще с 2018-го года рассматривался законопроект о новостных агрегаторах. Там много чего, основное - это чтобы их владельцами были только россияне без иностранного гражданства или компании с не более, чем 20% иностранного.

Внезапно, несколько дней назад ко второму чтению в закон накидали поправок.

Если вкратце, наиболее чувствительные для всех - это то что:

1) ВСЕ (т.е. и LOR с Макскомом) сайты в рунете обязаны будут для лиц, находящихся в России, использовать регистрацию только 1) через российских сотовых операторов, 2) через Госуслуги или ЕСИА биометрию, 3) через e-mail ТОЛЬКО российских почтовиков, 4) Через всякие вконтакте (российские конечно)

2) На хостеров взвалена куча обязанностей, чего они должны, в том числе установить всякие оперативно-разыскные штуки и будет вестись РЕЕСТР хостеров. Запрещено будет хостить, если не в реестре.

Законопроект №570420-7 https://sozd.duma.gov.ru/bill/570420-7

Смотрите поправки " Таблица поправок, рекомендуемых к принятию (Комитет Государственной Думы по информационной политике, информационным технологиям и связи) " https://sozd.duma.gov.ru/download/AD40421B-2490-4812-8319-410255991D40

praseodim
()

Машинное эпсилон, sse и fpu87 и спецификатор для printf для __float128

 , , ,

Не могу подобрать. %lle и %Le не подходят. Другие спецификации перепробовал тоже. Кое-где %Q упоминается, но у меня не работает

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

Вот пример кода, вычисления машинного эпсилон для разных типов (вообще там занятные особенности всплыли работы gcc, особенно если в ассемблерный листинг глянуть)

#include <stdio.h>

int main()
{

float        e_float,eps_float=1.0;
double       e_double,eps_double=1.0;
long double  e_longdouble,eps_longdouble=1.0;
__float80    e__float80,eps__float80=1.0;
__float128 e__float128,eps__float128=1.0;

 e_float=1+eps_float;
 e_double=1+eps_double;
 e_longdouble=1+eps_longdouble;
 e__float80=1+eps__float80;
 e__float128=1+eps__float128;

 while (e_float!=1) 
 {
   eps_float=(float)(eps_float/2);
   e_float=(float)(eps_float+1);
 }
 
 while (e_double!=1) 
 {
   eps_double=(double)(eps_double/2);
   e_double=(double)(eps_double+1);
 }

 while (e_longdouble!=1) 
 {
   eps_longdouble=(long double)(eps_longdouble/2);
   e_longdouble=(long double)(eps_longdouble+1);
 }

 while (e__float80!=1) 
 {
   eps__float80=(__float80)(eps__float80/2);
   e__float80=(__float80)(eps__float80+1);
 }

 while (e__float128!=1) 
 {
   eps__float128=(__float128)(eps__float128/2);
   e__float128=(__float128)(eps__float128+1);
 }

 printf("size: float = %d  double = %d long double = %d  __float80= %d __float128= %d\n",sizeof(float),sizeof(double),sizeof(long double),sizeof(__float80),sizeof(__float128));
 printf("float eps = %e \ndouble eps = %e \nlong double eps = %lle\n__float80 eps = %lle\n__float128 eps = %Le \n",eps_float,eps_double,eps_longdouble,eps__float80,eps__float128);

return 0;
}

Компилирую

$ gcc -mfpmath=387 gccfloats.c -o gccfloats-387

$ gcc -mfpmath=sse  gccfloats.c -o gccfloats-sse

Запускаю. Оба варианта с 387 и sse дают один и тот же результат

size: float = 4  double = 8 long double = 16  __float80= 16 __float128= 16
float eps = 5.960464e-08 
double eps = 1.110223e-16 
long double eps = 5.421011e-20
__float80 eps = 5.421011e-20
__float128 eps = 0.000000e+00

Понятно, ноль там для __float128 быть не может, это результат какого-то округления при выводе.

Если с sse компилировать, то тоже самое. Пробовал вместо %Le написать %.числоf, так хоть %.50000f то будет 50 тысяч нулей. А это уже какая-то фигня.

Кто виноват и что делать? Как узнать машинное эпсилон для 128 битного типа с плавающей запятой.

Попутно любопытные открытия для себя сделал при просмотре ассемблерного листинга.

1. long double и __float80 - одно и тоже. По крайней мере для gcc 10.2.1 Впрочем, вроде где-то об этом было. Что интереснее, для расчета всегда используется x87-й блок, даже если -mfpmath=sse -msse2

2. Хотя long double - 80-ти битный тип, длинна 16 байт. Видимо из-за выравнивания

3. Для __float128 всегда используется sse2, даже если указано -mfpmath=387

Не понял, как можно заставить использовать avx и avx2

praseodim
()

Крутая доработка старого советского компьютера

 , ,

Смотрел 30 минутное видео прямо эстетическое наслаждение от умений его автора.

https://www.youtube.com/watch?v=dxxShWU6COM

Был такой советский комп (я о нем впервые из видео узнал) Искра 1080 Тарту. Выпускался под конец перестройки. В нем изначально был задуман порт для подключения внешнего дисковода для дискет. Но что-то помешало и в продажу изделие пошло без НГМД.

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

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

Вот это класс умений!

praseodim
()

Что не так с линковкой libzip?

 , ,

Решил использовать libzip для работы с zip-файлами. Установлена libzip и libzip-dev (в Debian)

Однако невозможно собрать программу. Ругается, что не может найти функции из libzip

#include <stdio.h>
#include <stdlib.h>
#include <zip.h>

int main(int argc, char **argv) {
  struct zip *zip_file;
  int err;
  
  zip_file = zip_open(argv[1], 0, &err);
	if (!zip_file) {
		fprintf(stderr,"Error: can't open file %s\n",argv[1]);
		return -1;
	};
  return 0;
}

Компилирую так

 gcc -lzip testzip.c -o testzip
/usr/bin/ld: /tmp/ccNAFwSq.o: in function `main':
testzip.c:(.text+0x27): undefined reference to `zip_open'
collect2: error: ld returned 1 exit status

WTF? Все как в манах сделано:

NAME
     zip_open, zip_open_from_source — open zip archive

LIBRARY
     libzip (-lzip)

SYNOPSIS
     #include <zip.h>

     zip_t *
     zip_open(const char *path, int flags, int *errorp);

     zip_t *
     zip_open_from_source(zip_source_t *zs, int flags, zip_error_t *ze);

Попытка прямо указать библиотеку тоже ничего не дает

$ gcc /usr/lib/x86_64-linux-gnu/libzip.so testzip.c -o testzip
/usr/bin/ld: /tmp/cc34lYsN.o: in function `main':
testzip.c:(.text+0x27): undefined reference to `zip_open'
collect2: error: ld returned 1 exit status
gcc -lzip -L /usr/lib/x86_64-linux-gnu/ /usr/lib/x86_64-linux-gnu/libzip.so testzip.c -o testzip
/usr/bin/ld: /tmp/ccyCCaCm.o: in function `main':
testzip.c:(.text+0x27): undefined reference to `zip_open'
collect2: error: ld returned 1 exit status

В библиотеке нужные функции есть

$ strings /usr/lib/x86_64-linux-gnu/libzip.so|grep zip_open
zip_open_from_source
zip_open

Такое ощущение, что или поломано что-то или забыта какая-то магическая опция -DМАГИЧЕСКАЯ_ОПЦИЯ_О_КОТОРОЙ_НЕ_СКАЗАЛИ_В_ДОКУМЕНТАЦИИ

P.S. замена struct zip *zip_file на zip_t *zip_file ничего не дает, да и не могла дать.

praseodim
()

Инклюзивный маразм прогрессирует. Новые правила наименований в ИТ.

 ,

Учитывая, что в организацию Инициатива инклюзивного нейминга (Inclusive Naming Initiative или INI) входят такие компании как IBM, Microsoft, Dell, Intel, Red Hat, Cisco, Extreme Networks, Cloud Native Computing Foundation и GitLab скорее всего новые правила игры таки пропихнут.

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

В словаре первого уровня представлены следующие термины: abort, blackhat / whitehat, cripple, master, master / slave, tribe, whitelist. Если обобщать, то все аргументы INI так или иначе связаны с «наследием прошлого», идущим вразрез с новой этикой.

Только один термин попал на второй уровень: sanity check (дословно «проверка здравомыслия»). Он получил здесь своё место на том основании, что «может быть унизительным для нейроразнообразных людей». INI понравились альтернативы Twitter confidence check и coherence check (проверка уверенности и проверка согласованности).

На третьем уровне пока два термина. Man-in-the-middle, по мнению INI, «подразумевает, что женщины не обладают навыками для совершения такого типа взлома». А слово segregate рекомендуют заменить на том основании, что оно «почти исключительно связано с сегрегацией чернокожих и несёт крайне расистский контекст».

Подробнее https://habr.com/ru/news/743374/

Нейроразнообразные люди...

praseodim
()

Китай хочет сильно ограничить гражданам Wi-Fi и Bluetooth

 ,

А то обмениваются между собой информацией невозбранно.

https://incrussia.ru/news/kitaj-zapretit-wi-fi-bluetooth/

https://www.kommersant.ru/doc/6040997

Управление по вопросам кибербезопасности КНР опубликовало законопроект, согласно которому использование гражданами интернет-сетей малого радиуса действия (Wi-Fi, Bluetooth, Air Drop и др.) должно быть ограничено.

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

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

praseodim
()

ГМО-люди есть?

 , ,

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

praseodim
()

Столлману 70 лет!

 

Ричард Мэттью Столлман (англ. Richard Matthew Stallman; род. 16 марта 1953[1][2][…], Манхэттен, Нью-Йорк), также упоминаемый как rms[3], — основатель движения свободного программного обеспечения, проекта GNU, Фонда свободного программного обеспечения и Лиги за свободу программирования. Автор концепции «копилефта», призванной защищать идеалы движения; эту концепцию он с помощью юристов позже воплотил в лицензии GNU General Public License (GNU GPL) для ПО.

Ранее также известный программист. Из авторских программ можно отметить GNU Emacs, Коллекция компиляторов GNU (GCC) и Отладчик GNU (GDB). С середины 1990-х годов Столлман стал программировать значительно меньше, посвятив себя распространению идей свободного ПО.

Кажется ни одной темы нет до сих пор...

praseodim
()

Грибы! Материнская плата на основе грибов

 ,

Вместо cpu - грибы. Потому что https://www.ixbt.com/news/2023/03/08/v-velikobritanii-pokazali-materinskuju-p...

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

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

Жаль фотки нельзя вставлять. Хотя там явно не настоящая плата с грибами. Мне вообще чего-то кажется, что это ихняя панорама или что-то вроде. Если это не так, то реальность шизичнее любой шизы =))

praseodim
()

Истории успеха для Named Entity Recognition (NER)

 ,

rumgot

По мотивам Named Entity Recognition (NER) C++ библиотеки  — впервые вообще узнал про такой класс программ.

Где применяется для чего-то кроме исследований вот это вот?

А что что-то вот читаю разные обзоры типа https://habr.com/ru/post/502366/ или https://habr.com/ru/post/647357/ и возникает ощущение, что оно с одной стороны интересно, круто, а с другой не совсем понятно как для чего-то сильно полезного использовать эту технологию, при том что совсем не гарантируется корректное распознание этих самых NE, даже в наиболее типовых вариантах (ФИО, названия городов, даты).

То есть, для каких практических задач можно продать решение с NER?

Если в документообороте надо выделять и искать, то как правило там уже есть какая-то форма и разметка документов. Обычно всегда какой-то шаблон есть. А если просто поиск в документах, то обычно ищут конкретные данные, но при чем тут NER

А поисковые системы вроде пока еще не умеют обрабатывать запросы самого общего вида типа «Кто из известных людей родился в таком-то городе в такие-то годы?» Ну ChatGPT к этому приближается, но там если используется NER, то как один из компонентов и то не уверен.

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

praseodim
()

Порядок вывода файлов по ls на FTP без сортировки

 

Можно ли закладываться на то, что в этом случае список файлов составлен в порядке возрастания даты модификации?

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

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

Но вдруг это совсем совсем не обязательно так?

Обновление: нет, нельзя как оказалось полагаться на такой порядок.

praseodim
()

Все же с библиотеками и зависимостями Linux куда-то не туда идет

 , ,

Или по крайней мере Debian, хе-хе. Но реально конечно не только Debian.

В очередной раз обнаружил, что из реп исчезла нужная программа. ScanTailor на этот раз. Она хороша для обработки отсканированных книжных/журнальных страниц. Выровнять, правильно ориентировать, повернуть, обрезать, бинаризовать, почистить мусор и тп. Быстро и автоматически с возможной ручной коррекцией. OpenSource аналогов, да под Linux что-то вроде и нет.

Из трекера https://tracker.debian.org/pkg/scantailor видно, что программу выпилили (еще из Buster), потому что она требует Qt4 (собрана с ним). https://tracker.debian.org/news/1060913/scantailor-removed-from-testing/

Сейчас в Debian вообще нет в репах Qt4. Ну да, не нужно, зачем, вон и пишут, то программа похоже abandoned, раз 6 лет не обновляется и автор значит вовремя на Qt5 (уже на Qt6 бы и надо) не переписал. https://forums.debian.net/viewtopic.php?t=150861

Ну а чё, автору (авторам) же делать нефиг как переписывать на новый тулкит. И ну и что, если программу не обновляют хоть 6, хоть 10 лет? Она хуже работать от этого стала? Хотя в принципе есть форки (те вроде тоже на Qt4) именно, потому что некоторых фич кому-то не хватило.

В Windows такой проблемы с прикладными программами за редким исключением просто нет. Тот же ScanTailor 10-летней давности нормально работает в Win11. Да, с драйверами и системным софтом могут быть приколы, но с прикладным обычно все же нет. 32-битный софт даже 25-летней давности обычно запускается и просто работает.

Казалось бы вот что мешало сохранять в репах Qt4 и другие депрекатнутые либы для старого софта? А мешало, что могли глюки с новым софтом вылезти блин... И эти люди в свое время ругали винду за DLL Hell ...

В принципе, нашел форк ScanTailor advanced в Snap. https://snapcraft.io/install/scantailor-advanced/debian Еще не ставил правда. Как и вообще Snap. Это отдельный прикол и не всем нравится такая снапизация. К тому же появляется риск установки неведомо чего неведомо откуда.

P.S. А ведь Qt - это казалось бы для переносимости. Причем Qt - как бы изначально линуксовый тулкит. Итог - «переносимая» программа на линуксовом тулките через несколько лет продолжает нормально работать в Windows и не запускается в Linux без переписывания и всяких Snap.

P.P.S. Про новые тулкиты в виндах. Вроде даже до сих пор 6-я студия от MS запускается в современных виндах и всякие Delphi 6-е - 7-е. Они конечно не поддерживают новые возможности, в том числе интерфейсные, с юникодом и т.д, там с отладчиком не все гладко, но в принципе, если кому достаточно может даже продолжать писать софт на средствах разработки еще до 2000-го года.

praseodim
()

Поясните про Chromium и российские сертификаты

 , ,

Так как для сбербанка и для других разных госуслуг стал требоваться сертификат от «The Ministry of Digital Development and Communications» решил установить его, пользуясь инструкцией https://www.gosuslugi.ru/crt

Возникли вопросы.

Во первых, куда он их засовывает? До установки я специально забекапил каталог ./config/chromium и обнаружил, что после установки сертификатов, если удалить этот каталог, они все равно оказываются установленными. Что за западло, куда оно их еще всунуло?

Во вторых, как бы профиль отдельный сделать. Убедился, что запуск с chromium --user-data-dir=DIR просто делает отдельный каталог для оформительских настроек юзера. Сертификаты где-то еще.

В третьих, чего это за с сегодняшнего для у Сбера за сертификат

Organization: Hellenic Academic and Research Institutions CA

с датой выдачи 23.11.2022 по 23.11.2023 - это меня зОхакали или Сбер выкрутился и нашел того, кто ему сертификат выдаст, прежний заканчивался 25 января.

praseodim
()

Майнинг на видеокартах снова попрет или нет?

 ,

Новости полшли в духе «криптозима» заканчивается. Биткоин за неделю на 25% подорожал, за ним эфир и другие. А как на это на майнинге отразится? Вроде бы в прошлый раз бум был из-за майнинга эфириума, сейчас он уже переключен на PoS и вроде это означает, что массовой гонки уже не будет. Но может чего не знаю или что-то другое намечается.

praseodim
()

Как дублировать отключенный канал звука

 

А то иногда, например, на ютубе попадаются видео где почему-то только один канал. Левый или правый.

В наушниках такое слушать дико раздражает.

Где-нибудь бы в настройках тык кнопкой и чтобы дублировался канал.

praseodim
()

Смузихлебная закачка зависимостей - дыры by design

 , ,

Никогда не было и вот опять. https://www.opennet.ru/opennews/art.shtml?num=58416

Для совершения вредоносных действий атакующие воспользовались методом подмены зависимостей и загрузили в репозиторий PyPI пакет torchtriton, имеющий то же имя, что и пакет, размещённый в собственном репозитории PyTorch-nightly. Метод основан на том, что при использовании дополнительных репозиториев пакетный менеджер pip пытается загрузить внутренние зависимости и из публичных репозиториев, учитывая номер версии. Таким образом, при установке ночных сборок PyTorch пакетный менеджер pip обнаруживал более новый пакет torchtriton в репозитории PyPI и устанавливал его, вместо одноимённого пакета из репозитория PyTorch-nightly.

В опубликованную атакующими версию torchtriton был добавлен код для запуска исполняемого файла («PYTHON_SITE_PACKAGES/triton/runtime/triton»), который осуществлял поиск и отправку конфиденциальных данных с систем, работающих под управлением Linux. Среди прочего злоумышленникам отправлялась информация о системе (/etc/resolv.conf, /etc/hosts, /etc/passwd, переменные окружения, данные об учётной записи), а также содержимое $HOME/.gitconfig, $HOME/.ssh/* и первых 1000 файлов в домашнем каталоге, размером менее 100 КБ. Данные передавались через туннель, организованный поверх DNS (отправлялись шифрованные DNS-запросы к DNS-серверу атакующих).

Если кто не понял, на пальцах объяснение: в репозитории программы PyTorch был пакет torchtriton, необходимый для ее работы. С ним все нормально. Злоумышленники же загрузили в другой репозиторий - в PyPI, вредоносный вариант этого torchtriton. А менеджер установки софта радостно обнаружил более новую версию и загрузил ее сразу.

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

praseodim
()

Как на ютубе выбирать ролики за какой-то период времени?

 ,

Например, если хочется посмотреть выложенное каким-то автором в январе 2019-го года, к примеру. Неужели просто тупо скролить вниз пока не доскролишь. Так оно еще и точную дату выкладки не показывает, а сколько лет назад.

praseodim
()

RSS подписка на новые темы