Category: it

Category was added automatically. Read all entries about "it".

Оглавление


Последнее обновление: 2.02.2010
Все, что написано здесь - это моё личное мнение. Если оно вам очень не нравится, вы можете просто его не читать.
Collapse )
Анонимусам и собакам вход воспрещён.

Если б я делал процессор в 90х

У меня есть хобби - растёт из игры, в которой был злобный алгоритм, который ну невозможно было переписать эффективно для проца. Буквально 6 инструкций SSE2 для проверки столкновения кубиков. Ветвления по максимуму заменены на lookup table в памяти. SSE команды просто не поддавались оптимизации т.к. регистров на несколько итераций параллельно не хватало. Плюс этот алгоритм сам хорошо паралелился в теории но был вложен в непаралелящийся кусочек - очень короткий, но тем не менее. И я придумал процессор который мог бы тянуть такие злые внезапно ветвящиеся и сходящиеся алгоритмы, и это разумеется не GPU. Потом оказалось, что такой проц может тянуть вообще все виды программ.

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

Идея там довольно простая: в обычном х86 компилятор пытается команды перемешать так чтоб параллельные команды шли параллельно. Но если выборка из памяти сосёт, то смысла в этом не будет. Логичнее разбить команды на последовательные списки небольшой длины (1-32 команды) и между ними вставить пометки - если будет время параллельно выбирай еще и отсюда. А заодно ввести семафоры прямо в проце для синхронизации. Вот тогда паралелящиеся циклы, описанные выше внезапно можно в цикле запускать друг за другом, а гадкую подмутексную часть - просто триггерить семафором. Там еще оптимизация ALU довольно свирепая, и realtime-компилятор микрокоманд из байткода, это для эмуляции х86. Это кстати будет помогать в виртуализации I/O т.к. см ниже. Байт-код маппится практически 1-в-1 в коды х86-64 за счет 2х памяти на бинарнотранслированный код. Нам и того меньше надо. Виртуализация тут обеспечивается за счет того, что выполняется всегда бинарно транслированный код, а всякие хитрые операции подменяются вызовом прерывания или подпрограммы.

Я вот тут подумал challenge: Мы живем в 90е и по условиям, денег у нас только на производство одного проца. Чипсет, всё это  - нафиг. Я попробую практически сделать ретрокомп на кастомном проце.

Процом у нас будет чип anlogic EG4S20BG256 у нас будет на плате ставящейся в socket3/socket5/socket7 чисто механически, т.к. у него Vio до 3.3 вольта. В сокет7 он кстати может и встанет но остальные это - смэрть. Это не значит, что я откажусь о т аналога четверентиума, просто там проц будет отдуваться за чипсет. А значит потребуется 4 сокета для SIMM и 4 плашки EDO 3.3v. Контроллер будет прямо на проце, т.к. мой опыт говорит что socket7 работал на 50% от своей скорости в лучшем случае. Тайминги 10-1-1-1 я сам видел на SDRAM.

В нашем случае - контроллер памяти имеет 32-64 пина данных, 48 пинов адреса(2Х12 на оба банка) чтоб 2 банка памяти работали через такт. Для этого надо будет потанцевать с OE# (4 пина) чтоб обрубать выход одному банку когда работает другой. В идеале на 66мгц и EDO-памяти мы получим цикл чтения 5-1-1-1 что будет быстрее кэша L2 на конкурентских материнках, причем последовательная выборка будет 5-1-1-1-2-1-1-1 т.к. банки независимы.

Для простоты можно сразу взять готовый tang premier с 64мб памяти чтоб не плясать вокруг SIMM прямо в чипе но так не по фэншую. Либо не разводить на плате слоты вовсе, использовать плисовую память но натыкать в слоты мусора какого нибудь для красоты. помоему идея хороша.

Также придется сделать DMA-контроллеры на проце, а к ним еще и некий универсальный контроллер. Это я умею, это фигня в общем-то. Я уже делал программируемый контроллер ввода вывода именно для видеокарты на MAX3000 причем висела она на SPI для полного страдания. Таблица в памяти наше всё оказалась. Контроллер просто должен её "выполнить" как нормальный процессор программу, с goto, wait и прочим. По сути это контроллер с очень узким набором команд. Пусть даже в ПЗУ сидят.

Что по кэшу, по условиям challenge для трентиума кэша данных нет, есть очередь команд 64 штуки байткода(16х64битных слова) и буфер чтения 4х16байт(это вместокэш), и очередь записи 4 штуки. ALU FPU общее с CPU, и конвейеризированное, т.к. я его уже оптимизировал так. Квак наверно не потянет, но на уровне 4ки будет тормозить. 64 регистра общего назначения, сегменты, TLB 8x4входа. Вроде это соответствует техническим возможностям тогдашего времени. Для четверентиума кэш уже надо добавить. 4кб+4кб кода или 8+8кб для аналога dx100.

Для пня сразу скажу, что дело пахнет параллельным fpu, один или два или четыре не знаю. Вообще fpu очень мелкие. Предположим что влезет, тем более что на чипе не будет smram, большей части логики для совместимости с х86. А то что там компилятор микрокода - он простой на самом деле. Так что аналог пня будет с SSSE3 чтоб враг охуевал и шейдерами вдобавок.

Материнка напомню у нас своя. что на ней должно быть? Шина - однозначно ISA 3x16битных слота+1 порт фирменного vga(см далее). Лучше 4 слота но... места не хватит я уже прикинул т.к. далее пойдет рассыпуха.

С проца 3х8бит шины данных-одна 2х8бит(1чтение,1запись)уходит через конвертеры cmos3.3v <-> TTL5v в одно рыло на ISA, другая рулит периферией на 580й серии(тоже через конвертеры). Почему исашная шина расщеплена на чтение-запись? Для скорости. Каждая шина имеет 8 бит данных, 6 бит адреса, и 4 бита управления и свой клок. Идея такая - к 580й периферухе мы обращаемся тупо на скорости 4 мгц(66мгц/16) через дешифратор КР1533ИД7->CS + 3 младших бита адреса напрямую, тут у нас чистый 8бит-мир.  еще один ИД7 на второй шине о которой ниже.

К ISA мы 8битную шину гоним до 33мгц, это нам дает 4 такта на каждый цикл ISA(8.33мгц). На выход с нашей шины на ISA стоят пары К1533ИР35+К1533ИР22 туда и ИР22 обратно. ИР35 захватывают значение(WE с шины управления), ИР22 стробируется общим клоком на все ISAшные ИР22шки и выдает сигнал на шину ISA синхронно с клоком ISA. Задача проца сделать так, чтоб в каждый клок подавались только правильные значения и tristatить ИР22шки на шине данных на выход.

Прерывания с ISA - КР58В
0Н59, его хватит за глаза, таймер КР580ВИ53, 2хКР580ВВ51А, клавиатура AT - хз, не нашел аналога но может быть может быть можно на рассыпухе, еще добавим кроватку для КР580ВВ79+гребенку для подключения в формате "комп в клавиатуре", К1810ВГ72(+кроватка) для флопика. ATA порт можно сделать один на рассыпухе(+6 ИР22), для PIO3 хватит и DMA - так контроллер-то на проце программируемый, он и потянет.

Вроде бы всё. А нет. Видео тоже стоит денег. И монитор. А у нас можно на проц добавить еще один 8битный порт только на чтение и мы могли бы в телевизор смотреть вместо монитора. Вы кстати спросите - а контроллеры всего этого место не займут на проце? даже не на плис а мы же делаем вид что в железе сделали. Отвечаю - нет, потому что контроллер то программируемый. Надо 3 канала всего причем работать они могут через такт, ибо 66мгц внутри, 33 снаружи. Аппаратно там только чтение флешки при старте надо делать.

Кстати именно здесь играет роль порт "фирменного vga". В обычное vga или ega в начале 90х данные можно передавать с рассыпухи буквально. Вообще, почему не PCI? Дорого, патенты, выебут, и очень сложный контроллер, места для которого у нас на чипе нет. Поэтому колхоз во все поля.

По условиям мы живем в 1992м+-. У нас есть вот такие варианты: EGA, VGA, VGA с выделенной памятью, SVGA с выделенной памятью. Что нужно: в самом худшем случае данные сэмплятся из памяти с проца. Делать руками палитру в софте мы не будем. Значит нужен RAM 3x256x8, ну или 2Кх8(КР537РУ8А). Для 640х480 надо 308Кпикселей в кадр, это 60*307к=18.5мегабайт в секунду. У нас - 33. Хватит с запасом. То есть минимальная EGA/VGA - это буквально одна КР537РУ8А, один регистр, пара счетчиков(клок с проца придёт), и аналоговая часть. переключение шлейфом в один из двух сокетов на палте.

Далее, идем в 1994+. Quake требует уже нормального видео. А наше видео, напомню, дрочит память, причем на хорошей такой скорости. EDO в режиме 5-2-2-2 в два канала на 32бита на 33мгц(5-1-1-1 по факту) нам отдаст до 16*4мб/сек=64мб. Значит в контроллере I/O уже должно быть fifo для записи байт причем довольно большое. Вот кстати я в отличии от других изобретателей процов прогоняю модельки через стресс-тест. Поэтому такие моменты выявляются даже на примитивном тесте.

Но стоп, перед этим нам понадобится sound blaster, а точнее covox. 3 канала *16бит*44100(2in 1out) не сожрут много траффика c шины  на которой сидит 580я периферуха. наверно. а нет сожрут, поэтому давайте добавим их на фирменную vga. midi там не будет по дефолту, ибо нищета но будет опция кроватка для CT1748A, и миксер в виде регистр+covox. Вот там-то дури достаточно пока еще для трентиума и четверентиумов. Дум мы скорее всего вот в такой импортозамещенной конфигурации тянем без сложностей, ибо даже без кэша мы обеспечиваем.

Для больших разрешений скорее всего потребуется хакать внешнюю импротную vga, чтобы переписывать её память между обновлениями экрана. Ну а что делать, если отечественные контроллеры(КР1810ВТ02/03) поддерживают только 7 адресных линий? 7+7=14 * 4RAS для 03го. Короче, всё, вот пока, ничего уже на рассыпухе не сделать. Просто дальше нужно реально внешний чип хотя бы для DMA и вывода данных, а по условиям задачи это ну можно сделать на рассыпухе но уже

То есть минимально трентиум мы делаем, причем конкурентный. Четверентиум... ну уже не очень получается, но очень близко к цели. ISA хотя и тормозит но тормозит параллельно процу.

Физически на плате это будет лежать так:


посмотрим, во что можно развить наш ретрокомп в будущем. пока 386/486.

Жалкие попытки идиотов

​​Роскомнадзор будет блокировать mesh-сети, I2P, TOR, TON, Freenet, Zeronet, anoNet. Купол окончательно захлопывается господа.

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

При проведении работ должны быть разработаны комплексные рекомендации по ограничению доступа к запрещенной информации с использованием mesh-сетей (в контракте указаны Yggdrasill, cjDNS, Briar, Signal Offline, FireChat), I2P, TOR, Telegram Open Network, Freenet, Zeronet, anoNet, а также технологий и протоколов IoT

Окончание работ – 30 июня 2020 года.

https://zakupki.gov.ru/223/purchase/public/purchase/info/common-info.html?regNumber=32008950175
* * *
И закономерно обосрались... Даже если бы они сумели блокировать всё это, вопрос времени когда люди перейдут на стеганографию. Причем там можно намутить совершенно фантастических способов шифрования, например можно данные смешать с рандомными битами по заданному паролем алгоритму, зашифровать, отксорить с ЧУЖОЙ картинкой, а потом еще раз зашифровать и полученные битовые данные передать например через игровой протокол квейка или в виде карты для майнкрафта. а в нагрузку сообщить что обсуждаешь в треде таком-то котиков, не указывая на картинку.

Вжух вжух и нету интернета!

13 зарубежных IT-компаний, владеющих 22 информационными ресурсами, в том числе Google, Telegram, Twitter и Meta (ранее Facebook), включили в реестр закона «о приземлении». Согласно закону «О деятельности иностранных лиц в информационно-телекоммуникационной сети «Интернет» на территории Российской Федерации» (Федеральный закон № 236-ФЗ от 01.07.2021г), иностранные интернет-компании с суточной аудиторией свыше 500 тыс. пользователей будут обязаны открыть свои уполномоченные представительства на территории РФ до 01.01.2022г.

В список также включили Apple, Twitter, TikTok, Telegram, Zoom, Likeme, Discord, Pinterest и Twitch.

Помимо этого, перечисленные компании будут обязаны разместить на сайте специальную форму для обратной связи с российскими пользователями, завести личный кабинет на сайте Роскомнадзора и установить на сайте счетчик посещаемости. Кроме того, они будут должны ограничивать доступ к информации, признанной нарушающей российское законодательство.
https://rkn.gov.ru/news/rsoc/news73944.htm
* * *
Похоже, телеге потребуется замена, причем срочно. Также непонятно, как заменять почту на гмыле. У меня туда, ска, дохера акков привязано. Гугл-плей - пока-пока. Дискорд, ну привет геймерам. Стим! Стим забыли, но ничего, вспомнят.

"счетчик посещаемости" кстати блочить придётся.

Как МФИ-софт относится к безопасности

https://habr.com/en/news/t/465053/

Это пиздец конечно. Обосрались и врали, что это - какие-то корпроративные иб в интернет торчат.

И остаётся открытым вопрос, зачем в качестве вендора в пакетах, лежащих на публичном FTP-сервере, поднятом на публично доступных узлах, указана «МФИ-Софт», если это не её продукты, а какие-то корпоративные системы?

Обо всём было сообщено «МФИ-Софт», но компания не отреагировала. Больший эффект дала рассылка писем по abuse-ящикам провайдеров — целых 5 снифферов исчезли из общего доступа. Осталось 25. Некоторые снифферы после исчезновения возвращались, когда сотрудникам вендора нужно было получить к ним удалённый доступ

4.2. Подключение 16-ти пунктов управления техническими средствами ОРМ (далее — ПУ) для управления техническими средствами ОРМ с целью проведения оперативно-розыскных мероприятий с использованием интерфейса EtherNet IEEE 802.3 TX и назначением одного из ПУ головным. Наличие иных интерфейсов для управления техническими средствами ОРМ не допускается.

digital.gov.ru/ru/documents/4249

то есть, ребята из МФИ-Софт могут, конечно, попытаться спрыгнуть на «это не управление, а полтора года отладки нашими сертифицированными слоупоками», но ходят они по тонкому льду


Это просто уму непостижимый уровнь долбоебизма. аутентификация? шифрование? ограничение по IP? ну хотя бы SSH? да они не слышали таких слов даже.

Ебалайтунг

Портирую я в данный момент мегатетрис cuyo в веб, с помощью emscriptenа. Ох и наебался я с последним: например он грузит данные программы прямо в хип, и если хипа не хватает, он ничего не говорит а тупо портит этот хип. Если быть точным, то dynamicAllocate возвращает 0, который не проверяется и хип прямо с нуля и до конца засирается. А потом проверка на запись в нулевое слово всё рубит.

Так вот, беда в том, что cuyo написан сука на немецком языке С++. То есть там внутри вообще всё что можно обозвано немецкими скороговорками. И до кучи ему не нравится собственный конфиг. Надо разгадать, хули же ему надо вот в таком коде:
  set<set<Str> >::const_iterator i1 = versionen.begin(),
                                      i2,
                                      e  = versionen.end();
  for (; i1!=e; ++i1)
    for (i2 = i1, ++i2; i2!=e; ++i2) {
      set<Str> v = vereinigung(*i1,*i2);
      if (legal(v))
        if (versionen.find(v)==e) {
          throw Fehler(_("%s%s not uniquely defined"),
		       schluessel.data(), setToString(v).data());
        }
    }

...

set<Str> vereinigung(const set<Str> & s1,const set<Str> & s2) {
  set<Str> v = s1;
  set<Str>::const_iterator i = s2.begin(),
                                e = s2.end();
  for (; i!=e; ++i)
    v.insert(*i);
  return v;
}

Я сижу и охуеваю от того, что наворотил тевтонский программист. Что это блядь такое-то вообще?
Есть set setов строк. Он берет каждую пару setов строк, делает из них set с неповторяющимися строками, и ищет их в исходном setе. Ясен пень что этот код всегда будет кидать исключение, кроме случая когда там только один сет - тогда он сам себя будет находить и радоваться.

* * *

ох ты ж блядь оно ещё и не собирается из сорцов

Как работают с китаем.

Для этого бизнеса нужно было создать устройство, способное принимать бесконтактные платежи, выдавать power bank и следить, где он сдан. Какие сложности сразу возникли? Выяснилось, что клиент уже купил устройство в Китае. И китайский менеджер ему пообещал, что всё будет классно. Но менеджер отказался предоставлять документацию по API, документацию по девайсу. В устройстве стоял «одноплатник» с операционной системой Android — и нам нужно было прикрутить бесконтактные платежи с рекуррентным списанием.

Мы пришли, посмотрели и сказали: «Ой-ой, что же нам с этим делать?» Месяц общения с китайцами привёл нас к обескураживающему результату. Китайцы сказали: «Вы нам заплатите денег — мы вам сделаем приложение. Но вы будете работать через наше китайское облако. И документацию мы вам не дадим».

https://habr.com/ru/company/southbridge/blog/468377/

Юра, мы всё проебали

Поскольку в виде комментария моё сообщение затеряется в десятках страниц, решил создать отдельный тред.

А началось всё с Джеффри Эпштейна. Он занимался сутенёрством, в том числе и с несовершеннолетними и против воли последних.

В 2002 году, когда о преступлениях Эпштейна ещё не было известно, он был организатором конференции по искусственному интеллекту. Там он он приказал одной из девушек подкатить к Минскому — известному учёному и основателю лаборатории Искусственного Интеллекта в MIT. Он отказался, но об этом стало известно лишь позже. Девушка же только сказала, что ей было приказано к нему подкатить, а что дальше происходило не уточняется.

Из-за этого все в списке рассылки CSAIL (Computer Science and Artificial Intelligence Laboratory) думали, что он таки согласился.

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

Далее пришла Селам Джи Гано, которая с FSF не связана, а просто училась в MIT, откопала этот список рассылки (непубличный), переврала слова Столлмана, убрав слова «могла притвориться», сама этому ужаснулась, написала всем журналистам кому можно, опубликовала статью «Уберите Ричарда Столлмана».

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

Затем подключились другие: Мэттью Гарретт, Sage/Sarah Sharp, Сара Мей, Neil McGovern (исполнительный директор GNOME) вообще пригрозил разрывом отношений с FSF

https://www.linux.org.ru/forum/talks/15235904/page1

* * *

А между прочим в GPL3 есть лазейка: "и все последующие версии". И сейчас пидоры могут одним выстрелом добавить в кучу опенсорса обязательство целовать в жёппу пидоров.

Вот увидите - так и будет.

В интернет по паспорту

Глядя на засилье иностранных пиздоболов в комментах к любой новости, имеет смысл всё таки запилить авторизацию через госуслуги. Причем надо сделать так, чтоб на госуслугах можно было получить сертификат SSL, который далее используется для аутентификации(SSL умеет делать это в обе стороны). Иностранных пиздоболов как хуем сдует хотя бы из ЖЖ, а отечественных можно внести на какой-нибудь "миротворец" и ебашить скриптом нахуй из коментов.