Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как открыть новый контракт с UpWork, чтобы обнулить сумму заработка и избежать оформление паспорта сделки?

Лучший ответ:
Смени банк.
P.S.:
Но это, имхо, противоречие:
что при достижении 50$к по российскому законодательству вы обязаны оформить паспорт сделки. Это не так сложно, но в моём конкретном случае невыгодно (в банке на букву Т при оформлении паспорта сделки ты обязан переключиться с тарифа за 490р на тариф за 990+990р).
То есть, когда вы заработаете 3 000 000 рублей вас все еще будут волновать эти копейки тарифа???
Деньги нужны для комфорта. 
Возможно, вам комфортно тратить время ( = незаработанные деньги) на смену банка...
Но чисто арифметически - наверняка указанную сумму месячного обслуживания в банке зарабатываете примерно за 1 час. А переоформление в банке (+ дорога туда-обратно) займет куда как больше времени. Следовательно, окупится разве что через полгода.

Худший ответ:
При смене оферты отсчет должен начинаться с нуля, т.к. новая оферта декларирует существенные новые условия - это новый договор.
Нумерация договоров: также видел эту тему: 
Насколько помню, в самом верху оферты сам пишешь "Договор N1", дату присоединения, подпись. В CoS, соответственно, упоминаешь "Договор N1". Ну и потом N2,...
Stalinko: 
1. A какие конкретно документы нужны ВК Тинькова? Требуется ли Sertificate of Earnings, где сумма за последний год? Вы переводите $ или рубли?
2. Платите ли НДС с комиссии Upworka?
Вопрос: Вопрос про стилистику верстки. Как правильно верстать?

Лучший ответ:
Все картинкой! Это же лого...
Допишешь текст в alt, title

Худший ответ:
Правила хорошего тона:логотип - ссылкой на главнуюне плодить сущностей без надобности
Как верстать - в зависимости от содержания, чем проще и короче код, тем лучше.
Вопрос: Uncaught SyntaxError: Unexpected token < — как исправить?

Лучший ответ:
ошибка не в этом коде

Худший ответ:
В 90% случаев такой "Unexpected token <" - это выведенная на экран ошибка PHP, которая по умолчанию выводится на экран в формате HTML и начинается с открывающего тэга (не является валидным JSON, поэтому на ней JS и обламывается)
Вопрос: Spotlight на маке перестал искать по программам и контенту в доках. Что делать?

Лучший ответ:
Мне помогло это: 
* В командной строке вводим команду: sudo mdutil -i on /
По сути это такая же переиндексация, но чем то отличается т.к стандартный метод переиндексации мне не помог

Худший ответ:
В большинстве случаев помогает вот это https://support.apple.com/en-us/HT201716
Вопрос: Вопрос про область видимости в JS?

Лучший ответ:
Все зависит от синхронности/асинхронности foo. Если она синхронна, то есть как описал megahertz будет alert(1). Если она асинхронна, то будет alert(0), так как alert выполнится раньше чем анонимная функция foo.

Худший ответ:
Пожалуйста, не путайте объявление (создание) функции и вызов функции. В вашем коде вызывается функция foo, ей передается в качестве параметра тут же созданная анонимная функция, которая может вообще не быть вызвана или хоть как-то использована внутри foo. Поэтому, как заметили ранее blo и kuzemchik, результат зависит от кода функции foo и от ее синхронности.

В неупрощенном примере, по-видимому, вы используете Node.js, поэтому лучше воспользоваться полностью асинхронной моделью, нежели заменять функцию на синхронную, то есть в функцию getView принимать функцию, которая будет вызвана по завершении асинхронной операции и будет принимать результат завершения.

И еще, на мой взгляд, лучше явно отличать случаи ошибки и правильного исполнения, то есть в output при неудаче класть null или undefined, а не строку с «магическим» содержанием 'not exists'.

function getView(name, params, callback) {
//< Дополнительный параметр должен быть function callback(error, output) 
    var filepath = ...;
    path.exists(filepath, function (exists) {
        var view = ...,
            error = null, //< Ошибки изначально нет.
            output = null; //< Результата изначально нет.
        
        if (exists) {
            output = ...; //< Записываем результат выполнения. Ошибки нет.
        }
        else {
            error = new Error('View '+ name + ' file ' + filepath + ' not found'); //< Результата нет, но есть ошибка.
            console.log(error); //< Её и логируем.
        }
        callback(error, output); //< Вызываем обработчик завершения, в который передаем ошибку (даже если ее нет, всегда первым параметром - так принято в Node.js) и следом результат.
    });
    //< Ничего не возвращаем. Результат попадет в callback, когда он станет доступным.
}
Вопрос: Как обработать коды ошибок PDO?

Лучший ответ:
Переключите PDO::ATTR_ERRMODE в единственный адекватный режим PDO::ERRMODE_EXCEPTION.
Нормальный поток исполнения - вас не заботят ошибки в SQL, раз метод вернул управление, значит он был выполнен успешно.
Случилась какая-то ошибка - словили исключение. Если для какой-то конкретной ошибки вам нужна своя реакция - то тогда уже выясняете код именно этой ошибки, смотрите в getCode и реагируете на конкретный код ошибки.

Худший ответ:
https://dev.mysql.com/doc/refman/5.5/en/error-mess...
https://www.postgresql.org/docs/9.4/static/errcode...
Ну и тд в зависимости от используемой DAtabase
Вопрос: Как научиться думать как программист?

Лучший ответ:
 потом я забил и пошел смотреть лекции по алгоритмам PYTHON от Тимофея Хирьянова
Проблема в этом.
Не надо смотреть на продукты жизнедеятельности всяких Васянов, читайте книги, ну что за глупость такая, смотреть чьи-то однобокие испражнения в педагогике?

Худший ответ:
Если чувствуешь, что не твоё - бросай. А так думать как программист, это как? По моему все программисты думают по разному. Просто развивай нестандартное мышление, больше читай, даже ту же художественную литературу.
Вопрос: Как сделать такие шикарные ЧПУ для фильтров в каталоге?

Лучший ответ:
Нужно просто в каком-то хранилище (БД или Redis, например) сопоставить параметры запроса с уникальной строкой. При получении запроса получаем параметры из хранилища, вместо request()->get('foo') и работаем с ними как обычно.

Худший ответ:
Стесняюсь спросить, чего тут шикарного? То что находится после poe.trade/search/ это просто идентификатор поискового запроса, который где-то у них хранится. При изменений параметров поиска, создается запись, например, в БД в которой и хранятся все эти параметры. Передавать это все в виде GET-запроса не очень, так как очень много разных параметров для фильтрации. При переходе по ссылке из хранилища достается запись с полученным идентификатором из url'а и производится фильтрация.
Вопрос: Count of filter?

Лучший ответ:
count() всегда делает запрос, причём только один. len() - не всегда делает запрос. Содержимое SQL запроса count можно увидеть только через connection:from django.db import connection
print(connection.queries)
Если нужно узнать количество объектов в выборке И итерироваться по ней - всегда используй len(), он работает следующим образом:Если выборка ещё не в кэше (SQL не запрашивался) - выполняет запросВозвращает len() QuerySet'а
Если нужно только узнать количество - используй count()

Худший ответ:
Апп для дебага
django-debug-toolbar.readthedocs.io/en/stable/pane...
Когда нужно в одном месте посмотреть - иногда примеры идут на питон2
stackoverflow.com/questions/971667/django-orm-how-...
Суть вопроса
https://docs.djangoproject.com/en/1.10/ref/models/...
Вопрос: Какой сервис для отправки смс использовать?

Лучший ответ:
smsc.ru
Есть API и, кстати, класс для реализации именно подтверждения тоже.
А еще там офигенная техподдержка :)))

Худший ответ:

Всяк кулик своё болото хвалиткак вариант
Вопрос: Уговорить шефа переделать проект?

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

Худший ответ:
Я сталкиваюсь с такой ситуацией каждый раз. Так, что не отчаивайтесь. Договоритесь о подходе step-by-step прежде грамотно аргументируя необходимость (если она действительно есть, а не просто потому что ваше «эго» говорит вам, что так «просто» будет лучше). Учтите вышеописанные советы — они объективны.
Вопрос: Какими андроид приложениями вы пользуетесь?

Лучший ответ:
Калькулятор++ — лучший калькулятор на Андроиде
Barcode scanner — сканер для штрих кодов
OI File Manager — файловый менеджер
Fora dictionary — мощный словарь
Mobo player — медиа плеер
OsmAnd — карты
Skyscanner — дешёвые авиабилеты (ОЧЕНЬ удобно)
Booking.com — отели, хостелы
Pocket — закладки для статей
Заметки++ — удобные заметки с категориями
Jefit — программа для тренажёрного зала

Все приложения были выбраны по личному опыту — ставил несколько приложений со схожим функционалом и выбирал лучшее.
Поправка — телефон у меня ZTE Blade, не супер скоростной — одним из критериев отбора была не тормознутость приложения.

Худший ответ:
Смотрю мое любимое приложение WonderList - органайзер и планировщик так никто и не добавил) вот пользуйтесь, на здоровье)
Вопрос: Выявляли ли вы сезонность заказов на зарубежном фрилансе?

Лучший ответ:
Подтверждаю! В декабре заказов по созданию сайтов мало, даже действующие заказы замедляются и заказчики дают фидбэки реже. Перед 20-ми числами вообще повально молчат.

Худший ответ:
Рождество с 20 дек. до 3 янв. можно смело гулять. 
И время отпусков - август - мертвый сезон
Вопрос: Почему такой код считается нормальным?

Лучший ответ:
В функциях не должно быть глобальных переменных
Да, это плохая практика, но nodejs ее пропагандирует, увы.Каждая функция должна быть написана так, чтобы её можно было скопировать в другой проект без изменений
В реальной жизни это утверждение справедливо только для библиотек общего назначения. Когда ваши функции/методы реализуют бизнес логику приложения - лучше их написать менее универсальными, но более поддерживаемыми. Все равно переносить в другой проект вы их не будете

Худший ответ:
в данном случае это просто обертка для асинхронного выполнения. 
Можно было написатьconst Hapi = require('hapi');
const server = Hapi.server({});

server.start().catch(console.error);
И всё. Без всяких функций которые вы куда-то хотите копировать
Плюс в данном случае const server = Hapi.server({});
это не глобальная переменная. Это переменная с областью видимости в пределах текущего модуля (js файла)
Глобальные переменные в Ноде это свойста объекта global
Вопрос: Множественный SQL Insert не работает, если одна из строк не попадает под условие уникального индекса.?

Лучший ответ:
Какой диалект SQL?
Для MySQL - INSERT IGNORE или INSERT ... ON DUPLICATE KEY UPDATE

Худший ответ:
Если Oracle - MERGE
www.sql.ru/blogs/oracleandsql/1927
Вопрос: Как лучше парсить +300k товаров?

Лучший ответ:
Требуется технология прямых рук, судя по всему.

Худший ответ:
Контент довландер
Вопрос: Бот для телеграмма на JAVA, как обойти блокировку в коде?

Лучший ответ:
Не используйте LongPolling - решение не годится для продакшена, только вебхуки.
Чтобы не тратится на домен можно использовать самоподписанный сертификат на ip.
Пример генерации сертификата openssl req -newkey rsa:1024 -sha256 -nodes -keyout /home/localhost.key -x509 -days 3650 -out /home/localhost.cert -subj "/C=US/ST=New York/L=Brooklyn/O=Example Company/CN=<тут ip сервера>"
Хостите бота на заграничных серверах.
Для локальной разработки использовать https://localtunnel.github.io/www/ 
Вещь жуть какая нестабильная, но из аналогичных решений это единственный сервис, что предоставляет именованные поддомены бесплатно.
Чтобы немного решить проблемы с падениями, запускайте программу в цикле
Вариант для windowsFOR /L %N IN () DO @lt --port <локальный порт> --subdomain <поддомен>

Худший ответ:
Используйте последнюю версию библтотеки, установите Tor браузер и создавайте пока примерно так:TelegramBotsApi telegramBotsApi = new TelegramBotsApi();

// Set up Http proxy
DefaultBotOptions botOptions = ApiContext
        .getInstance(DefaultBotOptions.class);
botOptions.setProxyHost("127.0.0.1");
botOptions.setProxyPort(9150);
// Select proxy type: [HTTP|SOCKS4|SOCKS5] (default: NO_PROXY)
botOptions.setProxyType(DefaultBotOptions.ProxyType.SOCKS5);

try {
    telegramBotsApi.registerBot(new Bot(BotConfig.BOT_TOKEN, BotConfig.BOT_USERNAME, botOptions));
} catch (TelegramApiRequestException e) {

}public class Bot extends AbilityBot {
...
}
Вопрос: Yii2 правильный путь в изучении фреймворка?

Лучший ответ:
Вот официальный гайд. www.yiiframework.com/doc-2.0/guide-README.html самый правильный путь для изучения.
В догонку еще есть блог Елисеева:
www.elisdn.ru/blog там много про yii2

Худший ответ:
Можно еще посмотреть на гитхабе крупные проекты на yii2, к примеру https://github.com/DevGroup-ru/dotplant2
Вопрос: Сортировка слоев ui в unity?

Лучший ответ:
Со слоями в UI всё просто: что по иерархии ниже - то рисуется позже. Берёте градиент и тащите его выше, дополнительные канвасы добавлять не надо.

Худший ответ:
Решено.
Кинул canvas на image.
Вопрос: Как решить проблему с локальной сетью?

Лучший ответ:
Первое чтоб сделал:
Провод - 192.168.2.х
Беспроводная - 192.168.3.х
Второе:
Всем стационарным связал IP и MAC.

Худший ответ:
Судя по коментариям, подозреваю что у вас соит достаточно большое время для dhcp-lease, и настает момент когда свободных ИП, просто нет.
Исправить можно уменьшив время или увеличив размер сети до /23 или /22
Вопрос: В чем смысл Prepared Statements MySQL если внешние данные идут в начале в запрос SET?

Лучший ответ:
Таблица у вас удаляется не во время запроса EXECUTE, а уже в строке SET.
Когда подготовленный запрос выполняется из клиента, то в MySQL передаётся не строка в кавычках, а бинарный блок, содержащий тип, длину и значение, подставляемые в плейсхолдер. таким образом прочитав байты, содержащие тип (строка) и длину (36 байт) сервер просто интерпретирует следующие 36 байт как строку главная'; DROP TABLE child;--. Сам запрос к этому времени уже скомпилирован и превращён в последовательность команд, переменные подставляются без анализа их содержимого, так что этот DROP сервер просто не воспримет как команду.

Худший ответ:
Потому что запросов SET в коде приложения нет. И запросы PREPARE и EXECUTE тоже напрямую не вызываются.
Есть вызовы API, куда сначала в вызов prepare передаётся текст запроса, затем в execute по отдельному бинарному протоколу передаются данные.
Вопрос: Как соединить четыре SQL-запроса в один?

Лучший ответ:
1) читать про join
2) читать про индексы тут, тут и тут.
3) составить запрос и прогнать его через explain.
4) Настроить индексы...
5) Profit

Худший ответ:
Не проверял, как то так $sub_query = "SELECT t3.`auto_sel_ecu_id` FROM `auto_sel_brand` t1
JOIN `auto_sel_model` t2 ON t2.`auto_sel_model_brand` = t1.auto_sel_brand_id AND t2.`auto_sel_model_name` = '$model'
JOIN `auto_sel_motor` t3 t3.`auto_sel_model_brand` = t2.'auto_sel_brand_id' AND AND `auto_sel_ecu_name` = '$capacity'
WHERE t1.`auto_sel_brand_name` = '$brand' AND t1.`auto_sel_brand_type` = '$type'";

$query = "SELECT `auto_sel_motor_name` FROM `auto_sel_ecu` WHERE `auto_sel_motor_model` IN ('$sub_query')";

$result = $dbc->query($query) or DIE($dbc->error);

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

Лучший ответ:
Добавь в конце строки символ окончания строки(имеет код 0). А ещё копировать лучше с помощью strncpy

Худший ответ:
А ты уверен, что память не портится у тебя в setStr() копирование идёт только если длинна строки >  длинны буфера, и копируешь ты всю строку целиком, попутно создавая повреждение памяти. Ну и про \0 символ тебе уже написали выше. Вообще есть strdup() но он вне стандарта.
Вопрос: Как выводить поля many to many в шаблоне django?

Лучший ответ:
topping.pizza_set.all() или задать свой related_name.toppings = models.ManyToManyField(Topping, related_name='pizza')
---
topping.pizza.all()

Худший ответ:
Я нечто подобное делал через аннотации и агрегации
Кури https://docs.djangoproject.com/en/2.0/topics/db/ag...
Вопрос: Можно ли сделать прокси сервер, который не видит что проходит сквозь него?

Лучший ответ:
Если вы не ставили левых сертификатов - то прокси ничего не расшифрует.

Худший ответ:
Можно ли сделать прокси сервер, который не видит что проходит сквозь него?Разумеется.
Прокси сервер это просто программа, она ничего не видит. Просто пересылает трафик.
Если владелец прокси сервера захочет просматривать и анализировать проходящий через сервер трафик - он сможет это сделать. Не захочет - получится прокси сервер который не видит, что проходит сквозь него.Есть сайт: https://abc.df. Можно ли делать на него запросы через другой компьютер, так что бы он не видел что проходит сквозь него?Для этого достаточно шифровать трафик между вами и этим сайтом.И не мог расшифроватьВсе зашифрованное можно расшифровать. Вопрос лишь в том сколько времени на это понадобится. В одних случаях доли секунды, в других случаях пара миллиардов лет.
Вопрос: Как безопасно передавать данные в mysql запрос?

Лучший ответ:
Используйте PDO

Худший ответ:
Добрый день.
Если Вы передаёте число, как я понимаю, то и обозначайте, что это integer.$position=$_POST['position'] ? int()$_POST['position'] : '';
Вопрос: Можно ли верстать так сайт?

Лучший ответ:
нет.

Худший ответ:
А потом получаются вопросы "почему у меня все стили в html? "
Если ты собираешься хоть что-нибудь потом доделывать на сайте - нельзя.
Вопрос: Какие есть книги, видео уроки, самоучители по Unity3d, XNA?

Лучший ответ:
Видео уроков валом:

www.youtube.com/results?search_query=unity+3d&oq=unity&aq=2&aqi=g10&aql=&gs_l=youtube-psuggest.3.2.0l10.4211.5332.0.8044.5.5.0.0.0.0.341.854.2j1j1j1.5.0...0.0.8LVua0CVWFw

И на Хабре довольно много:

habrahabr.ru/post/141362/

Пользуйте поиск!

habrahabr.ru/search/?q=Unity+3D+

Худший ответ:
по xna есть русский сайт: xnadev.ru/news.php
в разделе фрума можно найти несколько десятков уроков)
Вопрос: Стоит ли покупать проблемный HDD?

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

Худший ответ:
Ну это вам решать.
Я такие диски выбрасываю в мусорную корзину.
Вопрос: [РЕШЕНО] Нужен рецепт с sed

Лучший ответ:
А собственно моя предыдущая придирка в данной ситуации не важна. Вам надо изменить всего 2 символа)
sed '/city/s/\(big\)/\1 default/' /path/to/your/file
Если слова big нету, то и default не поставится.

Худший ответ:
sed '/city/s/\(.*\)/\1 default/' /path/to/your/file
В таком виде sed выведет результат на экран, если хотите изменить исходный файл, то запустите sed с ключём -i (sed -i ...)
Вопрос: Объясните про forEach?

Лучший ответ:
Это удобно использовать в случае использования именованной функции в качестве коллбека для forEach.
Так как функция может быть определена где-то в другом месте (например мы ее импортируем из другого модуля), она может не иметь доступа к области видимости в которой хранится массив использующий ее.
Также, даже если из функции доступен массив из внешней области видимости — все равно хорошим тоном считается использование аргумента функции.arr.forEach(doSomeStuffForEveryItem);

function doSomeStuffForEveryItem(item, i, arr) {
  теперь тут arr доступен через переменную.
}

Худший ответ:
Но ведь массив который перебирается задаётся сразу перед методом
Массив не задается, нем лишь вызывается метод. Задаете вы его выше.Для чего его пихать ещё и в callback-функцию-то, не пойму?
Колбек функция может передаваться из другого места и при этом использовать массив.arr.forEach(callback);
Вопрос: Что за проблема с динамическими IP на PPPoE Ростелекома?

Лучший ответ:
Думаю ответ банален - экономят адреса и переводят клиентов за NAT.

Худший ответ:
Посмотрите мой вопрос -  у Вас аналогичная проблема.
Вопрос: Пользуетесь памяткой тегов html?

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

Худший ответ:
можн овполне обойтись десятком тегов
Вопрос: Почему неправильно открываются SVG в Adobe Illustrator?

Лучший ответ:
Потому что Adobe забивают на стандарты.

Худший ответ:
Попробуй использовать Inscape, corelDraw.
Вопрос: Почему часто сталкиваюсь с перегоранием при обучении?

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

Худший ответ:
Врядли, все по моему страдают от этого. Хорошо что ещё голова не болит, потому что некоторые жалуются на страшные и невыносимые мигрени в процессе обучения. Скорее всего это связано с корой мозга, где то слышал. Изза того что она ещё достаточно не успела развиться, поэтому такие проблемы. Тут ничего не поделаешь, это общая проблема, эволюционного характера
Вопрос: Нормально ли хрипение звука на ноутбуке при 100% нагрузке на процессор?

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

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

Лучший ответ:
Внутри require другая область видимости уже, так как он подключается внутри функции, соответственно ему недоступна переменная $hotel_id. Передавайте её как параметр в функцию.

Худший ответ:
include подключается после того как объявлена $id?
Вопрос: Какую книгу выбрать по laravel?

Лучший ответ:
Я вот одного понять не могу, почему вы вечно ищете книги?
laravel.com - там есть все что нужно.

Худший ответ:
Перевод документации Октября, там и заимствованное из Ларавеля охвачено более-менее.
Вопрос: Можно ли сделать шлюз на linux c 1 сетевым интерфейсом?

Лучший ответ:
Роутер на палочке)

Худший ответ:
я так понял сеть vlan будет принимать интернет а интерфейс eth0 будет внутренним?или нужно 2 vlanа
Вопрос: Как проверить наличие файла в указанной деректории?

Лучший ответ:
Забавно, что встроенную ф-цию так и не написали import os.path
os.path.exists(path)

Худший ответ:
про третий python что-то никто не вспомнил, а ведь с версии 3.4 доступна охренительная либа  https://docs.python.org/3/library/pathlib.html>>> from pathlib import Path
>>> d = Path('/bin')
>>> q = d / 'cat'
>>> q.exists()
Out[6]: 
True
>>> q.is_dir()
Out[7]: 
False
>>> Path('/bin/cat').exists()
Out[8]: 
True
Вопрос: Чего ожидает компания от Trainee?

Лучший ответ:
прямо спроси у руководителя своего

Худший ответ:
Что он придёт обратно, когда получит диплом.
Вопрос: Linux: разрешение на удаление файлов, но запрет на создание

Лучший ответ:
Разместить эту директорию на отдельном разделе. Запустить простенький демон, который будет заполнять все освободившееся место в этой директории (на директорию налепить t-бит, файлу назначить владельцем рута).
Все. Задача решена: при удалении пользователем файла место сразу же будет забито, новый файл он создать не сможет.

А невелосипедных способов, естественно, не существует.

Худший ответ:
Нельзя.
Удаление и создание — это запись в директорию.
Право на запись либо есть, либо нет.
Вопрос: Внезапный наплыв подписчиков на сайт, который даже не закончен?

Лучший ответ:
Это боты. 
Отключи регистрацию.

Худший ответ:
Боты залезли через левые плагины. не утверждаю, но обычно если начинают регаться юзеры со странными емейлами, то значит вирусняк залез откуда-то.