Потуги
На лоре родилось отребье(которое я в говно макал множество раз) и начало вещать про какие-то маня-победы говнаскеля.Вот потуги. Кому лень читать я перескажу. Бездарность где-то взяла древний wc на псевдосишке и начала с ним соревноваться. Так же говорит, что “я специально взяла говно - есть лучше”. Возникают вопросы.
- Почему отребье всегда пытается соревноваться с дерьмом и почему в одном случае оно пытается что-то оптимизировать, хотя как на сишке(псевдо) берётся рядовое говно без капли оптимизаций?
- Почему отребье всегда врёт? Почему она врёт, что в псевдоси-версии есть какие-то оптимизации, когда их там нет?
- Почему говно не собрано вместе и не показана программа полностью? Почему отребье показывает какие-то куски и забалтывает?
- Я говно и не могу соревноваться с лучшими. Я знаю своё место - место моё доедать объедки и сражаться с инвалидами.
- Я не могу не врать. Допустим, сишная(псевдо) версия на 80% состоит из той логики, которой попросту нету в хаскель-говне. На каком основании плебей называет это портянкой, когда даже не смотря на упомянутое выше - кода там столько же?
Так же, я послал её собрать говно вместе и дать мне рабочую программу. Она не смогла этого сделать, испугалась и убежала. Далее набегали опущенные из модераторов и затёрли всё.
#include <stdio.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/mman.h>
#include <unistd.h>
#include <sys/stat.h>
size_t file_size(int fd) {
struct stat stat;
fstat(fd, &stat);
return stat.st_size;
}
const uint8_t is_space[256] = {[' '] = 1, ['\n'] = 1, ['\t'] = 1, ['\v'] = 1, ['\r'] = 1, ['\f'] = 1};
int main() {
size_t size = file_size(STDIN_FILENO);
const uint8_t * data = mmap(NULL, size + 4096, PROT_READ, MAP_PRIVATE|MAP_POPULATE, STDIN_FILENO, 0);
typeof(data) it = data, end = data + size;
size_t linect = 0, wordct = 0;
while(it < (end - 1)) {
wordct += (!!is_space[*it] & !is_space[*(it + 1)]);
linect += *it++ == '\n';
}
if(it < end) linect += *it++ == '\n';
fprintf(stderr, "%lu, %lu, %lu\n", linect, wordct, size);
}
Ну и 20 строк сишки(реально 10), которые в говне валяют эти потуги. Никаких оптимизаций тут нет, но они и не нужны.
максимальный лайк, как всегда по делу и прекрасно.
ОтветитьУдалитьp.s. жаль что на лоропараше нельзя удалённые читать анонимно, потому что не вижу смысла регистрироваться, чтобы спорить с культистами.
#создаем файл с размером кратным 4096
ОтветитьУдалить$ dd if=/dev/urandom of=test count=40960 bs=1
$ ./mmap-stdio < test
Bus error (core dumped)
Действительно. Починю как смогу, хотя зачем - оно ничего не изменит.
УдалитьЗатем что ты рукожоп
Удалить>>Затем что ты рукожоп
УдалитьНет, клоун. Меня попросту не волнует говно бездарное для плебеев.
/dev/urandom perl -CO -ne '
УдалитьBEGIN{$/=\3}
no warnings "utf8";
$c = unpack("L>","\0$_") * 0x10f800 >> 24;
$c += 0x800 if $c >= 0xd800;
$c = chr $c;
print $c if $c =~ /[\p{Space}\p{Graph}]/ && $c !~ /\p{Co}/
для вывода валидных отображаемых и пробельных символов юникода. То, что ты там генеришь это вообще не текст, а бинарь.
> То, что ты там генеришь это вообще не текст, а бинарь.
УдалитьКакая разница? Пойнт был в том, что mmap()-ить stdin не так просто (и для портабельности лучше вообще так не делать). Посмотрим, как Царь это починит (если починит)
>>Какая разница? Пойнт был в том, что mmap()-ить stdin не так просто (и для портабельности лучше вообще так не делать). Посмотрим, как Царь это починит (если починит)
УдалитьКлоун - ты обделался. Никакого mmap"а stdin там нет. Там есть mmap файла. Давай я тебе помогу. Когда ты пишешь prog < file, то stdin попросту подменяется этим файлом. Так же, меня не интересует какая-либо портабельность, как и сишку в целом. Существует только одна ОС и одно окружение. Всё остальное - для идиотов, либо домохозяек. Ни первое, ни второе меня не волнуют.
К чему и зачем ты несёшь эту херню - мне неведомо. В данном случае проблемой является то, что оно читает на +1 байт. И падает оно именно потому, что я специально там написал + 4096. Я попросту не привык жрать говно со всякими байтами говна, текстом и прочим мусором для инвалидов. Хотя дело даже не в этом.
Я даже там PROT_WRITE не убрал и mmap неправильно сконфигурировал. Потому что писал это в блокноте не особо смотря. Т.к. если бы я начал разбираться - я бы никогда этот пост не написал. Если не напишу в первые полчаса-час - не напишу, скорее всего, и через неделю.
>>Ты обделался. STDIN есть STDIN.
УдалитьНет, отребье. Но в целом, шлюха, пруфы каждой потуги, живо.
Царь, срочно патч в coreutils побежал показывать, сишку тут обогнали позорно. Сделаешь - будет много пользы.
ОтветитьУдалитьhttps://www.linux.org.ru/forum/development/15296697?cid=15297663
Ещё раз повторяю - твоё говно не является wc, а является говном. Оно не обладает нужным функционалом. К тому же мне(да и любому) абсолютно насрать на то, как там работает плебейский мусор.
УдалитьВот тут ты обосрался. cw полностью поддерживает все флаги wc плюс многопоточность. Эта утилита - строгое надмножество над wc, которое является поделкой сишных плебеев
Удалить>>Вот тут ты обосрался. cw полностью поддерживает все флаги wc плюс многопоточность.
УдалитьНет, отребье, очевидно.
>>Эта утилита - строгое надмножество над wc, которое является поделкой сишных плебеев
Отребье, тебе сообщили уже всё. Никого не интересует херня для плебеев типа wc и прочего говна. Нормальный человек этим не пользуется, а если и пользуется - ему насрать как это работает.
Запомни, маня, навсегда. Любой текст используют только идиоты. Текст имеет смысл только для текста, читаемого человеком. Очевидно, что всё остальное - ненужно.
Я тебе сказал, отребье, хочешь что-то блеять - бегом побежал заниматься реальными бенчмарками и реальной логикой, к которой предъявляются адекватные требования.
> Царь, срочно патч в coreutils побежал показывать
УдалитьВертухай, почему ты, словно трусливое отребье, боишься подписаться своим именем? Все же мы понимаем, что это ты, так как больше никому не нужны тупорылые комментарии отброса с лора, который бегаем за Царем с горящий жопой, мол "Когда блог на C++" и т.д. А как насчет самому взять и продемонстрировать свою силушку в оптимизациях и "слить" Царя, вместо того, чтобы, как затюканная шавка подсовывать чужой код, к которому ты не имеешь не малейшего отношения. Все же знают, что ты типичный web-программист, javascript там, react -- это все твое, но зачем же лезть к серьезным дядям в низкоуровневые оптимизации?
TLDR: Напиши свой код и сравнивай его с царским, вместо сравнения кода какого-то адепта и кода из 90-х.
> Любой текст используют только идиоты
ОтветитьУдалитьОдна идея лучше другой. Царь, ждем компилятор С++, который не использует текст как входные данные.
>>Одна идея лучше другой. Царь, ждем компилятор С++, который не использует текст как входные данные.
УдалитьОчередной мамкин гений, которайв жалких потугах пытается пастить куски, хотя там было написано:
>>Текст имеет смысл только для текста, читаемого человеком.
Очевидно, что компилятору С++ текст ненужен. Текст нужен для чтения человека. Любые же данные для обработки ввиде текста - признак бездарности. Никакие компиляторы с текстом не работают, в том числе и компилятор С++.
Хотя уже давно люди не читают/пишут текст. Если только ты не адепт блокнота. А так да, в моём супер-языке текста не будет. Ты молодец, что это понял. На базе этого говна ты ничего нормального не сделаешь, а компилятор без инкременталки мусор. А инкременталки над текстом у тебя никогда не будет. Где-то лет через 10 авось мы узрим этот супер-язык.
Вспомнились бинарные логи поттеринга.
УдалитьБенч бенчит IO, уже смешно. Где тут супер-пупер алгоритмы? Их нет. Тогда причем тут хацкель спросите вы ? ХЗ отвечу я.
ОтветитьУдалитьНе совсем, но ситуация простая. Хаскель-отребье, как и всякое другое отребье не может ничего родить. Оно может только воровать, врать и соревноваться с инвалидами. Очевидно, что с реальным си они соревноваться не могут. Поэтому удел отребья - соревноваться с каким-то древним говном, причём даже не имея нужного функционала.
УдалитьК тому же, нужно понимать, что никому никакие оптимизации в wc и прочем говне ненужны. А тем, кому они нужны - напишет себе то, что ему нужно. Поэтому отребье так любит брать подобную херню и кого-то побеждать, правда оппонент как всегда не явился.
Пойти и писать реальные бенчмарки, реальную логику - отребье не может. Соревноваться с лучшим - это не удел отребья.
Царь бенчит свое чсв.
Удалить1) Сначала он САМ ввязывается в этот бенч, пишет свое говно.
2) Потом когда ему приводят более быстрый wc на Rust, он кричит что это не wc. Цитирую
"Ещё раз повторяю - твоё говно не является wc, а является говном. Оно не обладает нужным функционалом.". По другому слова нельзя понять, он требует полноценный wc
3) Потом когда ему говорят что cw полностью включает весь функционал wc, он кричит что текст не нужен. Еще раз - текст (!!!), не нужен, чем подтверждает что он больной.
Если допустить что он дейсвительно считает текст ненужны, а не выкручивается от слива, то смотрим пункт 1. Он сам ввязался в бенч wc чтобы доказать как сишка сливает хаскель. Бгг
Можно написать царьбота.
while (true) {
Если не сливаешь - кричишь про безмозглых адептов.
Если сливаешь - кричишь что не нужно, задача не задача.
}
>>1) Сначала он САМ ввязывается в этот бенч, пишет свое говно.
УдалитьБегом, падаль, метнулась за пруфами. Где сам, кого и куда.
>>2) Потом когда ему приводят более быстрый wc на Rust, он кричит что это не wc. Цитирую
Бегом, падаль, метнулась за пруфами. Где и кто привёл более быстрый wc и далее по тексту.
>>"Ещё раз повторяю - твоё говно не является wc, а является говном. Оно не обладает нужным функционалом.". По другому слова нельзя понять, он требует полноценный wc
И что тебе тут неясно, шлюха? Очевидно, что никто, кроме бездарного биомусора, оптимизацией wc не занимается т.к. это никому ненужно.
Если ты хочешь сравнивать производительность - побежал сравнивать её в бенчмарках, либо в рамках той логики, которая требует производительности. wc её не требует. Это как высрать новый "быстрый текстовый редактор". Никому твой "быстрый текстовый редактор" ненужен, т.к. её никто не оценит.
>>Еще раз - текст (!!!), не нужен, чем подтверждает что он больной.
Да, шлюха, текст ненужен. Есть что возразить? Бегом побежало возражать, отребье.
>>Если допустить что он дейсвительно считает текст ненужны, а не выкручивается от слива, то смотрим пункт 1. Он сам ввязался в бенч wc чтобы доказать как сишка сливает хаскель. Бгг
Падаль опять врёт. Хаскель-шлюха начала это блеять. Я ответил. Я нигде не говорил, что этот код где-то оптимизирован и что это какой-то бенчмарк.
Моей задачей было доказать два тезиса. 1) хаскель-шлюха наврала с кол-вом строк. 2) хаскель-шлюха наврала с производительностью наивного wc.
Оба этих тезиса я доказал. Ты же, опущенное говно, опять пытаешься врать и что-то блеять.
>нужно понимать, что никому никакие оптимизации в wc и прочем говне ненужны.
УдалитьЯ хз как у тебя хватает бензина разжевывать вот это все этим инопланетянам. "Мы написали текстовый редактор, в который можно захерачивать терабайты текста с 1024 клавиатур, С говно!" Ппц что у людей в головах.
УдалитьЧто ты подразумеваешь под "текст не нужен"? В такой формулировке звучит как бред, раскрой мысль.
В чём бред? В том, что это не соотносится с тем, что впаривает тебе пропаганда? Текст не состоятелен - это аксиома. Не существует какой-либо адекватной предпосылки для использования текста, кроме бездарности. Текст нужен только для человека, но даже в этом контексте он несостоятелен. Никто в здравом уме не читает и не пишет текст.
УдалитьЕсли это сложно, то давай попроще. Любой текстовый формат - мусор. Любая обработка текста - мусор. Любые данные в текстовом виде - мусор. Текст, если мы говорим о строке - это транспортный уровень. Т.е. строка не как транспорт несостоятельна.
Если всё ещё сложно - просто приводи контр-тезисы. Выкатывай мне примеры того, где обработка текста и текст как формат состоятелен. Вне контекста легаси и "для человека".
"Текстовые форматы не нужны" — так бы сразу и сказал. Та формулирока была неоднозначной, вот я и переспросил.
УдалитьНе вижу с чем здесь спорить, все текстовые форматы априори для человека.
Удалить>>Не вижу с чем здесь спорить, все текстовые форматы априори для человека.
УдалитьЭто мусорный тезис пропаганда - он несостоятелен. Для примера давай возьмём "здесь". хттп нужно человеку? Нет. html нужен человеку? Нет. Весь текст здесь нужен человеку? Нет. Её не читает человек - его читает "машина".
Для человека это тогда, когда конечным потребителем является человек. И то это так же неправильное. Допустим, те же упомянутые выше логи. Кто логи производит? Машина. Кто логи будет читать? Машина. Не нужно рассказывать мне эти куллстори, что ты сам будешь читать даже мегабайты логов и разбираться в них.
Вот и получается, что логи никаким образом не должны быть текстовыми - там нет никакого человека. Текст - это лишь представление. Да, ты можешь воспринимать это так. Текст для хранения и прочих операций над данными не состоятелен.
Но даже как представление он несостоятелен. Вот возьмём тот же веб. Какой поехавший выберет смотреть текст, вместо смотреть инспектор? А никто. Потому что здесь явно видно различие и причины для несостоятельности текста.
Тоже самое и со всем остальным. Где ты хочешь писать/читать код - в блокноте, либо нет? Выбор очевиден, а почему? Потому что там не текстовое представление. Текст - это попросту элементы представления и то не текст, а строки.
Посмотри вокруг и попытайся найти текст. Везде, где ты его найдёшь - будет говно. А где не найдёшь - говна не будет. Всё просто.
>> Та формулирока была неоднозначной, вот я и переспросил.
УдалитьОна однозначна, правда не все понимают разницу между текстом и картинкой. Между данными и представлением данных. wc обрабатывает именно данные, а значит данными является текст. Это несостоятельно.
У меня уже был такой спор на лоре. Презираю ебаный WYSIWYG и любую аналогичную хуйню для дегенератов (привет метапрогу) , я хочу видеть данные такими как они есть, это и проще, т.е. безлишних сущностей, и универсальней. Да, где-то ты окажешься прав, но «текст — говно»— не аксиома.
Удалить>>Презираю ебаный WYSIWYG и любую аналогичную хуйню для дегенератов (привет метапрогу)
УдалитьПричём тут метапрог? Зачем ты несёшь херню вместо нормальных примеров? Это глупо. Почему я привожу тебе адекватные примеры, а ты их игнорируешь и приводишь какую-то херню нелепую?
>> я хочу видеть данные такими как они есть
Данные не в тексте. Читай бинарь - читай данные.
>>это и проще, т.е. безлишних сущностей, и универсальней.
Универсальность - критерий идиотов. Универсальность является критерием человека только тогда, когда она бесплатна. Это не твой случай.
>>Да, где-то ты окажешься прав, но «текст — говно»— не аксиома.
Аксиома. Текст - это представление. Текст не может быть данными. Ты уже выше признавал текст как данные - это уровень метапрога. Т.е. ты такой же метапрог только в другом плане. Тот не может подняться выше картиночек для идиотов и ты туда же. Правда у тебя не картиночки, а мусорный текст.
Ты не сможешь привести ни одного примера за текст. Единственное на что ты можешь уповать - это некая универсальность. Но это полное говно. Это аксиома.
Давай просто пример от любителей текста. "ааа, я могу с текстом работать в гите - всё круто, кукарекку", но это полная херня. Как только появляется реальность - ты ныряешь в дерьмо. Текст сам по себе произвольный, а значит любое твоё изменение, любой коммит может вообще ломать формат.
И сейчас уже для любого ясно, что работа с текстом - полная говно. Работа с тем же гитом - полное говно. В конечном итоге всё это обрастает средствами автоматизации, которые работают уже на уровне твоего формата.
И чем дальше - тем больше это будет развиваться. И ты уже это делаешь, только руками. Ты тратишь своё время, при этом получая говно.
> ты их игнорируешь
УдалитьНе игнорирую, я их принял и признал обоснованность твоей позиции.
> приводишь какую-то херню нелепую?
Это сведение к абсурду. Метапрог — тупейшая херня, цель котрой как раз уйти от текста. И что получится в итоге? Вместо няшного текстового языка, который ты можешь открыть абсолютно любым редактором, будет какая бинарная хреномуть, поддержку которой сначала нужно реализовать. А теперь представь, что под каждый кейс работы начали обмазывать бинарём. Появятся тысячи стандартов и велосипедов, всё это будет иметь множество несовместимых реализаций на разных языках. Мрак.
> Универсальность является критерием человека только тогда, когда она бесплатна
Подход к оценке может быть разным.
> Ты не сможешь привести ни одного примера за текст
Я пока не пытался. Возьмём HTTP , будь бинарным, не факт, что он бы влетел. Он туп как пробка и нагляден, любой вася может за день написать собственные сервер и клиент. Это и есть универсальность, которая идёт рука об руку с простотой.
Или те же логи. Начал я новый проект, к торому нет вменяемого ТЗ, задал формат от балды, ни с кем на берегу не договариваясь, ибо я даже не знаю, что там в итоге будет, и пишу себе без проблем. Я могу это прогрепать, разобрать регулярочкой, админы могут запихать это в ELK или куда им ещё в голову взбредёт это запихать. А потом я могу всё к чертям сломать, что не вызовет ни малейших проблем. Переломать бинарный формат безболезненно уже не получится.
Как ты относишься к markdown? — за что люблю его я: не нужен какой-то специальный редактор, где мне пришлось бы наживать на десятки дебильных кнопок или запоминать множество хоткеев, к тому же он читаем и в виде текста и в виде конечного представления. Разве это не удобно?
Понятно, что какой-нибудь Sixel — это бред, но если у тебя на входе текст и на выходе текст (тот же код, ты неизбежно будешь читать после написания), то зачем тебе какое-то промежуточное звено? Тебе всё равно текст придётся разбирать, чтобы в к этому промежуточному звену его привести. Не вижу смысла решать одни проблемы созданием других.
> под каждый кейс работы начали обмазывать бинарём
Удалитьfix: под каждый кейс работы с текстом его начали обмазывать бинарём.
>>Это сведение к абсурду. Метапрог — тупейшая херня, цель котрой как раз уйти от текста.
УдалитьНет. Никто никакой задачи "уйти от текста" не ставит. Ставится задача - уйти от текста как данных. В контексте же представления от текста уходят тогда, когда это имеет смысл. Метапрог - это порождение бездарности. У автора нету мотивации сделать лучше - у него есть мотивация "не осилил". Такая же мотивация у авторов всяких растов и прочего говна. Важна мотивация, а не действия.
>>Подход к оценке может быть разным.
За рамками "не смогли" - нет. Если ты не можешь купить не говно, то является ли это критерием того, что говно состоятельно? Нет. Следует ли из этого, что тебя это должно устраивать и к этому нужно стремиться? Нет. Проблема в той самой мотивации. Чем ты являешься, как ты мыслишь. Ты пытаешься оправдать своё текущее положение, либо нет.
>>Я пока не пытался. Возьмём HTTP , будь бинарным, не факт, что он бы влетел.
Там нечему взлетать.
>>Он туп как пробка и нагляден
Нет - это мусорное говно.
>>любой вася может за день написать собственные сервер и клиент. Это и есть универсальность, которая идёт рука об руку с простотой.
Нет, полная чушь. Откуда ты взял такую херню, что хттп-говно простое? Это не так. Никакой универсальности нет. Просто - это бинарь.
К тому же, даже сейчас хттп реализовать сложнее даже в рамках макаки. Хотя макака надрессирована на текст и все недоязычки заточены под обработку текста. А если же говорить о тогда, то тогда полная жопа.
Осознай, что текст говно прежде всего тем, что он несостоятелен. А значит, в рамках текста нужно хранить не только данные, но и их структуру. И нельзя описать структуру отдельно. Именно с этим связаны все проблемы парсинга и текста как такового. Именно поэтому генерация проще парсига.
>>Или те же логи. Начал я новый проект, к торому нет вменяемого ТЗ, задал формат от балды, ни с кем на берегу не договариваясь, ибо я даже не знаю, что там в итоге будет, и пишу себе без проблем. Я могу это прогрепать, разобрать регулярочкой, админы могут запихать это в ELK или куда им ещё в голову взбредёт это запихать. А потом я могу всё к чертям сломать, что не вызовет ни малейших проблем. Переломать бинарный формат безболезненно уже не получится.
Опять отсылка к тому, что обезьяна чего-то не может. Это не аргумент. Проблема в том, что с нормальными логами тебе ненужно ничего грепать, ваять какое-то говно. К тому же - ты ничего таким образом не добьёшься. Ты не осилишь даже грепнуть логи за вчера от часу до двух дня, условно.
Никакие бинарные логи не ломаются. Отсылка к "я не знаю что мне нужно" - тоже. Тебе никто не говорит о том, что ты обязан. Если ты прототипируешь, либо тебе нужно "лишь бы было" - никто тебе не запретит пожрать говна.
Но, если логи для тебя важны. Если для тебя важна работа с логами и прочее - текста у тебя не будет. Ещё раз повторю, что генерация текста не является проблемой. И именно потому, что она не является проблемой - просто писать текстовые логи. Проблемы начинаются с "читать".
>>Как ты относишься к markdown? — за что люблю его я: не нужен какой-то специальный редактор, где мне пришлось бы наживать на десятки дебильных кнопок или запоминать множество хоткеев, к тому же он читаем и в виде текста и в виде конечного представления. Разве это не удобно?
УдалитьПотуги уровня "мне ненужен специальный редактор" несостоятельны. Очевидно, что всегда можно пожрать говна, но зачем? Редактор тебе нужен.
По поводу удобно. У тебя просто забрали убогий хмл/хтмл, который тебе впаривают за альтернативу. Для поехавших всё это так же читаемо. И у тебя та же болезнь.
Ты неправильно всё понимаешь. Проблема текста не в самом тексте. Тебе никто не запрещает форматировать текст текстом, как и вводить текст. Проблема в том, что текст хранить ненужно - это говно.
На тему убогости ввода текста/текстового представления. Я пишу md в ghostwriter и там реализовано какое-то подобие семантического ввода/отображения. Возьми и посмотри и сравни это с блокнотом. Эта та причина - почему даже текстовое представление говно.
>>Понятно, что какой-нибудь Sixel — это бред, но если у тебя на входе текст и на выходе текст (тот же код, ты неизбежно будешь читать после написания), то зачем тебе какое-то промежуточное звено? Тебе всё равно текст придётся разбирать, чтобы в к этому промежуточному звену его привести. Не вижу смысла решать одни проблемы созданием других.
У тебя нету на входе/выходе текста. Программа - это не текст. Текст - это её текстовое представление, мусорное и убогое.
Причины я тебе уже назвал. Ты никак не можешь отличить в рамках текста код от мусора. Подобных проблем тысячи.
Если же ты будешь работать с нормальным представлением, то у тебя никогда не будет никаких проблем. Ты не сможешь сломать код. У тебя будет семантический поиск, семантическая замена. Ты не будешь жрать говно. Ты не будешь читать говно.
Ты код можешь писать в том стиле, который тебе удобен. Читать в том, в котором хочешь. Преобразовывать во что хочешь.
Сейчас же всё это делается костылями. Костыли для форматирования, валидации и прочего при коммите. Иначе у тебя вместо кода будет мусор. Ты занимаешься хернёй, тратишь время на всё это(если оно у тебя не автоматизировано). Постоянные мусорные опечатки в патчах, коммитах.
Медленная компиляция, отсутствии инкрменталки, отсутствии нормального семантического инструментария. Всё это - проявления текста и его адептов.
Ты проигнорировал аргумент про кучу стандартов и несчётное количество несовместимых реализаций. В идеальном мире ты был бы абсолютно прав, но на практике всё обосрут, тогда как текст, он и в африке текст.
Удалить> Откуда ты взял такую херню, что хттп-говно простое? Это не так
Речь ведь о времени, когда он взлетел, про 1.0 то есть. Ты же не будешь отрицать, что примитивные сервер и клиент можно нафигачить ну очень быстро. Причём тебе понадобится только пример и буквально пара абзацев документации.
>>Ты проигнорировал аргумент про кучу стандартов и несчётное количество несовместимых реализаций
УдалитьГде там этот аргумент? Я не вижу его.
>>В идеальном мире ты был бы абсолютно прав, но на практике всё обосрут, тогда как текст, он и в африке текст.
Ну волнуйся, дело в том, что говно есть только там, где требования никакие. Как только требования повышаются - текст, бездарности и прочие их свойства - исчезают. Это объективный процесс никак не связанный идеальным. Он как раз напрямую связан с практикой. Только ты не путай практику говна с практикой.
>>Речь ведь о времени, когда он взлетел, про 1.0 то есть.
Никуда он не взлетал - тебе уже сообщили. Ты несёшь херню нелепую. Это как кукарекать, что взлетел осёл, хтмл и прочее говно. Нет - оно просто идёт прицепом к области, которая взлетела.
>> Ты же не будешь отрицать, что примитивные сервер и клиент можно нафигачить ну очень быстро.
Я отвечал на эту чушь. Даже сейчас говнохттп сложнее реализовать даже на недоязычках заточенных на работу с текстом и для обезьян, которые натасканы на текст. Тогда же всё было ещё хуже.
>>Причём тебе понадобится только пример и буквально пара абзацев документации.
Нет, очевидно. Пример и пара абзацев документации хватит для реализации бинарного протокола.
Я не понимаю зачем вы продолжаете ретранслировать мусорные тезисы пропаганды про взлетел, проще. Это же полная чушь, очевидно. Никто никуда не взлетал. Когда ты сидишь в самолёте - взлетаешь не ты, а самолёт и на твоём месте может быть кто угодно. http - это пассажир, а не самолёт. Текстовое говно всегда мусор, всегда требует километров доков и километров багов и реализаций.
Конкретно про HTTP я не говорил, что он проще чего либо, потому, что его просто не с чем сравнивать, у него нет эквивалентных альтенатив. Сравнивать с бинарным HTTP/2.0 нет смысла, ибо он заведомо сложнее из-за новых сущностей (фреймы, стримы, проча дабуда). Я сказал, что он простой безотносительно какой-то бинарной альтернативы (которой нет).
УдалитьИ про то, что реализовтаь бинарный протокол сложнее я тоже не говорю, я говорю, что текст проще для восприятия, обезьяна с меньшей вероятностью с ним облажается, а требования к документации снижаются.
Я работиал как с обработкой данных, так и с обезьянами, так что вот пруфы из реального опыта:
1. Реализовывал я обработку метаданных для одного формата. В доке поле структуры было подписано просто как "таймстамп", ну я посмотрел на данные, на вид обычный int32. Казалось бы, очевидный юникстайм, да? А хуй там был, даты не сходились, это оказался delphi TDateTime. Будь то JSON и ISO 8601, проблем бы не было.
2. Реализовывал обработку другого формата, точнее двух, старой версии и обновлённой, там разрабы вообще конченые ушлёпки были. Первым нужно было реализовать новый, ибо под старый обработчик уже был и он абы как работал. Документация, конечно же, опять всратая, каким-то уебанским языком там написано не пойми что, я понял, что это литл-эндиан. Разобрал, печатаю в человекочитаемом видео, получаю в том единственно поле, которое есть возможно на глаз валилировать валидировать, получаю каку-то херню, а в поле, где указана версия формата в hex, всё в порядке, все остальные поля — char, но ним ничего не понятно. Ну, разбираю как будто это биг эндиан, поле норм, на глаз валидируется, а версия оказывается перевёрнутой. Недоумеваю, решаю, что просто в доку версию неправильно записали (она там так же в hex). Написал разработчикам, там все тупые, говорят типа да, биг-эндиан, всё заебись. Реализовываю, отдаю на тестирование. Иду пилить следующий — старый — формат. И, блядь, там то самое валидируемое на глаз поле и ещё одно уже явно литл-эндиан. Оказалось, что у этих дебилов в обновлённом формате реально новые поля в бинг-эндиан, а старые в литл-эндиан. Ну, не тупой ли биомусор это писал? JSON опять бы зарешал, тудь хоть они трижды такими тупыми.
3. Дал пиздюку почитать реализацию бинарного протокола и документацию к нему, чтобы он понимал с чем работает. Он, конечно же, нихрена не понял. Ну, не работал человек с байтами, нет у него практики и сишку не знает. А так, достаточно толковый разраб был, свою работу выполнял, потихоньку развивался. И дохрена таких.
Опять же, не идеальный мир, потому и неидеальный инструмент (текст) в нём часто лучше работает.
>>Конкретно про HTTP я не говорил, что он проще чего либо, потому, что его просто не с чем сравнивать, у него нет эквивалентных альтенатив.
УдалитьТы запутался и поплыл. Я говорил не о том, что ты напридумывал. Я говорил о том, что бинарный протокол с функционалом "http1.0" будет проще. Твои рассуждения про проще несостоятельны, про какие-то отсылки к альтернативам - тоже.
>>я говорю, что текст проще для восприятия, обезьяна с меньшей вероятностью с ним облажается, а требования к документации снижаются.
Основания в чём? Бинарь куда строже, проще. Доков нужно меньше, реализации меньше, ошибок меньше.
>>1. Реализовывал я обработку метаданных для одного формата. В доке поле структуры было подписано просто как "таймстамп", ну я посмотрел на данные, на вид обычный int32.
Это не описания бинарного протокола - тебя обманули. Никаких "таймстамп" в принципе быть не может.
>>Будь то JSON и ISO 8601, проблем бы не было.
С какой стати ты в одном случае ссылаешься на стандарты, а в другом на говно? Тебе точно так же обезьяна напишет "таймстамп". Как тебе это помогло? Никак.
>>JSON опять бы зарешал, тудь хоть они трижды такими тупыми.
Каким образом? Никаким. Тебе точно так могут менять всё что захотят. Структуру документа, формат ключей и прочее.
>>Он, конечно же, нихрена не понял. Ну, не работал человек с байтами, нет у него практики и сишку не знает.
У тебя какое-то восприятие странное. Во-первых бинарь бинарю рознь. То, что обезьяна какая-то наваяла протокол - это не значит, что это что-то состоятельное. Это может быть нихрена не бинарь вообще. Т.е. ты мог вполне ему дать говно вместо бинаря и проблема не в бинаре, а в говне.
Во-вторых фундаментальная дыра в рассуждении. Ты ему давал эквивалентный текстовый протокол? Как ты узнал, что он не понял именно из-за бинаря?
>>Опять же, не идеальный мир, потому и неидеальный инструмент (текст) в нём часто лучше работает.
Нету никакого лучше. Ты опять пытаешься манипулировать. Как максимум ты сообщил о том, что бездарная обезьяна с бездарной псевдобинарной отрыжкой ничего не может. Но это не значит, что текст работает лучше. Это значит, что обезьяна "работает" лучше.
Проблемы в твоей логике я уже описал. Повторю. "бинарь бинарю рознь", "ты никак не идентифицировал проблему именно в бинаре", "обезьяна "работает" лучше никак не означает, что то, чем она работает лучше и что результаты её работы лучше".
К тому же, нужно понимать, что обезьяну натаскивали на текст и ты этому способствуешь. С чего ты решил, что все маня-свойства приписываемые тобою к тексту - это свойства именно текста, а натаскивания и привычки обезьяны? С чего ты решил, что если обезьяну учить бинарю, то это не даст того же, если не больше?
> Я говорил о том, что бинарный протокол с функционалом "http1.0" будет проще
УдалитьДаже если ты об это подумал, ты этого не сказал. У тебя половина срачей образуется и потом заходит в тупик потому, что никто не одупляет, что ты имеешь ввиду. Оппоненты, врочем, обычно и не пытаются.
> Твои рассуждения про проще несостоятельны
Опять же, их не было, "проще" — это относительно, я ни с чем не сравнивал. Я сказал, не "проще", а "простой".
> Основания в чём? Бинарь куда строже, проще. Доков нужно меньше, реализации меньше, ошибок меньше
С текстом без доки вообще можно обойтись, достаточно примера. Это говно, конечно, но по факту так делают. Работая с мудаками ни так, ни этак доки нормальной не получишь, а в случае с текстом это не такая большая проблема, ибо те же JSON и XML и так уже стандартизированы.
> Это не описания бинарного протокола
Нет, это оно самое за отсутсвием иного. Хватить строить маню и вернись в реальный мир, в реальном мире документация говно, форматы говно и даже стандарты говно.
> С какой стати ты в одном случае ссылаешься на стандарты, а в другом на говно?
С той, что в одном случае универсальные стандарты есть, а с бинарём у тебя разве что протобаф. Который жирный, пиздец сложный и не стандартизирован, потому его не берут и пилят велосипеды.
> Тебе точно так же обезьяна напишет "таймстамп". Как тебе это помогло?
Так на глаз было бы всё очевидно.
> Тебе точно так могут менять всё что захотят. Структуру документа, формат ключей и прочее
Опять же, я бы это сразу увидел, ибо наглядно. А в данном случае оставалось только за голову хвататься и угадывать, чо за херня происходит.
> Ты ему давал эквивалентный текстовый протокол? Как ты узнал, что он не понял именно из-за бинаря?
Эквивалентный нет, но там ничего сложного и не было вообще. С текстом у него прежде проблем не возникало.
> К тому же, нужно понимать, что обезьяну натаскивали на текст
Понятно, что если бы он изначально имел дело с бинарями, такой проблемы бы не испытал, но ничего не поделать, сейчас большинство таких.
>>Опять же, их не было, "проще" — это относительно, я ни с чем не сравнивал. Я сказал, не "проще", а "простой".
УдалитьЭто не имеет смысла. К тому же контекст про сравнение. Ты наделял именно хттп тем, что он может потому что текстовый, а значит простой. Всё это неверно.
>>С текстом без доки вообще можно обойтись, достаточно примера. Это говно, конечно, но по факту так делают. Работая с мудаками ни так, ни этак доки нормальной не получишь, а в случае с текстом это не такая большая проблема, ибо те же JSON и XML и так уже стандартизированы.
Посмотреть ты можешь и на бинарь. К тому же - json не описывает формат даты. Ты опять зашел в тупик. Это тебе никак не поможет.
>>Нет, это оно самое за отсутсвием иного. Хватить строить маню и вернись в реальный мир, в реальном мире документация говно, форматы говно и даже стандарты говно.
Причём тут говно? Тебе не говорят о том, что она говна. Тебе сообщают, что у тебя вообще не было никакой документации. Дока описывает формат поля, а не назначение.
>>С той, что в одном случае универсальные стандарты есть, а с бинарём у тебя разве что протобаф. Который жирный, пиздец сложный и не стандартизирован, потому его не берут и пилят велосипеды.
Он не сложнее бинаря. К тому же - тебе ненужно его брать. У тебя вообще какая-то шиза генерируется. А говнон ещё сложнее, а хмл ещё сложнее. Любой текст жирнее протобафа. Дальше что? К чему и зачем ты это пишешь? Это же тотальная херня.
А не берут протобаф не потому, что он жирный и прочее. А потому что он универсальный.
>>Так на глаз было бы всё очевидно.
Чем очевидно? Если у тебя один пример однозначно идентифицирует формат, то абсолютно неважно какой он. Текстовый, либо нет. К тому же то, что ты увидел дату в одном формате не значит, что завтра она помеянется, либо что формат там один.
>>Опять же, я бы это сразу увидел, ибо наглядно. А в данном случае оставалось только за голову хвататься и угадывать, чо за херня происходит.
Чем наглядно? И как бы ты это увидел?
Я не понимаю тебя. Текстовое говно с произвольной структурой - это полная чушь. Это понимает даже самая тупая обезьяна и везде даже в вебе говна от неё уходят. Это никак не может быть нормальным и никак не может быть проще. Посмотреть тебе никак не поможет.
В банаре всё тоже самое, только ты защищён(даже в той клоаке о которой ты рассказывал) хотя-бы от того, что структура и формат данных поменяется. Т.к. обезьяна не сможет тебе вместо строки отправить число, либо наоборот, либо ещё что-то.
>>Эквивалентный нет, но там ничего сложного и не было вообще. С текстом у него прежде проблем не возникало.
Опять же - это не ответ. Скорее всего тот "Текст" - это хттп, либо ещё какое дерьмо на которое обезьян натаскивают. Нужно дать два неизвестных и уникальных протокола дать - тогда это будет иметь смысл.
Зачем спорить с Царём, если он прав? Текст - это и правда - говно. Любое банальное число надо парсить и уже с этим можно обосраться великим множеством способов, это очевидно. Очевидно, также, что это будет намного тормозней, чем прочитать 4 байта. Да, текст говно, он бессмыслен, его читает машина, его даже минифицируют для этого. Существует всё это только из-за жопорукости и шиндовс-вея, ибо любой попсовый текстовый формат без спеки разобрать можно относительно легко, а блоб без спеки и сорцов - это уже занятны реверс, особенно, если там какой-то извращенный парсер. В идеальном варианте да, текст сосёт.
УдалитьНу а срачи заходят в тупик у тех, кто любит поспорить сам с собой и Царь тут не причём, просто при его виде они быстро уходят в себя со страха ХD
> Любой текст жирнее протобафа
УдалитьНе, не, я про жирность формата говорил, что из контекста, вроде бы, понятно.
> не значит, что завтра она помеянется, либо что формат там один
Тогда это уже совсем говноеды, тут нет смысла код писать, только расстрел поможет.
> Чем наглядно? И как бы ты это увидел?
Если мне вместо доки подсунули пример, сказав, что формат вот такой. Наглядно оно тем, что в json перечислены все поля, а типы данных заданы стандартом. С другой стороны, конечно, будь это бинарь, уёбкам пришлось бы его описать, примером бы они не отделались (но, опять же, качество описания под вопросом).
> Текстовое говно с произвольной структурой
Почему произвольной-то? Контракт зафиксировали и всё, а в коде оно банально валидируется. Ты можешь и рандомное говно из /dev/urandom вместо бинарной структуры присылать, если на то пошло.
-- Анонимный20 октября 2019 г., 21:30
Удалить> В идеальном варианте да, текст сосёт
Так я и говорю о том, что мир не идеален и менно по-этому текст иногда рулит.
>>Не, не, я про жирность формата говорил, что из контекста, вроде бы, понятно.
УдалитьИ? http жирнее, да всё текстовое говно жирнее. Дальше что? Тебя кто-то заставляет реализовывать протобаф? Или каждая макака хттп пишет руками и рассуждает о его жирности?
>>Тогда это уже совсем говноеды, тут нет смысла код писать, только расстрел поможет.
Это норма для текстового говна. Это один из критериев его "крутости" по методичке идиотов.
>>Если мне вместо доки подсунули пример, сказав, что формат вот такой. Наглядно оно тем, что в json перечислены все поля, а типы данных заданы стандартом. С другой стороны, конечно, будь это бинарь, уёбкам пришлось бы его описать, примером бы они не отделались (но, опять же, качество описания под вопросом).
Какой формат? Я тебе дал дату в формате "говно", но кто тебе сказал, что там действительно "говно"? Вдруг это просто часть чего-то большего, либо оно должно принимать несколько форматов даты?
>>Почему произвольной-то? Контракт зафиксировали и всё, а в коде оно банально валидируется.
Куда зафиксирован? Почему у тебя бинарь тогда не зафиксирован?
>>Ты можешь и рандомное говно из /dev/urandom вместо бинарной структуры присылать, если на то пошло.
Не можешь. Допустим, тот же протобаф имеет статический формат записей и тебе нужно их явно менять. Точно так же нужно переписывать тег, либо что ты там наваяешь.
В ситуации же с говносоном и прочим хмл-говном у тебя ничего нет. Ты можешь прикручивать схемы и прочую дристню и только тогда у тебя что-то там будет. Правда я сомневаюсь, что паскаль-обезьяны будут использовать схемы. А если будут использовать для жсона - осилят использовать и для протобафа, причём в протобафе они куда лучше.
К тому же, что у тебя за бинари такие, которые можно описать говносоном? Там нету нормальных чисел, нету блобов. Ничего нету.
У Царя сгорел пукальник и он потёр мои разоблачительные комменты.
ОтветитьУдалитьЯ сказал тебе, отребье. Если ты не будешь обосновывать кукаретинг и продолжишь спам - я буду кидать твои потуги в спам. Я тебе давал уже более 10 раз оправдываться, но ты, мразь, не ответить не может.
УдалитьА так, не волнуйся - я напишу пост с доказательством тогу, что бы опущен.
Фу, царь, ведешь себя хуже чем моча с лора. Там хоть можно посмотреть удаленные
УдалитьЗачем ты, клоун, спамишь от анонима в надежде, что кто-то в это поверит? К тому же - удалённые там посмотреть нельзя без реги + поиск по ним не работает, а так же нельзя смотреть снесённые темы. Поэтому мимо, клоун.
УдалитьК тому же, в отличии от того отребья и тебя, падаль, я могу без проблем пруфцануть любой свой тезис.
Троллить тоньше надо, ну.
УдалитьЦарь, у тебя ошибка в программе - первое слово не учитывается, если файл не начинается с пробельного символа:
ОтветитьУдалитьwc <<< 'abc'; a.out <<< 'abc'
1 1 4
1 0 4
Предлагаю заменить основной цикл и последний if на что-то вроде этого:
for (bool prev_space = 1, space; it < end; ++it, prev_space = space)
{
space = is_space[*it];
wordct += (prev_space & !space);
linect += *it == '\n';
}
Да насрать на это вообще. У меня нету ошибки - ведь у меня нету описания того, как это говно должно работать. И меня и тебя это волновать не должно. Задача какая была? Показать, что хаскель-отребье обделалась и наврало. Версия на сишке компактней, быстрее, проще и выигрывает во всём. Исправления всего этого - это максимум 1-2 строки. Это ничего не изменит. Зачем нам об этом думать? Ну будет там не 10-15 строк, а 11-16 - что это изменит? Да ничего. Поэтому насри на это.
УдалитьУ тебя есть ошибка.
УдалитьВ ДНК.