Обновить
23
0
Дмитрий Чернов@cher-nov

в экономике, так сказать, необходим

Отправить сообщение

Я смотрел лекцию Бранденбурга, где он это показывал на примерах классической музыки.

А можете ссылкой поделиться, пожалуйста?

А существуют ли такие программы, даже не знаю как назвать... Суть: на локальной машине имеющей доступ к "толстому" интернету запускается эта программа, эмулирующая как бы прокси. Она открывает у себя вебсервер на каком-то порту. И слабым компам (или с компа через слабый интернет типа мобильного) она бы отдавала запрошенные странички в более "простом" виде, без кучи картинок и скриптов?

https://github.com/atauenis/webone
https://github.com/ttalvitie/browservice
https://tinkerdifferent.com/threads/http-proxy-and-transcoder-for-vintage-browsers.275/

Замечательная статья, спасибо большое. Стоит упомянуть, что помимо PDB-файлов существовали ещё и DBG-файлы: https://www.debuginfo.com/articles/debuginfomatch.html#dbgfiles.
А про PDB похожую статью видел ещё вот здесь https://scot.tg/2023/05/02/debugging-with-pdbs/.

К слову. Может кто-нибудь знает, как определить формат отладочной информации в PE? Я знаю про dumpbin, но тот же DWARF от MinGW-w64 он не понимает, насколько я вижу. Или это я косячу?

Основной вектор развития современных процессоров (OoO) скорее в том, что ни программист ни компилятор чаще всего не будут вылизывать код под конкретную микроархитектуру, так что процессор сам пытается проанализировать поток инструкций и загрузить свои порты.

Если программист пишет код как попало, то зачастую это такой код, которому скорость и не нужна. Скриптик там, чтобы файлы перебрать. В остальных случаях вылизывать код рано или поздно приходится. Только почему-то языкам вроде Rust ставить дотошность при разработке во главу угла вполне допускается, а вот VLIW следует непременно смириться и загнуться. Хотя "основной вектор развития современных процессоров" задан прежде всего необходимостью "бежать изо всех сил лишь бы оставаться на месте" - рынок в текущем положении уже не особо привечает любые новации в стратегии вычислений. А повторением пройденного у нас занимается Байкал, а не Эльбрус.

VLIW жёстко заточен на компилятор - в числодробильном коде это в прицнипе работает (и может быть эффективнее за счёт отказа от OoO логики), но в суровом энтерпрайзе, где код с кучей условных переходов через каждые несколько инструкций, эффективная статическая компиляция на уровне раскладки по портам выглядит нереально.

Мне это видится инженерной задачей, причём решаемой - например гиперпоточностью, о чём я сегодня уже писал чуть выше. Хотя да, не скрою, я лицо заинтересованное - уж сильно мне нравится процессор в духе consteval / comptime, ныне весьма модных.

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

Это имеет отношение к концепции. Современные процессоры как-то сами собой пришли к тому, что программист в подавляющем большинстве случаев не сможет написать asm-код лучше компилятора. Только вот VLIW подразумевал это же самое отношение изначально.

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

В идеале код под Эльбрус должен затачиваться директивами вроде #pragma, которые на других платформах и других компиляторах просто игнорировались бы. К тому же условную компиляцию никто не отменял, а asm-вставки у Взрослых Дядь встречаются и по сей день.

Это работает, если ваш процессор предназначен для выполнения одной задачи. А если их много параллельно выполняется?

Обычный out-of-order speculative superscalar точно так же сбрасывает конвейер, очищает TLB и лишается кэша при любом переключении контекста, теряя производительность.

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

А есть какие-то непреодолимые препятствия у гиперпоточности на VLIW? Мне кажется, что нет, и даже наоборот: "продавить" часть команд одной инструкции в пустые места другой заведомо проще, чем распиливать команды на уровне железа и распределять их. Команды инструкции по определению независимы, потому что VLIW, сами инструкции тоже независимы, потому что из разных задач.

Гхм, с конца 1990-х к процессорам сбоку прикручивают SIMD-расширения, чтобы предсказуемо дробить числа - и где разница?

Оптимизация одним лишь SIMD не ограничивается. Хотя VLIW, по идее, и здесь обязан справляться лучше - попросту в силу числодробительной природы, выполняя по несколько SIMD-команд за такт.

А там где высокоуровневая бизнес-логика с её нехорошей индирекцией, ветвлениями и промахами кэша - там на одном железе всё равно будет медленно, а в другом - всё равно быстро.

Не могу согласиться. Здесь давно уже решает в первую очередь JIT, а не выраженная в железе стратегия исполнения. Для VLIW можно, например, соорудить всеобщий кэш профилировки на уровне всей операционной системы. А при первом исполнении скрипта собирать профиль, согласно которому затем сочинять готовый код своим же VLIW-компилятором. На уровень системы можно даже унести и сам этот JIT, и кешировать уже код, чтобы не сочинять его многократно. Концептуально это будет то же самое, что делает out-of-order speculative superscalar, но с куда более простым железом и меньшим обогревом вселенной.

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

Мне кажется, у VLIW (и Эльбруса в частности) здесь даже своеобразное преимущество имеется. На нём ты точно знаешь, что, как и где можно соптимизировать. Ты точно знаешь, что это придётся делать. Но так же точно ты знаешь, что процессор на это закономерно откликнется и покажет рост производительности, то есть твои старания не пропадут втуне.

Это заметно контрастирует с теперешними out-of-order speculative superscalar, где оптимизация уже напоминает игру в догонялки с компилятором и в напёрстки с процессором, поведение которых стали затачивать под высокоуровневые языки. В итоге ты смотришь на код и никогда не уверен: то ли его действительно можно оптимизировать, то ли просто железу сил не хватает, то ли компилятор свинью подложил, то ли сама задача сложная и нет смысла крохи собирать.

Когда я училась в аспирантуре, моей любимой преподавательнице как-то отказали в регистрации на участие в семинаре филологов на основании "извините, но какое отношение человек с вашей фамилией вообще может иметь к русскому языку, имейте совесть". Преподавательница на тот момент готовилась к защите докторской диссертации (и через год успешно ее защитила), а нерусскую фамилию, что самое забавное, преобрела не при рождении, а в браке. Но доказывать что бы то ни было идиотам не стала.

Если преподавательница не смогла отпарировать такое чем-нибудь в духе "позвольте, но Даль - фамилия исходно датская, а Розенталь - еврейская" - значит, правильно отказали.

Национальность - это что угодно, что взбредет в голову оценивающему.

Это личные интимные неприятности белых негров. Действительность от этого не меняется.

Кстати, "фамипия" - это не название домофона. На картинке выше видно, что в оригинале там написано "lakó neve", то есть "имя жителя", а рядом силуэт кнопки и нажатия. Это подсказка о том, как пользоваться. А "világítás" - это "освещение".

Magyar Királyi Technológiai

"Királyi" это "королевский", а домофон времён социалистической Венгрии. Слабо верится.

О, вот сейчас попался на глаза рисунок прям такого домофона:

https://kronika.hu/cikk/lakonevsor-majkremkonzerv-buszmegallo/ https://kristofmuranyi.com/door-bell-2012
https://kronika.hu/cikk/lakonevsor-majkremkonzerv-buszmegallo/ https://kristofmuranyi.com/door-bell-2012

Эта же картинка нашлась в одном из сообществ ностальгирующих в Facebook, разве что перешакаленная: https://www.facebook.com/retrogarazs/posts/pfbid0nJjH3wJMabRj7yEMbecybGWjYEKbgueVu3d9qVzs7uTNmucvnozb64iQuDny488Dl.
И в комментариях там прямо написали:

Petya Wigan: Gyártó: Megyeszer Vállalat, Pècs
(«Производитель: Компания Megyeszer, Печ»)
Gábor Schermann: MKT

На шильдике видно название: HITEKA. И поиск по "hiteka kaputelefon" выводит на искомое: https://www.facebook.com/sulekaputelefon/posts/hiteka-pécs/1852947644789594/
Видим, что HITEKA - это торговая марка некоего завода Hiradástechnikai Gépgyár с тем же адресом. Вероятно, это более раннее название той компании. И оттуда же берётся упомянутый ниже в комментариях тип домофонов HKT, предшествовавший MKT.

Сообщество это, кстати, принадлежит некоей домофонной фирме: http://sulekaputelefon.hu. Можете поизучать через переводчик. Или вот ещё некий венгерский сайт, посвящённый именно домофонам: https://kaputelefongyar.hu.

А табличка венграми писана. Именно отсюда "ФАМИПИЯ", "КНОПКY" и "ДОМОТЕЛЕФОННАЯ АППАРАТYРА" (третье это так совершенно явный надмозг от "házitelefon berendezés" или чего-то подобного). Забавно, что в "домотелефонная" они "л" осилили написать, а в "фамипии" - увы. :)

Что до MKT, то это почти наверняка сокращение от "Megyeszer Kaputelefon".
https://www.facebook.com/photo.php?fbid=4186793704733423&id=360661200680045

Régi Pécs - 16 июль 2021 г. ·
Lyceum utca és a Perczel Miklós utca sarki műemlék épület (Lyceum u 4.).
Eredetileg ebben az épületben volt a Pécsi Püspöki Lyceumi Nyomda. A fénykép készítésekor a Megyeszer Vállalat működött az épületben.
Fénykép forrása: Tóth Tibor gyűjteménye

Монументальное здание на углу улиц Лицеум и Перчела Миклоша (Лицеум, ул. 4).
Первоначально в этом здании располагалась типография епископского лицея Печа. На момент съемки фотографии в здании работала компания «Медьезер».
Источник фото: коллекция Тибора Тота.

Это совпадает с наклейкой на трансформаторе. "Megyeszer" - название предприятия, "v." - сокращение от "vállalat", "предприятие", "Pécs" - Печ.

Исходя из данного предположения, удалось найти и рекламу капутелефонов домофонов от этого производителя в виде карточных календариков:

раскрыть и посмотреть.
«Хотите, чтобы ваша квартира была современной и комфортной? Установите домофон на входе!» https://f1hungary.fw.hu/kartyanaptar/katalogus/kartyanaptar.php?sorszam=2225 https://kartyanaptarak.hu/picture.php?/6005/category/rajzfilm-cartoon
«Хотите, чтобы ваша квартира была современной и комфортной? Установите домофон на входе!» https://f1hungary.fw.hu/kartyanaptar/katalogus/kartyanaptar.php?sorszam=2225 https://kartyanaptarak.hu/picture.php?/6005/category/rajzfilm-cartoon
«Современная и комфортная квартира? Домофон.» https://p2-ssl.vatera.hu/photos/55/d8/kartyanaptar-pecs-megyeszer-kaputelefon-grafikai-noi-modell-1974-5bfc_1_300.jpg
«Современная и комфортная квартира? Домофон.» https://p2-ssl.vatera.hu/photos/55/d8/kartyanaptar-pecs-megyeszer-kaputelefon-grafikai-noi-modell-1974-5bfc_1_300.jpg

Ещё похоже, что MKT из названия превратилось в обозначение всех подобных домофонов такой системы. По крайней мере, по "Megyeszer MKT-LC" и "MKT kaputelefon rendszer" находится много интересного, например:

https://webshop.biztonsagosotthon.hu/TESLA-MKT-lakaskeszulek - трубка для таких домофонов, интересна приведённым списком моделей:

  • Régi MKT ("régi" - "старый")

  • KATE

  • TESLA MKT

  • Megafon MKT

  • Codefon MKT

  • Fermax MKT

https://codefonshop.hu/CODEfon-MKT-lakaskeszulek и https://codefonshop.hu/Tesla-MKT-lakaskeszulek - тоже трубки, интересны описанием:

  • Analóg MKT rendszerekhez (Megyeszer, Fermax, Kate) vagy Digitális codefon rendszerhez MKT átalakító modul esetén használható.

  • Bekötési lehetőségek: K (közös) 6, Z (zár) 1, L (lakás egyedi) 3, A (ajtócsengő) A

  • Подходит как для аналоговых систем MKT (Megyeszer, Fermax, Kate), так и для цифровых систем CODEfon с модулем преобразования MKT.

  • Варианты подключения: K (общий) 6, Z (замок) 1, L (индивидуальный для квартиры) 3, A (дверной звонок) A

Эти истории учат только тому, что человек может поехать кукушкой. И от национальности это не зависит.

У людей не лбу не написано, хорошие они или плохие, вменяемые или нет. Поэтому и остаётся довольствоваться лишь стереотипным восприятием.

И да, национальность - это не этническое происхождение. Это принадлежность к некоей нации (то есть как правило стране), которой сопутствуют common practices в виде языка, религии, культуры и тому подобного. А здесь уже полно корреляций и с уровнем образования, и с общей развитостью, и в том числе - с распространением фанатизма. Вы едва ли хотели бы себе няню из Афганистана или Сомали, какой бы доброй и красивой она ни выглядела.

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

У SQLite ещё и очень интересный этический кодекс: https://sqlite.org/codeofethics.html. Без него, боюсь, впечатление может оказаться несколько неполным. :)

Делюсь хитростью, /print (в конце ссылки) и режим чтения FF творят чудеса на discourse. (в основном принт, дает сразу всё полотно топика.)

Можно ещё проще и без /print: докиньте ?_escaped_fragment_ в конец URL и всё. :)
Узнал вот здесь: https://meta.discourse.org/t/a-basic-discourse-archival-tool/62614.

До сих пор сижу на Windows 7 в качестве основной рабочей системы. Хорошая добрая новость для меня.
К слову, разработчики известного форумного движка Discourse поторопились, и сейчас его новые версии больше не отдают 115.27.0esr ничего, кроме плоского html (и только если разлогинился). Заметил на users.rust-lang.org и internals.rust-lang.org в двадцатых числах августа, до этого всё работало как новое.

Поэтому я решил написать загрузчик для материалов, описанных в простом текстовом формате по типу ini-файлов. В секции Texture описываются используемые текстуры, которые затем подгружаются из пула ресурсов, в RenderStates — напрямую указаны поля в классе Material, а в Combiners — очень-очень примитивная вариация на тему шейдеров!

Изначально я хотел сделать чтобы материалы описывали эдакий набор инструкций как «шейдеры» в Quake 3.

Если кому интересно почитать поподробнее, о чём речь: https://fabiensanglard.net/quake3/renderer.php.
На Хабре был перевод, но ссылка на PDF там сдохла.

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

1
23 ...

Информация

В рейтинге
6 521-й
Откуда
Владивосток, Приморский край, Россия
Зарегистрирован
Активность