Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Можно ли дать 3 ампера жёсткому диску формата 3.5?

Лучший ответ:
Не важно, сколько ампер может выдать БП, нагрузка берет столько, сколько ей нужно, в зависимости от собственного сопротивления. Учите физику, школьный курс.
А что вас смущает в импульсном БП, если БП системного блока тоже импульсный?

Худший ответ:
Главное чтобы ток, который МОЖЕТ выдать БП, был НЕ МЕНЕЕ того, что нужен для HDD, и напряжение соответствовало. И почему нельзя импульсный? Как раз в компьютерных БП импульсный. С такими знаниями я бы не полез что-то там модифицировать.
Жёсткий диск (да и любой потребитель) возьмёт тока сколько нужно ему при заданном напряжении. Вот в компьютере на SATA подаётся +5, +12 и иногда +3.3В. При этом на канале +12В у БП максимальный ток - 12-18 ампер, а у более мощных БП может быть ещё больше. Это же не значит, что HDD столько тока съест.  3А для HDD обычно хватает, если при этом напряжение не будет проседать. А то на некоторых БП пишут "три ампера", а по факту - при таком токе у него уже не 12В, а 10В, и не всякое оборудование будет нормально работать с таким.
Вопрос: Как начать Lua?

Лучший ответ:
tylerneylon.com/a/learn-lua

А потом сюда

https://love2d.org/

там с примерами - можно сразу игрушку писать простенькую, хоть на ПК хоть на андроид

Худший ответ:
Изучайте теорию алгоритмов, изучайте языковые конструкции и функции библиотек прилагаемых.
Вопрос: Что лучше выбрать для дизайна рекламы в 2021. Adobe Indesign, Adobe Illustrator или CorelDraw?

Лучший ответ:
Corel обделён вниманием, потому что он, к сожалению, очень отстает от своих конкурентов. Я работал с Corel 5 лет, потом решил перейти на Illustrator и эффективность моей работы выросла в разы. Может сейчас, в 2021 году, Corel стал гораздо лучше, но в 2016 постоянные баги корела и офигеть какие большие размеры файлов очень сильно напрягали.

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

Худший ответ:
Если Вы в основном будете применять макеты для печати (цифровой или широкоформатной), то думаю CorelDraw вполне актуален и прост в использовании. и большинство оперативных полиграфии и небольших типографий работают с этой программой (по крайней мере на территории где я работаю - Свердловская обл.). Adobe Indesign в большей части используют для более крупных проектов, таких как журналы, буклеты и т.п.
Вопрос: Как изменить запись в бд при достижении определенной даты?

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

Худший ответ:
Как написал FanatPHP , поле  status излишне,
при необходимости иметь текущий статус подписки - можно создать представление:
create view subscriptions_status as select 
	id, user_id, created_at, end_at,
	case when end_at > now() then 1 else 0 end active
from subscriptions;

select * from subscriptions_status;

PostgreSQL view online
Вопрос: Как из компонента Child добавить родителю нужный класс?

Лучший ответ:
Так делать не принято, и вам это не нужно.

Раз у всех этих элементов должен быть один класс, это должны быть корневые элементы экземпляров компонента Preloader. Тэг можно передать через props, как и те элементы, что сейчас являются соседними:

function Preloader({ Tag = 'h1', children }) {
  return (
    <Tag className={s.wrapper}>
      <div className={s.preloader}></div>
      {children}
    </Tag>
  );
}
<div className="App">
  <Preloader>hello, world!!</Preloader>
  <Preloader Tag="h2">fuck the world</Preloader>
</div>

Худший ответ:
Правильно сделать так:
<div className="App">
  <Preloader>
    <h1>
      Hello CodeSandbox
    </h1>
  </Preloader>
  <Preloader>
    <h2>
      Start editing to see some magic happen!
    </h2>
  </Preloader>
</div>

Костыль, чреватый глюками:
useLayoutEffect(() => {
  const parent = ref.current.parentNode; // ref - корневой элемент
  parent.classList.add(preloader.wrapper);
  return () => {
    parent.classList.remove(preloader.wrapper);
  }
}, []);
Вопрос: Как организовать личный dns сервер?

Лучший ответ:
Ставите dnsmasq, в конфиг прописываете
listen-address=127.0.0.1,192.168.100.1 (или какой у вас будет)
server=1.1.1.1
server=8.8.8.8
На клиентах прописываете его адрес как dns-сервер
Очень желательно в интернет его не выставлять голым задом, а подключаться по VPN, и доступ делать только из VPN-сети.

Худший ответ:
Не знаю как у других, но сам лично столкнулся с этими блокировками на прошлой неделе. Интернет перестал работать и я не мог понять в чем дело. Оказалось, заблочили DNS. Пробовал dnscrypt, а также менять на все подряд. Менял на все DNS который находил в интернете и ни один не сработал.

Тут важно уточнуть, что блокируют они не так как вы думаете. Не изберательно Google, Cloudflare и т.д. Они дают выход в интернет только через DNS провайдера и ни через что больше. Все эти частные и личные DNS становятся полностью бесполезными.

Вот еще свежая новость Роскомнадзор отрежет интернет-сервисам возможность...
Вопрос: Как сделать перенос строки с одной таблицы в другую?

Лучший ответ:
Используйте onEdit(event) для получения события редактирования. Там можно получить данные всей строки через getValues() и сохранить в нужное место через setValues(). Чтобы триггер сработал, надо его поставить вручную, на изменение таблицы.
Если нужно готовое решение - пишите в личку.

Худший ответ:
let ss = SpreadsheetApp.getActiveSpreadsheet();
let vkladka1 = ss.getSheetByName('1'); //или как нужно лист назвать
let vkladka2 = ss.getSheetByName('2');

function onEdit(e) {
let cell = e.range;
if (cell.getSheet().getSheetName() === vkladka1.getSheetName()){ // проверка на то, что изменение происходит именно на листе со списком заявок
if (cell.getValue() === 'Готово'){
vkladka1.getRange(cell.getRow(), 1, 1, vkladka1.getLastColumn()).copyTo(vkladka2.getRange(vkladka2.getLastRow() + 1, 1)); //перенос на другой лист
vkladka1.deleteRow(cell.getRow()); // удаление строки из листа
}
}
}
Вопрос: Быстрый старт в IT с хорошей базой?

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

ну и отдельно: "старт в it" и "старт в фрилансе" - два разных человека.

Худший ответ:
Если база хорошая выбери просто то что тебе нравится
Вопрос: Можно ли в Android создать файл без сохранения на устройство?

Лучший ответ:
Файл, это данные сохраненые на постоянном носителе. Пока данные не сохранены, это не файл, это данные в памяти.
Поэтому не совсем понятно, что вы имеете ввиду? Если не сохранять, то это не файл.

Худший ответ:
Конвертировать нужно в ByteArray
Вопрос: Когда использовать TypeScript?

Лучший ответ:
1. когда уместно использовать данный язык?
Всегда.

2. Можно ли использовать TS без фреймов и библиотек?
Да.

3. И есть ли смысл его использовать без фреймворков?
Да.

Худший ответ:
1. Уместно везде. Типизация любых функций, данных.
2. Можно.
3. Есть. Но писать что-то на чистом Js или тайпсрипт - зачем? Когда на фреймворка все решается гораздо быстрее. Если это пет проект, вы угодны писать на чем угодно, если вы работаете на бизнес, очень мало кто пишет на чистом тайаскрипте бизнес логику уровня вайлдбериса
Вопрос: Как (правильно) шифровать данные и хранить ключи на облачном сервисе?

Лучший ответ:
Обычно облачный провайдер продает не только виртуалки и хранилища но еще и сервисы безопасного хранения ключей. Например для Microsoft Azure - это KeyVault https://azure.microsoft.com/en-us/services/key-vault/

Для amazon - это KMS https://aws.amazon.com/kms/

Берите и используйте.

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

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

Один из способов - загрузочное устройство, которое физически подключается к серверу при включении/перезагрузки и содержит в себе физическую клавиатуру, код загрузчика (если linux то банально установленный grub и vmlinuz и initramfs) и необходимые ключи шифрования, а сами данные уже полностью зашифрованные хранятся на сервере. Так же разделяют собственно расшифровку ключей и физическое подключение устройство, доверив последнее другому сотруднику (его задача контролировать что железо не подменено и следить за закрытием сейфа и помещения) а ввод пароля проводится по сети другим.

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

p.s. это не защитит данные от других векторов атаки, например через уязвимости в софте! но для этого стараются разделять операционными системами хранение и обработку данных (точнее разделение на микросервисы с виртуализацией и разграничением доступа для каждого, чтобы взлом одного не дал ничего кроме того чем этот модуль занимается).

плюс по мелочи, типа нестандартное окружение, в котором нет привычных инструментов, не нужных сервису (например злоумышленник может очень огорчиться, если сервис nodejs не будет уметь запускать sh скрипты, не будет python и т.п.)
Вопрос: Почему не запускается язык go на ubuntu 20.4?

Лучший ответ:
Это не ошибка. Открой ЛЮБОЙ туториал по го, будь добр

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

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

Работа подразумевает ежедневное участие в проекте по 8 часов. 
То есть руководство ориентировано не на результат, а на процесс. Однако, любой интеллектуальный труд в целом и программирование в частности работает иначе, чем копание траншей.

Худший ответ:
да большую часть времени график людей в команде должен совпадать, либо если люди не общаются оперативно это и не команда 

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

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

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

Лучший ответ:
Может сначала прочитаете теорию?
https://developer.mozilla.org/ru/docs/Web/CSS/bottom

Худший ответ:
bottom в принципе подразумевает, что элемент будет двигаться снизу.
Вопрос: Это какая разновидность USB?

Лучший ответ:
Usd B
Обычно такие используются в принтерах

Худший ответ:
Полноразмерный USB type B версии 2.0

Используется часто в принтерах (как уже ответили выше), а ещё во всяких usb-хабах, ну и в крупных устройствах, где размер не важен.
Вопрос: Можно ли на CMS дать возможность пользователям писать статьи?

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

Осваивайте HTML + CSS, учитесь верстать. Потом осваивайте азы PHP  и учитесь натягивать верстку на CMS. 

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

Или нанимайте фрилансеров (разработчик и, возможно, дизайнер). 

Других вариантов нет.

Худший ответ:
Подбирайте подходящую CMS и пусть пишут.
Вопрос: Как дописать что-то в конец строчки в файле, Python?

Лучший ответ:
Строчку можно складывать со строчкой. 
source_string = 'hello'
result = source_string + ' world'
print(result)
Строчки в файле можно перебирать по-очереди и делать с ними нужное:
file = 'hello\nmy name is'
for line in file.splitlines():
    print(line)
Надеюсь, из этого сможешь слепить что надо?

Худший ответ:
Я знаю язык программирования Python 50/50) 
Вот тут я поржал. Я его знаю даже не на процент.
Вопрос: Как убрать символ со страницы?

Лучший ответ:
а че, {{ form.date }} не должно быть в кавычках?

Худший ответ:
Решил проблему, поместив значение value  в ковычки.
Вопрос: Где можно посмотреть исходный код стандартных команд линукс?

Лучший ответ:
Тут: https://www.gnu.org/software/coreutils/

Худший ответ:
Например на GitHub в репозитории coreutils.
Вопрос: C# как прочитать настройки appsettings.json из любого класса?

Лучший ответ:
Может всё-таки попробовать DI? Зачем именно "читать", когда он уже прочтен.
Запросите в конструкторе произвольного класса IConfiguration и создавайте инстанс этого класса только через контейнер

Худший ответ:
Читаете только в контролере, получив через инъекцию IConfiguration . Дальше передаете нужные параметры настроек в объект, либо при его создании через конструктор, либо передаете параметры через методы этого объекта. Передаете только те параметры, которые непосредственно нужны этому методу.
Конфиг может разрастаться, и передавать его весь в объект ради пары параметров не стоит, объект в этом случае может получить доступ к тем полям, которые его не касаются вообще.
Вопрос: Порекомендуйте замену vim?

Лучший ответ:
Посмотрите на mcedit, входит в состав mc.

Худший ответ:
Я пользую Geany
Вопрос: Домена нет, корпоративная почта есть, как быть?

Лучший ответ:
Покупаете другой домен, привязываете к аккаунту, создаёте алиасы для ящиков или просто заменяете у них домен.

Худший ответ:
купить домен
Вопрос: Почему z-index не выводит блок со значением больше, поверх другого объекта?

Лучший ответ:
Z-index в принципе работает не так, как хотелось бы большинству (мне впрочем тоже), потому что существует такая штука как контекст наложения. 
https://habr.com/ru/post/166435/
css.yoksel.ru/kontekst-nalozheniya

Чтобы псевдо был под ссылкой, ему нужно задать z-index: -1, а у самой ссылки убрать вовсе.

Худший ответ:
Так у вас не z-index вроде как играет роль. Ну или назначать ему 9999
Вопрос: Зарезервированные СНИЛС?

Лучший ответ:
вот описан алгоритм проверки валидности номеров СНИЛС

Вот ещё с примером кода.

В том числе упоминают, что в номере (в первых 9 позициях) не может идти одна цифра три раза подряд — вполне себе вариант для несуществующих СНИЛСов:
111-234-567 xx
123-334-567 yy
123-456-777 zz

Худший ответ:
Хм. Там как в банковской карте - последняя цифра контрольная. 9 цифр + 1.
Тоесть всего 1 млрд корректных номеров и 9 млрд некорректных которые никогда
никому не выдадут. Отключи в своей системе контроль этой цифры и бери рандомное
из диапазона вот этих некорректных.
Вопрос: Как запустить приложение на новом компьютере, так, чтобы оно думало, что запущено на старом?

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

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

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

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

Лучший ответ:
1. Одно для всех стоит дешевле, чем для каждого;
2. Оформляете передачу всех исключительных прав на продукт себе, за вознаграждение, разумеется;
3. Разработчик делает то, за что ему платят. Может сделать резиновым, может запилить под каждое. Опять же решение заказчика, что ему нужно;
4. Ну это больше похоже на поддержку продукта и исправление выявленных багов. Почему нет-то, вы вольны найти тех, кто согласиться и на такое.

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

В Фигме пишется дизайн только под один экран,для остальныхдля каких остальных?

 И для каждой версии андроид будет подходить приложение,или нужно будет делать для каждой отдельно разрабу?Влияет ли это на итоговую цену?не для каждой и не для каждой. Особо не должно. 

подразумевает взаимодействия пользователей друг с другом.Проверить полностью на эмуляторе я его не могугде связь? почему нет?

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

И это нормально вообще такое просить с моей стороны?да. Но согласятся не все. 

футтеруфлатеру
Вопрос: Можно ли импортировать скрипты или компилировать их в процессе выполнения?

Лучший ответ:
Можно
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.CSharp;
using System.CodeDom.Compiler;

class Program
{
    static void Main(string[] args)
    {
        var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });
        var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "foo.exe", true);
        parameters.GenerateExecutable = true;
        CompilerResults results = csc.CompileAssemblyFromSource(parameters,
        @"using System.Linq;
            class Program {
              public static void Main(string[] args) {
                var q = from i in Enumerable.Range(1,100)
                          where i % 2 == 0
                          select i;
              }
            }");
        results.Errors.Cast<CompilerError>().ToList().ForEach(error => Console.WriteLine(error.ErrorText));
        Assembly assembly = results.CompiledAssembly;
        Type program = assembly.GetType("Program");
        MethodInfo main = program.GetMethod("Main");
        main.Invoke(null, null);
    }
}

Худший ответ:
Ответ Ukrainskiy Немного устаревший, и в новых версиях работать не будет.
Сейчас следует использовать Microsoft.CodeAnalysis.CSharp.Scripting
Примерно так:
using Microsoft.CodeAnalysis.CSharp.Scripting;
using Microsoft.CodeAnalysis.Scripting;

var script = CSharpScript.Create("System.Console.WriteLine(\"Hello from script\")");
script.Compile();
await script.RunAsync();

Также, если под "скриптами" имеются в виду классы для Unity, то можно их скомпилировать отдельно в Dll и импортировать через Assembly.Load, а потом вызывать через рефлексию.
Вопрос: Как внедрить невидимый водный знак в файл каждому пользовалю приватного торрент треккера?

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

Худший ответ:
никак

лови по IP

или подели на 2 файла, второй с опечатком скачивать без торрента
Вопрос: Что более перспективнее Flutter или Java Backend Spring?

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

Худший ответ:
Что по зарплатам? В чем рынок больше нуждается?
Давай я поищу за тебя

На мой взгляд, Flutter ждёт то же, что и Dart.
Вопрос: Как из файла достать нужные данные?

Лучший ответ:
Открыть файл, прочитать содержимое, скормить его парсеру разметки, например lxml или BeautifulSoup.

Худший ответ:
import sys
from bs4 import BeautifulSoup

DOC = 'test.html'

try:
    with open(DOC, encoding='utf-8') as f:
        page = f.read()
except IOError as err:
    print(f'Error reading the file {DOC}: {err}')
    sys.exit()

soup = BeautifulSoup(page, 'lxml')
rows = soup.find_all('tr')
rows = [row.find_all('td') for row in rows]
rows = [row for row in rows if row]
for row in rows:
    columns = [cell.text.strip() for cell in row]
    columns = [cell for cell in columns if cell]
    print(f'{columns[0]}:', *columns[1:-1], f'Ср: {columns[-1]}')
Вопрос: Применяется ли во встроенной функции copy отложенное копирование?

Лучший ответ:
Отложенного копирования при копировании слайса нет.
Вот исходник функции, которая копирует слайсы.
https://golang.org/src/runtime/slice.go#L34
В комментарии к функции написано:
// makeslicecopy allocates a slice of "tolen" elements of type "et",
// then copies "fromlen" elements of type "et" into that new allocation from "from".

Исходный код функции на случай, если исходник не доступен
// makeslicecopy allocates a slice of "tolen" elements of type "et",
// then copies "fromlen" elements of type "et" into that new allocation from "from".
func makeslicecopy(et *_type, tolen int, fromlen int, from unsafe.Pointer) unsafe.Pointer {
	var tomem, copymem uintptr
	if uintptr(tolen) > uintptr(fromlen) {
		var overflow bool
		tomem, overflow = math.MulUintptr(et.size, uintptr(tolen))
		if overflow || tomem > maxAlloc || tolen < 0 {
			panicmakeslicelen()
		}
		copymem = et.size * uintptr(fromlen)
	} else {
		// fromlen is a known good length providing and equal or greater than tolen,
		// thereby making tolen a good slice length too as from and to slices have the
		// same element width.
		tomem = et.size * uintptr(tolen)
		copymem = tomem
	}

	var to unsafe.Pointer
	if et.ptrdata == 0 {
		to = mallocgc(tomem, nil, false)
		if copymem < tomem {
			memclrNoHeapPointers(add(to, copymem), tomem-copymem)
		}
	} else {
		// Note: can't use rawmem (which avoids zeroing of memory), because then GC can scan uninitialized memory.
		to = mallocgc(tomem, et, true)
		if copymem > 0 && writeBarrier.enabled {
			// Only shade the pointers in old.array since we know the destination slice to
			// only contains nil pointers because it has been cleared during alloc.
			bulkBarrierPreWriteSrcOnly(uintptr(to), uintptr(from), copymem)
		}
	}

	if raceenabled {
		callerpc := getcallerpc()
		pc := funcPC(makeslicecopy)
		racereadrangepc(from, copymem, callerpc, pc)
	}
	if msanenabled {
		msanread(from, copymem)
	}

	memmove(to, from, copymem)

	return to
}


Худший ответ:
Сразу происходит копирование.
Вопрос: Могло ли дойти напряжение до материнской платы и спалить всё к чертям?

Лучший ответ:
Если делать ставки, как в тотализаторе, то 80% за то, что в БП сгорел варистор (цена детальки 10-50 рублей, в зависимости от жадности продавцов). Сценарий такой: варистор в БП закоротил вход БП, после чего уже сгорел удлиннитель.
15% за дополнительные повреждения в БП, в первую очередь конденсаторы.
Оставшиеся 5% за повреждения материнской платы и прочего. Даже с дорогим БП нельзя полностью исключить такую возможность.
Погорели блочки ко всем роутерам и модемамВот там, держу пари, конденсаторы взорвались с вытеканием электролита.

От таких случаев защищает реле напряжения, которое можно установить в щиток.

Худший ответ:
Твой блок питания имеет следующие механизмы защиты (OPP, OCP, OVP, OTP, UVP, SCP), среди них есть защита от перегрузки. Почитать про них подробно можно тут. Моё мнение что вполне себе 430 вольт могу убить всё что было в ПК!
Вопрос: Какие программы использовать для анимации?

Лучший ответ:
Adobe After Effects или Adobe Animate

Худший ответ:
Если для приложения, то может быть подойдёт Spine, там код на экспорте вроде как.