LINUX.ORG.RU

Thalassa 0.3.50

 , , thalassa,


0

4

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

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

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

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



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Такой нелепый позёр. Всеми силами он старается показать какой он Oldfag, нежит дряхлые и помойные технологии из 90-х.
Тут два варианта:
1. с трепетом вспоминает свою молодость веб-макаки и си-с-классами машиниста думая что вот это было круто. В таком случае, если он хочет развиваться ему стоит отбросить свои старые привычки, поднапрячься и наконец осилить что-то посвежее и вменяемее (нужно конечно понимать что не всё современное хорошое, без включения головы и развития вкуса не обойтись).
2. видимо он сознательно или подсознательно понимает что на поприще современных технологий он никто и ничто, а развиваться не хочется, хочется паразитировать, поэтому страшно боится что его запалят на этом.

Почему позёр?

Some brain-damaged webcoding addicts demonstrated me (by submitting comments with some related crap) the possibility to introduce JavaScript into user comments using tag attributes appeared in HTML5 such as onclick, onpageshow etc., and browsers happily ignore the fact the document they render has nothing to do with HTML5.

Увидев этот смешной высер сразу полез в исходники страницы и обнаружил чтобы вы подумали? там кривой доктайп.
Дед хотел похвастаться знанием xhtml, но поплыл уже самом начале указав Transitional, а ссылку при этом задав на xhtml1-strict.dtd. Случилась биполярочка. Раз такой невнимательный, где проверка через W3C Validator очень популярный в те времена? Слишком умный чтобы пользоваться? А он сразу же указал на ошибки. Но под маской героя дед на самом деле трусливый, слабый и неуверенный, иначе объяснить премодерацию на его ресурсе невозможно.
Кстати там ещё кое-что, он внезапно использует современный iframe при ссылке на strict без подключения модуля. В базе xhtml1 strict минимален и там нет iframe. Это фиаско!
Он или дальше w3schools не заглядывал, или возможно сначала сделал Strict как полагается, а когда увидел что iframe не заработал он просто поменял начало на Transitional не обратив внимание что сломал доктайп, из-за этого браузеры переключились в режим «Almost standards» отсюда у него и случилось «some brain-damaged webcoding». Это тоже довольно позорно при всех его понтах что он ниасилил работу с DTD.

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

Кстати там ещё кое-что, он внезапно использует современный iframe при ссылке на strict без подключения модуля. В базе xhtml1 strict минимален и там нет iframe. Это фиаско!

Он об этом писал, без iframe сделать у него сайт не получилось.

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

Тут вопрос про то, можно ли помещать такие программы в категорию Open Source на лоре. Я лично проблемы не вижу, хотя, конечно, я не модератор. Но категория не называется Free Software as defined by FSF.

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

Это работает (только что поставил и проверил).

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

Принцип наименьших привилегий — действительно, есть такое.

Хотя это ещё надо догадаться, что HTML — привилегия и вообще “script,” особенно если ты скуф из девяностых.

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

Какие то ультрадлинные ключи?

Просто программу генерации писал Столяров. Во всю мощь своего «таланта» :)

zabbal ★★★★★
()
Ответ на: комментарий от Man-o-Jar

Я имею ввиду, что чистота – это не та вещь, в которой нуждается HTML или его владелец. И современные технологии умеют генерировать чистый HTML-код.

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

Я не вижу ничего вредного в идеях Столярова относительно информационной безопасности

Это каких? Провафлить stored XSS в своём говнокоде и обозвать идиотами тех, кто ему её бесплатно продемонстрировал?

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

просто у него у самого уже 20 лет отключен ЖС

потому и проблемы с ЖС? каким ЖС? )))

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

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

У него здравое направление. Но его предложение «надо писать самому на C или обрезанной версии C++ абсолютно все» не выдерживает никакой критики.

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

Согласен, писать надо всё на Rust.

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

Но его предложение «надо писать самому на C или обрезанной версии C++ абсолютно все» не выдерживает никакой критики.

Ну тут я согласен, да.

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

Хотя это ещё надо догадаться, что HTML — привилегия и вообще “script,” особенно если ты скуф из девяностых.

Как раз это было на каждом шагу как только появился JS.

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

Ты его почему-то называешь инфоцыганом, хотя он всего лишь предлагает услугу индивидуального преподавания. То, что он делал много лет. В чём тут цыганство? Это просто безосновательное оскорбление человека и ничего более.

Да не особо:

Инфоцыга́не — неполиткорректный термин, которым называют продавцов информационных продуктов с неочевидной ценностью

Навыки что он преподает не имеют очевидной ценности. Я поддерживаю идею KISS, которую он пропагандирует. Но как только начинается какая-то конкретика, его «знания» не выдерживают проверку реальностью даже в такой простой вещи как генерация блога. А написать на заборе «нормально делай – нормально будет», может кто угодно. Важно чтобы преподаватель мог научить человека делать нормально. Этот преподаватель может научить человека делать только Thalassa CMS.

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

Почему не выдерживают? Как раз он свои знания подкрепляет практикой. Поэтому выдерживают.

Потому что он пишет плохой софт. Thalassa CMS выглядит не как проект профессора (или доцента, я уже не помню) CS, а как проект первокурсника, который был очень восхищен фильмом «Хакеры».

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

У нас полно примеров хорошего KISS софта: hugo, wireguard, cgit, senpai, goguma. Это проекты которые а) небольшие б) реально решают какие-то задачи в) проектировались и изначально программировались одним-двумя энтузиастами. И вот у этих людей есть чему учиться. Чему учиться у Столярова? Код с очень глупыми багами, без тестирования, без CI, без очевидно напрашивающихся библиотек. То есть буквально все антипаттерны, которые можно было бы собрать в таком простом проекте.

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

Нормально выглядит

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

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

У нас полно примеров хорошего KISS софта: hugo

Ты видимо уже им проникся, а зачем он нужен при наличии m4 или php?

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

То есть реально «зумеры переизобрели» © кривой шаблонизатор с кучей зависимостей прописанных в виде прямой ссылки на github на хипстерском язычке?

В чем KISS? Если не нравится m4, я еще предложил PHP.

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

То есть реально «зумеры переизобрели» © кривой шаблонизатор с кучей зависимостей прописанных в виде прямой ссылки на github на хипстерском язычке?

Да

В чем KISS? Если не нравится m4, я еще предложил PHP.

Так static же нужно.

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

PHP это шаблонизатор.

Если ты набросаешь на PHP все те обвязки, что есть в любом другом SSG (а их сотни, так-то), то будет то же самое.

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

У нас полно примеров хорошего KISS софта: hugo, wireguard, cgit, senpai, goguma. Это проекты которые а) небольшие б) реально решают какие-то задачи в) проектировались и изначально программировались одним-двумя энтузиастами. И вот у этих людей есть чему учиться.

Где можно скачать книги этих людей?

Чему учиться у Столярова?

Программированию.

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

Баги в любом коде есть, ничего глупого в этом баге нет. Библиотеки не нужны. Тестирование и CI до определённого масштаба тоже не особо нужны. Ну и ты понятия не имеешь, есть там тестирование и CI или нет, т.к. разработка ведётся в закрытом режиме.

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

А что за обвязки? Сомневаюсь что для типичного сайта на Hugo потребуется вообще что то писать кроме include и Makefile.

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

Где можно скачать книги этих людей?

Эти люди не пишут книги, они пишут софт.

Программированию.

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

Баги в любом коде есть, ничего глупого в этом баге нет. Библиотеки не нужны. Тестирование и CI до определённого масштаба тоже не особо нужны.

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

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

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

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

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

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

Сомневаюсь что для типичного сайта на Hugo потребуется вообще что то писать кроме include и Makefile.

Окей.

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

Словосочетание «открытые исходники» указывает на исходники, которые открытые. Открытые как дверь, окно, место для работы, что угодно может быть открытым, в том числе исходники.

Это из той же серии, что можно называть «free software» любой бесплатный софт. Можно, но терминологически неверно.

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

И что не так с кодом и архитектурой? Про то, что ошибка не глупая, я уже написал.

Он плохой, она плохая. Там C с классами в его худшем виде, значит код набит скрытыми root shell’ами, которые никто не видит просто потому что не смотрит. У него не сделаны базовые вещи вроде написания постов UI, зато сделана ручная база данных на основе файлов на файловой системе. Один комментарий – один файл. Все это можно было бы легко сделать даже на том же C, только взяв sqlite в качестве backend и нормальный UI на чистом HTML5 и CSS. Вместо этого мы получили какого-то уродца, который и не особо удобный, и не особо масштабируется, и не особо расширяется.

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

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

Эти люди не пишут книги, они пишут софт.

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

Но ведь он транслирует плохие паттерны: не используй библиотеки, пиши все на C.

Быть умеренным в использовании библиотек это хороший паттерн.

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

Я бы не стал брать такого программиста на работу.

Ну не бери, кто-то заставляет что-ли. Я бы тоже многих не стал брать на работу.

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

Он меня этим практикам не учил, я почти всему научился сам. Он мне преподавал С++. После чего (не обязательно вследствие, но всё же) я около года работал этим самым программистом на С++ за деньги, пройдя собеседование в две компании с первого раза. В последующем перешёл на Java, т.к. переехал в другой город, где C++ не был востребован, но это так, к слову.

Люди плохо пишут на C

От нажатия энтера до появления этого сообщения на моём экране выполнилось столько кода на С, что это утверждение потеряло всякий смысл. Ну плохо, и что? Как-то пишут. И как-то весь мир работает на С.

Тестирование нужно всегда, потому что люди плохо пишут код

Нет, тестирование не всегда нужно. Я больше скажу, я за 15 лет видел считанные проекты, в которых было адекватное тестирование. Из них наверное 90% те, которые я начинаю писать с нуля. Тем не менее все остальные проекты с нулём тестов, с багами на проде приносили и приносят деньги своим владельцам и эти владельцы не спешат срочно инвестировать в тестирование, даже когда очередной баг приносит проблемы.

Библиотеки нужны чтобы писать качественный код за разумное время

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

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

99.99% сайтов не пройдут банальную верификацию схемы. На вот прям этой странице 52 ошибки и ворнинга, в отличие от одного безобидного ворнинга на его сайте. Ты сам свои сайты проверяешь на эту банальную верификацию схемы?

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

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

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

Он транслирует не «не используй библиотеки», а не используй внешние зависимости.

Я посмотрел код талассы - там есть сторонние библиотеки (капча, md5 и другие), но они все сложены в подкаталог либ с исходным кодом и с пометкой, что модифицированы, чтобы приспособить к его системе.

Зато легко собирается одним make и без пук-сренька из кучи ошибок из-за недоустановленного чего-то или не той версии.

Стиль все на Си и даже в C++ вручную управлять памятью. Ну то такое. Индивидуальные особенности =)))

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

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

Если он не умеет программировать, как он может тебя этому научить?

Быть умеренным в использовании библиотек это хороший паттерн.

Да.

Писать всё на С он не может транслировать хотя бы потому, что сам пишет на С++.

Ещё как может. Вот его распределенная криптосеть:

Plain C (may be some C++ for non-infrastructure programs), no external dependencies, statically linked executables.

Ну плохо, и что?

Ну и то, что надо делать выводы. И люди их в общем-то делают, C становится очень нишевым языком, хотя 15 лет назад на нем все ещё пытались писать все подряд.

Как-то пишут.

И придумывают заборы от уязвимостей в виде stack protector’ов истатических анализаторов. Придумывают C++, придумываю Rust, придумывают Go. Много чего делают, лишь бы перестать писать на C. Даже Rust в ядро притащили, чтобы перестать писать на C.

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

Это все мифы и легенды. Практика показывает, что программист имеет органиченные когнитивные лимиты (и не речь не о том, что люди тупые). Человек устает, человек теряет мотивацию, человек спешит, у человек просто нет времени на нормально тестирование. Все кто пытался написать весь мир с нуля либо бросили, либо сделали это из рук вон плохо, либо сделали это слишком поздно.

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

безобидного

Там XSS был, лол. Безобидного.

Ты сам свои сайты проверяешь на эту банальную верификацию схемы?

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

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

Я посмотрел код талассы - там есть сторонние библиотеки (капча, md5 и другие), но они все сложены в подкаталог либ с исходным кодом и с пометкой, что модифицированы, чтобы приспособить к его системе.

По-моему это его же библиотеки, нет? В любом случае вендоринг криптографических примитивов это примерно то же самое, что писать их руками.

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

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

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

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

Он плохой, она плохая.

Это не аргументы, это субъективщина.

Там C с классами в его худшем виде

Опять же это субъективщина. С с классами не хуже С без классов. А на С без классов писали и пишут уйму кода.

значит код набит скрытыми root shell’ами, которые никто не видит просто потому что не смотрит

Ну набит и набит. Может и не набит. Линукс тоже набит скрытыми root shell’ами по этой логике, как и любая другая ОС. Весь гном набит скрытыми root shell-ами. systemd и 90% остального системного софта, работающего на любом сервере, написаны на С. Ничего, живём как-то.

У него не сделаны базовые вещи вроде написания постов UI, зато сделана ручная база данных на основе файлов на файловой системе. Один комментарий – один файл.

Что ему надо было, то и сделал. Не по твоему ТЗ же делал.

Все это можно было бы легко сделать даже на том же C, только взяв sqlite в качестве backend и нормальный UI на чистом HTML5 и CSS.

Может и можно было бы. Но не факт, что получилось бы лучше.

Вместо этого мы получили какого-то уродца, который и не особо удобный, и не особо масштабируется, и не особо расширяется.

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

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

Вот прям сидел и с утра до ночи тратил, ага.

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

взяв sqlite в качестве backend и нормальный UI на чистом HTML5 и CSS

Типун тебе! Зная уровень Столярова я на 146% уверен что в результате получился бы SQLi.

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

По-моему это его же библиотеки, нет?

Нет.

В любом случае вендоринг криптографических примитивов это примерно то же самое, что писать их руками.

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

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

Он мне преподавал С++

Теперь понятно почему ты элементарных вещей не понимаешь :-D

Нет, тестирование не всегда нужно.

И почему я не удивлён.

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

Это не аргументы, это субъективщина.

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

Опять же это субъективщина. С с классами не хуже С без классов. А на С без классов писали и пишут уйму кода.

Пишут, оно течет, ломается, взрывается и составляет огромный процент CVE. Это факты, подтвержденные. Зачем торговаться с реальностью-то?

Ну набит и набит.

Так мы говорим о качестве. Если код набит дырами, он не качественный :)

Что ему надо было, то и сделал. Не по твоему ТЗ же делал.

Бога ради. Но мы оцениваем его творчество с точки зреня подтверждения его заявлений на компетентность.

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

Это не показатель компетенций.

Вот прям сидел и с утра до ночи тратил, ага.

Сколько бы он ни тратил, это слишком много для результата.

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

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

Да, поэтому добавлять к этому ещё и незакрытые баги как минимум странно. Нормальные люди делают это через зависимости и чот ни у кого проблем нет. Один бедняга Столяров вынужден вендорить md5.

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

Ну набит и набит [root-шеллами]. Может и не набит.

Наверное, лучше не набивать?

Линукс тоже набит скрытыми root shell’ами

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

как и любая другая ОС.

Нет.

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

Чем SQLite лучше файлов? Genuinely interested.

Он решает все задачи поиска, которые рано или поздно полезут в системе комментариев.

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