LINUX.ORG.RU

Сообщения Chaser_Andrey

 

Масштабный брак сетевого оборудования Cisco и других вендоров

Форум — Talks

Паста из Хабры:

Подтвердилось существование проблемы, о которой многие догадывались.

Cisco объявили, что неназванный производитель памяти в течение пяти лет (с 2005 по 2010) поставлял им брак. Характер брака: оборудование с этой памятью может годами копить аптайм, не вызывая никаких нареканий к своей работе, но стоит перезагрузить его (по питанию или даже простым reload) — память перестает корректно работать, само устройство либо не загружается, либо загружается и периодически падает. Связано это с деградацией чипов памяти. По заявлению вендора, основные проблемы начинаются после двух лет эксплуатации.

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

Усаживаемся, достаем валидол и смотрим список затронутого оборудования.

Конкретные партнамберы и детальное описание симптомов можно прочитать в Field Notices или сразу по ссылкам.

Ссылки смотреть в статье на хабре

    Модули ACE10, ACE20, and ACE30
    FWSM
    ADM&AGM
    SAMI
    Разные HWIC, EHWIC, EVM, NME, SM модули
    Разные SPA
    Некоторые телефоны
    Некоторые кодеки ВКС
    ONS 15310 и 15454
    ASR 1000
    Маршрутизаторы 7200/7300
    CRS
    Многое под 7600 и 6500
    Маршрутизаторы серий 800, 1800, 2800 и 3800
    ESR10k
    Сенсоры IPS-4240 и 4255
    ASA 5505 и 5510-5550/ASA-SSM (модели 5500-X не упомянуты)
    MDS 9000
    Catalyst Express 500
    Nexus 7000
    Catalyst 4500/4900
    Catalyst 3k
    Catalyst 2k
    ME3400 и ME2400
    MGX
    IE3000
    AS5400XM и AS5350
    UC520/540

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

Замена стандартная, по RMA, железки целиком или планки памяти, как только сломается. Судя по всему, бракованная память стоит далеко не в 100% упомянутого выше оборудования, а даже если в вашей железке именно она стоит — она может умереть не от сегодняшней перезагрузки, а через 10 лет.

Проверить по серийникам, кто в опасности, нельзя. Никак. Я пытался.

Коллеги. Думаю, на этом этапе все поняли, что много раз виденный мной подход «я когда-то купил за бешеные деньги один маршрутизатор Cisco, он годами работал и еще много лет прослужит, резерв не нужен» криминален. И даже горячий резерв уже может не помочь. Представьте себе, что в ЦОДе моргнул свет, и всё ваше сетевое оборудование сломалось и требует замены от самого факта кратковременного обесточивания и перезагрузки. Даже простая плановая ночная перезагрузка незарезервированной железки может обернуться судорожным поиском замены и длительным даунтаймом. Оценивайте риски, оформляйте сервисные контракты с быстрой доставкой, заранее находите или закупайте память на замену, меняйте само железо на более новое. Исходите из того, что после очередной перезагрузки любая железка из списка выше (и не только) может не подняться, планируйте пути отступления.

Источник: http://habrahabr.ru/post/216287/

 , ,

Chaser_Andrey
()

Продам ~0.249 BTC

Форум — Talks

Продам 0.24965914 BTC по курсу ~625 USD/BTC.

 

Chaser_Andrey
()

Как без особого оверхеда выводить нагрузку на I/O в conky? IOPS? IOWAIT?

Форум — General

SUBJ.

 , , ,

Chaser_Andrey
()

Ищу компактный измеритель кровеносного давления в режиме 24/7, желательно с wifi/bluetooth и известным протоколом обмена данных

Форум — Linux-hardware

Мне нужно мониторить кровеносное давление в режиме 24/7.

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

Линукс тут при том, что хотелось бы снимать данные через bluetooth или wifi с помощью железки на GNU/Linux (на худой конец на Android).

Так же рассматриваю возможность написания софта или драйвера самостоятельно, если есть спеки.

 

Chaser_Andrey
()

13-летний школьник построил ядерный реактор

Форум — Talks

Копипаста (по ссылке есть видео):

Юному ученому удалось в рамках школьного проекта построить ядерный реактор и получить гелий в результате термоядерного процесса.

Немногие студенты могут по праву называться физиками-ядерщиками. А вот английский школьник Джейми Эдвардс этот титул вполне заслужил, хотя и не учился физике в университете. Пока его одноклассники играли в видеоигры, Джейми по вечерам оставался в школе и возился со своим ядерным реактором. В итоге мальчик стал самым юным «ядерщиком» в мире, побив рекорд своего предшественника, построившего реактор в 14 лет.

В прошлом году Эдвардс сделал презентацию своего проекта, запросив финансовую помощь на постройку ядерного реактора. Его школа Penwortham Priory Academy выделила грант в $3 350 на реализацию смелой задумки. Ядерный реактор − устройство недешевое. Мальчику пришлось заказывать вакуумную камеру и насос, вольфрамовую проволоку, алюминиевые стержни и клапаны в числе прочего.

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

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

Основной целью юного естествоиспытателя было добиться термоядерной реакции двух атомов водорода и получить гелий. Телерепортеры из BBC внимательно следили за успехами мальчика и засняли его эксперимент на видео.

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

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

Источник: http://naked-science.ru/article/sci/13-year-old-builds-working-nuclear-fusion...

 ,

Chaser_Andrey
()

Ищу библиотеку для работы с IMAP для Qt5

Форум — Development

SUBJ. Интересует хотя бы возможность загружать сообщения с удаленного сервера.

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

 , ,

Chaser_Andrey
()

Ищу годные прямые трасляции англоязычных каналов 24/7 для привыкания к английской усной речи

Форум — Talks

SUBJ.

Желательно, какие-то новостные, чтобы просто можно было включить в фоне.

Линки приветствуются.

Очень желательно воспроизведение потока с помощью MPlayer2/SMPlayer, на худой случай VLC.

Chaser_Andrey
()

Итоги телеконференции «Ask Me Anything» на Reddit.com с участием Гейба Ньюэлла

Новости — Игры
Группа Игры

4 марта на Reddit.com состоялась телеконференция «Ask Me Anything» с участием Гейба Ньюэлла.

Основные ответы Гейба Ньэлла, которые касаются Linux:

  • Гейб ожидает, что все игры Valve будут портированы на Linux/SteamOS.
  • Есть небольшие проблемы с обращением внимания разработчиков игр на Linux. По словам Гейба, сейчас среди разработчиков существует много популярных мнений, касающихся Linux и компьютерных игр.
  • Гейб повседневно использует Debian GNU/Linux.
  • Нет никаких планов на эксклюзивные игры для SteamOS.
  • На вопрос «Считаете ли Вы, что в долгосрочной перспективе Linux будет не только будущим для игр, но и для десктопа?» Гейб ответил: «Возможно».
  • Ведутся работы по портированию Counter-Strike: Global Offensive под Линукс, но дата релиза пока неизвестна.

>>> Подробности

 , ,

Chaser_Andrey
()

Реквестирую список интересных и полезных сайтов для индексации с помощью YaCy

Форум — Talks

В общем, после допиливания YaCy я могу выделить несколько сотен Гб для индекса и несколько Гб RAM для самого клиента, в будущем будет ещё больше клиентов YaCy в разных точках страны и в других странах, и ещё больше места под индекс.

Реквестирую список сайтов, которые вы хотели бы видеть проиндексированными в YaCy.

Я уже начал индексацию

24tv.ua
linux.org.ru
pornolab.net
free-torrents.org
rutracker.org
wikipedia.org
habrahabr.ru
stackoverflow.com

// и несколько личных и местных сайтов

 ,

Chaser_Andrey
()

Поругайте ebuild YaCy

Форум — General

Я неопытный писун ебилдов эмаксом, но вот попытался сотряпать такой ебилд. Просьба указать на недочёты.

yacy-1.68.20140209.9000.ebuild
# Copyright 2014 CarelessChaser
# Distributed under the terms of the GNU General Public License v3 or higher
# $HEADER: $

inherit eutils systemd versionator user

MAJOR_PV="$(get_version_component_range 1-2)"
REL_PV="$(get_version_component_range 3)"
SVN_PV="$(get_version_component_range 4)"

DESCRIPTION="YaCy - p2p based distributed web-search engine"
HOMEPAGE="http://www.yacy.net/"
SRC_URI="http://www.yacy.net/release/yacy_v${MAJOR_PV}_${REL_PV}_${SVN_PV}.tar.gz"
SLOT="0"
KEYWORDS="~x86 ~amd64"
DEPEND=">=virtual/jdk-1.6"
LICENSE="GPL-2"

IUSE="initscript"

S="${WORKDIR}/yacy"


pkg_setup() {
    enewgroup yacy
    enewuser yacy -1 -1 /var/lib/yacy yacy
}


src_install() {
    # remove win-only stuff
    find "${S}" -name "*.bat" -exec rm '{}' \; || die
    # remove sources
    rm -r ${S}/source || die
    rm ${S}/build.properties ${S}/build.xml

    # remove init-scripts
    rm ${S}/*.sh || die

    dodoc AUTHORS COPYRIGHT NOTICE gpl.txt readme.txt || die
    dodoc lib/*License || die

    yacy_home="${EROOT}usr/share/${PN}"
    dodir ${yacy_home} || die
    cp -r ${S}/* ${D}${yacy_home} || die

    rm ${D}${yacy_home}/{AUTHORS,COPYRIGHT,NOTICE,gpl.txt,readme.txt}
    rm -r ${D}${yacy_home}/lib/*License


    dodir /var/log/yacy || die
    chown yacy:yacy "${D}/var/log/yacy" || die

    dosym /var/lib/yacy /${yacy_home}/DATA || die

    systemd_newunit "${FILESDIR}"/${PN}.service ${PN}.service
}

pkg_postinst() {
    einfo "yacy.logging will write logfiles into /var/lib/yacy/LOG"
    einfo "To setup YaCy, open http://localhost:8090 in your browser."
}

0. Надо бы мне сделать компиляцию и по возможности отказаться от bundled-libs. Только в сборке java я пока ещё совершенно не разбираюсь.

1. Надо бы ещё добавить возможность выбора языков. Только сперва уточнить, можно ли в /usr/share/yacy/langstats/ просто оставить нужные, а все остальные удалить.

2. Наверное, можно безболезненно выкинуть мусор вроде addon/windowsService и addon/Notepad++.

UPD:
Я не хотел бы всё ставить в /opt, и решил начать распихивать файлы согласно FHS. Только здесь много вопросов, поскольку так близко с работой Java я сталкиваюсь впервые.

Но, например, был выбор — или патчить YaCy, чтобы оно писало свои данные в /var/lib/yacy, или просто сделать симлинк /usr/share/yacy/DATA → /var/lib/yacy (подсмотрел решение у Debian).

UPD²:
Здесь нет init-скрипта для OpenRC, мне пока его лень делать.

Какие ещё советы?

 , , ,

Chaser_Andrey
()

Призыв к миру и адекватности

Форум — Talks

Гентушники и дебианщики — дружественные юзеры, которые абсолютно ничем не отличаются. Все мы линуксоиды совершенно одинаковые: эмоциональные, умные, красноглазые и уверенные. И хоть история у нас была всякая, но вот дружба между линуксоидами всегда была и будет. И ты, username, использующий свой distro-name, меньше поддавайся эмоциям, которые в тебе провоцируют. Дружба линуксоидов делает линуксоидов сильнее, а дистровойны — слабее.

Я вот написал некоторым своим знакомым дебианщикам, что мое отношение лично к ним никак не изменилось и не изменится независимо от событий. Говорю это и вам тут всем. Напишите и вы своим знакомым на другом дистрибутиве. Данные события не являются волеизъявлением пользователей, а являются простой манипуляцией и игрой мэнтейнеров.

Спасибо, что не удалили за холивар.

 ,

Chaser_Andrey
()

Написал юнит systemd для YaCy (Java), прошу адептов systemd подкорректировать и помочь с вопросами

Форум — General

Я создал юнит

# /usr/lib64/systemd/system/yacy.service
[Unit]
Description=YaCy

[Service]
Environment=CLASSPATH=lib/*
ExecStart=/etc/java-config-2/current-system-vm/bin/java -Xmx600m -Xms180m -server -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsolr.directoryFactsolr.MMapDirectoryFactory net.yacy.yacy
User=yacy
WorkingDirectory=/usr/share/yacy

OMG! Оно даже работает!

Вопрос №1. Почему создают юниты с Type=forked? Я смотрел юниты разных Java-приложений из разных дистрибутивов. Везде я видел создание скрипта-враппера из кучи лапши на bash/sh, и всё что делает systemd — запускает этот скрипт. Но зачем?

Вопрос №2. Нормально ли указывать в качестве пути к бинарнику /etc/java-config-2/current-system-vm/bin/java? Я понимаю, что это дистрибутиво-специфично. Может, есть более правильное решение?

Вопрос №3. Зачем в этих скриптах-врапперах делают лапшу в виде (скрипт из Arch)

CP=/usr/share/java/yacy.jar:$YACY_HOME/htroot
for name in /usr/share/java/yacy/*.jar; do
        CP=$CP:$name
done
CLASSPATH=$CP
что в итоге превращается в

-classpath .:htroot:lib/J7Zip-modified.jar:lib/activation.jar:lib/apache-mime4j-0.6.jar:lib/bcmail-jdk15-145.jar:lib/bcprov-jdk15-145.jar:lib/commons-codec-1.7.jar:lib/commons-compress-1.4.1.jar:lib/commons-fileupload-1.2.2.jar:lib/commons-io-2.1.jar:lib/commons-jxpath-1.3.jar:lib/commons-lang-2.6.jar:lib/commons-logging-1.1.3.jar:lib/fontbox-1.8.3.jar:lib/geronimo-stax-api_1.0_spec-1.0.1.jar:lib/guava-15.0.jar:lib/htmllexer.jar:lib/httpclient-4.3.2.jar:lib/httpcore-4.3.1.jar:lib/httpmime-4.3.2.jar:lib/icu4j-core.jar:lib/jakarta-oro-2.0.8.jar:lib/jaudiotagger-2.0.4-20111207.115108-15.jar:lib/jcifs-1.3.17.jar:lib/jcl-over-slf4j-1.7.2.jar:lib/jempbox-1.8.3.jar:lib/jetty-client-8.1.14.v20131031.jar:lib/jetty-continuation-8.1.14.v20131031.jar:lib/jetty-http-8.1.14.v20131031.jar:lib/jetty-io-8.1.14.v20131031.jar:lib/jetty-security-8.1.14.v20131031.jar:lib/jetty-server-8.1.14.v20131031.jar:lib/jetty-servlet-8.1.14.v20131031.jar:lib/jetty-servlets-8.1.14.v20131031.jar:lib/jetty-util-8.1.14.v20131031.jar:lib/jetty-webapp-8.1.14.v20131031.jar:lib/jetty-xml-8.1.14.v20131031.jar:lib/jsch-0.1.50.jar:lib/json-simple-1.1.1.jar:lib/jsoup-1.6.3.jar:lib/log4j-over-slf4j-1.7.2.jar:lib/lucene-analyzers-common-4.6.0.jar:lib/lucene-analyzers-phonetic-4.6.0.jar:lib/lucene-classification-4.6.0.jar:lib/lucene-codecs-4.6.0.jar:lib/lucene-core-4.6.0.jar:lib/lucene-facet-4.6.0.jar:lib/lucene-grouping-4.6.0.jar:lib/lucene-highlighter-4.6.0.jar:lib/lucene-join-4.6.0.jar:lib/lucene-memory-4.6.0.jar:lib/lucene-misc-4.6.0.jar:lib/lucene-queries-4.6.0.jar:lib/lucene-queryparser-4.6.0.jar:lib/lucene-spatial-4.6.0.jar:lib/lucene-suggest-4.6.0.jar:lib/metadata-extractor-2.6.2.jar:lib/noggit-0.5.jar:lib/pdfbox-1.8.3.jar:lib/poi-3.9-20121203.jar:lib/poi-scratchpad-3.9-20121203.jar:lib/servlet-api-3.0.jar:lib/slf4j-api-1.7.2.jar:lib/slf4j-jdk14-1.7.2.jar:lib/solr-core-4.6.0.jar:lib/solr-solrj-4.5.1.jar:lib/spatial4j-0.3.jar:lib/webcat-0.1-swf.jar:lib/wstx-asl-3.2.9.jar:lib/xercesImpl.jar:lib/xml-apis.jar:lib/yacycore.jar:lib/zookeeper-3.4.5.jar:

ЗАЧЕМ??? Если можно сделать просто и удобно вроде

CLASSPATH=lib/*

Так вот, зачем такие простыни, если Java умеет по маске принимать classpath?

Вопрос №4. Как бы корректно изменять значения в параметрах -Xmx600m -Xms180m (см. юнит вначале)? Может так?

-Xmx${XMX}m -Xms${XMS}m
И вышеуказанные XMX и XMS указывать в EnviromentFile?

Вопрос №5. Как перед запуском сервиса на лету проверять некоторые вещи и в зависимости от результата генерировать нужные параметры запуска? Надо сэмулировать такой скрипт:

HUGEPAGESTOTAL="$(cat /proc/meminfo | grep HugePages_Total | sed s/[^0-9]//g)"
if [ -n "$HUGEPAGESTOTAL" ] && [ $HUGEPAGESTOTAL -ne 0 ]
then 
        JAVA_ARGS="$JAVA_ARGS -XX:+UseLargePages"
fi

Вопрос №6. Как корректно останавливать? Я видел, что просто добавляют в конце -shutdown, т.е.

ExecStop=/etc/java-config-2/current-system-vm/bin/java -Xmx600m -Xms180m -server -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsolr.directoryFactsolr.MMapDirectoryFactory net.yacy.yacy -shutdown

Нужно ли такое в systemd? Или там достаточно штатного сигнала завершения? Или на -shutdown висит специальный хук, который в обычном режиме не исполняется?

 , , ,

Chaser_Andrey
()

Где правильно держать EnvironmentFile для юнитов systemd?

Форум — General

Где правильно держать EnvironmentFile для юнитов systemd?

Я видел упоминания, что их стоит держать в /etc/sysconfig/, но в то же время я видел, что в разного рода дистрибутивах данные файлы могут быть как /etc/conf.d, так и в /etc/sysconfig.

В частности, в Gentoo встречаются оба варианта.

 ,

Chaser_Andrey
()

Где достать аккаунт Facebook для теста? Может, у кого валяеццо аккаунт с перепиской?

Форум — Talks

Мне нужен аккаунт, в котором есть несколько сотен (или даже тысяч) сообщений. Чем больше, тем лучше.

Может, есть какие-то общедоступные аккаунты с известными логинами/паролями?

Или найдется человек, которому нечего скрывать, и он сможет предоставить логин и пароль для read-only тестов?

Мне нужно поотлаживать дамп сообщений через Facebook Graph API, но у самого на аккаунте только 5 мессаг.

 ,

Chaser_Andrey
()

Передача данных в Qt5 через сигнал-слоты между тредами и в одном треде с минимальным оверхедом

Форум — Development

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

Но здесь проблема. Создадим объект в стеке и пошлем его по ссылке через сигнал-слоты:

void mysignal(const Foo &);

//...
Foo foo;
emit mysignal(foo);

При передаче в пределах одного треда всё будет ок, так как объект разрушиться после вызова сигнала и привязанных слотов.

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

Вопросы: Как элегантно этого избежать?

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

Лично я вижу выход в использовании:

  • Указатели и создание в куче. Плюсы — никаких накладных расходов. Минусы — нужно следить за жизнью объекта.
  • Смарт-поинтеры. Плюсы — не нужно помнить про необходимость разрушения объекта, ну и минимальные накладные расходы. Минусы — код не красивый.
  • Использование Implicit Sharing и передача данных по значению. Код красивый, но не всегда можно переделать классы.

В общем, мне пока больше всего нравятся смарт-поинтеры.

Можно ли как-то выкрутится с помощью rvalue?

 , ,

Chaser_Andrey
()

Как грамотно передать неисключительные права FSF на моё ПО?

Форум — Talks

Я делаю приложение. Могу ли я как-нибудь передать неисключительные права на ПО для FSF? Чтобы FSF имела право выбирать и менять лицензию, распоряжаться кодом на своё усмотрение, но при этом чтобы такая возможность оставалась и у меня.

Допустим, сейчас GPLv3+ кажется достаточной. Но если проект вырастет в сервис, и часть людей захотела распространять проект по лицензии AGPLv3+?

Или выйдет ещё более продуманная вариация GPL.

Нужно ли согласие FSF или можно дать ей права по факту?

 , , ,

Chaser_Andrey
()

Астрологи объявили неделю Gentoo. Количество гентушников увеличилось вдвое.

Форум — Talks

Такие дела.

 ,

Chaser_Andrey
()

Юзаете ли вы Puppet на Gentoo-серверах?

Форум — Admin

SUBJ. Расскажите истории успеха. Особенно интересует, юзали ли вы Portage Module https://github.com/gentoo/puppet-portage

Интересует, так как планируется пополнение подконтрольных мне серверов на Gentoo (и перевод некоторых старых с Debian).

 , , ,

Chaser_Andrey
()

В чем смысл дефолтного ограничения на количество открытых дескрипторов (ulimit -n = 1024) в современных дистрибутивах?

Форум — Admin

SUBJ. Мне приходят в голову следующие варианты:

  • экономия ресурсов
  • исторически сложилось
  • ориентацию дистрибутивов на работу даже на «кофемолке», т.е., компе с ограниченным количеством ресурсов (например, Debian)
  • защита от локального DoS
  • может и не быть epoll, а быть poll (который деградирует при большом количестве дескрипторов), или select с его максимумом в 1024

А какие ваши варианты? Почему разработчики не убрали лимиты (или хотя бы не повысили на порядок) в современных релизах?

 

Chaser_Andrey
()

KMail и удобное использование нескольких SMTP-аккаунтов для исходящей почты

Форум — Desktop

В Thunderbird отсылка почты через несколько аккаунтов сделана, на мой взгляд, весьма просто и удобно. Скриншот: http://dump.bitcheese.net/images/ukymime/17_1.png

В KMail с эти ужас и адъ. Насколько я понял:

  • если есть только один профиль (скрин), то создание нескольких smtp-аккаунтов не поможет. И пофиг, что есть выпадающая менюшка (скрин) Всё равно надо ручками вводить поле «From».
  • надо создавать n-профилей, и в каждом отдельном профиле указывать основной email, и только тогда будет выпадающий список с автоподстановкой e-mail в поле From(скрин, ещё один скрин)
  • надо вручную поддерживать соответствие SMTP-аккаунтов и созданных профилей, вовремя добавлять, удалять.

Что я делаю не так? Может, я не осилил Дао KMail?

 ,

Chaser_Andrey
()

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