вначале доступны несколько веток прокачки - т.н. «Нейромоды», они впрыскиваются через глаз в мозг(похоже, это наномашины, но до конца не уверен)
так вот, вначале можно качнуть перки Инженера, Шпиона, Оружейника, Медика, Бойца и КАКИРА(это я так грубо их назвал) - ну то есть увеличение лайфбара, апгрейды костюма ГГ, выносливости, работы с турелями, подьём тяжестей, взлом всего и вся, увеличение выхода материалов из разбитых вещей(для крафта)... много там их
через некоторое время становятся доступны нейромоды на выжимке из инопланетян - псионика, мимикрия(можно превращаться в предметы, да), mind control, замедление/остановка времени, телекинез etc...
если перебрать с тифон-нейромодами, то турели перестают считать тебя человеком, однако без них двигаться по сюжету сложновато, патронов, аптечек и материалов катастрофически не хватает - это есть даже на «Нормале»
улучшить также можно костюм ГГ(количество ячеек для различных полезных чипов, толщина брони, шлем), оружие(скорострельность, меткость, магазин, перезарядка)
единственное что в расте лучше golang с точки зрения инфраструктуры - они осилили запилить свой реп для библиотек, так что билдер не дергает их с гитхаба. все остальное - такой же шлак.
ты что, натурально будешь на каждый чих с докером связываться?
Для сборки софта — да, потому что это намного проще, чем собирать тулчейн под CentOS и ставить на каждый сборочный сервер.
у меня просто чувство что ты админом/SRE ни разу не работал
Ого, то есть, чтобы оценить ублюдочность модели мегафриза в дистрибутивах лялекса, нужно обязательно быть админом? Если тебе станет легче, я собрал довольно много пакетов под ubuntu и centos в своей жизни, и хотел бы заниматься этим как можно меньше, потому что это крайне бесполезное и муторное занятие. Именно поэтому я безумно рад появлению универсальных пакетов типа Snap и Flatpak.
Действительно, баги должны умирать от старости. Исправлять то их никто не будет. Просто заморозят рандомную версию и все, дальше мучайся сам.
Я хорошо помню свой первый раз когда решил обмазаться стабильностью и поставить debian. Запускаю htop, а там NaN вместо процентов. И проскакивает мысль, что в ближайшие 12 месяцев это никто не исправит. Вот и вся стабильность.
Стандартная картина на баг трекерах: юзер репортит баг, а разработчики отвечают что исправили еще в прошлом году. А потом выясняется что юзер на «стабильном» дистрибутиве.
Для сборки софта — да, потому что это намного проще, чем собирать тулчейн под CentOS и ставить на каждый сборочный сервер.
При чем тут тулчейн? Мсье не знает про билд-сервисы и автобилдеры? про сборку пакета - да, можно и докер. А компилятор ты туда тоже затолкаешь, или будешь статику пакетить?
Хотя, вообще, у дебианщиков (да и многих других) несколько своеобразное представление о стабильности.
Когда дебианщики видят грабельное поле, то они тщательно утыкивают его понятными только им флажками, но сами грабли не трогают. Потому что стабильность. Убираются грабли, на поверку оказавшиеся обоюдоострыми, но только после того, как они убьют кого-то из пользователей насмерть, только после двухнедельного совещания в рассылках, и только после того, как кто-то недовольно хлопнет дверью.
Иногда в порядке окучивания граблей грабли заменяют на противопехотные мины (кто помнит эпичнейший фейл с OpenSSL?). Конечно, конечно, хотели как лучше, чтоб от наступания не было больно...
Ну и что, что в других дистрибутивах грабли собрали комбайном? Что с того, что в других дистрибутивах уборка граблей стала процессом постоянным? Это ни черта не значит, ведь это нарушает стабильность. А тут поле с флажками, такое теплое, такое свое, прям как е#учий ЗиЛ «буханка», прости господи, мать твою через коромысло.
ну вот ты сам написал про OpenSSL. допустим есть у тебя софтина, которая его линкует. чтоб далеко не ходить - допустим этом cargo-vendor. вот ты статику опакетил на прошлой неделе, а пару дней назад злые русские какеры нашли там дупло размером с тоннель под Ла-Маншем. основные дистры багфиксы уже выкатили. твои действия? каждый день билдер в докере гонять будешь?
Я тебе про функционал, а ты мне про уязвимости. Расскажи, обновление какой библиотеки может исправить ошибку в компиляторе? Эта статика прошла все тесты, и разработчик убедился что она работает. А кто прогонял все тесты после обновления libfoo в дистрибутиве? правильно, никто
вообще билд-сервис пересобирает зависимые пакеты после обновления
И прогоняет все тесты? Если я качаю статику с гитхаба, то у меня есть гарантии что она хорошая, а если ставлю сборку из дистрибутива, то кто мне их даст? откуда я знаю прошла ли она тесты, и использует ли пропатченную версию llvm, а не ту что уже есть в дистрибутиве?
ты упоролся? как раз статика с гитхаба тебе не даст никаких гарантий. в дистре эти гарантии даем мейнтейнер.
Кому ты будешь верить, разработчику или мейнтейнеру дистрибутива? Ты вот например собирал недавно раст, хотя на нем даже не программируешь. Какие гарантии ты можешь дать? А вот на официальные релизы с гитхаба есть гарантия что ими пересобрали весь crates.io и ничего не отвалилось.
это ты сейчас рассказать хочешь что у них обратная совместимость 146%? не верю
Они только проверяют что все пакеты скомпилировались успешно, конечно они их всех не запускают на исполнение. Я уже не помню где читал, но они еще прогоняют тесты на некоторых из самых популярных пакетов.
именно из-за того что они должны гарантировать отсутствие таких косяков. а разраб никому ничего не должен
Ты хоть сам понял что написал? В случае с опенсорсом, разработчик и мейнтейнер несут примерно одинаковую ответственность — нулевую. Практически в любой софтварной лицензии в принципе есть пункт об отказе от ответственности.
Они только проверяют что все пакеты скомпилировались успешно, конечно они их всех не запускают на исполнение
что-то я в этом тоже сомневаюсь. вот ты прикинь - есть на crates.io пакет, который бросили еще полтора года назад. и скажем какой-нибудь вызов теперь имеет на один параметр больше/меньше. пакет ясен пень не соберется. что тогда делают?
Our basic stability promise for Rust is that upgrades between versions are “hassle-free”. To deliver on this promise, we need to detect compiler bugs that cause code to stop working. Naturally, the compiler has its own large test suite, but that is only a small fraction of the code that’s out there “in the wild”. Crater is a tool that aims to close that gap by testing the compiler against all the packages found in crates.io, giving us a much better idea whether any code has stopped compiling on the latest nightly. Crater has quickly become an indispensable tool. We regularly compare the nightly release against the latest stable build, and we use crater to check in-progress branches and estimate the impact of a change.
Такой вариант возможен только пока раст сидит в своей песочнице. Если на нем начнут писать крупные проекты - проверять все подряд не выйдет. И тогда им придется переходить на стандартный вариант с пакетами и дистрами, но чем дольше тянуть - тем больнее потом будет.
Можно предложить, что изначально смотрят почему поломалось и если проблема в пакете, то он дальше игнорируется.
This is a [breaking-change] in that new feature gates are required (or simply removing the defaults, which is probably a better choice as they have little effect at this time). Results of a [crater run][crater] suggest that approximately 5-15 crates are affected. I didn't do the measurement quite right so that run cannot distinguish «true» regressions from «non-root» regressions, but even the upper bound of 15 affected crates seems relatively minimal.
15 пакетов отвалилось (0.1%). Сообщат их авторам и попросят исправить.
Таких изменений что полрепы отвалилось пока небыло, и обещают что не будет.
Таких изменений что полрепы отвалилось пока небыло, и обещают что не будет.
обещать много чего можно, посмотри скажем на разницу между вторым и третьим пузоном. если они это так обещают - значит через пару лет либо начнут костыли накручивать, либо пойдут ломать все что можно и нельзя.
алсо, а если пакет не в crates.io? что, писать мол «собирайте коммитом таким-то»?
проблема именно в nightly. фриз идет потому что на каждый чих все проверять никаких мейнтейнеров не хватит. говорю же - я не против раста, я против их метода его распространения. опять же сравнивая с нодой/рубями - есть пакет для всех, и есть nodeenv/rvm когда нужна другая версия. просто если они забивают на пакеты от слова совсем, то так и будет разброд и шатание
Мне вот интересно где ты там sudo увидел? мне кажется оно даже работать не будет если sudo напишешь. Это, что, такой аллегорический прием, чтобы запугать читателя?
Мне вот интересно где ты там sudo увидел? мне кажется оно даже работать не будет если sudo напишешь
хочешь сказать что 'curl | bash' это хорошо? не, лучше чем с sudo, я не спорю. и кстати не заработает - он в /usr/local пишет. по дефолту большинство дистров это запрещает
Фриз всей системы это адЪ. Фриз одной конкретной программы, версию которой ты сам выбрал (а не вася пупкин) и контролируешь (если понадобится можешь заменить) это нормально.
Забивать на пакеты может и плохо, но язык ещё молодой, инфраструктура ещё только формируется
вот я и пытаюсь своей вонью это разъяснить. вдруг тут расторазрабы есть. ну и плюс - я все-таки доделаю автогенератор спеков пакетов. на баше это чую будет полный хаос (слишком много полей, да и вендоеды его не запустят), чую самым простым вариантом будет пузон+tk. выглядит он конечно жестко, но зато есть по дефолту в любой сборке пузона