- 1
<<?='b'.'o'.'d'.'y'?> class="p0 m0">
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+158
<<?='b'.'o'.'d'.'y'?> class="p0 m0">
Чье-то из какой-то самописной CMS в шаблоне..) таким способом выводятся многие теги))
guest 22.05.2014 17:32 # 0
bormand 22.05.2014 18:23 # +4
guest 22.05.2014 23:26 # +3
Надо userjs такой забабахать.
bormand 23.05.2014 05:26 # +2
Боль в жопе для того, кому потом это поддерживать. И ведь он всяко писал это руками, а не делал скрипт-обфускатор.
1024-- 22.05.2014 17:48 # +1
eth0 22.05.2014 18:34 # +2
guest8 10.02.2019 15:29 # −999
bormand 10.02.2019 15:30 # +1
guest8 10.02.2019 15:32 # −999
Kakou-mo_nemyx 10.02.2019 15:46 # +1
Работал только в браузерах, парсер которых поддерживал «SGML». Был ещё такой вариант, чтобы не сломать интерпретатор «JS», если вдруг парсер не понимает «SGML»:
Однако, если парсер не понимает «SGML», то даже такой вариант не спасёт от необходимости разбивать слово 'scr'+'ipt'.
O4epegHou_nemyx 10.02.2019 16:39 # 0
guest8 10.02.2019 17:24 # −999
O4epegHou_nemyx 10.02.2019 17:28 # +1
Kakou-mo_nemyx 10.02.2019 17:28 # 0
Или даже так:
O4epegHou_nemyx 10.02.2019 17:30 # 0
так низзя делать. Руки отрубят.
O4epegHou_nemyx 10.02.2019 17:38 # 0
guest8 10.02.2019 17:55 # −999
O4epegHou_nemyx 10.02.2019 18:08 # 0
guest8 10.02.2019 18:12 # −999
O4epegHou_nemyx 10.02.2019 18:17 # 0
> ты любишь несвежее может?
У меня ещё "DSL" есть...
guest8 10.02.2019 18:24 # −999
O4epegHou_nemyx 10.02.2019 18:45 # 0
guest8 10.02.2019 18:49 # −999
O4epegHou_nemyx 10.02.2019 19:10 # 0
Ещё я люблю маленькие дисьры: "DSL" (для 50-ти метров в нём предустановлено довольно программ, но он давно мьортфф), " SliTaz" (у него много разных редакций, но он вообще на 2-м ведре), "Tiny Core" (для пердоликов-минималистов, любителей гуёв в стиле 90-x (ну это поправимо), но мне нравится (возможно потому что я минималист)).
guest8 10.02.2019 19:23 # −999
Kakou-mo_nemyx 10.02.2019 19:33 # 0
Ещё можно попробовать «QNX», «BeOS», «Haiku», «Temple OS», «Хакинтош», «OS/2», «VxWorks», «Android x86».
guest8 11.02.2019 05:00 # −999
O4epegHou_nemyx 10.02.2019 18:19 # 0
guest8 10.02.2019 18:23 # −999
O4epegHou_nemyx 10.02.2019 18:36 # 0
guest8 10.02.2019 18:41 # −999
O4epegHou_nemyx 10.02.2019 18:37 # 0
ядро 3.10
guest8 10.02.2019 18:42 # −999
guest8 10.02.2019 18:46 # −999
bormand 10.02.2019 18:41 # 0
Зато штабильное.
guest8 10.02.2019 18:44 # −999
bormand 10.02.2019 18:49 # 0
guest8 10.02.2019 19:49 # −999
guest8 10.02.2019 20:23 # −999
cmepmop 10.02.2019 20:34 # 0
Кто о чём, а гость, как обычно о длинных да о чёрных.
Kakou-mo_nemyx 11.02.2019 02:56 # 0
Говорят, что у «IBM PS/2» были какие-то свои разъёмы, но я их не видел.
Ещё говорят, что были длинные коричневые («EISA»), но врут наверняка.
guest8 11.02.2019 04:08 # −999
Kakou-mo_nemyx 11.02.2019 04:51 # 0
Увы, не копал я «IDE» a. k. a. «ATA». Строго говоря, даже во времена «AT» там были хитрости, иначе бы существовали переходники «ISA — IDE» в обе стороны. Да, данные не обрабатывались, они проходили насквозь. А вот шина адреса в «ленточный удлинитель» полностью не заводилась. Номер порта I/O выбирался не жёстким диском, а мультикартой (на ней иногда даже были перемычки для выбора альтернативного порта I/O). Т. е. на мультикарте как минимум стоял мультиплексор.
Но ведь мультиплексор стоял и на «LPT» (вроде недавно обсуждали 8255). Да и данные там тоже вроде проходили насквозь без обработки.
guest8 11.02.2019 04:55 # −999
Kakou-mo_nemyx 11.02.2019 05:12 # 0
Из Википедии: «In 2008 IEI Technologies released a modern motherboard for Intel Core 2 Duo processors which, in addition to other special I/O features, is equipped with two ISA slots.
Similarly, ADEK Industrial Computers is releasing a motherboard in early 2013 for Intel Core i3/i5/i7 processors, which contains one (non-DMA) ISA slot».
Как на них она реализована?
guest8 11.02.2019 05:23 # −999
gost 10.02.2019 19:43 # 0
Штабильно!
guest8 11.02.2019 04:08 # −999
gost 11.02.2019 10:38 # 0
Kakou-mo_nemyx 11.02.2019 15:52 # 0
gueest8 11.02.2019 15:56 # 0
И оно нахуй не нужно во времеена KVM и хрдврнй вртлзции
guest8 11.02.2019 19:51 # −999
Perevedi_na_PHP 10.02.2019 23:52 # 0
someone 23.05.2014 09:15 # +5
Kakou-mo_nemyx 10.02.2019 06:00 # 0
bormand 10.02.2019 09:18 # 0
Kakou-mo_nemyx 10.02.2019 14:40 # 0
http://www.opennet.ru/openforum/vsluhforumID3/92539.html
Какие-нибудь ещё торговые марки нужно заменять эвфемизмами, чтобы не запомоиться, или только производную «Дебиана»?
guest8 11.02.2019 18:38 # −999
Kakou-mo_nemyx 10.02.2019 07:47 # 0
http://govnokod.ru/19864
guest8 10.02.2019 14:47 # −999
Kakou-mo_nemyx 10.02.2019 15:02 # +1
guest8 10.02.2019 14:48 # −999
Kakou-mo_nemyx 10.02.2019 15:05 # +1
guest8 10.02.2019 15:09 # −999
Kakou-mo_nemyx 10.02.2019 15:20 # 0
Тогда так: ((uint16_t *)p)[0] == 0x6570.
Или так: 0[(uint16_t *)p] == 0x6570.
guest8 10.02.2019 15:22 # −999
bormand 10.02.2019 15:23 # +1
guest8 10.02.2019 15:43 # −999
bormand 10.02.2019 15:47 # +1
З.Ы. Ну и можно включить align check, но тогда вся стандартная либа отправляется на помойку. Банальный memcpy крашнется.
guest8 10.02.2019 15:52 # −999
bormand 10.02.2019 15:53 # 0
guest8 10.02.2019 16:01 # −999
O4epegHou_nemyx 10.02.2019 15:47 # 0
bormand 10.02.2019 15:47 # 0
O4epegHou_nemyx 10.02.2019 15:50 # 0
bormand 11.02.2019 18:19 # 0
guest8 11.02.2019 18:29 # −999
bormand 11.02.2019 18:48 # +1
Ширина строки (и количество усилителей) на порядок больше количества пинов под данные. После активации строки (долго) ты можешь читать и писать любые места в этой строке (быстро). На SDRAM эти обращения пайплайнятся и хуярят на частоте шины (те самые 3ГГц).
А ширина модуля действительно совпадает с суммарной шириной чипов. И сейчас там вроде намного больше 64...
guest8 11.02.2019 19:05 # −999
bormand 11.02.2019 19:12 # +1
> открывать следующую строку
И закрывать текущую... а это время на перезарядку сенс-ампов.
bormand 11.02.2019 19:30 # 0
А дополнительные планки увеличивают либо ширину шины либо тупо объём памяти. Смотря как воткнёшь.
guest8 12.02.2019 01:21 # −999
bormand 11.02.2019 19:14 # 0
Kakou-mo_nemyx 10.02.2019 17:17 # +1
А ещё мне нравятся нестандартные литералы, когда в одинарных кавычках несколько символов. Даже на одном процессоре с известным индейцем в разных кокококомпиляторах они реализованы по-разному. В одних 'abcd' кококомпилируется в db 61h, 62h, 63h, 64h, в других –— в db 64h, 63h, 62h, 61h. Ну то есть в одних 'abcd' –— это 0x61626364, в других —– это 0x64636261.
O4epegHou_nemyx 10.02.2019 17:23 # +1
Kakou-mo_nemyx 10.02.2019 18:03 # +1
• «gcc» выдаёт: «warning: multi-character character constant [-Wmultichar]»
Спокойно компилирует, программа выводит 30313233 (т. е. на первом месте самый старший байт).
• «clang», «Watcom C», «Digital Mars», «MSVC», «Intel Compiler» даже ворнинг не выдали.
Программа выводит 30313233.
• «Borland C» компилирует без ворнингов.
Программа выводит 33323130 (т. е. байты размещаются так же, как в строке).
• «tcc» выводит ворнинг (multi-character character constant), но, как уже заметил очередной петух, воспринимает только первый символ. «Pelles C» ведёт себя точно так же.
• Церновский интерпретатор «CINT» без ворнингов выводит 30.
• Интерпретатор «Ch» указывает на синтаксическую ошибку и прерывает трансляцию.
Интересно было бы проверить какие-нибудь компиляторы на большом индейце.
Kakou-mo_nemyx 10.02.2019 18:55 # +1
«gcc» на «Power PC» и на «MIPS» выполняет операцию 0x30310000 | 0x3233, т. е. собирает число 0x30313233.
На «AVR» тот же компилятор собирает число 0x3233, т. е. воспринимает только два младших байта (два последних).
В общем, вне зависимости от порядка байтов процессора «gcc» воспринимает константу как записанную в большом индейце, а потом обрубает до размера мышиного слова.
guest8 10.02.2019 19:03 # −999
Kakou-mo_nemyx 11.02.2019 16:51 # 0
• «Orange C» прерывает компиляцию с сообщением: «Unterminated character constant in function main».
• «IBM Visual Age» компилирует без ворнингов, выводит 30313233, как «мейнстримные» компиляторы.
Kakou-mo_nemyx 11.02.2019 17:16 # 0
http://compcert.inria.fr/
Компилятор «C», написанный на «OCaml»+«coq», с формально доказанной корректностью.
«The CompCert project investigates the formal verification of realistic compilers usable for critical embedded software. Such verified compilers come with a mathematical, machine-checked proof that the generated executable code behaves exactly as prescribed by the semantics of the source program. By ruling out the possibility of compiler-introduced bugs, verified compilers strengthen the guarantees that can be obtained by applying formal methods to source programs.
The main result of the project is the CompCert C verified compiler, a high-assurance compiler for almost all of the C language (ISO C99), generating efficient code for the PowerPC, ARM, RISC-V and x86 processors.»
O4epegHou_nemyx 11.02.2019 17:30 # +1
switch statements must be structured as in MISRA-C; unstructured "switch", as in Duff's device, is not supported.
longjmp and setjmp are not guaranteed to work.
Variable-length array types are not supported.
Ну его нахуй, самые классные пльушке выпилили.
Kakou-mo_nemyx 12.02.2019 18:10 # 0
Kakou-mo_nemyx 12.02.2019 19:40 # +1
Описание программы на «ML»:
Ещё какое-то внутреннее представление:
CHayT 12.02.2019 21:04 # +2
* Точнее, что в нём нет отклонений от формальной спецификации
Kakou-mo_nemyx 12.02.2019 21:06 # 0
* «coq» = «петух» в переводе с французского.
CHayT 12.02.2019 21:10 # +1
bormand 12.02.2019 23:33 # 0
Вся эта хуйня с unwind'ами - просто оптимизация успешного пути.
CHayT 13.02.2019 01:12 # 0
CHayT 13.02.2019 01:29 # 0
guest8 13.02.2019 02:36 # −999
CHayT 13.02.2019 19:56 # +1
Такой уровень корректности нужен в малом количестве мест. Недаром сейчас "AI" так популярен: работает в 70% случаев и ладно.
> Почему строители моста могут математически показать что мост не упадет, а программисты не могут?
Даром что в 2018 как минимум два крупных моста разрушились, во Флориде (там чисто инженерный факап) и в Италии (старость + неудачная конструкция).
Kakou-mo_nemyx 13.02.2019 20:42 # +1
Кто-нибудь наверняка вспомнит про сопромат.
Сопромат основан на двух гипотезах:
1. Линейная упругость материала (механическое напряжение пропорционально удлинению).
2. Гипотеза плоских сечений. Грубо говоря, это когда частицы просто смещаются, но ещё не поворачиваются.
Реальные конструкции, пользуясь одним сопроматом, не рассчитаешь.
Невыпуклые углы конструкций являются концентраторами напряжений, в них могут начаться пластические деформации или рост трещин.
При больших деформациях описывать геометрическое состояние конструкции уже не так просто (гугли подходы Эйлера и Лагранжа).
Приходится дополнительно исследовать упругие свойства материала (нелинейная упругость, градиентная упругость, несимметричная упругость) и неупругие (эффект Баушингера –— раскрытие невидимых микротрещин при деформации, ползучесть, усталость).
Потом вспоминаем, что нагрузка имеет нерегулярный характер (на него может заехать больше транспорта, чем планировалось), что на мост действует окружающая среда, что материалы могут оказаться с браком, что при возведении могут быть погрешности, что грунт может подвести...
*****
По крайней мере, существуют методы мониторинга уже существующих конструкций. Обычно благодаря этому мониторингу о предстоящем разрушении можно узнать заранее и попытаться спасти конструкцию.
Что же произошло в 2018 году, из-за чего разрушение не смогли предотвратить?
CHayT 13.02.2019 23:21 # +1
Чем кончилось расследование в Италии я не следил, но мост был старый, а архитектор был выебщиком, у которого любимым развлечением было "а как бы сделать поменьше опор". В итоге ремонт его мостов был проблематичен (redundancy-то нет), ну на него и забили.
Kakou-mo_nemyx 14.02.2019 01:00 # 0
bormand 10.02.2019 15:21 # 0
Kakou-mo_nemyx 10.02.2019 15:24 # 0
А если серьёзно, то можно ифдефов нафигачить и добавить ветку для большого индейца.
guest8 10.02.2019 15:27 # −999
guest8 10.02.2019 15:25 # −999
bormand 10.02.2019 15:29 # 0
guest8 10.02.2019 15:30 # −999
bormand 10.02.2019 15:31 # 0
guest8 10.02.2019 15:34 # −999
bormand 10.02.2019 15:36 # +1
По размеру самого большого поля. Т.е. если 42 это 5 qword'ов + word, то надо догнаться до 48. Если это 10 dword'ов + word - то до 44. А если это 21 word - то 42 сойдёт.
З.Ы. Ну хотя раз у тебя sizeof() получился такой, то у тебя там word'ы или байты. Иначе конпелятор уже бы воткнул паддинг до 44 или 48.
guest8 10.02.2019 15:41 # −999
Kakou-mo_nemyx 10.02.2019 15:38 # 0
guest8 10.02.2019 15:42 # −999
O4epegHou_nemyx 10.02.2019 15:49 # 0