All streams
Search
Write a publication
Pull to refresh
5
0
Send message
Да, всё верно. Проблема-то не в этом. Технический долг — это «комфортные условия обитания» из-за которых регуляторные функции оказались очень не развиты и малейшее изменение внешней среды может вызвать болезнь, до тех пока, человечество не придумает, как искуственно нагружать все регуляторные функции в достаточной мере; и медицина, которая может сохранить жизнь человеку с неудачным набором генов, но не может его изменить, и в следующем поколении исправлять придётся уже несколько копий.
А вот это я хотел бы не гадать, а узнать из какого-нибудь исследования. Каковы последствия для человечества от того, что многие вещи, от которых ещё 100 лет назад умирали бы без альтернатив ещё в самом детстве, сейчас стали излечимы.
Полагаю, мы живём в технический долг. И залезли в него очень глубоко…
Вы очень односторонне смотрите на ситуацию. Естестенный отбор срабатывает не только тогда, когда кто-то умирает, но и каждый раз, когда кто-то не умирает. Начиная с масштабов отдельных клеток или даже белков и заканчивая… масштабом, пока всё ещё удаётся найти конкуренцию.

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

Разумеется, как человек, чьи деньги наше правительство безбожно растрачивает на «заботу о нас самих же», я хотел бы хотя бы в качестве компенсации иметь доступ к информации: что как и почему. Например, почему иммунитет может различаться даже в пределах родственников? Почему тимус (если иммунитет — одна из важнейших систем человека) после 40 лет исчезает? Можно ли на это как-то повлиять? Итд… итп…

А вакцина — ну сделали, хорошо, наверное. Только надо понимать, что это багфикс, но не решение проблемы. Проблема не в коронавирусе, а в том, что мы не понимаем, как работает иммунитет (а если и понимаем, то не делаем того, что надо для его укрепления).
Вроде бы в прямые обязанности иммунитета входит оперативное обнаружение инородных объектов и выработка антител к ним. Но если иммунитет приучен, что в организм всегда попадают ослабленные вирусы на блюдичке, которые безвредны и которые можно парсить лениво и неспеша, то он с радостью избавится от неиспользуемых способностей — обнаружение новых вирусов и быстрая выработка антител к ним. Организм всегда находится в состоянии нехватки ресурсов, так что давление вполне себе достаточное. А несколько поколений клеток сменятся за не такое и большое время. Так что запросто.
Да не то, чтобы это теория, просто математический факт, что значения для размеров и массы вселенной идеально подходят к формуле R=2GM/C^2, что наводит на мысль, что либо оно так изначально и считалось по какой-то причине (а потому ничего не значит), либо это совпадение, говорящее нам о том, что пора прекратить споры о том, что происходит внутри чёрной дыры и просто осмотреться по сторонам. В таком случае можно подумать, что 13.7-8 млрд лет назад возник горизонт событий над чёрной дырой и это выглядело как большой взрыв, а далее, по мере того, как вещество падало внутрь, масса росла и вселенная расширялась. А потом она могла замедлиться, ускорится и делать всё, что угодно — мы же не знаем, что там снаружи.

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

Вроде бы естестенный отбор никто не опровергал и он всё ещё должен работать, в том числе и на людях.
А кого волнует логика в 21-ом веке? Пока здравохранение входит в топ-3 по финансовому обороту в мире, уступая разве что порноиндустрии и казино, у них совершенно другие заботы, чем думат, кто там и от чего умрёт.
«Если бы «инженеры» переизобрели естественные языки»… или использовали грамматику языков программирования, добавив в них описывающие повседневность термины.
Дело в том, что чем меньше масштаб системы, тем меньше энергия её разрушения. Если микро-технологии могут работать даже в условиях космической радиации, то современные нано процессоры деградируют под действием обычного солнечного света. Даже если будет создан субатомный процессор, много ли проку от устройства, которое сломается от малейшего внешнего воздействия? — в этой области ещё очень много нерешённых проблем.
В такой тонкой физике не разбираюсь, но в отношении следующих данных вроде бы все источники единогласны: положение было неустойчивым, но всё ещё сохранялась отрицательная обратная связь по пару, поэтому на протяжении того часа реактор не взрывался, несмотря на все неравномерности, и его можно вывести в штатный режим не останавливая. Но далее остановили турбину и запас по пару стал уменьшаться — а дальше не так и важно, нажали они кнопку или не успели… вот только теоретики пишут, что даже при ОЗР 15 взрыв также мог произойти, и что документация была совершенно неадекватной в разделе безопасность.
как я понял, эксперимент в том и состоял, чтобы проверить, хватит ли выбега турбины на всё время затухания реактора. Странным решением было кнопку нажимать не сразу, а только 30 сек спустя. Уменьшило бы это взрыв или нет, но запас по температуре воды был бы чуть больше.
Но чтобы остановить реактор как раз и требуется нажать ту самую проклятую АЗ-5, которая взрывает реактор при недостаточном ОЗР! Тут либо на аппаратном уровне следовало исключить возможность установить меньше 15, либо в документации чётко и ясно описать, как остановить реактор в такой исключительной ситуации (чего, как я понял, сделано не было, напротив, эти сведения были засекречены и в документации были лишь туманные намёки)
Судя по статьям и википедии, причиной взрыва оказался «концевой эффект», то есть изначальный инженерный просчёт. Вообще, странно было делать систему, которая «должна мгновенно остановить реактор, что бы в нём ни начало происходить»… время срабатывания которой 18 секунд — да пока стержни опустяться, взрывная волна уже будет на дальнем конце планеты. Но ещё страньше, что эта система первые 1.25 / 7 * 18 = 3.2 секунды разгоняла реактор и только после начинала тормозить.

Но виновата всё-таки местная администрация. Судя по другим статьям, о концевом эффекте в том году уже знали, в частности из непосредственных экспериментов на самой же ЧАЭС ранее, и даже была признана его опасность, но предпринятые действия оказались на уровне ниже удовлетворительного: эффект не был полностью устранён, а в документацию не внесли пункт, что «нажатие кнопки А3-5 может привести к взрыву, вместо остановки при следующих условиях...»

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

-- общее определение (все натуральные числа > 1, которые являются простыми)
 primeNums = 2 : [n | n <- [3..], isPrime n]
-- Число простое, если у него нет (простых) делителей
 isPrime n = foldr (\p r-> p*p>n || (rem n p /= 0 && r)) True primeNums


foldr — это свёртка списка. Работает так (от b->e или наоборот неуверен):
foldr (fun) a (b,c,d,e) раскрывается в fun(b, fun(c, fun(d, fun (e, a))))
в данном случае fun — это лямбда выражение с двумя аргументами, где p — очередное значение из primeNums, а r — значение с предыдущей иттерации.
Начальное значение — это True, а само выражение лямбды делает следующее:
(\p r-> p*p>n || (rem n p /= 0 && r))
если проверяемое число слишком больше, то автоматом возвращает true, иначе: если на предыдущей иттерации был false, то сразу возвращаем false (ленивые вычисления), и только в противном случае делим и ся результатом.

Понятно, что очень большая нагрузка на оптимизатор: он должен понять, что primeNums возрастающая последовательно, что p*p возрастает по мере возрастания аргумента итд… но если всё это сработает, то получится невероятно оптимизированный алгоритм: для проверки простоты числа N будут проводиться деления только на простые сомножители менее sqrt(N).

Если в чём-то ошибся, надеюсь, более знающие поправят.
Не так уж и из пальца.

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

Я думал, вы так сделали отсылку к тому инциденту.
Только-только начал изучать хаскель, а уже умудрился из-за спешки наделать ошибок: может быть сложение долларов с евро он может отследить, а сложение вместо вычитания пропустил (оба значения были в метрах, результат тоже). На такой случай тоже есть какой-то приём или всё-таки каким бы безопасным ни был язык, программист всегда сможет затупить так, чтобы написать нерабочий код и не заметить?
Достаточно просто, даже сказал бы очевидно, как переписать то же самое, чтобы скомпилированный код был таким же коротким, как и исходный, но подозревая подвох всё-таки спрошу:
!!!) sizeof возвращает размер в байтах, тогда как (char*)ptr + N, складывает в единицах sizeof(char). Это не UB, но всё же… это ошибка?
???) template typename T — как понял из определения, может принимать значения только встроенных типов. Не очень понятно, в чём смысл этих типов, что означает int или float в описании изображения. Обычно берут что-то типа unsigned char[3] или на крайний случай template class T, чтоб на все случаи жизни.
?) aligned_alloc(32, — а зачем выравнивание? могу пояснить, зачем нужно его отсутствие: чтобы однопискельные обработки могли происходить одномерным циклом for(int i=0;i<width*height;i++)
?) MaxDimensions = 16384, а почему больше нельзя, память вроде как позволяет?
!) throw… — надеюсь, вы тщательно обставили его try-ями, иначе вместо сообщения «попробуйте открыть другой файл» будет «приложение будет неожиданно закрыто без сохранения данных».
*) и что побудило к созданию этого класса? это учебный проект или требуется совместимость с чем-то или просто синтактических сахар или в него планируется позже что-то добавить?
Сомневаюсь, что это относится к делу, но в вашем коде нигде не используется утверждение , то есть данное ограничение общности излишне:
template void Rotate180(const Image &src, Image &dst)

Можно ли взглянуть на определение Image (всё-таки интересно, откуда берётся столько инструкций)?
мистика! пробовал через тот же сайт, только компилятор стоял gcc11 — код получался неоптимизирвоанным, а сейчас всё в порядке.

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

Information

Rating
Does not participate
Registered
Activity