LINUX.ORG.RU

Сообщения Chaser_Andrey

 

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

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

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

 , ,

Chaser_Andrey
()

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

SUBJ.

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

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

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

Chaser_Andrey
()

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

В общем, после допиливания 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

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

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
()

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

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

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

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

 ,

Chaser_Andrey
()

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

Я создал юнит

# /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?

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

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

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

 ,

Chaser_Andrey
()

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

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

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

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

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

 ,

Chaser_Andrey
()

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

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

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

void mysignal(const Foo &);

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

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

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

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

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

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

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

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

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

 , ,

Chaser_Andrey
()

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

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

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

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

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

 , , ,

Chaser_Andrey
()

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

Такие дела.

 ,

Chaser_Andrey
()

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

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

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

 , , ,

Chaser_Andrey
()

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

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

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

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

 

Chaser_Andrey
()

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

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

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

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

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

 ,

Chaser_Andrey
()

YaCy спустя 3 года: кто ещё продолжает юзать, кто уже начал? Как впечатления?

На хабре появилась заметка про YaCy (p2p-поисковик) http://habrahabr.ru/post/212407/

На ЛОРе что-то давно не было обсуждений, поэтому открываю новый тред по YaCy.

Делитесь историями успеха.

 , ,

Chaser_Andrey
()

Уважаемым чайкам с треда «для обмена ключами, скидками и прочими игровыми радостями»

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

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

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

Всё нижесказанное — моё скромное мнение, без попыток оскорбления кого-либо лично.

Всё хорошо, когда это в меру. Бескорыстный обмен — это же прекрасно. Но плохо, когда им злоупотребляют. Именно «чаек» я считаю теми, кто злоупотребляет бескорыстностью других участников.

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

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

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

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

P.S. У меня чайки не забрали ни одну из вкусных игр :) Считайте этот тред активной гражданской позицией.

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

Chaser_Andrey
()

Чем больше у нас вещей — тем меньше мы тратим времени на любимые дела

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

Содержание огромного многоэтажного дома (и поддержание его в исправности и чистоте) куда сложнее, чем поддержание обычной квартиры в хорошем состоянии.

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

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

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

P.S. Я не рассматриваю случаи, когда непосредственно что-то вроде ремонта автомобилей или садоводство является хобби и приносит удовлетворение.

 ,

Chaser_Andrey
()

Тулза для автоматизации конфигурирования ядра — я всё правильно делаю?

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

Для примера я буду рассматривать архитектуру amd64. Defconfig 86_64_defconfig находится в arch/x86/configs/x86_64_defconfig.

При запуске make menuconfig начальный .config генерируется исходя из значений в x86_64_defconfig. При запуске make defconfig происходит то же самое. Я проверил — сгенерированные конфиги идентичны.

В чём заключается идея.

Допустим, у меня есть шаблон для моего компа http://pastebin.com/MXpAf9qD. Я хочу натравить его на x86_64_defconfig, изменив или добавив необходимые опции. Я написал небольшую тулзу. На данный момент выхлоп примерно такой

Pass CONFIG_DEVTMPFS
Pass CONFIG_DEVTMPFS_MOUNT
Add CONFIG_IKCONFIG [m]
Add CONFIG_IKCONFIG_PROC [y]
Pass CONFIG_EXT4_FS
Add CONFIG_FUSE_FS [m]
Add CONFIG_UDF_FS [m]
Add CONFIG_TUN [y]
Add CONFIG_NET_SCH_HTB [m]
Add CONFIG_NET_SCH_INGRESS [m]
Add CONFIG_NETFILTER_XT_MATCH_COMMENT [m]
Add CONFIG_NETFILTER_XT_MATCH_HASHLIMIT [m]
Add CONFIG_PM_RUNTIME [y]
Pass CONFIG_EXT4_FS_SECURITY
Add CONFIG_I2C_PIIX4 [m]
Add CONFIG_I2C_CHARDEV [m]
Add CONFIG_MK8 [y]
Change CONFIG_DRM [y->m]
Add CONFIG_DRM_RADEON [m]
Add CONFIG_DRM_NOUVEAU [m]
Add CONFIG_USB_XHCI_HCD [m]
Add CONFIG_CONFIG_R8169 [m]
Add CONFIG_USB_STORAGE_REALTEK [m]
Add CONFIG_SENSORS_IT87 [m]
Add CONFIG_SENSORS_K10TEMP [m]
Add CONFIG_BONDING [m]
Add CONFIG_TRANSPARENT_HUGEPAGE [y]
Add CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS [y]
Add CONFIG_DM_SNAPSHOT [m]
Add CONFIG_EDAC_DECODE_MCE [y]

После этого идет запуск

make defconfig
Пока что всё вроде работает. Только предварительно надо делать резервную копию x86_64_defconfig.

Примеры синтаксиса в утилиты:

DEFCONF=arch/x86/configs/x86_64_defconfig
cp $DEFCONF $DEFCONF.bac

# обычное использование
kernel-config-patcher -v -o $DEFCONF $DEFCONF.bac -s ~/my.config

#или можно указать несколько пользовательских конфигов
kernel-config-patcher -v -o $DEFCONF $DEFCONF.bac -s ~/base.config -s ~/desktop.config -s ~/router.config

#или можно указывать опции прямо как аргумент (на стадии доработки)
kernel-config-patcher -v -o $DEFCONF $DEFCONF.bac CONFIG_EXT4_FS=n CONFIG_TUN=y

Вопрос: что я мог упустить?

 , ,

Chaser_Andrey
()

Пока гром не грянет — мужик не перекрестится

Пока у $username не грохнут его личные данные — он не будет серьёзно относится к паролям и безопасности в интернете.

А ведь Интернет — давно уже не закрытый клуб джентельменов.

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

Да-да, речь идет о драме с удалением данных на сервере.

Почему я создал эту тему? Почему я не отписался там же или в отдельной теме https://www.linux.org.ru/forum/linux-org-ru/10146768?

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

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

Позвольте задать вопрос...Кто виноват в милионных ботнетах? В массовой рассылке спама? В DDoS атаках мощностью в сотни гигабайт? Прочитайте пункты:

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

Если хотя бы один пункт про Вас — то в вышеперечисленных бедах виноваты конкретно Вы.

Почему же все ринулись защищать пострадавшего? Почему защищающие не удосужились в первую очередь отчитать наивного админа локалхоста за вопиюще глупый поступок?

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

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

Поэтому я всё же за:

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

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

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

/me выдохнул

 , ,

Chaser_Andrey
()

После блокировки https://fonts.googleapis.com сайт стал намного быстрее грузиться

После блокировки https://fonts.googleapis.com сайт стал намного быстрее грузиться, особенно заметно при использовании Tor или плохих каналов связи.

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

Собственно, вопрос — а что, разместить шрифты у себя не вариант? И так уж они необходимы, что не обойтись штатным набором?

Chaser_Andrey
()

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