LINUX.ORG.RU

Избранные сообщения targitaj

Посоветуете тяжелую философию

Форум — Talks

Читал Кастанеду (очень драматично), Кафку (умные мысли, но в целом весь мир - говно), немного Фрейда(смешно).

 , ,

bga_ ()

Почему lua?

Форум — Development

subj

 

qulinxao3 ()

Настройки энергопотребления Ryzen

Форум — Desktop

Решил обновить свой ноутбук. Нашел неплохую машинку на Ryzen MateBook 13. Все с ноутом хорошо, но вопрос в том, как в нем рулить энергопотреблением. Для Intel очень неплохую прибавку к живучести от батареи я добился с помощью TLP. К сожалению, TLP на данный момент полностью игнорирует существование годных процессоров от AMD. Соответственно вопрос. Чем можно (и нужно ли) настроить энергопотребление в Linux на ноутбуках с Ryzen?

ArchWiki рекомендует вот такую штуку. На сколько она годная? Кто-то пробовал?

 , , , ,

t500s ()

Пицца

Форум — Talks

Хочу обсудить пиццу, рационально ли её готовить дома самому, рентабельно ли это и какой рецепт по вашему мнению самый эталон? (отзывы с синдромом утёнка не приветствуются)

https://www.youtube.com/watch?v=1-SJGQ2HLp8 — не безызвестный товарищ демонстрирует классический рецепт итальянской пиццы, хочу отметить, что в отличии от большинства русскоязычных домохозяек он не страдает такой фигнёй, как добавление масла в тесто, добавление сахара к дрожжам. Точно так мы делаем хлеб: вода, мука, соль, дрожжи. Обычное дрожжевое тесто (опара). За сим, я не увидел причины, зачем замешивать его самостоятельно, если можно пойти и купить в магазине тесто на развес. Оно абсолютно на все 100% точно такое же (мы сами его замешиваем на пекарне и привозим в магазин вместе с хлебом, да).

Для начала хочу научиться готовить самую базу, поэтому из ингредиентов я взял: помидор + чеснок + базилик (или орегано), сыр и... всё. Речь не про колбасу, грибы и прочее, а хочу добиться результата вкусной базовой пиццы, с которой уже дальше можно работать и докладывать другие ингредиенты по желанию.

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

К вопросу о рациональности. Я купил такую малютку за 1500 рублей, очень маленькая электропечка, надеюсь, она себя окупит (по цене — 2.5 пиццы из доставки). Купил ингредиенты, которые в общей сумме обошлись в 400 рублей. Это без колбасы, без грибов и прочей экзотики, только база, с уже готовым дрожжевым тестом. И что-то как-то я начинаю сомневаться, честно говоря, потому что продукты выходят ну очень дорого. Но ладно, посмотрим.

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

Кто готовит пиццу дома? Как вы её делаете? На сколько по деньгам и трудоёмкости выходит? Лучше, чем из доставки?

 

Spoofing ()

Запилили поддержку wayland для wine

Форум — Talks

https://www.winehq.org/pipermail/wine-devel/2020-December/178575.html

Глаза боятся, а руки делают. Кто то ныл, что мол это невозможно, так как wayland не даёт доступа к абсолютным координатам. Парень просто взял и сделал.

cast @mertvoprog

 ,

eternal_sorrow ()

2020: как делать простенькие сайты?

Форум — Talks

80 лет стажа программирования, но с вебом не имел дел со времён html 3 и появления css.

Вопрос: а как сейчас правильно делать простой сайт? Ту его часть, которая фронтенд.

Пусть, для начала, там будет пара форм, кнопочки ну и тексты какие-то с пагинацией.

 ,

ahdenchik ()

Домашнее рабочее место машинлернера

Галерея — Рабочие места

Так выглядит домашнее место недавно выпустившегося из магистратуры машинлернера, который сидит дома, учит всякую математику и ищет себе PhD или работу.

У меня ноет спина и нога, если много сидеть в одной позе, поэтому я то сижу на стуле, то лежу на полу или кровати, то втыкаю два кабеля в ноутбук и работаю, ходя по дорожке для ходьбы Xiaomi Walkingpad A1. В дополнение к вайтборду, видному на главном фото, у меня есть еще два. На них можно писать, ходя вокруг них, - еще одно средство от спины. А еще они отгораживают мое рабочее место от остальной части комнаты, в которой еще живет тян. Под потолком висят две гирлянды, в каждой по 20 лампочек. Суммарно около 50к люмен в комнате. Предотвращают зимнюю депрессию.

На столе Thinkpad t440p, на нем Debian Buster с KDE. Типично, на нем открыто пара имаксов, браузер и консолечка.

>>> Просмотр (1200x1200, 441 Kb)

 ,

hlebushek ()

Непонятное поведение юнита systemd. Прошу подсказки, куда копать.

Форум — Admin

Всем доброго времени суток. Такой вопрос: есть написанная мною программа (утилита с веб мордой, которая слушает на заданном адресе и порту и отвечает на http-запросы). Запускается, работает нормально и даже как задумано :)

Написал unit файл (hammer.service, он ниже вместе с логами), чтобы запускать с помощью systemd, положил в /etc/systemd/system. Сделал sudo systemctl daemon-reload.

Далее по команде sudo systemctl start hammer сервис запускается и работает нормально, т.е. видится в моей сети по 10.0.0.10:4242, отвечает на запросы и пр. systemctl status и systemctl stop также делают то, что должны. Но если перегрузить машину, сервис не стартует, ругаясь на «listen tcp 10.0.0.10:4242: bind: cannot assign requested address»

При этом если сразу после загрузки сделать sudo systemctl start hammer, то сервис стартует без проблем и работает.

Ниже юнит-файл и лог journalctl (как раз система запустилась, сервис не стартанул и я его стартую «руками»).

Прошу подсказать, если я пропустил что-то очевидное. В юнит-файле пробовал After=network.target или (как в логах ниже) After=netwotrk-online.target. Также пробовал Require=(оба варианта). Результат одинаковый.

Как я понимаю, After=netwotrk-online.target означает, что мой сервис должен стартовать после того, как сеть гарантированно поднялась.

В какую сторону копать? Какие есть идеи?

А теперь логи в студию…

cat /etc/systemd/system/hammer.service

[Unit]
Description=Hammer Systemd Assistant
After=network-online.target

[Service]
ExecStart=/usr/local/bin/hammer -serve -ip 10.0.0.10 -port 4242
Type=simple

[Install]
WantedBy=multi-user.target

journalctl -u hammer

-- Logs begin at Wed 2020-10-28 01:11:08 MSK, end at Wed 2020-10-28 01:17:56 MSK. --
окт 28 01:11:13 raspberry systemd[1]: Started Hammer Systemd Assistant.
окт 28 01:11:13 raspberry hammer[417]: Using /usr/local/etc/hammer.conf config file
окт 28 01:11:14 raspberry hammer[417]: listen tcp 10.0.0.10:4242: bind: cannot assign requested address
окт 28 01:11:14 raspberry systemd[1]: hammer.service: Main process exited, code=exited, status=1/FAILURE
окт 28 01:11:14 raspberry systemd[1]: hammer.service: Failed with result 'exit-code'.
окт 28 01:12:44 raspberry systemd[1]: Started Hammer Systemd Assistant.
окт 28 01:12:44 raspberry hammer[758]: Using /usr/local/etc/hammer.conf config file

Во избежание сомнений про IP адрес и пр.:

ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::a8d9:c5d0:55ab:40fc  prefixlen 64  scopeid 0x20<link>
        ether dc:a6:32:4a:c7:a3  txqueuelen 1000  (Ethernet)
        RX packets 6860  bytes 935445 (913.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9553  bytes 1092106 (1.0 MiB)
        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 145  bytes 57849 (56.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 145  bytes 57849 (56.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

route

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router          0.0.0.0         UG    202    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     202    0        0 eth0

 ,

paddlewan ()

Java джун познаёт мир

Форум — Development

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

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

Getters/Setters

Постоянно в дтошках вижу одну и туже картину. Куча private полей, и к каждому из них геттер и сеттер. Больше ничего в классе нету. Я не понимаю, нафига строить тут типа «инкапсуляцию», если класс ничего семантически не инкапсулирует? Почему бы не сделать просто public филды?

Lombok

Крутая штука, но некоторые её до жути боятся и продолжают генерировать шаблонный код. Из трёх проектов, в которых я писал код, в двух ломбока не было и всё надо было делать руками (да, нажать биндинг для генерации в idea - тоже, считай, руками). Кроме того ломбок предоставляет @RequiredArgsConstructor, который в спринг-бинах просто мастхэв

Любовь к старым технологиям

Во всех трёх проектах (и это не легаси говно, с нуля все написаны в 2020) используется java 8. Почему не 9, где для optional подвезли нормальные методы? Почему вообще у чуваков такая тяга к старым технологиям? В новой джаве вот уже рекорды добавили, чтобы без ломбока и прочего жить нормально, так не, мы продолжим сидеть на 8, в худше случае и без ломбока.

И это не только с версией джавы, на проектах (новых!) используется версия querydsl 3.x, поддержка которой давно закончилась. Понятно, что в 4.x поломали совместимость, но неужели разобраться с этим это прям такое запарное дело?

Ехал singleton через singleton или процедурное программирование

По сути в архитектуре веб-приложухи на джаве нету никакого ООП. Все Service-компоненты с бизнес-логикой это по сути просто набор процедур. Все объекты service-классов существуют в единственном виде как синглтон. По крайней мере, я так это понял. Dtoшки это вообще не класс, это просто классический record в виде си. Всё в итоге сводится к процедурному программированию, когда дтошки (читай - записи) суются в методы сервисов (читай - в процедуры), откуда вызываются другие методы (по сути те же процедуры).

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

Непонятные решения в БД и около её.

В лабах я привык использовать idшники в качестве PK, однако в реальном интерпрайзе везде uuidшники. Я погуглил, понял, что всё как-то связано с масштабированием и немного с безопастностью (если неавторизованные юзеры работают с сущностями), но в одном проекте у нас были и idшники, и uuidшники! Зочем?

Чейнджсеты ведутся в liquibase, причём все они хранятся в одном каталоги и инклюдятся в мастер-чейнджсет через includeAll. Нумеруются по принципу дата-айдишник-описание.xml. НО. Это же костыль! Если у меня в один день будет changeset в id=9 и с id=10, то 10ка попросту выполнится перед девяткой! Если уж использовать только числовые айди, то почему бы liquibase Не выполнять их по очереди?

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

 , ,

Fizzika ()

Proxmox GlusterFS. А стоит ли?

Форум — General

Коллеги. Делитесь опытом. Есть PM кластер - 28 нод. Есть 3 HPE DL380 G8. Есть 10Gb/s сеть между всем этим. Хочется уйти от SCSI/iSCSI и LVM. Вопрос - стоит заморочиться? Хотелось бы услышать опыт бывалых.

 ,

gfreeman ()

Ryzen 9 3950X cpufreqd

Форум — General

Ребят, неделю убил, сил нету... Не получается заставить ryzen 9 3950x работать свыше 3.7 частоты. ос 4.19.0-11-amd64 #1 SMP Debian 4.19.146-1 (2020-09-17) x86_64 GNU/Linux. freqd не помогает, до переустановки оси он работал на частоте 4.4

 , ,

User01 ()

Шел 2020 год... Ubuntu 20.04.01 - щелчки при воспроизведении через внешний DAC

Форум — Desktop

Итак, имеется:

  • Thinkpad T430
  • iBasso DX 120 в режиме внешнего DAC, подключенный толстым экранированным кабелем к юсб порт
  • щелчки а-ля «грампластинка» при воспроизведении музыки

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

Характеристики железа:

            .-/+oossssoo+/-.               zhbert@zhbert-ThinkPad-T430 
        `:+ssssssssssssssssss+:`           --------------------------- 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 20.04.1 LTS x86_64 
    .ossssssssssssssssssdMMMNysssso.       Host: 2349QF4 ThinkPad T430 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 5.4.0-48-generic 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 45 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 2544 (dpkg), 4 (snap) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 5.0.17 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1366x768 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: Plasma 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: KWin 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Theme: Breeze [Plasma], Breeze [GTK2/3] 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Icons: breeze [Plasma], breeze [GTK2/3] 
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Terminal: konsole 
  +sssssssssdmydMMMMMMMMddddyssssssss+     CPU: Intel i5-3320M (4) @ 3.300GHz 
   /ssssssssssshdmNNNNmyNMMMMhssssss/      GPU: Intel 3rd Gen Core processor Graphics Controller 
    .ossssssssssssssssssdMMMNysssso.       Memory: 1810MiB / 7662MiB 
      -+sssssssssssssssssyyyssss+-
        `:+ssssssssssssssssss+:`                                   
            .-/+oossssoo+/-.                                       

00:1b.0 Audio device: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller (rev 04)

Что сделано:

  1. Пляски с бубном вокруг режима энергосбережения аудиоустройсва:
$ echo «INTEL_AUDIO_POWERSAVE=false» > /etc/pm/config.d/snd_hda_intel

Не помогло.

  1. Настройки прямой отдачи в пульсе:
resample-method = copy
default-sample-format = float32ne
default-sample-rate = 44100
alternate-sample-rate = 192000

Тоже не помогло.

  1. Обматерил ноут, погладил его нежно по кнопкам, поговорил с ним - не помогло.

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

Еще момент: в Ubuntu Studio вроде ядро с низкой задержкой по умолчанию? Имеет смысл попытаться перекатиться на нее? Не хочется просто, привык к своей кубунте уже, тут настроено все как надо и просто работает…

 , ,

Zhbert ()

Телематика в новых авто, отключение, перепрошивка бортового ПК и Linux-корчевание

Форум — Talks

Я слышал, что в современных авто часто встроен блок телематики, куда вставлена или уже впаяна SIM-карта, и телеметрия шлется при любом удобном случае.

Как при покупке убедиться, что в автомобиле такого нет, или что эту SIM-карту/блок можно будет извлечь без разбора салона?

Что сейчас с бортовой мультимедией? От неё можно отказаться? А перепрошить на чистую ОС (Android, Linux)? Может, там можно просто поменять магнитолу, как в старые добрые 90-е? Я бы поставил даже самосборную с Linux на каком-то SoC в подходящем корпусе из-под магнитолы.

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

P.S. В первую очередь рассматриваю авто у офф.дилеров.

 , , ,

anonymous8 ()

Когда графику наконец перенесут в ядро?

Форум — Desktop

Где ей самое место.

Я ведь правильно понимаю, что сейчас при перемещении мыши происходит следующее:

  • Ядро ловит прерывание, пишет читающим из /dev/input/... инфу о перемещении мыши и пробуждает ждущих данных с соответствующего дескриптора (Xorg-сервер). Это первое переключение контекста.

  • Xorg, прочитав о перемещении мыши, дёргает drmModeMoveCursor чтобы переместить изображение курсора на экране. drmModeMoveCursor — это переключение контекста обратно в ядро.

  • Далее, Xorg-сервер посылает клиентам событие о перемещении мыши, записывая в сокет — опять переключение в ядро.

  • Клиенты читают из сокета — опять переключения контекста.

В общем, куча переключений контекста, поэтому графика заметно тормозит, что порождает темы вроде Windows работает плавнее и четче

Почему многие плюются от микроядер, говорят, что FUSE — это игрушка и реальные ФС должны быть в ядре, но при этом к идее всунуть графический сервер/композитор в ядро относятся отрицательно?

 , ,

utf8nowhere ()

hi-res audio

Форум — Talks

Привет, ЛОР!

В продолжении моего предыдущего треда про Bluetooth и кодеки. В комментариях всплыла статья, в которой том числе упоминалось, что LDAC – плохой кодек, потому что не поддерживает high-resolution audio, т.е. что-то с параметрами сэмплирования 24bit/96kHz и выше.

Если смысл в больших размерах сэмплов я могу понять (больше динамический диапазон и так далее), то зачем нужна большая частота дискретизации? Про теорему Котельникова ты, ЛОР, я думаю, знаешь. Поэтому объясни мне, есть ли технический смысл в записи аудио с частотой больше 44.1kHz?

Кстати, ради интереса, я накопал у себя на диске записи с частотой 192kHz. Запустив Sonic Visualiser, я увидел примерно вот это: https://i.imgur.com/sRDR44y.jpg

Как видишь, ЛОР, выше 20kHz протекает только какой-то шум. Плюс есть непонятная полоса в районе 77kHz. Кстати, что это?

В общем, расскажи, ЛОР, это всё просто блажь и никакого смысла в этом нет? Или всё же FLAC в 192kHz – единственное верный путь?

 , ,

hateyoufeel ()

GPU Passthrough

Форум — Talks

Купил недавно ноут Asus TUF Gaming fx505dt на рязане r7 3750H и с видюхой gtx1650. Из блобов для работы под линуксом понадобились:

  • дрова nvidia
  • драйвер на wifi
  • драйвер для управления подсветкой

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

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

Однако пост не о успехе. Теперь я хочу провернуть тоже самое на компе. Прокинуть видюху через райзер через PCI-e 1 не вышло из-за групп IOMMU. Я еще не пробовал накладывать патч ACS на ядро, но из-за того что могут вылезти другие баги пробовать и не хочу. Вместо этого хочу совета по выбору материнки под AM4 с 2+ PCI-e 16, где группы IOMMU будут раздельны. Гугл советует x570 за 20+ т.р. Однако в магазинах есть куча b450 в двое дешевле с 2 и 3 PCI-e 16. Может кто из лоровцев брал такие и там были раздельные группы IOMMU?

 , , , ,

SR_team ()

Как починить update-initramfs который ломает загрузку фирмварей amdgpu

Форум — General

Восстановил работу ручной правкой /boot/initrd.img-5.4.0-0.bpo.3-amd64 потому что update-initramfs создает косячный образ. Что делать?

Так как комп не перезагружался недели две я даже не скажу с уверенностью после какого апдейта это случилось. Предположительно после установки Virtual Machine Manager, но не точно.

Короче, дано: Debian 10 Buster все stable, не считая ядра которое из бекпортов сейчас 5.4.0-0.bpo.3-amd64 и развлечений с rocm одно время, но уже давненько. Видеокарта Radeon RX 580 с опенсорсными драйверами.

И вот чих-пых, внезапно что-то отвалилось. Это перестала загружаться графика (иксы, вулканы), при этом при старте есть в самом начале запись, что

drm:amdgpu_pci_probe[amdgpu] amdgpu requires firmware installed

apt-get install firmware-linux-nonfree сделал, заругалось на broken dependences, но установилось из бекпортов правильно.

update-initramfs - тоже самое: не грузится бинарная прошивка для видеокарты.

Замена /boot/initrd.img-5.4.0-0.bpo.3-amd64 на старый вариант помогла. Стал сравнивать чем они отличаются. Обнаружил, что внутри правильного варианта структура каталогов такая (сокращенно, всю не привожу):

/lib/
    firmware/
                  5.4.0-0.bpo.3-amd64/
                  amdgpu/

В неправильном, в котором бинарники прошивки не грузятся

/lib/
    firmware/
                  5.4.0-0.bpo.3-amd64/
                                                  amdgpu/

распаковал gunzip и cpio образ, переместил amdgpu на прежнее место, запаковал gzip и cpio, положил в /boot и все загружается теперь, прошивки есть.

Но это не дело, update-initramfs по-прежнему создает образ с ошибками. Я как-то даже не в курсе как это чинить.

 , ,

praseodim ()

Доклад совета безопасности Tor: вредоносные выходные узлы использовали sslstrip.

Новости — Безопасность
Группа Безопасность

Суть произошедшего

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

( читать дальше... )

>>> Блог Tor Project

 , ,

SM5T001 ()

кто знает, где этот клубешник?

Форум — Talks

В дополнение к треду: OLKB и истории успеха работы на таких клавиатурах. Ergodox?

У мальца тут на видео проскакивает клуб любителей механик.

https://youtu.be/HMeje0Iz9vQ?t=1931
https://youtu.be/HMeje0Iz9vQ?t=2259
https://youtu.be/HMeje0Iz9vQ?t=3010

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

Кто-то видал? Встречал? Знаком?

Нашел. Если кому надо - В телеге организатор сходки - @Flumeded

 

Vault_Boy ()

Посоветуйте фильм

Форум — Talks

Что-то похожее на экзамен, куб, платформа

Мож фантастику какую с похожим духом. Или мистику. Короче чтобы был сюжет норм так =)

 ,

LINUX-ORG-RU ()