- 1
- 2
- 3
- 4
- 5
global _start
_start:
mov ebx,0
mov eax,1
int 0x80
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
global _start
_start:
mov ebx,0
mov eax,1
int 0x80
https://habr.com/company/flant/blog/413959/
Объясните для тупых, как программа в 3 команды может занимать аж 352 байта?
Помню были приколы, когда в блокноте или пейнте писали бинарники.
guest8 15.06.2018 12:06 # −999
guest8 15.06.2018 12:07 # −999
roskomgovno 16.06.2018 14:34 # 0
guest8 16.06.2018 15:02 # −999
666_N33D135 15.06.2018 13:12 # 0
Археологи говорят, что COM пришли в DOS из CP/M. Хотя можно напейсать свой загрузчик и юзать нешто подобное в других осях.
guest8 15.06.2018 13:18 # −999
666_N33D135 15.06.2018 14:58 # 0
guest8 15.06.2018 15:03 # −999
666_N33D135 15.06.2018 15:03 # 0
guest8 15.06.2018 15:05 # −999
666_N33D135 15.06.2018 13:18 # 0
На винде раньше можно было одну секцию для кода и для всего остального.
bormand 15.06.2018 13:18 # 0
666_N33D135 15.06.2018 15:01 # 0
guest8 15.06.2018 15:09 # −999
guest8 15.06.2018 13:20 # −999
bormand 15.06.2018 13:21 # 0
guest8 15.06.2018 13:23 # −999
guest8 15.06.2018 13:24 # −999
guest8 15.06.2018 13:27 # −999
666_N33D135 16.08.2018 15:09 # 0
guest8 16.08.2018 15:28 # −999
bormand 16.08.2018 18:34 # 0
666_N33D135 17.08.2018 15:36 # 0
ЗЫ. придумал упоротую хуйню – форт-система с прямым шитым кодом, но без адресного интерпретатора, счетчик инструкций – esp, next – ret, но тогда нельзя будет юзать push и оба стека придётся реализовывать программно.
guest8 14.09.2018 04:04 # −999
MasterJoda 14.09.2018 07:36 # 0
guest8 14.09.2018 03:57 # −999
guest8 15.06.2018 13:22 # −999
bormand 15.06.2018 13:36 # 0
Это ж не микроконтроллер с фиксированными адресами.
guest8 15.06.2018 13:46 # −999
bormand 15.06.2018 13:48 # +1
Лучше уж тогда вообще глобалки не юзать, имхо. И не пытаться их сэмулировать.
guest8 15.06.2018 14:19 # −999
666_N33D135 17.08.2018 15:45 # 0
То ли дело ассамблей, там есть встроенные глобальные переменные (регистры):
666_N33D135 15.06.2018 15:16 # 0
sam 20.06.2018 10:25 # 0
Лить константы прямо в секцию кода, неподалёку от места их применения, добавляя прямо над ней прыжок на размер константы ( аля jmp short какой-нибудь ).
Помнится, какие-то асм-компиляторы прямо так и делали( в этом случае, адреса констант проставлялись фиксированные ), либо же, чутка хитрее( шортопитухи и вычисление адреса константы относительно запрашивающей константу инструкции ).
В последнем случае, при норм компоновке, получаемый код можно норм внедрять и в другие проги
Doctor_Who 16.06.2018 22:16 # 0
А знаешь ли ты, что во многих виндах был баг, благодаря которому становилось возможным выполнение произвольного кода? Баг заключался в функции LoadLibraryEx. При подгрузке библиотеки *.dll с точкой входа, управление сразу же передавалось на нее, не спасал даже флаг LOAD_LIBRARY_AS_DATAFILE.
bormand 15.06.2018 12:23 # 0
З.Ы. Если скомпилить в a.out, как советует guest, и стрипнуть символы, то получится всего 44 байта (из которых 12 -- твой код, а 32 -- заголовки).
Psionic 15.06.2018 15:20 # 0
guest8 15.06.2018 15:30 # −999
roskomgovno 16.06.2018 22:43 # 0
Мало того что это напрямую нарушает принцип обратной совместимости, так еще и некоторые firmware врут, сообщая в BDA (или каких-то таких структурах) что он есть
guest8 16.06.2018 22:55 # −999
bormand 16.06.2018 22:56 # 0
guest8 16.06.2018 23:00 # −999
guest8 16.06.2018 22:56 # −999
roskomgovno 16.06.2018 23:07 # 0
guest8 16.06.2018 23:24 # −999
roskomgovno 16.06.2018 23:35 # 0
3.14159265 17.06.2018 11:11 # 0
А меня жутко бесит что в современные PC встраивают какую-то малопонятную вредную дичь под названием UEFI.
Действительно уж лучше бы встроили какой-нибудь бейсик и примитивную ОСь.
bormand 17.06.2018 11:18 # 0
З.Ы. Обидно, что этот шелл почти никогда не встраивают в прошивку.
guest8 17.06.2018 12:03 # −999
bormand 17.06.2018 11:35 # 0
Что там вредного то?
64-битный код с маппингом адресного пространства 1:1. Интерфейсики с разными уровнями абстракции вместо изъёбств с гейтами через риалмод. USB работает из коробки. Драйвера достаточно легко писать. Юникод во все поля. Чем не примитивная ось?
guest8 17.06.2018 11:43 # −999
666_N33D135 17.06.2018 13:22 # 0
666_N33D135 17.06.2018 13:23 # 0
3.14159265 18.06.2018 22:01 # 0
Ограничение на установку неподписанных вендором ОСей.
А UEFI remote mangement — потенциальная гипердыра, похуже мелтдаун и спектрум.
Технология, с помощью которой ПО СЕТИ можно выключать/перезагружать/ломать комп, менять настройки биоса. И я практически уверен что вендорами там оставлен бэкдор.
roskomgovno 18.06.2018 22:05 # 0
а с другой стороны кому-то это может помочь не ехать в три часа ночи в датацентр:)
3.14159265 18.06.2018 22:07 # 0
Ну специально обученный дежурный.
Это как раз специально делают какую-то хуйню, а потом "объясняют" почему эта хуйня вам ну очень нужна.
Наше устройство не следит за вами, просто удобно хранить на нашем сервере историю ваших местоположений.
Айфон не собирает базу отпечатков пальцев, это для вашей же безопасности, итд.
roskomgovno 18.06.2018 22:10 # 0
А еще иногда бывают бедные конторки где яумамыадмин держит сервера прямо под столом на рабочем месте или в импровизированной серверной в углу.
И там любой out of band management может спасти ситуацию. Хотя в наше облачное время такие решения, наверное, большая редкость
bormand 19.06.2018 06:23 # 0
> безопасности
Вход по отпечаткам, имхо, на стороне удобства, но никак не безопасности...
bormand 19.06.2018 06:12 # 0
Поставь свои ключи и эта фишка станет плюсом.
> remote management
Ну блин, такого говна и на bios могли напихать (но там написать это было бы на порядок сложнее, да).
bormand 19.06.2018 06:30 # 0
roskomgovno 19.06.2018 16:59 # 0
Конктрено в ehci и usb-hubs?
bormand 19.06.2018 17:24 # 0
roskomgovno 19.06.2018 17:38 # 0
Я уже научился selective suspendить у ehci (если порт включен и не делегирован компаньённому ohci/uhci) : надо в PORTSC записать спец битик, и он физически выключает порт. Но на порту сидит его root hub, так что отключаются все устройства (мышка гаснет!).
Я хочу теперь отключить конкретный порт хаба.
В usb2.0 hub spec сказано что надо послать message SetFeature c PORT_SUSPEND (пакет типа setup)
Но я не понял пока надо-ли его слать хабу или конкретному устройству, и что если хаб у меня не 2.0, по-другому-ли там быть?
В идеале хочется сэмулировать поведение Windows PnP manager который умеет отключить всю иерархию: порты через setFeature, потом рутхаб через PORTSC потом сам контроллер через какой-то его протокол, потом само устройство через PCI Power management, затем чуть-ли не рут комплекс через AHCI итд.
То-есть у тебя такое дерево и все оно управляется одном клиентом (линуксовый sysfs примерно такой же, но не такой красивый, а например в freebsd для usb вообще отдельная тулза usbconfig)
Но начать бы с порта.
666_N33D135 19.06.2018 17:45 # 0
Дай угадаю: OpenBSD?
bormand 19.06.2018 18:08 # +1
Root hub же встроен в контроллер, его портами ты и рулил через PORTSC. А это скорее rate-matching hub (или как там его называют?), без которого тебе бы пришлось бы ебаться с OHCI/UHCI и перебросом медленных девайсов на них.
> надо-ли его слать хабу или конкретному устройству
Хабу. Судя по доке, в 1.х всё было точно так же. Вроде бы в 2.0 хабам только сплит-транзакции добавили.
roskomgovno 19.06.2018 18:16 # 0
Это вместо companion ohci/uhci?
А где он спепцифицирован, в ehci?
зы: вижу
компаньены зло, их выкинули на мороз
Так, получается что топология такова:
верно?
>>Вроде бы в 2.0 хабам только сплит-транзакции добавили.
А в тройке?
Я доку по usb3 и xhci боюсь даже открывать.
Если в тройке так же то получается что отключать хабы я могу одинаково в независимости от версии USB, да?
Вот порты рутхаба мне надо отключать в специфичной для *HCI манере.
bormand 19.06.2018 18:31 # 0
Бля, там сотня метров и качается как по модему. Но я думаю, что приостановка портов и там будет работать. Зачем базовые фичи ломать без причины? Воткнёшь новый хаб в старый комп со старой осью и он не заработает...
> ehci --> root_hub
[*HCI & root_hub] --> rate_matching --> мышка
Но учти, что на других машинах там могут болтаться компаньоны.
> отключать хабы
Отключать даунстрим порты на всех хабах кроме корневого. На корневом -- да, в специфичной для *HCI манере.
> где он спепцифицирован
Да обычный хаб. Точно такой же, как и все остальные. Отдельной спеки на него не будет.
roskomgovno 19.06.2018 18:49 # 0
Так когда я шлю SetFeature(SUSPEND,port) я целюсь в rate matching (ну или в даунстрим), а не в root, правильно?
Root на такие вопросы не отвечает, его надо через *HCI-spefic метод крутить.
>>Но учти, что на других машинах там могут болтаться компаньоны.
ну я уже понял что надо проверить port owner и enabled. Если порт отдали компаньону то он port owner == 1, и тогда его нельзя суспенд через PORTSC.
Меня больше пугает разнообразие топологий: где-то там будет мышка прямо в руте торчать (где нет rate matching), где-то будет rate matching, где-то будет нехуевое такое дерево.. В общем мне надо как-то попросить пользователя указать адрес устройства (или путь к нему) и у близжайшего апстримхаба попросить суспенд.
>>Да обычный хаб.
Короче, у нас бывает 2 вида хабов:
1) рут хаб
2) просто хаб
Первый управаляется через контроллер, второй через setup messages, так стало понятнее.
По ходу вопрос: я верно понимаю как работают мессаджи: их пишут в спец. лист в памяти в виде структурки, и их контроллер оттуда накачивает (его программируют на знание адреса структуры этой) и выполняет и перекладывает типа в лист исполненых. так?
bormand 19.06.2018 19:27 # 0
Дык он и не USB девайс, чтобы на них отвечать.
> разнообразие топологий
Enjoy your USB. Ну тут или полный путь по дереву хабов указывать придётся или адрес девайса (он уникальный в пределах HCI).
> работают месседжи
Если HCI с DMA (а на ПК других и нет) -- примерно так, да. Добавляешь ему в очередь структуры с задачками (физический адрес буфера, адрес девайса на шине, эндпоинт на девайсе, что делать) и дальше он сам.
roskomgovno 19.06.2018 19:44 # 0
Судя по твоей фразе "адрес девайса на шине" в пакете указан адрес девайса, и хабы сами понимают как его туда доставить, да?
То-есть если ОС выдала номер 42 мышке на вооооон том хабе , но контроллер поймет как это ему доставить через все хабы?
>>Если HCI с DMA (а на ПК других и нет)
Ну, начиная с PCI все шины на ПК умеют DMA, а все HCI вроде и описаны как PCI(express) девайсы. Так что если где-то и есть USB контроллер без DMA то он точно не на PCI) А что, бывают такие?
В общем спасибо тебе, стало как-то понятнее.
bormand 19.06.2018 19:59 # 0
Микроконтроллеры. Хотя там тоже DMA, просто не такое навороченное...
> как это доставить через все хабы
Да ему похуй в общем-то. Хабы же не просто так хабами называются. Собственно почему им в 2.0 и пришлось прикручивать сплит-транзакции для портов, куда воткнуты медленные девайсы.
roskomgovno 19.06.2018 20:08 # 0
bormand 19.06.2018 20:10 # 0
Да нихуя, тупо бродкастят если верить спеке. Ловить SET_ADDRESS и вести табличку им, конечно, никто не мешает, но зачем?
In the downstream direction, hubs operate in a broadcast mode. When a hub detects the start of a packet on its upstream facing port, it establishes connectivity to all enabled downstream facing ports.
З.Ы. В 3.0 может быть и поумнее что-то.
roskomgovno 19.06.2018 20:18 # 0
ну да, они же хабы а не свитчи
bormand 19.06.2018 20:16 # 0
bormand 19.06.2018 18:39 # 0
roskomgovno 19.06.2018 18:51 # 0
1) OS видит что девайс ничо не делает
2) ОС его Suspend в соответствии со своим power policy
3) девайс просыпается (ну там мышку дернули например)
Но я это не осилю с ходу, я хочу пока вручную хотяб отключать
А как правильно отключить порт если не через суспенд?
bormand 19.06.2018 19:37 # 0
З.Ы. А ты не боишься вот так нагло в обход оси кидать запросы контроллеру? Всё-таки у оригинальных драйверов тоже свой стейт есть.
roskomgovno 19.06.2018 20:16 # 0
Я читал про это, но там потом надо reset вроде делать после пробуждения, нет?
Так ты советуешь отрубать порты на хабе через PORT_ENABLE?
>>А ты не боишься вот так нагло в обход оси кидать запросы контроллеру
Ось открытая, так что я прямо в драйверах ковыряюсь)
Но может оказаться что мне придется как-то явно делать reset куче устройств.
bormand 19.06.2018 20:22 # 0
А не будет пробуждения. Порт отключится до тех пор, пока ось сама не кинет PORT_RESET или ты устройство не переткнёшь. Т.е. это если тебе надо совсем отрубить порт. Хотя девайс всё ещё может сделать вид, что его переткнули, ось пойдёт делать ему PORT_RESET и порт включится обратно. Но от этого только PORT_POWER отключать, что не везде работает (хаб может не уметь управлять питанием на портах по-отдельности).
А если просто в спячку загнать надо -- то PORT_SUSPEND, как ты и писал.
roskomgovno 19.06.2018 20:24 # 0
падажи, а SetPortFeature(PORT_ENABLE) разве не бывает?
>>. Но от этого только PORT_POWER отключать
А если это self-powered device?
>>А если просто в спячку загнать н
Смотри: бизнес-заадача такая: "хочу отключить камеру на ноутубке которой я все равно не польщуюсь".
Мне этот порт лучше suspend или disable? или попробовать убрать power?
bormand 19.06.2018 20:32 # 0
> Кто же знает о своем адресе?
Да, устройство.
> SetPortFeature(PORT_ENABLE)
Не бывает. Когда ты втыкаешь девайс, хаб просто уведомляет твою ось об этом, порт остаётся disabled (как и после ClearPortFeature(PORT_ENABLE)). Ось выводит устройства из disabled в enabled по-одному через reset (с помощью PORT_RESET). После reset'а устройство всегда имеет адрес 0 и ось кидает ему SET_ADDRESS, чтобы оно знало, как к нему будут обращаться в будущем. Как-то так.
roskomgovno 19.06.2018 20:34 # 0
>> После reset'а устройство всегда имеет адрес 0 и ось кидает ему SET_ADDRESS,
Ну так это тожесамое, что переподключить, верно?
Оно сначала выдаст ему адрес, затем считает всяккие class и vendor, на основе их запустит драйвер который сконфигурирует устройство уже под себя итд.
понятно
bormand 19.06.2018 20:57 # 0
А после ручного перетыкания -- пойдёт (т.к. хаб увидел, что в порт что-то воткнули и рассказал об этом оси).
roskomgovno 19.06.2018 21:02 # 0
Там еще были нужны какие-то таймауты по спеке: наверное нельзя дизейбл и сразу же ресет, надо сколько-то там подождать
bormand 19.06.2018 21:20 # 0
roskomgovno 19.06.2018 21:23 # 0
bormand 19.06.2018 21:30 # 0
Всё-таки в простое ось ждёт события "девайс выдран" и "девайс воткнут" а не "девайс прошёл резет и готов к установке адреса".
roskomgovno 19.06.2018 21:41 # 0
Как ос узнает о втыкании? MSI приходит от *HCI?
Тогда мене надо найти то место в драйверах *hci которое его обрабатывает и как-то его дернуть после ресета
bormand 19.06.2018 22:00 # 0
З.Ы. А ведь изначальная идея с suspend вообще работать не будет -- устройство разбудят по первому же запросу от его драйвера. А если драйвера нет -- то никто к нему лезть не будет и оно само уснёт.
Может проще драйвер камеры заблеклистить? :)
Или запросы отшибать с timeout или access denied.
roskomgovno 19.06.2018 22:07 # 0
Не очень понял: кто его разбудит? Разве хаб в спящий порт что-то передаст?
bormand 19.06.2018 22:15 # 0
Дык в том и фишка suspend'а. Он же для экономии энергии сделан. Хост всегда может разбудить девайс по своему желанию (выведет порт из suspend и девайс тоже проснётся). Полусонный девайс тоже может разбудить хост если какое-нибудь интересное событие произошло (даже если хост и десять хабов по дороге до него тоже спят).
roskomgovno 19.06.2018 22:22 # 0
Ты считаешь что драйвер условного mass storage попробует считать данные с устройства, драйвер usb увидит что устройство спит и явно разбудит его порт?
То-есть получится что уложив камеру спать я могу разбудить ее тупо почитав или ioctlнув /dev/[моя_камера]?
Это не так плохо, кстати: если юзер осознано засуспендил порт с флешкой например (чтобы не мигала) то пусть и umount сделает.
Хотя дизеблить ТОЖЕ надо. Получается что надо и то и се.
Похоже что умные ОС (винда, ляних) следят за суспеном/резюмом сами, а вот задизеблить явно дают пользователю
roskomgovno 20.06.2018 05:05 # 0
suspend отрубил мышку, а вот планшету не отключил питание, а сброс enabled сделал и то и другое.
Правда обратно его включать я пока не пробовал.
Я еще не понял имею-ли я право делать это напрямую, потому что там есть возможность поставить задачу на пул (типа execute_task(указатель_на_функцию). Возможно что там синхронизация структур может сдохнуть если без таски.
Ну в общем я напилю красивый UI, и если патч примут буду у мамы системным програмистом, без тебя бы я долго пытался слать сообщения рут хабу и тупил бы, так что спасибо.
Кстати, на virtualbox это нихуя не работает: эмулируемый ими контроллер имеет только рутхаб и не отключает устройства, а на живом компе работает
3.14159265 19.06.2018 18:42 # 0
А как это сделать? Они же вшиты в девайс, не?
bormand 19.06.2018 18:48 # 0
Зайти в setup, снести виндовые вендорские ключи. SecureBoot перейдёт в режим установки. Когда ты запишешь свой ключ в NVRAM, SecureBoot включится обратно и будет доверять только тому, что подписано этим ключом.
3.14159265 19.06.2018 23:27 # 0
Во многих ноутах в сетапе нет опций для их удоления.
Может тулзами какими-то специальными перепрошивать. Но это явный геммор.
roskomgovno 19.06.2018 23:58 # 0
Я вот как-то видел Asus который после обновления фирмваре стал насильно ставить сервис, который позволял его удаленно заблочить (типа защита от воровства).
Фирмварь была страшно умная: Она умела NTFS, находила там autochk (это проверка диска, которую винда (session manager точнее0 запускает еще до загрузки чтобы прокрутить лог если выключили некорректно) и патчила autochk чтобы он устанавливал этот сервис.
Ну поскольку autochk в реестре прописан то я скорпировал в "autochk_clean" и прописал его, и теперь фирмваря патчит autochk который не запускается.
Смешно конечно, но это безопаснее чем считывать rom, вырезать оттуда эту дрянь и лить его обратно: можно сделать кирпич (программатора у меня не)
defecate-plusplus 20.06.2018 00:00 # 0
харам же
собери ноут из исходников!
roskomgovno 20.06.2018 00:02 # 0
Они должны
1) использовать CoreBoot (ну или фирмварю с исходниками)
2) иметь только то железо, которое официально документировано (например нельзя иметь карту от nvidia)
Некоторые считают что только так можно гарантировать безопастность и стабилность: никаких БЛОБов, никакой проприетарщины
bormand 20.06.2018 06:15 # 0
roskomgovno 20.06.2018 16:20 # 0
bormand 20.06.2018 06:19 # 0
Х.з., это что-то совсем анально огороженное. Что за ноут?
> тулзами
Маловероятно, это ж ёбаная дыра если обычный софт может менять состояние секьюрбута. Только программатор, только хардкор...
guest8 26.06.2018 02:25 # −999
666_N33D135 26.06.2018 02:45 # 0
Ну нихуя себе. Помню, иду я по улице, смотрю -- бабушку ветром сдуло, а оказывается это ты свой нубук включил...
roskomgovno 26.06.2018 03:12 # 0
Что до твоего вопроса, то может быть два случая:
Из относительно неглубокого сна (типа S3) винда сама может себя выводить, это включается/выключается в powercfg:
Perf.plan/ Sleep / Allow wakeup
См.
https://s8.postimg.cc/iozrpzrjp/power.png
Управляют этим System Wake-up Events
Почитай в MSDN про функцию CreateWaitableTimer
https://docs.microsoft.com/ru-ru/windows/desktop/Power/system-wake-up-events
Если же ты уверен что просыпается именно EFI (я на 60% уверен что это не так, что винда такую странную вещь не стала бы делать)
то в некоторые прошивки (даже когда они были биосами) имели такую опцию: почти всегда она настраивалась через из setup, но ОС могла записать в nvram напрямую.
Например: http://manpages.ubuntu.com/manpages/bionic/man8/nvram-wakeup.8.html
Я не уверен что это умеет винда (грузанись с живого флеша с линуксом и проверь) и совсем не факт что твой фирмварь так умеет.
Так же ACPI 5.0 имеет описние такого устройства:
9.18 Time and Alarm Device.
...
The wake timers allow the system to transition from the S3 (or
optionally S4/S5) state to S0 state after a time period elapses.
Умеет-ли им пользоваться драйвер acpi.sys в винде и есть-ли для того API я не знаю, и не факт что твой EFI это умеет. Можешь считать эту таблицу, конвертнуть в ASL и посмотреть есть-ли она там: если есть то можно наверное написать драйвер который будет ее дергать. Для начала проверь что есть устройство ACPI000E.
Считать список таблиц програмно можно через структуру _DXGK_FIRMWARE_TABLE_INTERFACE (пишет MSDN), но я не пробовал.
Ждем борманда, но начни все таки с отключения просыпа по таймеру
666_N33D135 26.06.2018 05:03 # +1
bormand 26.06.2018 07:03 # 0
bormand 26.06.2018 07:33 # +1
666_N33D135 26.06.2018 08:25 # 0
HACTEHbKA 26.06.2018 20:41 # 0
посидим вместе выпем кофе покодим
roskomgovno 26.06.2018 20:43 # 0
Xo4y_EbaTbc9l 26.06.2018 21:51 # +1
bormand 26.06.2018 07:14 # 0
З.Ы. В виндовом планировщике задач есть галочка "будить комп для выполнения этой задачи". Возможно, что обновление через такую задачу и запускается. Я бы в эту сторону покопал.
bormand 26.06.2018 07:05 # +3
guest8 26.06.2018 11:26 # −999
666_N33D135 17.06.2018 13:14 # 0
666_N33D135 17.06.2018 13:33 # 0
666_N33D135 17.06.2018 13:40 # 0
666_N33D135 17.06.2018 14:05 # 0
http://board.kolibrios.org/viewtopic.php?f=25&t=3446
j123123 15.06.2018 13:22 # +3
http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
> This forty-five-byte file is less than one-eighth the size of the smallest ELF executable we could create using the standard tools, and is less than one-fiftieth the size of the smallest file we could create using pure C code. We have stripped everything out of the file that we could, and put to dual purpose most of what we couldn't.
3.14159265 15.06.2018 14:21 # +2
Читается на одном дыхании. Зожатие, имперации, оптимизирование до предела.
666_N33D135 15.06.2018 15:32 # +1
guest8 15.06.2018 15:39 # −999
666_N33D135 15.06.2018 15:41 # 0
guest8 15.06.2018 15:45 # −999
666_N33D135 15.06.2018 15:55 # 0
roskomgovno 16.06.2018 23:11 # 0
Постгря вон тоже научилась недавно в индексах прямо данные хранить, в этом индексе не участвовавшие
defecate-plusplus 17.06.2018 00:54 # 0
сейчас приходится засовывать в индекс эти поля, помнить про порядок, и всё равно часто сосать хуйцы, т.к. неупотребление запросом *всех* перечисленных в индексе полей, а, например, только первых (ну что логично), вместо index-only scan приводит к bitmap scan + recheck condition + обращению в исходную таблицу
оракл, например, не ебет так мозги - ему не страшно, если в индексе больше дополнительных данных, чем хочет конкретный запрос, главное с порядком полей угадать - будет всего-то range scan индекса и в исходную таблицу никто не полезет лишний раз
666_N33D135 15.06.2018 16:19 # +2
3.14159265 15.06.2018 18:01 # +5
И кто быстрее!!!
666_N33D135 18.06.2018 15:55 # 0
gost 15.06.2018 17:01 # +3
Сколько грантов было выделено на эти исследования?
roskomgovno 16.06.2018 14:28 # +1
Кстати, это уже не правда: Linux давно перешел на sysenter же, а int 0x80 не используеца
Fike 17.06.2018 02:09 # +2
п и з д е ц
csrfverificatinho 14.09.2018 23:49 # 0
Steve_Brown 18.06.2018 10:44 # 0
666_N33D135 18.06.2018 15:53 # 0
Steve_Brown 18.06.2018 20:00 # 0
http://www.wikireality.ru/wiki/Bugoga
guest8 18.06.2018 20:05 # −999
guest8 18.06.2018 20:13 # −999
roskomgovno 19.06.2018 00:04 # 0
А исключения бывают Trap, Fault и Abort
guest8 18.06.2018 20:16 # −999
guest8 18.06.2018 20:19 # −999
roskomgovno 18.06.2018 21:38 # +1
guest8 19.06.2018 00:01 # −999
guest8 19.06.2018 00:03 # −999
roskomgovno 19.06.2018 00:04 # 0
guest8 19.06.2018 00:04 # −999
roskomgovno 19.06.2018 00:06 # 0
guest8 19.06.2018 00:11 # −999
roskomgovno 19.06.2018 00:11 # 0
Я думаю что бОльшую часть этого говна кто-то из местных скриптом насрал
guest8 19.06.2018 00:17 # −999
guest8 19.06.2018 00:19 # −999
roskomgovno 19.06.2018 00:25 # 0
а ГБ это 2001 год. Странное решение конечно
guest8 19.06.2018 02:15 # −999
guest8 19.06.2018 02:33 # −999
roskomgovno 19.06.2018 22:51 # 0
Одно из тех мест которые надо avoid as plague
guest8 04.07.2018 14:39 # −999
guest8 19.06.2018 00:47 # −999
guest8 19.06.2018 00:48 # −999
roskomgovno 19.06.2018 00:52 # 0
А чего добился ты?:)
Удивляет конечно только год. Мне кажется это все таки никак не м0жет быть 2007
roskomgovno 19.06.2018 00:54 # 0
http://te-44.denisoft.ru/
Этот человек мой кумир
Вот он
http://te-44.denisoft.ru/fa/IMG_0127.jpg
roskomgovno 19.06.2018 01:02 # 0
http://te-44.denisoft.ru/index.php?c=teachers
>>Там ничего не было написано про PCI express или Hipertrading.
guest8 19.06.2018 02:09 # −999
roskomgovno 19.06.2018 02:52 # 0
Никаких стековерфлоу
666_N33D135 19.06.2018 04:01 # 0
guest8 26.06.2018 00:26 # −999
roskomgovno 26.06.2018 00:35 # 0
Все логично же.
guest8 26.06.2018 00:28 # −999
roskomgovno 26.06.2018 00:52 # 0
После техникума поступил в ОГТУ.
Косил от армии в аспирантуре Гипрониисельпома и работаел монтером/монтажером/монтажником/монтажистом на ОГТРК. Занимался изготовлением рекламы. Сейчас программный директор Первого канала. Первого городского))
После техникума закончил ОГУ, по специальности психолог-преподаватель. Сейчас возглавляет Орловскую Федерацию Ушу, также работает тренером-преподавателем по ушу с
Учился в аспирантуре, но все в нашей жизни временно. Занимался строительством. Сейчас ремонтирует компы в фирме Альфа Мастер.
После технаря отслужил в армии, в ВИПСе, потом перевелся на контрактную службу, в общей сложности прослужил 5 лет, дослужился до сержанта.
После технаря закончил ОГУ. Занимается пассажирскими перевозками.
--------------
Люди идут в техникум, а иногда и в ВУЗ чтобы потом ремонтировать компы, преподавать ушу детям и дослуживаться до сержанта.
guest8 26.06.2018 02:13 # −999
guest8 26.06.2018 02:14 # −999
guest8 26.06.2018 02:25 # −999
guest8 11.07.2018 16:24 # −999
arth 18.06.2018 12:57 # 0
666_N33D135 18.06.2018 15:52 # 0
guest8 18.06.2018 16:07 # −999
guest8 18.06.2018 16:11 # −999
roskomgovno 18.06.2018 17:41 # 0
ой-ой, какбы тогда релокейшен работал, а?
guest8 18.06.2018 18:05 # −999
guest8 18.06.2018 16:08 # −999
666_N33D135 18.06.2018 16:23 # 0
> файл нулевого размера?
Зогорловок-то должен быть. Я имел ввиду, что будет, если будет лишь один заголовок, а кода -- 0.
roskomgovno 19.06.2018 00:09 # 0
Кто вспомнит инструкцию MASMа которая говорила ему что сей файл будет загружен по адресу 100h, и все адреса нужно к нему прибавлять -- тому ничего не будет
guest8 19.06.2018 00:27 # −999
roskomgovno 19.06.2018 00:27 # 0
Остальным тоже ничего не будет, но спасибо что напомнил что-то такое далекое из моего дества
guest8 19.06.2018 00:28 # −999
roskomgovno 19.06.2018 00:33 # 0
666_N33D135 19.06.2018 03:59 # 0
ЗЫ. Я ещё до твоего вопроса это писал:
http://govnokod.ru/24386#comment417713
roskomgovno 19.06.2018 22:52 # 0
программисты не спят