LINUX.ORG.RU

Thalassa 0.3.50

 , , , thalassa,


0

4

Выпущена новая версия Thalassa CMS под номером 0.3.50.

В этой версии переписан фильтр HTML-тегов для комментариев.

Разработчиком CMS является Андрей Викторович Столяров, также известный как @Croco.

>>> Подробности



Проверено: hobbit ()
Последнее исправление: leave (всего исправлений: 3)
Ответ на: комментарий от alysnix

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

мир так устроен

Ясненько.

gaylord
()
Ответ на: комментарий от ripgrep

а какое отношение имеет этот ваш mojo к русту?

зы. нашел. там якобы есть borrow checker. надо будет посмотреть эту вашу мойу.

alysnix ★★★
()
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от gaylord

Ясненько.

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

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

то есть если что-то полезное придумано - сапиенсов не остановить, они орут в голос и делают так же.

alysnix ★★★
()
Ответ на: комментарий от alysnix

rust

горшки

керамика

Я больше не могу читать весь этот бред, прости.

gaylord
()
Ответ на: комментарий от zabbal

Тот же fish действительно никуда не денется в обозримом будущем, только незаметно для пользователей это уже проект на другом ЯП.

О, уже переписали? Моё почтение.

Меньше чем за год, получается.

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Да вроде что в webkit, что в firefox уязвимостей много. Точно они не из за вкладок получаются.

Сравнивать надо не два продукта по CVE, а код Rust с кодом на С++, посмотреть где используется Rust, сравнить по CVE и ошибкам ту же часть на С++.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Сравни количество CVE в surf и количество CVE в firefox

Тут только ещё пару моментов стоит учесть:

  1. surf по сравнению с FF нихера не умеет (а большую часть из того, что умеет, за surf делает WebkitGTK);
  2. surf по сравнению с FF никто не использует.
theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

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

А так будут программы где мало кода, где код будет вылизан, которые будут повторно использоваться и где будет мало CVE

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 2)
Ответ на: комментарий от vbcnthfkmnth123

Программа должна уметь ничего, как и surf

Если ты думаешь что вкладки это самое сложное, что есть в браузере, ты сильно заблуждаешься. Основная поверхность атаки это JS engine, парсеры DOM, CSS и прочее, без чего браузер бесполезен.

gaylord
()
Ответ на: комментарий от gaylord

Но этого всего не реализуется с нуля в surf. За это отвечает другая по сути кодовая база(webkitgtk2). А у того же firefox по-другому, из-за этого количество кода растет, его сложнее поддерживать, больше CVE.

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

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Но этого всего не реализуется с нуля в surf. За это отвечает другая по сути кодовая база(webkitgtk2). А у того же firefox по-другому, из-за этого количество кода растет, его сложнее поддерживать, больше CVE.

Это все было бы так, если бы в webkitgtk2 кто-то смотрел. Само по себе разделение на библиотеки ничего не дает, ими кто-то пользоваться должен. И тестировать. И проводить аудиты. Если никто не вкладывается в тестирование и аудит, разницы не будет.

gaylord
()
Ответ на: комментарий от gaylord

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

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

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

Это все так, но для того чтобы это было так, нужно некоторые условия. Например, этим все кто-то действительно должен пользоваться. Сколько пользователей у webkitgtk2 и surf?

gaylord
()
Ответ на: комментарий от vbcnthfkmnth123

Да, это так. И у тебя не получится снова сьехать на другую тему. Не со мной.

А нет другой темы, это та же самая тема. Ты упорно игнорируешь самый важный компнонент обеспечения качества – само обеспечение качества, лол.

gaylord
()
Ответ на: комментарий от alysnix

…но иногда вместо чего-то полезного это порождает карго-культ :)

hobbit ★★★★★
()
Ответ на: комментарий от gaylord

Причем ровно с той же проблемой в API, что и обычный.

gaylord
()
Ответ на: комментарий от EvilFox

Кстати он поменял ссылку на Transitional вариант, осилить Strict видимо не удалось. Однако его вебсервер отдаёт Content-Type как text/html, а надо application/xhtml+xml https://www.w3.org/TR/xhtml-media-types/#media-types у меня браузер говорит

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
однако я получаю всё равно text/html.

EvilFox ★★
()
Ответ на: комментарий от theNamelessOne

Видимо, почитывает тред. Ну ничего, хоть чему-нибудь научится!

По-моему ты льстишь столярику - судя по его графомании он с прошлого века ничего нового выучить не смог.

zabbal ★★★★★
()
Ответ на: комментарий от Hiddenman

очень напоминает Виталия Луговского

А кто это? Я загуглил, первая ссылка была на сайт где Луговской Виталий указан как «специалист по вентиляции и кондиционированию».

Jullyfish
()
Ответ на: комментарий от kaldeon

Почему потребности проекта считаются важными, а потребности поставленной задачи (обучение) – нет?

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

А эти две вещи точно тесно связаны, как о них принято думать?

Да.

liksys ★★★★
()
Ответ на: комментарий от zabbal

А у него регалии есть?

Ну он у нас дважды кандидат наук же - физмата и философии. И еще целый доцент.

Примерно так.

liksys ★★★★
()
Ответ на: комментарий от gaylord

Опять же, гном активно перепиливает приложения на Rust. Так что как было написано, так и будет переписано.

Ну понятна причина заявления что на си нормально писать нельзя. Религия раста. Ты так говоришь, будто гном – это какая то значительная в процентах часть ПО. Гном переписывает – окэй, на общем фоне и не заметно.

pihter ★★★★★
()
Ответ на: комментарий от gaylord

Например, PNG. Там бенчмарки на большом датасете показывают увеличение скорости в полтора-два раза.

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

Все это ещё в зачатке, попробуй найти работу на си и на расте

Ты не поверишь, вот прямо сейчас на ней сижу.

Поверю, отчего ж нет. А я сижу на работе про си. Я про соотношение.

pihter ★★★★★
()
Ответ на: комментарий от gaylord

Почему нельзя? У нас есть десятилетия наблюдений и ворох cve.

Ну а еще у нас миллионы кораблей затонули. Правильно ли я понимаю, что нормально построить корабль нельзя/не_стоит_этим_заниматься? Где логическая связь между наличием уязвимостей в коде, написанном на си ( я правильно понимаю, что история не ведает случаев нахождения уязвимостей в коде на раст? ) и невозможностью нормально писать на си?

pihter ★★★★★
()
Ответ на: комментарий от gaylord

Все — это что?

Все – это основа. Ядро, драйверы, системный софт, базовые прикладные библиотеки, сеть, протоколы, шифрование

Firefox написан на плюсах. KDE тоже. Дискорд на electron. Телеграм на плюсах. Loupe на Rust. senpai на Go. На C у меня написаны neovim, foot и tmux. Компиляторы тоже на плюсах. podman на Go. Как видишь в том что я регулярно использую C не то чтобы очень много.

Ядро у тебя есть? Систем де? Файловая система? Шелл? Сетью пользуешься?

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

Почти все там на си, просто ты старательно этого не замечаешь: у тебя религия

pihter ★★★★★
()
Ответ на: комментарий от zurg

чё? сишка это доли процента от айтишки

окэй-окэй, с таким аргументом трудно спорить :)

pihter ★★★★★
()
Ответ на: комментарий от gaylord

Ради интереса сравни количество CVE в curl и количество CVE в reqwest.

Да я услышал этот тезис: ты сто раз уже его произнес. А теперь ты мне скажи, че курлом-то никто не пользуется? Про реквест твой я первый раз слышу, а вот курл у меня в проде и приносит тут всем деньги

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

Статистика ошеломляющего количества проблем говорить что нельзя

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

pihter ★★★★★
()
Ответ на: комментарий от liksys

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

Нужно учитывать потребности. Если человеку нужно будет работать с железом, то, действительно, лучше не задерживаться с Сишкой. Но если речь идёт чисто об этапе введения, на котором вы демонстрируете Питон, то Паскаль тоже может подойти. Питон создавался с оглядкой на потребности индустрии, которые он реализовал успешно, но на этапе первого ЯП это не всегда нужно. Например, неявная строгая типизация подходит тем, кто пишет рабочий код, претензий нет, но не тем, кто хочет научить типам другого человека.

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

И никто не говорит о том, что этот этап должен продолжаться долго.

Да.

Ну в ссылке, по-моему, предоставлен хороший повод не называть Си низкоуровневым. Например, скрытые кэши процессора.

Хотя вы и не говорили явно про работу с железом, поэтому я, возможно, зря поднял эту тему.

kaldeon
()
Ответ на: комментарий от kaldeon

Паскаль тоже может подойти

Паскаль объективно мертв и бесполезен. На нем почти нет живых развивающихся проектов, за единичными исключениями. Питон же обеспечивает возможности и для обучения, и реального применения, что очень полезно. У MIT курс обучения программированию построен на питоне. Я бы вообще включал задания в духе «решить проблему популярного проекта на гитхабе» в качестве курсовой работы для студентов 3-4 курса.

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

Я насмотрелся на студентов, которые «знают» дофига языков - и все по чуть-чуть, и в итоге писать не могут ни на чем. Подтверждение моих слов - курсы по программированию от компаний типа яндекса, и стажировки у них же. Это способ получить годных программистов, а не академщиков типа столярова, которые два маллока без утечки не в состоянии сделать.

Ну в ссылке, по-моему, предоставлен хороший повод не называть Си низкоуровневым.

Чел выдает желаемое за действительное. Совершенно не важно, что там у процессора или компилятора скрыто и наоптимизировано. Си - это буквально синтаксический сахар над ассемблером. Можно сделать простейший компилятор с тем же сишным синтаксисом, который будет напрямую транслировать код прямо в дубовый асм. Главное достоинство си (он же - недостаток для сложных проектов) - это прямая работа с памятью и указатели. На их примере ты можешь показать, что никаких строк и бигинтов на самом деле в машине нет, а есть только регионы памяти и инструкции для работы с ними. После того, как показать студенту, как в памяти конкатенируются строки, он быстро поймет, что в высокоуровневых языках тоже надо думать над оптимизацией, и «интерпретатор не стерпит».

У меня тут на столе лежит дисплей от боинга, в нем стоит полноценный Motorola 68k, на котором можно линукс запустить. Прошивка написана на ручном ассемблере, но с помощью Ghidra его можно дизассемблировать в сишный код, почистить, расковырять, что-нибудь поменять и собрать обратно. Так что да, сам по себе си - низкоуровневый. То, что в его компиляторах и процах понакручивали - совершенно не важно. Ты в любом случае работаешь с максимально возможным низким уровнем, ниже уже только ассемблерные вставки, которые делают только в крайних случаях.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от pihter

Про реквест твой я первый раз слышу, а вот курл у меня в проде и приносит тут всем деньги

Про curl твой впервые слышу, net/http приносит в моем проде деньги.

gaylord
()
Ответ на: комментарий от gaylord

Если мерять в LOC — все написано на жабе.

Ну на жабе, так на жабе

pihter ★★★★★
()
Ответ на: комментарий от liksys

Си - это буквально синтаксический сахар над ассемблером.

Открываю определение из википедии «это синтаксические возможности, применение которых не влияет на поведение программы».

static int a, b;

int main() {
  int *pa = &a, *pb = &b + 1;
  if (pa == pb) {
    printf("A\n");
  } 
  if ((long)pa == (long)pb) {
    printf("B\n");
  } 
  return 0;
}
$ ./a.out
B
И это не баг оптимизатора, а следование стандарту. Нельзя такое говорить про С, это язык с ограничениями которые позволяют проводить оптимизацию и генерировать низкоуровневый код, но макронабором для ассемблера его считать явно не стоит. Архитектура цели при компиляции влияет на поведение, но «архитектура стандартного С» влияет не меньше.

На их примере ты можешь показать, что никаких строк и бигинтов на самом деле в машине нет

А есть ли комплексные числа, _Decimal32? Ну это так, отступление, на С проще показать низкоуровневые возможности, согласен, можно и код того же CPython открыть.

Я бы вообще включал задания в духе «решить проблему популярного проекта на гитхабе» в качестве курсовой работы для студентов 3-4 курса.

Крайне хорошая идея.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 5)
Ответ на: комментарий от MOPKOBKA

И это не баг оптимизатора, а следование стандарту.

Всё правильно. И стандарт описывает, как твой синтаксический сахар должен работать. В случае си это так.

А есть ли комплексные числа, _Decimal32?

Не передергивай. Можно просто показать, как они реализованы.

liksys ★★★★
()
Ответ на: комментарий от liksys

Питон же обеспечивает возможности и для обучения

Не обеспечивает. Для изучения Питона уже нужно уметь программировать.

реального применения, что очень полезно.

Питон это в первую очередь библиотеки для решения задач в какой либо предметной области. Без них он ничто. Студент первого курса не знает своей предметной области и все эти библиотеки для него бесполезны.

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

Это уже прямое враньё или просто не компетентность.

sabacs
()
Ответ на: комментарий от liksys

Всё правильно. И стандарт описывает, как твой синтаксический сахар должен работать. В случае си это так.

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

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

Не передергивай. Можно просто показать, как они реализованы.

На Python тоже можно, там явно есть библиотеки для чтения сырой памяти. На С это просто будет понятнее.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от MOPKOBKA

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

Первоначальный вариант С действительно не далеко ушел от макрогенератора для ассемблера. Сейчас это уже не так.

sabacs
()
Ответ на: комментарий от kaldeon

Ну в ссылке, по-моему, предоставлен хороший повод не называть Си низкоуровневым. Например, скрытые кэши процессора.

Ну получается и ассемблер язык высокого уровня.

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

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от sabacs

Первоначальный вариант С не имел сложных типов, и поля в структурах были глобальные, из за чего не было нужды в union. Не думаю что стоит вспоминать что то до C89, если только не ради интересного дополнения конечно.

MOPKOBKA ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.