- 1
- 2
Обнаружен критический баг в "PHP":
https://habr.com/ru/post/416573/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Обнаружен критический баг в "PHP":
https://habr.com/ru/post/416573/
Полный список лулзов:
https://habr.com/ru/post/438582/
guest8 03.02.2019 20:17 # −999
1024-- 03.02.2019 21:07 # +1
"Так работает ОС! Так работает компютер! Так надо! C/C++ - для низкого уровня, JSON и Unicode в них не нужны! Иногда надо стрелять себе в ногу, компилятор в этом случае должен молчать!"
Чёрт, ну ведь бред же! Компьютеры и ОС разрабатывались для того, чтобы решать проблемы людей, а не для того, чтобы люди подстраивались под них. ЯПы разрабатывались для написания программ для решения проблем, а не для того, чтобы пердолики заучивали крайние случаи для команд процессоров и условия возникновения UB. C/C++ задумывались как языки общего назначения, на C++ пишут браузеры и игры, где активно используются сети и юникод. Если нужен перфоманс - придётся попотеть по многим фронтам, и отслеживание UB - лишняя нагрузка на мозг, вместо которой можно было бы подумать над архитектурой или оптимизацией. Если компилятор не показывает места, где программист явно стреляет себе в ногу, то компилятор - пидор.
Как же бесит от этого "тут так принято", "оно так работает". Я понимаю, когда на космическом аппарате летишь, а он жутко тормозит потому, что кто-то занизил MAX_VELOCITY до жалких 3e8 и ушёл в отпуск на 2000 лет, а у остальных вообще нет шансов это изменить. Но тут же, мать их, сами сделали себе эти говноограничения, а потом срут "оно так работает" и вообще проблемы не видят.
Ты им "это же говно", а они "оно так работает". Повторяешь "ну говно же, ну вот в альтернативной реализации сделали же нормально", а они "ты сам - говно, и реализация твоя - говно, а нам норм, давай учи все 50 оттенков UB". Есть, конечно, шанс, что когда выучишь все 50 оттенков UB, код на C/C++ станет писаться так легко, как никогда не было. Но язык должен быть ближе к естественному миру, для написания программы надо понимать предметную область, а не ломать себе мозг и зарабатывать профдеформацию программиста.
1024-- 03.02.2019 21:16 # +3
-- Мужики, я тут в бассейне был недавно. Вылезаю из воды, захожу в душ отмываться. Всё вроде нормально. Вода тёплая. Задумался, планирую, что буду делать в выходные. Выскользнуло мыло, я только наклоняюсь над ним, как меня уже трахает какой-то бычара. Дурацкий бассейн. Мужики, разберитесь.
-- Во лошара-то! Это не баг бассейна, это так у зеков принято, а они в бассейнах по программе бесплатного купания проходят ещё с 1980 года. Надо бы знать и жопу сковородой прикрывать.
-- Но со сковородой ни поплавать, ни помыться. Нельзя ли запретить насиловать людей в душе?
-- Иди, лошара, читай сборник понятий. Покукарекай тут ещё. Здесь так принято!
bootcamp_dropout 04.02.2019 02:08 # 0
Против недостаточно толстой стандартной библиотеки с++?
Против UB и непродуманного дизайна языка?
Против апологетов с++ и вышеуказанных пунктов?
Против мировой несправедливости, где дяде-бизнесмену не похуй на всю нашу эстетику вроде "язык должен быть ближе к естественному миру" только тогда, когда она(эстетика) приносит бизнесу пользу?
1024-- 04.02.2019 15:08 # +2
Если в жизни, то
> Против недостаточно толстой стандартной библиотеки с++?
Не против, если есть пакетный менеджер, который быстро подгружает нужные модули, а также репозиторий со стабильными версиями полустандартных пакетов.
То есть если пакеты стабильно работают, то нафиг не нужна их стандартность с многолетними циклами обновления. В Haskell Platform, например, можно выбрать царскую версию, где сразу установлены гигабайты пакетов.
> Против UB и непродуманного дизайна языка?
Да. UB - мерзкая питушня, которая снижает скорость разработки и надёжность программы, обещая призрачную производительность на платформах, под которые программа никогда не будет скомпилирована.
Непродуманный дизайн языка - штука неизбежная. Но тут главное - не держать говно ради совместимости. Нормально, когда ученик пишет говнокод. Ненормально - когда он этот говнокод через десять лет тащит в рабочие проекты. Совместимость должны обеспечивать отдельные инструменты. Например, тупые компиляторы, с которыми можно новый код скомпилировать бинарник старого формата, который будет взаимодействовать со старыми библиотеками.
> Против апологетов с++ и вышеуказанных пунктов?
Против апологетов багофич.
Против мировой несправедливости, где дяде-бизнесмену не похуй на всю нашу эстетику вроде "язык должен быть ближе к естественному миру" только тогда, когда она(эстетика) приносит бизнесу пользу?
Немного - да. Но все мы - дядя-бизнесмен. Я бы поступил так же, да и постоянно так поступаю. Работающее говно и новые фичи лучше никогда не написанного кода, которые делает то же самое, но красивее и с производительностью на 1% выше.
gost 04.02.2019 15:50 # +1
> Немного - да. Но все мы - дядя-бизнесмен. Я бы поступил так же, да и постоянно так поступаю. Работающее говно и новые фичи лучше никогда не написанного кода, которые делает то же самое, но красивее и с производительностью на 1% выше.
С другой стороны, с точки зрения дяди-бизнесмена программист должен решать поставленную прикладную задачу, а не героически противостоять языку с компилятором заодно. Поэтому язык, более приближенный к рабочим реалиям, будет более привлекательным для дяди (другое дело, что дядя может в этих наших языках не разбираться вообще).
bormand 04.02.2019 16:31 # +3
> под которые никогда не будет конпелироваться
Ты не понял сути UB'ов. Многие из UB'ов ускоряют код здесь и сейчас, а не на мифических платформах.
Взять тот же UB про "не true и не false" в bool. Без него в коде будет куча бесполезных cmp + setne.
Или тот же UB про алиасинг указателей разных типов, без которого конпелятор зассыт кешировать поля объектов в регистрах.
З.Ы. Но всё это - тёмная сторона силы, конечно.
1024-- 04.02.2019 16:47 # +2
Учишься палочками вылавливать муху из супа; учишься одним пальцем пробивать стены; учишься делать своё дело с невиданной скоростью; учишься не спорить с начальником и выполнять всё, что он прикажет. Учишься помнить все тонкости работы языка и компьютера, запоминаешь все места с UB. Каждый день делаешь одно и то же, пока не становишься поехавшим мастером своего дела. Получаешь большие деньги, хотя за углом автомат делает всё то же гораздо дешевле.
j123123 04.02.2019 17:30 # +1
Нет, C++ делали для мазохистов и зубрилок. Чтоб можно было побольше времени проебать на вызубривания языкоспецифичного говна(которое за пределами крестомирка является абсолютно бесполезным багажом знаний), вроде "а как заебашить такую-то хуйню через метапрограммирования на шаблонах с констэкспрами?" или "будет ли вот в этом говне UB?".
bormand 04.02.2019 17:44 # 0
Ну как же, UB'ы в няшной пригодятся. Они там те же самые.
j123123 04.02.2019 18:09 # 0
PA3yMHblu_nemyx 04.02.2019 18:13 # 0
j123123 04.02.2019 18:21 # +2
http://stackoverflow.com/a/11640603
The footnote was added in C99 after Clive D.W. Feather Defect Report #257:
Finally, one of the changes from C90 to C99 was to remove any restriction on accessing one member of a union when the last store was to a different one. The rationale was that the behaviour would then depend on the representations of the values. Since this point is often misunderstood, it might well be worth making it clear in the Standard.
https://stackoverflow.com/a/11996970
The confusion is that C explicitly permits type-punning through a union, whereas C++ (c++11) has no such permission.
bormand 04.02.2019 18:23 # 0
s/C/C99/
BEKTOPHblu_nETyX 24.05.2020 13:58 # 0
KOPOHABuPYC 27.05.2020 00:34 # 0
j123123 04.02.2019 19:26 # 0
j123123 04.02.2019 19:28 # 0
bormand 04.02.2019 19:39 # +2
j123123 04.02.2019 19:44 # 0
j123123 04.02.2019 19:51 # 0
PA3yMHblu_nemyx 05.02.2019 07:17 # 0
1. Сделать огромный байт (стандарты сишки и крестов только требуют, чтобы байт мог вместить символы, которыми набирается программа, ну то есть минимум 7 или 8 битов).
2. Эмулировать байты (ну то есть кучей инструкций вытягивать байты из неделимого машинного слова).
bormand 05.02.2019 08:27 # 0
Большой байт - путь ленивых распиздяев. Не сэмулирует конпелятор - придётся пердолиться программисту. И оверхед будет ещё больше.
bormand 05.02.2019 08:47 # 0
PA3yMHblu_nemyx 05.02.2019 14:03 # 0
bormand 05.02.2019 14:05 # 0
PA3yMHblu_nemyx 05.02.2019 14:09 # 0
PA3yMHblu_nemyx 05.02.2019 14:13 # 0
А нет, там было всё нормально: арифметика 32-битная. Это укокококозатели были 31-битными.
PA3yMHblu_nemyx 05.02.2019 14:19 # +1
bormand 05.02.2019 14:27 # 0
З.Ы. Десятичный таким и будет? log2(10) иррациональное.
PA3yMHblu_nemyx 05.02.2019 14:47 # +1
*****
Десятичный процессор –— это типа как «BCD» в плавающем питухе, где количество возможных значений каждого типа выражается степенями десятки? С обычными операциями на таком проблем не будет, а вот битоёбство придётся изобретать с нуля.
Кстати, были микросхемы для двоично-десятичной системы. Например, счётчик К155ИЕ2, который умеет считать от 0000 до 1001, а вместо состояния 1010 происходит сброс на ноль.
http://microshemca.ru/images/img032.jpg
PA3yMHblu_nemyx 05.02.2019 14:56 # 0
Мне нравится.
PA3yMHblu_nemyx 05.02.2019 15:04 # +1
В системе кодирования «2 из 5» одна десятичная цифра кодируется 5 битами, из которых 2 бита установлены в 1, а 3 бита — в 0, что даёт ровно 10 комбинаций. Такая система обеспечивает лучшее обнаружение ошибок, поскольку изменение одного бита всегда даст недопустимую комбинацию; также всегда обнаруживаются однонаправленные изменения (несколько изменений 0→1 или 1→0). Кодирование «2 из 5» использовалось в компьютерах серий IBM 7070, IBM 7072 и IBM 7074; также применяется в некоторых странах для маркирования почты штрих-кодом.
Уплотнённые десятичные числа позволяют разместить 3 десятичные цифры в 10 битах (210=1024 комбинации, что достаточно для 3 десятичных цифр), причём кодирование устроено так, что преобразование между 10-битным кодом и тремя отдельными десятичными цифрами можно осуществить с помощью простой и быстрой логической схемы. Такое кодирование используется в десятичных числах с плавающей запятой, описанных в стандарте IEEE 754-2008.
Тяжело битоёбить в таких системах...
PA3yMHblu_nemyx 05.02.2019 15:11 # 0
https://en.wikipedia.org/wiki/Bi-quinary_coded_decimal
https://en.wikipedia.org/wiki/Binary_integer_decimal
https://en.wikipedia.org/wiki/Chen–Ho_encoding
https://en.wikipedia.org/wiki/Densely_packed_decimal
В общем, в таких системах проще плюнуть на внутреннее представление чисел и относиться к ним просто как к числам.
Но как читать/писать файлы и отправлять/принимать данные по сети? Относиться к ним как к массиву чисел (например, байт может принимать значения от 0 до 255, т. е. занимать 3 десятичных разряда, хотя и неэффективно)?
vistefan 05.02.2019 17:53 # 0
и не только, у ржд в билетах на пригород используется two of five
guest8 05.02.2019 20:02 # −999
gost 04.02.2019 19:56 # 0
PA3yMHblu_nemyx 05.02.2019 07:18 # 0
gost 05.02.2019 11:46 # +1
https://ideone.com/p2tdaz
https://ideone.com/10ZvTY
gost 05.02.2019 11:49 # +1
PA3yMHblu_nemyx 05.02.2019 13:51 # +1
guest8 05.02.2019 18:32 # −999
bormand 05.02.2019 19:04 # +1
gost 05.02.2019 19:27 # +1
https://ideone.com/Ym6ptI
https://ideone.com/b33fqr
Rooster 05.02.2019 19:38 # +1
guest8 05.02.2019 19:52 # −999
Rooster 05.02.2019 18:46 # 0
j123123 05.02.2019 20:53 # 0
j123123 05.02.2019 21:01 # +3
Какой багор!
guest8 05.02.2019 21:03 # −999
inkanus_gray 06.02.2019 01:14 # 0
gueest8 06.02.2019 22:27 # 0
guest8 05.02.2019 18:30 # −999
guest8 04.02.2019 18:51 # −999
1024-- 05.02.2019 20:12 # 0
Хотя, может, число тех, кто может стабильно и безэмоционально выдавить из себя работающий код, достаточно велико. Или может, вся эта творческая питушня нивелируется в 99% случаев дедлайнами, когда все программисты отдела через не хочу пишут 90% кода в последний день?
gost 04.02.2019 12:54 # +1
Ну а что касается резкого отрицания в комментариях — так то видать реакция на откровенно тупой троллинг со стороны тамошнего ТСа, благодаря которому даже зёрна истины в полотне бреда были проигнорированы. Собственно, большинство придирок там либо совсем идиотские (на уровне неработающего в gcc «String^»), либо относятся не к языку, а к компилятору: так, к примеру, это не язык позволяет получать доступ к элементам за границей массива, а компилятор оказался тупым и подставы не заметил. Другое дело, что косвенная вина языка тут есть: кресты дико переусложнены, что сильно затрудняет написание даже просто полностью поддерживающего все фичи компилятора (вот прямо вчера вечером я сидел и изучал табличку https://gcc.gnu.org/projects/cxx-status.html — увы, оказалось, что «Selection statements with initializer» на моём конпеляторе недоступны).
А вот претензия про отсутствие «JSON» внезапно совершенно правильная. Вернее, дело даже не столько в «JSON», сколько в совершенно дерьмовой стандартной либе. Такое впечатление, что Комитет добавляет туда только максимально абстрактные и оторванные от прикладного программирования сущности. Я тут уже недавно пригорал на тему добавления в стандартную библиотеку каких-то, блядь, цилиндрических функций Бесселя (первого рода). Нет, я допускаю, что где-то в застенках секретных лабораторий полтора безумных учёных таки используют эти математические колдунства для создания Машины Судного Дня — но что-то мне подсказывает, что множество крестовиков, которым в работе необходимо использование сетей, жсона и прочей прикладной фигни, куда больше, чем множество безумных учёных.
Особенно повеселил комментарий про то, что в «низкоуровневых крестах» «JSON» нинужен. Ага, блядь, а интегралы — самое то для низкоуровневого языка.
PA3yMHblu_nemyx 04.02.2019 13:12 # +1
Чуть не забыл. Наверняка уравнение будет записано в комплексных числах и учёному/конструктору будет влом разделять его на вещественную и мнимую части. Напомните мне, какие функции стандартной библиотеки умеют работать с комплексными числами.
PA3yMHblu_nemyx 04.02.2019 13:19 # +2
PA3yMHblu_nemyx 03.02.2019 21:44 # 0
Царь говорил, что отсутствие bounds checking из коробки — это хорошо, потому что лишние проверки снижают пирфоманс.
guest8 03.02.2019 21:50 # −999
Rooster 04.02.2019 05:37 # 0
bormand 04.02.2019 08:42 # 0
gost 04.02.2019 12:00 # +2
PA3yMHblu_nemyx 04.02.2019 13:14 # 0
Rooster 04.02.2019 13:35 # 0
PA3yMHblu_nemyx 04.02.2019 13:43 # +3
Прав был Царь, когда говорил, что всё нужно компилировать только с -O2.
А теперь попробуем подключить анализатор.
-fbounds-check –— никакого эффекта.
-Warray-bounds —– никакого эффекта.
-mmpx -fcheck-pointer-bounds –— в компайлтайме ничего не находит, в рантайме... барабанная дробь... без оптимизации выводит один элемент, с -O2 выводит пять элементов (с 0 по 4), а на 42 падает с сообщением о недопустимой операции.
Остальные -fchkp-... ничем не помогли.
То ли я разучился им пользоваться, то ли в данной версии «gcc» этот патч применён криво, то ли он работает только в ограниченных случаях...
PA3yMHblu_nemyx 04.02.2019 13:50 # 0
PA3yMHblu_nemyx 04.02.2019 14:42 # 0
http://www.doc.ic.ac.uk/~awl03/projects/miro/
Но он только для gcc 4.3.0.
Есть ещё такой:
https://sourceforge.net/projects/boundschecking/files/
Но он ещё хуже, потому что он для gcc 3.3.3...4.0.2.
Неужели Цари, которые считают, что проверки не нужны, победили?
P.S. Есть ещё такой:
http://www.netlib.org/c/bcc.tar.gz
Но он вообще для gcc 2.7.2.
guest8 04.02.2019 21:17 # −999
guest8 04.02.2019 23:09 # −999
gost 04.02.2019 23:27 # 0
PA3yMHblu_nemyx 05.02.2019 00:52 # 0
gost 05.02.2019 00:54 # +1
guest8 04.02.2019 23:32 # −999
guest8 04.02.2019 23:40 # −999
PA3yMHblu_nemyx 04.02.2019 13:02 # +3
Без этих дополнительных ключей кокококомпилятор считает, что программист никогда не допускает UB.
Их можно использовать для отладочной версии и для статического анализа. В продакшне использовать эти опции не рекомендуют, потому что код почему-то получается медленнее, чем в «Паскале».
bormand 04.02.2019 18:32 # 0
Ну видимо оптимизацию "ненужных" проверок заодно отломали. Чтоб не выкидывало.
PA3yMHblu_nemyx 04.02.2019 19:55 # 0
1. В современных версиях «gcc» (не знаю, начиная с какой версии) -fbounds-check не работает. Совсем никак. По крайней мере, моему петушиному мозгу не удалось придумать тест, в котором бы оно себя проявило.
2. В EMX -fbounds-checking (заметили суффикс «ing»?) работает, только там компилятор совсем древний:
Попробую скомпилировать другие версии «gcc». Ссылки на патчи я привёл выше.
bormand 04.02.2019 19:59 # 0
Оно выкинуло все добавленные проверки.
PA3yMHblu_nemyx 04.02.2019 20:12 # 0
bormand 05.02.2019 08:02 # +1
PA3yMHblu_nemyx 05.02.2019 13:53 # 0
PA3yMHblu_nemyx 05.02.2019 14:02 # 0
j123123 04.02.2019 20:23 # +1
Это какое-то устаревшее говно, судя по всему. Используй -fsanitize
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
PA3yMHblu_nemyx 04.02.2019 21:43 # 0
PA3yMHblu_nemyx 04.02.2019 21:59 # 0
PA3yMHblu_nemyx 04.02.2019 22:02 # 0
https://bugzilla.redhat.com/show_bug.cgi?id=1303766
j123123 05.02.2019 01:53 # 0
PA3yMHblu_nemyx 05.02.2019 06:07 # 0
j123123 05.02.2019 06:58 # 0
http://cygwin.1069669.n5.nabble.com/gcc-cannot-find-lubsan-td122313.html
или возможно mingw (не знаю, есть ли там такая проблема)
PA3yMHblu_nemyx 05.02.2019 07:06 # 0
guest8 04.02.2019 01:21 # −999
bormand 04.02.2019 08:27 # +1
guest8 04.02.2019 21:19 # −999
bormand 04.02.2019 08:11 # +5
Лол. Сперва добейся?
gueest8 06.02.2019 22:39 # +2
зы: опыта достаточно чтобы не разговаривать с теми, кто использует словосочетание "C/C++"
PA3yMHblu_nemyx 06.02.2019 22:45 # 0
gueest8 06.02.2019 22:48 # +2
https://toster.ru/q/50326
https://skillcrush.com/2012/11/30/c-c-c-and-objective-c-2/
https://hlrnet.com/sites/c-c-c/
http://citforum.ru/programming/c.shtml
Бывает еще более крышесносно
https://dou.ua/forums/topic/10092/
https://stackoverflow.com/questions/245062/whats-the-difference-between-javascript-and-java
PA3yMHblu_nemyx 06.02.2019 23:37 # +1
bormand 06.02.2019 23:37 # +2
Нужен. Иначе кто будет принтеры заправлять?
bormand 07.02.2019 00:47 # +1
guest8 07.02.2019 00:52 # −999
PA3yMHblu_nemyx 07.02.2019 00:55 # 0
guest8 07.02.2019 00:59 # −999
PA3yMHblu_nemyx 07.02.2019 01:12 # +1
Обычно у скриптов главные действия происходят в глобальном неймспейсе.
guest8 07.02.2019 01:22 # −999
gueest8 07.02.2019 01:22 # +2
В коко можгл
Без всяких static public void
1024-- 07.02.2019 08:03 # 0
Т.е. никакого опыта в C/C++ нет, приходится избегать общения с теми, кто о них говорит, чтобы они не догадались?
bormand 07.02.2019 08:09 # +1
Эта хуета бесит представителей обоих лагерей, поэтому сиси-плюс-плюс в приличном обществе лучше не упоминать.
1024-- 07.02.2019 08:24 # 0
C/C++ здорового человека - это "C и C++" или "C или C++".
Например,
- А вот в C/C++ блоки формируются не отступами, а фигурными скобками
- В C/C++ придётся явно управлять памятью в отличие от Java
- Типичная вычислительная программа на C/C++ быстрее таковой на Java/C#/python
- Хочу изучить основы C/C++/Java/Bash, чтобы лучше понимать своих друзей-гиков
j123123 09.02.2019 04:01 # 0
j123123 05.02.2019 04:31 # +2
> Требование поддержки JSON в стандартной библиотеке — апофеоз глупости для низкоуровневого языка.
Ух блядь, как же бесят эти тупорылые хабрабляди. Аж зло берет. Ну как можно такую хуйню написать, а? Какое нахуй имеет отношение "уровневость" языка к тому говну, которое можно или нельзя пихать в стандартную библиотеку? В крестопомойной параше в стандартную либу позапихивали всякой хуйни, которая 99.99% программистам просто нахуй не нужна, типа:
Что по-вашему чаще требуется, уметь парсить JSON или считать цилиндрическую функцию Бесселя первого рода?
j123123 05.02.2019 05:00 # +2
PA3yMHblu_nemyx 05.02.2019 06:05 # +1
А как вам алгоритм «AES», встроенный в процессор? Кому нужна встроенная криптушня, она же устаревает?
А как вам такое: https://en.wikipedia.org/wiki/Bit_Manipulation_Instruction_Sets
Ну какой разработчик интернет-магазина будет каждый день вычислять x & (x-1)?
guest8 05.02.2019 06:22 # −999
Rooster 05.02.2019 06:32 # 0
PA3yMHblu_nemyx 05.02.2019 06:39 # 0
А ещё в «Apple App Store» не пройдут программы, использующие такую библиотеку, потому что туда могут пройти только программы, использующие эппловский движок.
bormand 05.02.2019 07:59 # 0
j123123 05.02.2019 10:16 # 0
bormand 05.02.2019 13:39 # +2
gueest8 07.02.2019 01:25 # +3
И работы с сцытями там быть не должно, ибо она есть уже в попурационных системах, и зчем еще одна прослойка? чтобы тормозило и ограничилвало?
PA3yMHblu_nemyx 07.02.2019 01:32 # 0
Всё медленное говно типа ввода-вывода должно быть в операционной системе.
PA3yMHblu_nemyx 07.02.2019 01:37 # 0
gueest8 06.02.2019 22:38 # 0
Кроме того JSON (как и все, порожденное JSерами) через год выйдет из моды и везде будут YAML, TOML и еще что там придумают.
Так что пускай он лучше будет в boost
guest8 07.02.2019 03:58 # −999
1024-- 07.02.2019 08:16 # 0
В стандартной, в полустандартной или в нестандартной - не так важно. Главное - шаговая доступность.
kokoko install json - и можно работать
guest8 07.02.2019 12:29 # −999
PA3yMHblu_nemyx 07.02.2019 12:40 # 0
j123123 10.02.2019 02:19 # 0
Тогда и функции Бесселя там тоже не нужны.
Kakou-mo_nemyx 10.02.2019 02:25 # +2
bormand 10.02.2019 05:59 # 0
PA3yMHblu_nemyx 03.02.2019 21:39 # 0
1. Не будет зелёного замочка, свидетельствующего о прохождении валидации DKIM. Если отправить кому-нибудь на «Gmail», то сразу уйдёт в спам.
2. Если отправить не на домашний сервер, а в какую-нибудь известную почтовую службу, то отправят в спам, потому что не прошло проверку SPF.
guest8 03.02.2019 21:48 # −999
cmepmop 03.02.2019 23:09 # −1
gueest8 07.02.2019 03:03 # 0
точнее не к лицу, а ко рту
или даже два хуя
ну ты это и без меня прекрасно знаешь
bormand 04.02.2019 08:27 # 0
bormand 04.02.2019 11:04 # 0
Но вроде ещё какой-то был?
Rooster 04.02.2019 11:19 # 0
gueest8 06.02.2019 22:34 # 0
v=DMARC1; p=reject;aspf=r;aspf=r;
а если домен кажет на MTA то даже =s
guest8 04.02.2019 01:20 # −999
PA3yMHblu_nemyx 04.02.2019 01:25 # 0
>> Просто троллинг, возможно не удачный.
Настоящий тролль не признается, что он троллит.
Steve_Brown 04.02.2019 11:20 # +3
PA3yMHblu_nemyx 04.02.2019 12:57 # 0
Steve_Brown 04.02.2019 14:24 # +2
3oJIoTou_xyu 04.02.2019 12:20 # +2
ПИШУ НА ПХП!
gueest8 06.02.2019 22:29 # 0
Человек одновременно ничего не понимает в SMTP, хостингах и PHP, и зачем-то пишет статью.
PA3yMHblu_nemyx 07.02.2019 10:42 # 0
gost 07.02.2019 10:58 # 0
PA3yMHblu_nemyx 07.02.2019 11:24 # 0
gost 07.02.2019 11:26 # 0
Собственно, достаточно было оставить пару мейнстримных комментов, получить +1 в карму и радоваться инвайту (который на днях пришёл). Но зачем?..
Rooster 07.02.2019 12:09 # 0
Скоро год как я там напейсал последний комент, но коментировать могу. Ещё там простолюлинам некропостить нельзя, может ты старый пост открыл? Или тебя зойбанеуи?
PA3yMHblu_nemyx 07.02.2019 12:24 # 0
В любом случае, на «Х-ре» мне скучно. На «ГК» мне всегда находится, что написать, а на «Х-ре» обычное состояние «Нечего добавить».
1024-- 07.02.2019 12:46 # 0
И вообще у меня информация старая. Только сейчас узнал о питушне с раздачей пачек инвайтов.
gueest8 07.02.2019 12:49 # 0
PA3yMHblu_nemyx 07.02.2019 13:25 # 0
Rooster 07.02.2019 18:19 # 0
gueest8 07.02.2019 23:01 # 0
ты
и
попу
лизатор
cmepmop 08.02.2019 02:09 # 0
guest8 08.02.2019 02:14 # −999
cmepmop 08.02.2019 02:20 # 0
guest8 07.02.2019 11:33 # −999
Rooster 07.02.2019 18:19 # 0
PA3yMHblu_nemyx 07.02.2019 13:47 # 0
TOPT 09.02.2019 05:17 # +1
Оставь это позади
Мы пойдем в звезды
Забыть время
В бесконечной вселенной
Я знаю, ты чувствуешь себя живым
Пусть тебя заберут
Когда-нибудь мы задаемся вопросом, из чего сделаны мечты
Они говорят
Как выше, так и ниже
Всегда, когда мы ищем руку, которая сделала нас
Они говорят, что все разрушено в пыль
Так высоко
Должен спуститься когда-нибудь
Детка, не сегодня
Да будет свет
Когда-нибудь мы задаемся вопросом, из чего сделаны мечты
Они говорят
Как выше, так и ниже
Всегда, когда мы ищем руку, которая сделала нас
Они говорят, что все разрушено в пыль
guest8 10.02.2019 10:22 # −999
O4epegHou_nemyx 10.02.2019 11:40 # 0
guest8 10.02.2019 13:15 # −999
3oJIoTou_xyu 11.02.2019 12:05 # 0
В кулинарной школе снова выпускной!
Повара, выпускники и их родные,
Размещаются в столовой расписной.
От пылающей конфорки распаляясь,
Из кастрюли брызжут капли в потолок.
Незамеченный, уборщиц дожидаясь,
За плитой лежит кровавый молоток.
Тётки жирные тарелки наполняют,
Жрут бабули, мамы, дедушки, отцы.
И никто из педагогов не узнает,
Из чего слепили дети голубцы.
Разорвали на куски бомжа ногтями,
Прокрутили в мясорубке целиком.
С волосами и с зубами и с костями,
С гениталиями, в шляпе и с говном!
gueest8 11.02.2019 15:20 # 0