LINUX.ORG.RU

Thalassa 0.3.50

 , , , thalassa,


0

4

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

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

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

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



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

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

Long long появился в с99

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

Андрей Викторович уже 2,5 года не преподаёт ни в какой формальной организации

А за что из ВУЗа выгнали?

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

Это право предоставляется мне владельцем данного ресурса

Права здесь совершенно ни при чем. Это был твой сознательный выбор.

Критика — это хорошо, плохо когда честного человека оскорбляют и принижают его заслуги по мотивам личного несогласия.

Это объективная критика.

Это ваше мнение.

Это реальность.

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

Я к сабджу никакого отношения не имею, возможно вы меня с кем-то попутаете.

Вопрос про long long я давно хочу задать автору сабджа, так как и в трёхтомнике про него тоже написано, но мне кажется просто он был в некоторых компиляторах до C99, что делает его использование для Андрея Викторовича допустимым.

Zeev
() автор топика
Ответ на: комментарий от PPP328

Он сам переехал в Черногорию. Никто никого не выгонял.

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

Это был твой сознательный выбор.

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

Это объективная критика.

«столяров — дурак», «ниосилил Си99/SLT/Си++» — объективная критика?

Это реальность.

Допустим.

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

был в некоторых компиляторах до C99

Это было gnu-расширение. Но как быть, ведь gnu-расширения тоже запрещены

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

На другого человека оформлена карта, не подделка, ничего такого

На мамку?

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

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

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

«столяров — дурак», «ниосилил Си99/SLT/Си++» — объективная критика?

Да. Ты вырвал слова из контекста. Если посмотреть их в контексте - все обосновано.

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

Оскорбления и апелляции к личности не могут быть обоснованными в конструктивной дисскусии.

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

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

liksys ★★★★
()

Спасибо вам, Андрей Викторович, за ваши книги и программы. А автору, который залил новость - отдельная благодарность. Теперь, благодаря «объективным» хейтерам, о шикарных книгах узнает больше людей :)

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

Дата регистрации: 24.01.25 21:31:54 EET

Очередная ипостась столярова хвалит сама себя.

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

Поддерживаю. Даже в «объективной» части комментариев чувствуется прямо таки ненависть к подходам Андрея Викторовича. Здесь нет критики, есть только протест.

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

Предлагаю ровно то, что делаю: подсвечиваю сущность деятельности столярова.

Ну то есть ты и есть главный его фанбой. Такой рекламы и за деньги не купишь.

Постойте, да ведь liksys — это просто дубль Столярова!

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

Что значит «достандартного»? Стандартный Паскаль - это то что делали борланд

Как заметил сам Андрей Викторович, Стандартный Паскаль - это то, что в природе не встречается.

Работа по стандартизации Паскаля началась в конце 1970-х. Никлаус Вирт формально не участвовал в работе комитета, но активно общался с участниками в рамках PUG.

https://www.standardpascaline.org/pug_newsletter_13.pdf#page=85

До принятия британского, международного и американского стандарта совместимости между реализациями способствовало неформальное общение в Pascal User’s Group, разработка тестов и т.п. Никаких Борландов тогда ещё не было.

Borland и её датская основа разрабатывали ПО для некоторых микрокомпьютеров, хотя и очень распространённых. В качестве образца для подражания выбрали в том числе коммерциализованную реализацию, разработанную в UCSD на основе одного из ранних вариантов «виртовских» Паскалей.

https://www.standardpascaline.org/pug_newsletter_15.pdf#page=106

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

Зачем? Весь форум восхваляет уже который день, я даже зарегистрироваться решил :)

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

неси сюда мой код, с которого ты покринжевал

1 2 3

Книги у вас, Андрей Викторович, конечно интересные, но в многопоток и синхронизацию вы совсем не умеете.

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

в многопоток и синхронизацию вы совсем не умеете

Смешно :) Это обычный слип, который используется для паузы перед повторной попыткой действия и никоакого отношения к синхронизации не имеет. Вобщем-то, совершенно обычная практика.

Попробуешь еще раз?

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

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

  • 1 - стоит рядом с флагом с говорящим названием slowdown и используется для искусственного замедления работы софтины, чтобы не греть камеру, когда в нее никто не смотрит, но все еще иметь актуальное изображение раз в секунду.

  • 2 - это простой сборщик мусора со счетчиком ссылок, хрестоматийная реализация.

  • 3 - а здесь слип перед повторением попытки обращения к устройству при сбое.

Но поскольку наш собеседник академист, то он просто бездумно ругается на слипы, как другой пациент выше ругался на goto. Ему осталось только выяснить, что внутри ядра есть примерно две с половиной тыщи вызовов msleep(), чтобы наступил полный катарсис.

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

Смешно

ещё как

совершенно обычная практика

для дилетантов

Попробуешь еще раз?

1 2

Андрей Викторович, мне за вас стыдно. Пожалуйста, прекращайте.

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

Андрей Викторович, мне за вас стыдно. Пожалуйста, прекращайте.

Ты не туда воюешь, он не Столяров. Ты Столяров.

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

для дилетантов

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

1 2

Опять выдернул знакомое слово? Использование setjmp/longjmp требуется библиотекой libjpeg как способ обработки ошибок, так что не ко мне претензии.

Попробуй еще раз, на этот раз с контекстом.

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

требуется библиотекой libjpeg

Нет. Ты просто скопировал код примера не подумав.

Попробуй еще раз

1 2 3

На сегодня cringe overload. Если нужна обнимашка – просто скажи. Сладких снов.

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

Нет. Ты просто скопировал код примера не подумав.

Да что ты говоришь! Я тащемта документацию прочитал, в отличие от тебя.

На сегодня cringe overload.

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

В общем, ты просто очередной балабол, громко что-то заявлявший, а потом слившийся, когда дело дошло до объяснений.

Ну а если ты столяров, то с квалификацией у тебя все еще хуже, чем я считал.

Сладких снов <3

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

Это всё занимательная история, но, тем не менее, не стоит упорно игнорировать реальное положение дел: в 90-х слово Паскаль означало Тубро-Паскаль фирмы Борланд, за крайне редкими исключениями, затем появился Дельфи и fpc, оба - наследники именно той версии языка. В исторических бумажках может быть написано что угодно, но реальное положение дел очевидно важнее.

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

Собственно, о чем я и говорю. Он выдернул глобальную переменную с volatile из контекста, и начал гыгыкать, как дурачок. Факт того, что она используется для канонической обработки SIGTERM и других сигналов, и используется только в этом сишном файле, был проигнорирован. Это же код читать надо. А он у нас не читатель, он писатель.

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

чувствуется прямо таки ненависть к подходам Андрея Викторовича.

Столяров (или его подхалим, спамящий тут), тебе прям остро необходимо несколько твинков, чтобы самому себе поддакивать? Кого ты пытаешься обмануть, с сегодняшней-то датой регистрации?

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

показал на пачку знакомых тебе слов

абсолютно ничего не прокомментировал

уговорил, перемещусь на доступный тебе уровень

лол кек

Кринж с твоей клоунады

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

Почитай на досуге определение слова «спам» (у Столярова информация и на эту тему есть кстати xD). Встречный вопрос, а тебе прям остро необходимо делать безосновательные выпады? Не думал, что челику с гитхаба будет настолько тяжело принять существование годной книжки по проге для начинающих.

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

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

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

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

По ссылке «кек» я нашёл символьный массив фиксированной длины, и что? Он же потом заполняется функцией с ограничением.

Другое дело, что в таких случаях лучше, конечно, писать не 1024 и 1023, а объявить в одном месте какой-нибудь MAX_CHAR_BUF и ссылаться потом везде на него.

Последующую ветку я, не обессудьте снёс целиком (скора не снимал никому), потому, что она целиком состояла из комментариев «нет, ты» на полторы страницы.

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

Последующую ветку я, не обессудьте снёс целиком, потому, что она целиком состояла из комментариев «нет, ты» на полторы страницы.

Благодарю.

Другое дело, что в таких случаях лучше, конечно, писать не 1024 и 1023, а объявить в одном месте какой-нибудь MAX_CHAR_BUF и ссылаться потом везде на него.

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

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

Это уже было наиболее безобидное замечание. Верно. Имелось ввиду, например, snprintf(buf, sizeof(buf), fmt, …) во-первых. А во-вторых там повсюду обявляется buf[1024 / 128 / 32], а в snprintf передаётся 1023, 127, 31 хотя эта функция сама учитывает терминирующий 0.

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

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

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

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

Итого, это просто приемы из опыта, чтобы не делать ошибок. Best practice, как говорится. Интересно, что ты почему-то этого не понял, хотя видел макрос US_SNPRINTF, параноидальные ассерты на каждый чих, запрет на сборку без NDEBUG, const *const, вложенные блоки {} для ограничения скоупов и прочее.

С этим разобрались. Что-то еще? Не стесняйся, если ты готов вести цивилизованную дискуссию, я с радостью поделюсь с тобой опытом. Если сомневаешься в его эффективности, можешь запустить valgrind ./ustreamer и посмотреть на предмет утечек или ошибок памяти.

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

Столяров - ограниченный человек. Сбивает с толку, то что область его ограниченных познаний находится за пределами заний обывателя и покрывает основы UNIX и высшую математику. Его навыки уже даже в рамках программирования не распространяется за пределы инструментария 30 летней давности. От сюда возникает коллизия, вроде человек «прошареный», а на практике ничего кроме поверхностого ознакомления с предметом не знает.

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

По радикализму Столяров это типичный представитель UNIX субкультуры:

Буквально подобный hatespeach воспринимают единицы, которые потом заполняет форумы контентом. Большинство разработчиков имеют в виду «хорошо бы так», а на практике продолжают писать на Python и JS. Потому что быстрей и удобней.

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

Кто-то ведется, становится пламенным фанбоем. Все же это единицы среди единиц. Большинство или просто не заметит, или скажет «вау круто, вы трушники» и пойдет по своим делам дальше.

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

Годное емкое описание.

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

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

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

А вам батенька к доктору бы не мешало обратиться.

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

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

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

А вам батенька к доктору бы не мешало обратиться.

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

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

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

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

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

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

Вот и поговорите со своим доктором, дорогой.

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

Ну выступи ещё против учителей в школах и воспитателей в садах. Очень поможешь делу. Учебник свой не пиши, не надо, это ведь

Но это не входит в сферу моих интересов.

А регистранта послушай, если к сторонней помощи прибегнуть не хочешь, то хоть себе ответь, откуда у тебя мысли о таком «всемогуществе» чтоб решать кого студентам слушать, кто калечит умы и т. д. Планета Земля не замрёт на месте без твоего участия? Не?

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

запрет на сборку без NDEBUG

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

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

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

Лучше тогда избегать чисел совсем!

#define xsprintf (BUF, ...) 
{
  /* Это должен быть массив */
  static_assert (sizearr (BUF) > 1);
  int count = snprintf (BUF, sizeof (BUF), __VA_ARGS__);
  
  /* Обрезанный путь может привести к серьезным проблемам */
  my_assert (count > 0 && count < sizeof (BUF));
}

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