Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Выборка по координатам в Postgres по удаленности?

Лучший ответ:
Нужно смотреть в сторону postGis. Голая постргрес так не умеет

Худший ответ:
SELECT user2.*,
SQRT(POW(69.1 * (user1.latitude::float -  user2.latitude::float), 2) + 
    POW(69.1 * (user2.longtitude::float - user1.longitude::float) * COS(user1.latitude::float / 57.3), 2)
) distanse
FROM users user1, users user2
WHERE user1.user_id=@p_user_id
ORDER BY distanse
LIMIT 10
UPD можно сократить запрос до одной таблицы:

SELECT users.*,
SQRT(POW(69.1 * (@p_user_latitude::float - users.latitude::float), 2) + 
    POW(69.1 * (users.longtitude::float - @p_user_longitude::float) * COS(@p_user_latitude::float / 57.3), 2)
) distanse
FROM users 
ORDER BY distanse
LIMIT 10
Вопрос: VPN на всю домашнюю сеть НЕ через операторский роутер?

Лучший ответ:
Поставь роутер Кинетик или Микротик. Они это умеют
Gpon перевести в режим «моста», будет работать как свитч

Худший ответ:
и прошивок я не нашел на него. 
И не найдешь. GPON-девайсы централизованно мониторятся от прова, все настройки там - только у прова.

У РТК это решается просьбой переключения в режим моста, при котором GPON-шелезяка становится чисто оптоконвертером, за ней ставится свой роутер, на котором уже танцуешь, как хочешь
Вопрос: Как справляться с большим потоком малых задач на фрилансе?

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

Лично у меня позиция следующая: у меня есть 1-2 основных клиента, на которых я трачу 90-100% своего рабочего времени. Они как бы "моя основная работа".
И периодически всплывают старые клиенты с доработками. На них я готов выделить максимум 5-10 часов в неделю. Это я сразу же четко обозначаю. Если у них задача большая, то даже не буду браться, потому что это растянется на месяцы. Мелкие задачи беру, но с условием, что буду делать, когда будет свободное время. Это может быть и через день, а может и через неделю.

Если кратко: то я называю свои условия, а они решают, устраивает или нет. Ситуация, чтобы всё бросить ради внезапного клиента, - это исключительная редкость.

Худший ответ:
принцип Парето -> Бритва Оккама

либо спать меньше
Вопрос: Почему Prettier при автосохранении ставит точку с запятой, когда автодобавление semi выключено?

Лучший ответ:
return потому что надо
map() должен что-то вернуть.

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

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

Худший ответ:
Дороговизна не позволила стать ему универсальным решением. Так и вышло, что серьёзное применение 1394 было в камкордерах (видеокамерах) времён формата mini-DV, потом морально устарел mini-DV и вместе с ним стал не нужен 1394, ибо новые видеокамеры писали на носители с файловой системой, а для передачи файлов USB проще, удобней (в силу универсальности) и дешевле.
1394 конкурентом ethernet никогда и не был, сетевые функции 1394 хоть и поддерживались, но так и остались невостребованы.
Вопрос: В каких сферах я могу программировать на своём железе?

Лучший ответ:
Да что угодно. Вопрос в тормозах и насколько они будут раздражать

Худший ответ:
Программировать - почти в любых. Запускать - не все, но до этого "не все" вам еще далеко.
Вопрос: Как быстро и бесплатно распаковать много .bin файлов?

Лучший ответ:
По скольку это .BIN/.QUE, то вытаскиваем содержимое через .BAT-файл:
@echo off
FOR %%F IN (*.bin) DO (
echo %%~fF
.\ultraiso\UltraISO.exe -input %%~fF -extract .\BIN\%%~nF
)
Файл положить в директорию с .BIN.
Путь к UltraISO.exe подправить на правильный.
Распаковывать будет в поддиректории \BIN\[имя_файла], прямо в директории с .BIN файлами.

Худший ответ:
Если у вас установлен 7zip и он открывает bin файлы которые у вас есть, то можно все легко провернуть одной командой. Создайте bat файл со следующим содержимым.  

@echo off
for /r C:\test %%a in (*.bin) do "c:\program files\7-zip\7z.exe" -r x "%%a" help.png

Где C:\test - путь где лежат все bin файлы
(*.bin) - расширение файлов
c:\program files\7-zip\7z.exe - путь к 7zip
-r - рекурсивно сканировать все папки в bin если они там имеются
help.png - извлекаемый файл из архива


Вместо одного файла, можно задать расширение exe просто поменяв название файла на расширение. Будут извлечены все exe файлы со всех bin файлов. 

@echo off
for /r C:\test %%a in (*.bin) do "c:\program files\7-zip\7z.exe" -r x "%%a" *.exe
Вопрос: С чего начать изучать программирование микроконтроллера STM32F401RET6?

Лучший ответ:
1. Книга "Программирование микроконтроллеров AVR: от Arduino к ассемблеру"
2. Программирование микроконтроллеров с использованием IDE / Автор: Тюрин С.Ф.
3. Электронные проекты на основе ESP8266 и ESP32 / Автор: Кэмерон Н.
4. Программирование на языке C для AVR и PIC микроконтроллеров / Автор: Ю. А. Шпак, 2018

Этого будет достаточно для начала...

Худший ответ:
Вот прямо отсюда начать - https://habr.com/ru/company/ruvds/blog/529832/
Вопрос: "Знание support library" — это о чём?

Лучший ответ:
Библиотеки из Support Library уже давно не актуальны. 
Их заменили библиотеки androidx

Худший ответ:
Как и для любой другой технологии/движка/фреймворка/библиотеки, это означает

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

Знать что примерно входит в Support Library, чтобы не изобретать велосипед и не лезть за еще какой-нибудь библиотекой, если нужный функционал есть уже в SL

Понимать особенности, а именно - эти самые API, чтобы ориентироваться в совместимости. Чтобы не тянуть последнюю версию SL в проект, который должен запускаться на старых версиях анроида.

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

Лучший ответ:
Как раз код под рукой был))
Только вместо моего градиента  сделай от черного к прозрачному
.tittle-grandient-cold {
    background: linear-gradient(88.69deg, #61C287 -4.35%, #33BC8E 4.71%, #00B596 13.77%, #00AEA0 22.83%, #00A6AB 31.89%, #009DB5 40.95%, #0094BE 50%, #008BC6 59.06%, #0081CB 68.12%, #0076CD 77.18%, #006ACC 86.24%, #005CC6 95.3%, #004EBC 104.35%, #313CAD 113.41%);
    ;
    line-height: 1;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

Худший ответ:
background: linear-gradient(180deg, 
  rgba(25, 25, 25, 1) 19.35%,
  rgba(249, 249, 249, 1) 103.71%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

я вот так сделал, может кому-то поможет
Вопрос: Как с помощью электроники делать узелки из двух ниток?

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

Худший ответ:
Мне кажется, подобное можно реализовать при помощи микроманипуляторов, типа подобного:
Вопрос: Как сделать cекундомер без setInterval и setTimeout?

Лучший ответ:
Я за RAF! : )

let rafSeconds = 0;
const rafStart = Date.now();
const tick = () => {
  const seconds = (Date.now() - rafStart) / 1000 | 0;
  if (rafSeconds !== seconds) { // секунды изменились!
    rafSeconds = seconds;
    // TODO: отрисовать новые секунды
  }
  window.requestAnimationFrame(tick);
}

tick();

Худший ответ:
Можно через настройку обновления страницы <meta http-equiv="refresh" content="1">в каком нибудь фрейме, где на onload вызывается дочерний метод, но это садамаза.
НЕ НАДО ТАК ДЕЛАТЬ
----------------------

setInterval и setTimer самый правильные методы, только интервал в них нужно ставить не константное значение, а вычислять исходя из разницы ожидаемого времени и текущего (если оно больше нужного, секунд прибавлять не 1 а на сколько оно дальше убежало)
Вопрос: Как проверить корретность битовой маски?

Лучший ответ:
У вас не битовая маска, так как b и c содержат один и тот же бит 2 и отличить c от b|c невозможно. 2|6 === 6. В битовой маске все уникальные некомбинированные флаги должны быть степенями двойки.
Работать с вашим набором можно, но флаги придётся складывать через +, а проверять своей функцией, наподобие такой:
function flags($value) {
    if (!in_array($value, [0, 1, 2, 3, 6, 7, 8, 9])) {
        return false;
    }
    $result = [];
    if (in_array($value, [1, 3, 7, 9])) {
        $result[] = 'a';
    }
    if (in_array($value, [2, 3, 8, 9])) {
        $result[] = 'b';
    }
    if (in_array($value, [6, 7, 8, 9])) {
        $result[] = 'c';
    }
    return $result;
}

Худший ответ:
Корректность битовой маски обычно не проверяется, потому что обычно нет нормальных критериев. По сути каждый флаг - это степень двойки (или отдельный "бит"). Таким образом, правильная маска - это просто число от 0 до максимально возможного, когда все флаги включены. В этом диапазоне обычно нет дырок. Для понятности попробуйте записывать маску в двоичном формате.

Предположим, у вас есть пять "флагов": a=1, b=2, c=4, d=8, e=16,
тогда значение маски будет от 0 до 31 (т.е. макс. 11111). По выходу за диапазон можно сказать, что она некорректна. Но если у вас 32 флага в маске типа uint, то выход за диапазон не возможен в принципе, и любая маска будет корректной.

Предположим, у вас теперь 4 флага: a=1, b=2, d=8, e=16,
то есть не хватает c=4. Тогда это как бы дырка в маске.
Проверяем этот бит: (mask & 4 == 4)
По идее, если этот бит установлен, то маска некорректна. Но с другой стороны, целевой алгоритм может просто игнорировать бит, который не используется. Так что лишние биты не делают маску некорректной.

Ну и, наконец, возможен уже реальный критерий, когда логика флагов такова, что не все комбинации возможны. Хотя такие кейсы лучше вообще не флагами решать, тем не менее бывает. Например, запрещено устанавливать одновременно b=2 и e=16, тогда условие некорректности будет следующее: 
(mask & 2 > 0) && (mask & 16 > 0)
Либо короче:
(mask & (b | e) > 0)
(mask & 18 > 0)

Аналогично проверяется любое другое условие, накладываемое на маску. Например, если количество включённых флагов лимитировано, то просто считаем количество бит в маске.

P.S. И да, c=6 это некорректный флаг, потому что содержит b=2, и вы никак не определите, является ли mask=c или же mask=b|c.
Вопрос: Как лучше сделать перемещение объекта (Forms, c#)?

Лучший ответ:
1. Массив 7х7,  для каждого, ходим помечая посещенные клетки, проверяем перед ходом, выход за пределы или занятость, и меняем направление
2. делаем одномерный массив координат спирали, и проходим по ней, сразу зная какие будут координаты.

Худший ответ:
Нууу.... есть один способ, но он мне нравиться, так как он выглядит больше как спортивный стиль нежели ооп : https://habr.com/ru/post/560266/

Однако если использовать ООП,  то можно создать минимум два класса: 

Первый класс Map,  что в конструкторе принимает ширину и высоту поле,  имеет свойства Players и Winner, а так же метод AddPlayer.  
Класс Player,  имеет свойства Position, а также метод Move 

Я сторонник идеи что логика должна быть максимально отделена от View, ну и в голову не приходят более элегантного решение,  хотя может кто-нибудь другой подскажет.
Вопрос: Как сделать фильтр плохих слов?

Лучший ответ:
[offtop] Олды тут? Помните, была программка "Генератор матерных выражений". [/offtop]

Худший ответ:
Привет,ситуация такова что найти данные списки это не такая уж большая проблема вот например:
https://ucrazy.ru/interesting/1153674232-matnyj_sl...
https://pikabu.ru/story/vse_matyi_russkogo_yazyika...
Но есть ведь еще небольшая проблема в изобретательности нашего народа
Когда берется матерное слово и при помощи изменения регистра или дополнительных символов они обходят фильтрацию)
Вопрос: Можно ли в приложении создать кнопку выбора последнего выбранного файла?

Лучший ответ:
Открыл файл - записал его путь в настройки приложения.
Открыл приложение - прочитал настройки - получил путь к последнему открытому файлу и делай с ним что хочешь.
Причем для этой логики некритичен ни язык, ни ОС, и WinAPI не нужно совершенно.

Худший ответ:
Во первых есть специальные папки, во вторых реестр
https://asapguide.com/recently-opened-files-windows/

https://learn.microsoft.com/en-us/windows/win32/ap...
Вопрос: Посчитать нечетные цифры числа методом рекурсии?

Лучший ответ:
def count_even_odd(n):
    # на случай, если изначально n - отрицательное число
    n = abs(n)
    # если n чётное - последняя цифра тоже чётная
    result = (1, 0) if n % 2 == 0 else (0, 1)
    # если n сотоит из одной цифры - прерываем рекурсию
    if n < 10:
        return result
    # иначе - отрезаем от n последнюю цифру, 
    # вызываем функцию рекурсивно и суммируем результат
    return tuple(map(sum, zip(count_even_odd(n // 10), result)))

Худший ответ:
Ребята, спасибо кто помогал! Ниже вывел код на котором остановился
def count_numb2(n, even=0, odd=0):
    if n == 0:
        print(f"Количество четных и нечетных цифр в числе равно: ({even}, {odd})")
    else:
        cur_n = n % 10
        n = n // 10
        if cur_n % 2 == 0:
            even += 1
        else:
            odd += 1
        return count_numb2(n, even, odd)

n = int(input("Введите число: "))
count_numb2(n)
Вопрос: Как запустить проект который написан на QT windows в Linux?

Лучший ответ:
Ставьте Linux с пакетами qt, включая qt-creator и ничего не придется качать через vpn. И да, собрать программу под Linux на Windows будет затруднительно.

Худший ответ:
в подавляющем большинстве случаев приложения windows, написанные с помощью opensource библиотек и слабо завязанные на майкрософтовские (т.е. только то что идет в поставке с ос, максимум нужна правильная версия visual studio redistributable), могут работать в windows с помощью wine, либо напрямую готовый бинарник либо собираться с ее помощью

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

p.s. при использовании linux, а точнее адекватные дистрибутивы типа debian/ubuntu/... с поддерживаемыми репозитариями пакетов, уже содержат в своей поставке несколько версий qt и всего ее окружения, не понятно что у тебя там от куда не скачивается
Вопрос: JQuerry стоит ли еще использовать, или однозначно нет?

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

Худший ответ:
Используй, если подходит. 
Ты можешь сделать проект сейчас на чем умеешь или потратить время на обучение.
Вопрос: Как заменить for на .reduce?

Лучший ответ:
Методы .forEach, .map, .reduice и т.п. не прерываемые.
Здесь достаточно .indexOf
const idx = rClon.indexOf(rMax);
if (idx !== -1) {
  rClon.splice(idx, 1);
}

Худший ответ:
const result = rClon.filter(x => rMax !== x));

Но это не совсем то
Вопрос: Как быстро развернуть 5гб mysql дамп в Windows?

Лучший ответ:
Ускорить работу с дисковой системой можно, если у тебя в дампе множество инсертов.
Подели их на куски и оберни скажем каждые тысячу инсертов транзакцией:
START TRANSACTION;
   INSERT ...
   INSERT ...
   ...
   COMMIT;

Отключи проверку уникальности ключей перед восстановлением
SET FOREIGN_KEY_CHECKS = 0;
   SET UNIQUE_CHECKS = 0;
после включи ее назад
SET UNIQUE_CHECKS = 1;
  SET FOREIGN_KEY_CHECKS = 1;

Это то, что навскидку.
А так - сам mysql достаточно хорошо оптимизирован и под Линукс и под Виндовс. Думаю у тебя все же винда и линукс имеют либо разные спецификации железа либо настройки самой mysql..

Худший ответ:
Windows конечно медленнее linux работает с диском, но не на порядок же, железо не одинаковое? на linux ssd а на windows hdd?

Итоговые файлы базы данных какого размера получаются? влезут ли они, если их разместить на ram диске, создав таблеспейсы на нем его перед импортом, потом перенесешь обратно (я помню достаточно давно останавливал базу, переносил каталог с таблеспейсами на рам диск, а на прежнем месте оставлял символическую ссылку, потом, после тяжелой работы с базой, так же остановив ее, переносил обратно)
Вопрос: Можно ли иметь постоянный ip адрес?

Лучший ответ:
Эмм... нет. IP адрес выдается провайдером, к сети которого Вы подключаетесь. 
Такое обычно обходится с помощью VPN сервера, поднятого в нужной стране(в стране, чей IP адрес надо иметь)

Худший ответ:
В ТП ответили, если бы был российский ip
тп чего именно?
он нато и ip адрес чтоб был виден всем, вы чего то не договариваете
Вопрос: Какие есть рабочие платные VPN в России?

Лучший ответ:
Не думаю, что тут сидит много тех, кто юзает платный VPN)

Банально просто за 5-10 минут можно поднять свой VPN на каком-нибудь wireguard с панелькой.

Вот, допустим гит неплохого решения.
А вот статейка на русском как это сделать.

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

Худший ответ:
ExpressVPN работает у меня лично, но я так понял все же зависит от твоего провайдера, блокировал ли он этот сервис??
Вопрос: Легкий вопрос по Python, но все же не могу понять, как решить задачу?

Лучший ответ:
Прописывайте условия полностью
У вас не «(a - 1 либо a + 1) равны c», а «(a - 1) или (a+1=c)»

т. е bool(a-1)

if (a - 1 == c) or (a + 1 == c):

Худший ответ:
Вот что вы делаете если разобрать.
a,b,c,d = 4, 4, 2, 4
if a - 1:
    print("True")
if a + 1:
    print("True")
if a - 1 == c:
    print("True")
else:
    print("False")
if a + 1 == c:
    print("True")
else:
    print("False")

print(True and True)
print(False and False)
print(True and False)
print(True and True or False and False)
Вопрос: Где хранить видео для сайта?

Лучший ответ:
В облачных хранилищах S3.

Худший ответ:
ОБлачные хранилища покупайте
Или арендуйте свой сервер и поднимайте там хранение
Вопрос: А могут ли палить российские IP на каком-то аппаратном уровне (ниже уровня веб-сервера)?

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

По ip отправителя как раз могут твои запросы отбросить и они даже не дойдут до VPN сервера

Худший ответ:
на каком-то аппаратном уровне (ниже уровня веб-сервера)Ниже L3 (третьего уровня в модели OSI) только L2 может увидеть ваш провайдер (да и то не при любом способе подключения), и L2 не спалит вас перед вероятным противником, даже если бы тот видел L2 (к вопросу о бессмысленности затирания  MAC-адресов на скриншотах).
Так что нет, ни на каком уровне ниже IP-протокола вы не спалитесь. Но можете спалиться на уровне браузера (вообще типично) или на утечке DNS (реже). Обе эти возможности не ниже уровнем, а выше.
Вопрос: Планировщик заданий: требуется простое регулярное обращение к диску; подскажете?

Лучший ответ:
Правильно конечно было бы разобраться в причинах "отваливания" диска. Вполне может быть, что он скоро отдаст концы. Или банально БП не тянет по мощности. Диск Е у Вас - сетевой или физический (на этом ПК)?
Для Планировщика задач, можно использовать утилиту devcon, котрая сможет по расписанию выполнять манипуляции с устройствами. Возможно Вам поможет запуск devcon  по расписанию, с парметром командной строки "rescan"

Худший ответ:
Самы простой путь 

Echo «1» > e:\rescan.txt
Вопрос: Превратить команду gcc в cmake?

Лучший ответ:
Если бы проект был на С++ то команда была бы g++ ... util/esl1_demo.cpp ... 
А у вас  gсс ... util/esl1_demo.c ... 
Так что вам потребуется перевести проект с языка С на С++
Создайте пустой cmake С++ проект с нуля и постепенно наполняйте его кодом.

Худший ответ:
Нельзя превратить эту команду в команду cmake.
Вам нужно написать файл cmakelists.txt, который положить в папку с проектом. Там описать проект, цели, подключаемые библиотеки, опции компилятор и т.п.

Сборка с помощью cmake происходит типовыми командами практически одинаковыми для любого cmake проекта. Находясь в каталоге сборки (любой пустой каталог):
cmake <каталог с проектом> -G <generator type>
cmake --build .
generator type - зависит от того с помощью чего вы планируете осуществлять сборку. Обычно в линукс это "Unix Makefiles" в винде например "Visual Studio 15 2017". Весь список поддерживаемых генераторов можно увидеть с помощью cmake --help
Вопрос: Что происходит на уровне БД при группировке?

Лучший ответ:
По разному. Я думаю что разные DBMS (SQlite, Oracle) могут по разному обрабатывать группировку.
Правильный ответ на вопрос - посмотреть execution plan комадой 
explain (plan) select ..... group by....;
Наперед угадать какой будет использовал алгоритм - невозможно. Как вы помните
язык SQL - это декларативный язык который декларирует свойства результата а не метод
которым разрабочик хочет что-то сделать. 

Oracle например имеет много conditions для исполнения группировки например:
1) Какой оценочный объем выборки? Может ли она быть отсортирована in-memory (sort-area-size) в противном
случая будет external sorting в TEMP tablespace.
2) Есть-ли композитный или простой индекс по полям группировки? В этом случае будет index-scan.
3) Требует ли запрос немедленной выдачи первой пачки (хинт +FIRST_ROWS) или можно подождать
но получить весь объем быстрее. Это тоже влияет на выбор алгоритма.

Это всё эвристики которые влияют на выбор окончательного алгоритма.

И уже к сортированной выборке собственно применяется лямбда которая делает группирующую операцию
AVG, SUM, COUNT ... e.t.c. и выдает строки курсора.

Худший ответ:
Сортировка там происходит, конкретная реализация зависит от движка. 
Посмотрите код sqlite он довольно маленький и в нем можно разобраться
Вопрос: Как организовать персональную файлопомойку с локальным и удалённым доступом при такой конфигурации?

Лучший ответ:
а зачем тебе светить своей ж...помойкой в LAN ??
воткни лучше в свою внутреннюю сеть. один фих интернет к тебе не прокинут.

поставить на помойку тередо и заходить на помойку через ипв6.

взять VPS настроить на нем сервер VPN на файлопомойке настроить клиент на постоянное подключение к серверу на впс, через этот впн заходить на файлопомойку.

скоростя в обоих случаях буду не очень....

Худший ответ:
а зачем тебе светить своей ж...помойкой в LAN ??
воткни лучше в свою внутреннюю сеть. один фих интернет к тебе не прокинут.

поставить на помойку тередо и заходить на помойку через ипв6.

взять VPS настроить на нем сервер VPN на файлопомойке настроить клиент на постоянное подключение к серверу на впс, через этот впн заходить на файлопомойку.

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

Лучший ответ:
Я бы ввобще использовал одно поле например:
create table bookings (
    id int,
    active_til datetame
);

И уже ничего не нужно редактивировать

Худший ответ:
Триггер.
Вопрос: Тормозит Ubuntu, не хватает оперативной памяти?

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

Худший ответ:
Что значит "тормозит" ? в каких конкретно приложениях?
Оперативка вроде не занята глобально

откройте консоль и дайте там команду sudo top
будет ясно что за процессы висят
Вопрос: Почему в python при таком арифметическим действием (3**2%7) при расчете ответ будет 2?

Лучший ответ:
гуглить "python operator precedence"

Результат: Expressions - 6.17. Operator precedence
Там таблица. Чем выше строка, тем выше приоритет.
Возведение в степень ** выше остатка от деления %,
поэтому сначала в степень 3**2 == 9, уже потом деление по модулю на 7 (остаток == 2)

Худший ответ:
3**2 = 3 в квадрате = 9
9 % 7 = остаток от деления 9 на 7 = 2