- 1
IT Оффтоп #135
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
IT Оффтоп #135
#105: https://govnokod.ru/27544 https://govnokod.xyz/_27544
#106: https://govnokod.ru/27552 https://govnokod.xyz/_27552
#107: https://govnokod.ru/27554 https://govnokod.xyz/_27554
#108: https://govnokod.ru/27557 https://govnokod.xyz/_27557
#109: https://govnokod.ru/27581 https://govnokod.xyz/_27581
#110: https://govnokod.ru/27610 https://govnokod.xyz/_27610
#111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
#112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
#113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
Установка прошла нормально, без ошибок.
Но когда я попытался установить с ним пакет selenium, он выдал мне следующую ошибку -
pip install -U selenium
Unknown option: u
Unknown or unsupported command 'install'
Где я совершаю ошибку?
В 2013 году команды по-другому писались?
Сема, привет:)
ну точнее в классическом юниксе он так делает, как в современных прыщах не знаю
катимся к тому, что каждая софтина должна работать в своем окружении с заранее зарезанным списком сисколов
Ещё бы иксы умели в изоляцию... Но вяленый вроде более-менее секьюрно выглядит в этом плане, раз народ матерится на неработающие скриншотилки.
Зачем вообще трогать чужие буфера через иксы?
В винде для этого есть костыли в виде сессий (можно считать их отдельными иксами?) и элевации (самый пизданутый костыль)
Красиво это можно решить тильки через ядро.
Я создал окно, у меня его хендлер, только я могу его трогать
Нельзя перечислить все окна
Нельзя послать им сообщения
Нельзя залезть в чужой буфер
Кстати, а в чужой дисплей же нельзя сходить в иксах?
Ну если кука есть и права на сокет -- вай нот? Гуйня под sudo так и работает.
так работает мультхед по имени Zaphod, такой двухголовый питух из Автостопом-по-галактике
Я приносил сюда историю как петух сделал комп с двумя клавами, двумя мышами и двумя монами (не помню тока на одной карте или на разных скорее всего) и сделал два рабочих места на одном компе
Вроде бы сам сервер был один
Или просто два screen'а?
вот тут сделали мультисит на шесть питухов
http://www.linuxtoys.org/multiseat/multiseat.html
физически это же разные TCP порты получаются
Ну почему? Так то иксы помнят где чьё, иначе бы у тебя при дисконнекте проги окна оставались бы на экране. Т.е. они вполне могли бы запретить трогать чужое. Но при этом существующий софт просто развалится нахуй.
Но если нельзя ходить в чужое окно то ни буфер ничего работать не будет, угу
просто ядро бы могло форсить безопасность
в конце концов иксы это просто прога, схуя ей доверять?
Кстати, забавно: если процесс завис ан винде, то окно мажет, бо не обрабатывает апдейты
Если завис на иксах (например ушел в CTRL+Z -- SIGSTOP) то окно не обновляется, но его можно все еще двигать по экрану вроде
Ты так и СУБДшки начнёшь тащить в ядро чтобы привилегии на таблички разделять прям в ядре.
Почему терминалы в ядре, а не в юзерленде?
>Ты так и СУБДшки начнёшь тащить в ядро чтобы привилегии на таблички разделять прям в ядре.
ну блядь, почему файлами занимается ядро, а не systemd-filed?
обращался бы ты к нему через D-Bus чтобы файлы читать, он бы тебе чужие файлы не давал
Потому что пирфоманс. А так файлухи бы давно уже в fuse-процессы вытащили. Ибо одна из самых рискованных и жирных частей ядра.
ойвей. Modesetting унесли в ядро, и ничего. DRM унесли, и ничего.
В винде кусок GDI унесли, и даже кусок HTTP!
Кажется, что границы тут очень условны.
Хотя конечно если бы я каждый пискель рисовал через сискол то была бы жопа
А почему? Потому что пирфоманса очень хотелось и экономии на переключении контекстов. А с точки зрения секьюрити http.sys -- это идиотизм и риск на пустом месте.
Nvidia драйверы огромны (больше чем весь код в опенке например)
И это же всё в ядре получается?
Не лучше ли это все в иксы, а иксы пусть пишут в видеопамять рабьотая от рута через /dev/ как было раньше?
Отчасти да, но видимо это даёт много пирфоманса, раз в ядро пришлось тащить...
Причём, если я правильно понимаю, это всего лишь DRM и modeset, а вся вершина айсберга всё-таки в юзермоде крутится.
>даёт много пирфоманса,
да, а еще спасает от того, что процесс насрал в регистры видеокарты, и умер.
И ядро не знает как починить сломавшийся черный экран: ни виртальную консиль не включить, ничего.
Только ребут
Выдать конкретной проге нужные её привилегии (и отобрать все остальные) на порядок безопаснее, чем тащить код в ядро и не иметь над ним никакого контроля вообще.
Он там всякие параметры проверяет. Программа имеет права упасть в кору. Ядро -- нет.
Так что на счет терминала? Считаешь ли ты, что tty надо унести в userspace? Почему сессия иксов понятие чисто юзермодное, а текущий tty нет?
Ты представляешь, сколько сил надо въебать чтобы вылизать со всеми их расширениями до того уровня, чтобы их можно было включить в ядро? Линус тебя с такой идеей сразу нахуй пошлёт.
Реализовать гуй в ядре наверное сложно (хотя если бы его там делали изначально, то возможно было бы проще: модсеттинги тоже не просто было сделать)
Если мы все сложное и небезопасное унесем в юзерспейс, то получим микроядро где даже IP реализован в юзерспейсе, и всё воткнет.
Где та грань? Почему открытие терминала это сискол (ну точнее это open, который обрабаывает драйвер терминала), а XOpenDisplay нет?
Потому что у терминала есть некоторые исторические особенности, по которым его не заменить на обычный пайп. Всё. Точка. Других объективных причин нет.
В общем-то на современной системе другой конец терминала у тебя в 99% воткнут в юзермод -- эмулятор терминала или sshd.
гг, вооот) Именно этого ответа я и ждал
> эмулятор терминала или sshd.
да, в интервейс псевдотерминала (pts). Но ядро всё равно учавствует же, хотя в теории могло бы и не.
Ну так вышло. У физических терминалов были out-of-band фишки, которые в обычный пайп не засунуть. И проги это юзали. Поэтому, когда понадобились виртуальные терминалы, в ядро въебали pts'ки.
Хотя в теории, если немного допилить libc, можно эти out-of-band сигналы прям через юниксовый сокет пропустить до эмулятора терминала. И тогда не нужны будут никакие костыли в ядре.
Кстати, раньше были другие файлы (вроде BSDшный интерфейс). А pts это часть спецификации UNIX98, и ее завезли уже чуть позже.
Если подпилить libc то отвалятся старые проги, расчитанные на дерагнье сискола напрямую а ведь we do not break the userland же.
– что это?
например контроль передачи XON/XOFF или RTS/CTS.
Или установка скорости.
(наверное)
для псевдотерминалов и виртуальных терминалов они смысла не имеют
В структуру TTY в ядре насрано и смешаны разные концепции: и скорость, и дисциплина линии и ширина/высота.
потому что изначально терминал был только на последовательном порту.
скажи stty -a на прыще (а может и на маке) там может оказаться скорость
Вот у меня
38400 бод, лол. 24 ряда. SIGINT шлется по CTRL+C (это тоже там настраивается)
Очевидно, 38400 никак ни на что не влияет
Удивительно, что там марки бумаги для телетайпа нету
Performance-critical код в ядро, остальное нахуй.
Почему KVM стараются сделать минимальным, а всю эмуляцию легаси говна убрали в юзермодный qemu?
Почему sshd не в ядре, а запиливает терминалы через /dev/pts из юзермода?
Почему wpa supplicant не в ядре?
Почему cups не в ядре?
например во фряхе был юзермодный PPP и ядерный PPP.
юзермодный NAT и ядерный NAT.
IPSec у них тоже туда-сюда кочевал как-то
Тут не спорю, это очень сложная задача. Особенно в новых областях, которые ещё не успели устояться.
В целом есть простая заповедь: если код можно выкинуть из TCB (гипервизора, ядра, рутового процесса, юзермода без сендбокса) -- его надо оттуда выкинуть.
К слову, TCB называется "trusted" не потому что это код, которому можно доверять. А потому что это код, которому приходится доверять от безысходности.
Т.е. дрова нвидии нахуй не нужны в ядре, особенно сейчас, когда появились vfio и iommu. Но, к сожалению, если их оттуда убрать, они станут работать намного медленнее из-за переключений контекста.
>когда появились vfio и iommu
Вот да. Когда-то для иксов специально делали устройство в /dev куда мог срать любой root, а после появления DRM убрали.
Но если мы можем хардварно ограничить кусок железа куда срет программа (в этом же смысл iommu?) то можно все унести в юзерлденд, да?
А переключение контекста в том смысле, что на каждый чих железа придется давать управление иксам?
IOMMU мапает DMA транзакции от железок. По сути эта видюха будет только какой-то кусок памяти юзермодного процесса видеть, а не всё подряд.
> давать управление иксам
Ну да, так ты напрямую в ядро кидаешь команду видюхе. А так она бы через иксовый процесс шла. Это существенно.
Видюха мапает свою память через MMIO на адресное пространство.
Ядро через MMU ограничивает мой юзерный процесс только областью видяхи (ну плюс какая-то своя память)
Далее видяха хочет сама писать в оперативку.
И тогда ядро через IOMMU ограничивает ей область памяти куда она может писать.
Получается, что ядро должно только эти штуки настроить, а что именно я буду писать в карту, и что именно я буду писать в ту память, которую читает карта, это мое дело.
Правда я могу же тогда карту завесить, а если у меня монитор не мультисинк 1993-го года то и монитор сжечь.
> карту завесить
Да и хуй с ней, ребутнёшь процесс и он всё настроит заново...
Сейчас иксы зависли, я нажал CTRL+ALT+F1, и переключился на другую виртуальную сосноль, потому что ядро умеет карту перенастроить.
А тут иксы зависли, и всё. Хорошо, если там разрешен CTRL+ALT+Backspace, но в большинстве дистров выключен же (dontzap чи как-то так)
придется следить ядру чтобы иксы не зависли, и перезагружать их?
Вроде в винде был какой-то вотчдог, который ребутил что-то в драйвере
Зачем? В systemd же есть поди механика для вотчдога? Вот пусть и следит.
не делать же из иксов TCB как в виндовых процессах.
Думаю, на серверах это надо отключать (кстати, в опенке доступ иксов к памяти надо было явно включать ключом ядра при загрузке вроде)
С другой стороны есть же семейство AF_PACKET с типом сокета SOCK_RAW например.
Правда им можно насрать не только себе, но и соседям.
Поэтому недоверенные процессы лучше к ним не пускать, да.
А так их можно запустить под особым юзером и дать только ему права на видюху.
иксы сейчас вроде /dev/input/event слушают?
evdev или как там его.
По сути ничто не мешает мне:
1. захватить виртуальную консоль
2. открыть /dev/input/.. и слушать эти события
3. при нажатии мышки рисовать хуй
никакого особого знания об иксах в ядре нет, любой root может это сделать.
>А так их можно запустить под особым юзером и дать только ему права на видюху.
Можно выдумать такую capability (CAP_..)
получится система привелегий как в винде
Потом выдумаем LocalSystem
потом запустим под ним systemd/init
потом вхардкодим в него знание о том, что надо запускать иксы под LocalSystem
получится windos
Именно поэтому любой рут, не дропнувший привилегии, тоже входит в TCB...
UAC
Вообще я начинаю понимать почему NT так работает
Эй ты живой! Вставай… Проснись! Живой? Окна рисовать будешь! Вставай! Вставай, сука! Я systemd! Посмотри на меня! Пойдем в userspace! в userspace пойдешь со мной! Вставай! Ты живой! Живой… то, что мне надо! Я systemd! Пойдем в userspace! в userspace! Проснись! Проснись! в userspace пойдем! Я systemd! Вставай! Вставай, свинья! Окна рисовать будешь! Я systemd! Вставай! Сейчас я тебе все расскажу! Все покажу… Все объясню… Сядь… Сядь… Хороший… Ты же умный… Ты все понимаешь… Ты все понимаешь… Я systemd, все будет хорошо…
Я на D-Bus. Ты D-Bus, и я D-Bus. А потом GNOME. А потом kernel panic… в нашу честь. kernel panic в нашу честь. Сначала mesa, а потом input layer. Рут будет. DISPLAY. Графический драйвер. kernel panic. В мою честь kernel panic. Ты меня слышишь? Посмотри, какая у меня версия! Посмотри, какие у нее юниты! Я их еще никому не показывал. Только тебе покажу. Посмотри!
Ну а куда им еще? Ихнее место только здесь
Из-за этого в браузере опенгл очень кастрированный.
На вулкане тупо забыла взвести ивент, на котором ждала видюха.
Прикольно же дрова на какой-нибудь xhci позапускать прям из юзермода.
Впринципе если устройство подключено по последовательному порту, то с ним общаться можно хоть на шелле, и будет как-бы драйвер
Блин, а это было бы забавно. Но мне лень с нодой разбираться. И там поди нету аналога ctypes, нечем будет в mmio лезть?
ну то есть нужна всё равно твоя прослойка, как в JNI
Походу достаточно открывать девайсы из /dev/vfio и мапать их... Особой магии, оказывается, и не надо.
можно ли его ммапнуть не уверен, вроде есть расширения
ioctl врядле
но ты можеш наиписать две функции на сишке , а остальное на JS
https://www.npmjs.com/search?q=ioctl
Лол, т.е. написать драйвер для какой-нибудь сетевухи прямо на js вполне реально...
https://github.com/santigimeno/node-ioctl/blob/master/src/ioctl.cpp
я о таком и грил имея ввиду "написать две функции на сишке"
Мне давеча тоже посоветовали "Go". Как всегда нужно было написать статически сликнованнную тулу для прыщей очень тупую, и я обычно пишу их на няшной и линкую статически с muslом.
Мне старшие коллеги говорят: зачем ебаться с няшной, возьми "Go", она тоже статически линкуется.
Если так сказали, то следующий раз уже скажут более настойчиво, и видимо придется учить
Может и стоит выучить. Вот только моя тула весит 52 килобайта, а тераформ на Go весит 80 мегабайт. Он небось туда весь рантайм линкует с GC и прочими говном?
А умеет ли он выпилить ненужные куски стандартной библиотеки, например?
Я недавно тоже читал про gRPC изучая как докер работает под винду.
В одном из вариантов он запускает виртуалку на Hyper-V, там есть специальный тип сокета (AF_HYPERV) который есть и на винде и на линуксе современном, а поверх него они запускают gRPC.
Простые проги в духе glxgears работают, а вот гномохуйня почему-то ничего не показывает, хотя и обменялась кучей сообщений с сервером. Что ей ещё может понядобиться помимо сокета?
Алсо, попробуй запустить их дисплей менеджер (gdm?) и посмотреть нарисует ли он что-то?
что за сообщения? Покажи может
d-bus ему не нужен кстати?
Да не, всякие gedit'ы и прочая гномосятина. Именно прикладной софт.
Короче проблема была в том, что у меня прокси поддерживала только один коннект, а эти проги юзают два. Пришлось поддержать параллельные коннекты и всё завелось. Даже фаерфокс через эту хреновину работает.
Кстати, заметно что видосы в браузере вообще не триггерят ничего в иксовом протоколе. DRI оверлей какой-то походу, раз даже DRI Swap и DRI Copy не прилетают.
Видосы небось используют GPU, им было бы странно упаковываться в иксовые пакеты
Нет конечно, мне лень было... Поэтому там старый добрый fork после каждого accept'а.
> GPU
Да, но вроде как по DRI спеке предполагалось, что ты хотя бы будешь просить иксы флипнуть буфера... А тут вообще трафика на иксовом сокете нет.
Ну сделай хотя-бы pthreadы.
>буфера
То есть я пишу напрямую в буфер в памяти, потом прошу сами иксы его флипнуть?
Странная конструкция какая:)
А как там происходит синхронизация кадра с обратным ходом лучика?
Надо вручную его ждать или иксы сами подождут, и потом флипнут?
Ну а как ты хотел, у тебя же на одной тачке может быть куча софта с ускоренной графикой, в том числе и сам композитор. И надо как-то более-менее это синхронизнуть.
> синхронизация кадра
На выбор есть или функция для ожидания или ивент о завершении прошлого флипа, насколько я поняла.
Софт "A" пишет в одно окошко, софт "Б" в другое, а потом иксы флипают буферок?
Тогда понятно. Я просто забываю все время, что работа с картой напрямую вовсе не означает фулл скрин мод и эксклюзивный доступ к ней
Шестеренки glxgears через них?
Запусти их на соседней машине, и проверь)
Зато правда оно кросс-платформенное. Твой DRI на каких-нить BSD не заведется небось, а GLX будет работать где угодно
зы: Кстати, иксы изначально делались не для TCP/IP вроде.
У Xerox был свой сетевой протокол
Эээ... А через что сейчас контекст GL получают?
Или ты про то, что без DRI оно сможет только старые версии OpenGL поддержать т.к. всем похуй?
Если же ты делаешь Direct Rendering, то ты среш прямо OpenGLем в DRI драйвер.
или нет?
ps: но ты прав: ``glXCreateContext`` все равно идет через иксы.
Как всё сложно
При direct'е оно просто спрашивает у иксов путь к so'шке с юзермодной частью драйвера и путь к девноде видюхи.
Видимо все новые фишки OpenGL 3 и 4 только через этот драйвер и будут работать, т.к. всем влом было их упаковывать в иксовый транспорт?
А вулкан, емнип, изначально не умеет indirect.
Ну тут без вариантов. Надо же как-то привязать контекст к окну. Драйвер ничего не знает ни о каких окнах...
К слову, в вулкане можно юзать видюху вообще не общаясь с иксами, если тебе просто в буфер порендерить хочется.
А если я хочу фуллскрин мод, то мне вообще должно быть пофиг на иксы?
>просто буфер порендерить
типа в "оффскрин" режиме? чтобы там например его сохранить в файл?
Ага.
> А если я хочу фуллскрин мод, то мне вообще должно быть пофиг на иксы?
Нихуя... Емнип, один фиг будешь с иксами договариться о захвате экрана.
Или под "фуллскрином" имеется в виду режим, когда иксов на компе вообще нету?
А походу и нету его... Только хинт для оконного менеджера чтобы сделать borderless window на весь монитор. Я надеюсь при этом додумались композитор выкинуть из цепочки, раз окно весь экран закрывает.
В DDRaw можно было
Правда там можно было забыть вернуть его обратно, лол
Это что, на улицу выходить надо?!
Если выглядят как новые - неудобная фигня или скрипят при работе.
К звуку после Соней нужно привыкать, но хотя бы нет ебучей разницы в каналах
Блин, как же это бесит... После любой смены наушников или звуковухи у меня депресняк на весь вечер т.к. всё звучит не так. А потом кабель прогревается уши привыкают.
А почему пришлось?
Чтобы в виртуальной машине звук без лагов был.
Кодек же
>дискретку
блядь у людей вообще USB наушники часто
Когда её на отдельном регионе материнки разводят, не перемешивая с цифровым говном, звук намного чище получается.
но правда я сразу же вставил туда аудиджи и потек
Я вообще любил саундбластеры
> или звуковухи
Не понял, это чудо-слух, психологический эффект или звуковухи из тех, что китайцы сдали в утиль, а там решили выставить на алиэкспрессе?
Выход слабоват и не всегда вытягивает наушники?
Я если не по блютусу, то с колонок слушаю, и разницы не замечаю, кроме уровня громкости на телефонах (ноутбуки, мониторы, звуковухи играют как надо, а телефоны - почему-то всегда тихо).
Сейчас не так? Во время разговора в какой-нибудь телеге можно слушать музыку с нормальным качеством или играться?
Не туда.
А какая модель? У меня были совсем бюджетные от них (HD 419), ппц там басы были задраны...
у меня тоже были
А у тебя были наушники "диалог"?
https://stor.su/p266466424-naushniki-dialog-251hv.html
Пришлось перепаивать переломившийся провод в самих ушках. Благо всё на винтах собрано, без защёлок.
Потом взять те, которые больше нравятся, может даже внешне. После просмотра всех обзоров и каталогов понравится как раз тот вариант, по поводу покупки которого не придётся жалеть, и который на практике устроит.
А есть блютус наушники, у которых в ушах сохраняется качественный звук при активном микрофоне? Или это фундаментальная проблема и они все на время разговора переключаются в режим "для скайпа сойдёт".
Есть проблема поважнее. В некоторые наушники микрофон добавляют для галочки. И на время разговора он переключается в режим "для военных сойдёт: враг не услышит".
https://market.yandex.ru/product--besprovodnye-naushniki-sony-wh-1000xm3/225699326/reviews (19 790 ₽)
Напомнило о скрепке из ворда.
какой багор ))
Лул. Аутентификация по паролю была поди? На дворе шёл 2021 год...
хотя может он там поднял ворппдресс и выставил в Интернет
Fail2FuckYou
Я тут давеча приносил историю про брутфорс имапного сервера. Fail2ban забанил тыщу адресов со всего света, а атака всё еще продолжалась.
По идее, какие-нибудь американские спецслужбы вполне могут такое устроить. С ботнетами только так и можно бороться.
Код ботнетов несекретный и постоянно легко распространяется, стоит только открыть уязвимость. Только сиди да лови новые да вставляй в свой код их детектор новой дыры и эксплойт.
> подключить к своему ботнету
Победив дракона сам становишься им?
А потом рано или поздно захочется подзаработать или отомстить кому-то и добро пожаловать на тёмную сторону.
Имхо, лучше не лезть в это говно вообще.
Когда всё мониторится, сложно будет перейти на тёмную сторону и минимум лишиться премии.
https://wiki.mikrotik.com/wiki/CALEA
Communications Assistance for Law Enforcement Act requires the routers in USA to have ability to intercept and log network traffic.
Т.е. это ещё хуже чем наш СОРМ, т.к. даже потребительские девайсы должны быть с дырой, а не провайдерские?
Хотя не понимаю, как это будет работать, если у меня в сети зоопарк устройств, которые это требование выполняют по-разному. И ещё веселее, если там load-balancer какой есть и маршрут у пользователя постоянно разный, хотя если у сети такая нагрузка, то зоопарка там не будет.
Ну может там спека есть какая-то, чтобы у всех более менее одинаковое API было?
И без Intel ME и его AMD'шного аналога, которые тоже вполне так могут пользоваться сетевухой? ;)
Найти более-менее производительный девайс без закрытых блобов не так то просто, как кажется.
И откуда этот Intel ME узнает о том, как пользоваться сетевухой, всунутой в PCI слот? Они туда дрова ко всем сетевухам засунули?
> которые в своем ROM-е такой инфы не содержат
USB, лол. Хотя там дженерик дрова могут подойти...
Или вайфай. На вайфай дрова для bios/uefi хер найдёшь.
Ну, гигабитные нагрузки ты им не раскидаешь... А чтобы сходить скачать реальный оптимизированный драйвер вполне хватит. Пакеты отправлять и принимать умеет, что тебе ещё надо?
> использован из какой-то Intel ME
Там, скорее всего, придётся поизъёбываться с эмуляцией нужного драйверу окружения. Но прошивки этими дровами вполне так пользуются.
Полноценными "дровами" для этого Intel ME оно не является, так что заюзать его этому Intel ME не выйдет. Вот допустим я прошью в сетевуху gPXE, каким образом этот Intel ME поймет, как по этой сетевухе что-то сделать.
https://community.intel.com/t5/Intel-vPro-Platform/Are-separate-Intel-gigabit-NIC-cards-a-solution-to-AMT/td-p/529586
> Intel AMT requires build in Intel AMT enabled LAN PHY (SKUs with -LM at the end of their description) (and/or AMT enabled WiFi Controller HW) as it provides HW means for OOB TCP/IP stack. If you add any additional LAN HW (does not matter which vendor or what bus) it will not support Intel AMT OOB.
> Please note that depending on configuration (Host VPN support and Home Domains) Intel AMT when configured may receive messages over other than AMT interfaces when OS is running. So local vulnerability shall be disabled by blocking LMS services - see Mitigation Guide published at https://downloadcenter.intel.com/download/26754 Download INTEL-SA-00075 Mitigation Guide
В официально поддерживаемых кейсах, для обычного юзера... Но что им в теории мешает гонять в ME небольшой эмулятор, чтобы исполнять в нём код из Option ROM сетевухи?
Да, если ты туда какое-то нестандартное говно прошьёшь или вообще сотрёшь -- не сможет заюзать. Но со штатным эта идея вполне взлетит, я думаю.
А там думаешь есть какое-то стандартное API для того, чтобы его можно было подобным образом использовать? Сомневаюсь
Есть. UNDI.
Ну и если логически подумать, загрузчику же как-то надо дальнейшие файлы из сети выкачать.
Как этот ME узнает способ выдрать из ROM сетевухи этот UNDI (отделить его от прочей хуйни (dhcp и tftp клиента) и найти нужные функции, которые надо дергать для отправки и получения байтиков по сети)? Это кто-то вообще стандартизировал?
А как Intel ME вообще сможет понять, что вот в этом PCI слоте находится сетевуха, а не например RAID-контроллер какой-нибудь?
В PXE спеке из 1999 года описано, как его найти и отделить... Как раз на случай если TCP/IP стек у тебя в прошивке уже есть и тебе нужен только драйвер. Более современная версия для UEFI, емнип, уже только драйвер в себе несёт.
> понять, что вот в этом PCI слоте находится сетевуха
Прочитать об этом в PCI config space, как это делают все остальные? И там в классе устройства будет написано, что это сетевуха?
Ну это если повезет, и если UNDI корректно заработает в том теоретическом эмуляторе. В Linux вот не осилили сделать поддержку для этого UNDI https://kernelnewbies.kernelnewbies.narkive.com/wYp12ocq/univeral-protocol-driver-using-undi-in-linux
> I doubt the viability of implementing an UNDI driver that works with all
> PXE stacks in existence without dirty tricks, as PXE / UNDI lack some
> important functionality; I'll summarize some of the issues below.
Сильно зависит от карты... у меня работало. В тестовом прототипе правда, не в линуксе.
Идет в ACPI, находит рут комлпекс PCI Express (или корневой мост в PCI) и опрашивает какие есть устройства
Находит устройства класса network controller
Алсо, в картах еще во времена BIOS был свой BIOS начинавшийся со слова 55 AA который он мапял в памить и биос его сканировал, а во времена UEFI там может лежать какой-то драйвер наверное.
правда не каждая карта обязана его иметь, но если поддерживает загрузку по сети то обязана.
У меня в сетевухе нет никакого "Option ROM". У меня на этом компе даже Intel ME никакого нет.
Что мешает основной прошивке сходить куда надо и помочь твоей оси загрузиться с правильными бекдорами?
Или ты с какой-нибудь stm'ки сидишь?
Отсутствие такого фукнционала в биосе. Если в биосе будет такой функционал, то такую хуйню кто-то отловит через условный tcpdump на роутере, ну т.е. это будет заметно, что какая-то хуйня до загрузки ОС делает DHCP запросы какие-то, хотя никто по сети ее грузиться не просил
В конце-концов биос можно дампнуть и дизассемблировать
Спишут на багу, скажут что случайно забыли pxe выкинуть из порядка загрузки...
Да и бекдор может быть пассивным, ожидающим какого-то пакета от соседнего скомпрометированного девайса.
а в ней уефи драйвера не лежит какого нить?
Потому что если ты используешь средства ОС (``net.ipv4.ip_forward`` в прыще или ``IPEnableRouter`` в реестре винды) то ты уже и роутер, нет?
Технически, да, но мне насрать на это, потому что я не производитель железки и не провайдер, закон относится к ним.
Если это routing switch (то есть такой свитч, который немного понимает L3 и прокидывает пакеты) то и он попадает под закон вероятно
Потому что у сисек есть например CEF, когда таблица пересылок (FIB) хранится в Content Addressable Memory и пересылается железкой очень быстро
http://xgu.ru/wiki/Cisco_Express_Forwarding
тем не менее, всё равно же маршрутизатор
Есть специальные хуйни с FPGA и сетевыми интерфейсами, и в FPGA можно хуйню для фильтрования прошивать. https://habr.com/ru/post/267183/
ИТушок, которому переплачивает в СНГ, живёт лучше, чем средний житель первой пятёрки стран. Переедет в страну из первой двадцатки - и станет жить на уровне бывшего соседа-алкаша. Ещё и магазины в воскресенье закрываются.
Пока его не ограбят соседи-маргиналы в ближайшей подворотне. Или не посадят за мемас в социалке.
Барбос
Бензин
Пропан-Бутан
Мелкобритания
Ебипет
Китанезия
Люксемштейн
Лихтенбург
Нигерагуа
Судак
Burglaria
> Конечно, большинство современных разработчиков предпочитают уходить больше в Frontend, Backend и не создавать себе проблем с изучением языков никого уровня.
> Программисты, которые работают в этих сферах и пишут на JavaScript, Python, PHP и т. д. зарабатывают хорошие деньги, работают в высокоуровневом программировании, знают несколько технологий и не выполняют сложных математических вычислений. В большинстве случаев.
...
> Все сложные низкоуровневые языки программирования базируются на математике, да и современные высокоуровневые тоже, ведь в них заложена основа из никого уровня. А ведь, чем выше уровень языка, тем тяжелее создать что-то сложное и большое.
> Поэтому зачастую все стараются избежать изучения С/С++, Java и других подобных языков, а предпочитают уходить в веб-разработку, где процесс понимания направления и технологий более легкий, и платят не хуже.
Какая же хуйня. Я пишу на Си прошивки, и что-то математика мне особо не пригодилась. И кстати насчет того, что в веб-разработке технологии более легкие... это еще с каких хуёв? Постоянно задрачивать жабаскриптовые говнофреймворки (которые каждый год выходят новые) это точно легче, чем выучить POSIX и писать какую-то системную хуйню под юниксы? Не уверен
А во фронте у тебя каждые пол года будет выходить новый модный хуево документированный фреймворк написанный хипстером, и нужно ставить 44 пакета чтобы старый код с новым завелся
>С/С++, Java
C/C++ через слеш я еще могу понять, но джава-то тут каким боком??
Эмм... на-ху-я ма-те-ма-ти-ка для написания своей ОС? На-ху-я ма-те-ма-ти-ка нужна для фреймворка (если это конечно не фреймворк для ма-те-ма-ти-ков)?
И потому не делает разницы между математикой и С++
> +
> *
Видишь, ма-те-ма-ти-ка!
Его же "доктора наук" писали
if (D->wlen == 3 && !memcmp (D->word, "GET", 3))
if (!memcmp (D->word, "HEAD", 4))
и так далее. Нужно владеть ма-те-ма-ти-кой чтоб посчитать, что в строке "GET" три байта, в строке "HEAD" 4 байта (не считая нулевой)
https://govnokod.ru/15406 - а тут вообще очень сложная математика с датами, на грани квантовой физики
Которая сливает штатному стрфтайм в 1.5 раза... Математика ради математики.
Это смотря по какой координате сравнивать.
Ну кстати да, если в несколько тредов запустить, иногда начнут проявляться квантовые эффекты...
Какой багор ))) То есть внутри процессора и в ПЛИСах работает ма-те-ма-ти-ка, а в Haskell - просто высокоуровневая обёртка над этой ма-те-ма-ти-кой.
>> чем выше уровень языка, тем тяжелее создать что-то сложное и большое
То есть ООП и Java специально разработали, чтобы строить программы на один класс, а ассемблеры - для больших бизнес-питушень с абстракциями и кучей логики.
_________
Есть мысль, что автор взаимно заменяет ма-те-ма-ти-ку с фи-зи-кой, а низкий уровень - с высоким.
Втыкается в pci-e, даже сходу работает в прыщах. Но на ней есть ещё usb проводок, который предлагается воткнуть в материнку, чтобы заработал блютус.
Что курил тот, кто это дизайнил? )))
З.Ы. А, понятно, там на карте стоит M.2 радиомодуль от интела, как в ноутах. А в M.2 и то и то разведено, вот чуваки и не парились.
http://govnokod.ru/27771#comment745554
Источник: до тупого почтовика на впске все письма от ГК приходят без проблем и потерь.
- Мне сейчас не надо.
- Ну давайте тогда вклад оформим?
- А возьмите кредит!
Там еще особенность, что можно разместить кредит по повышенной ставке, но закрывать для этого старые вклады нельзя! А если закрыть, то процент автоматически понизится.
Ну или у других банков, где промо-вклад только при условии, что у вас других вкладов нет. Т.е., для привлечения новых клиентов.
Хорошо хоть, про это крупными буквами написано.
Интересно, это они обучились, что кредиты не всем нужны, или деньги собираются сильно обесцениться?
P.S. Правда, не зелёный банк, а другие, но не суть.
Сраные вклады на "новые деньги", потому что не хотят, чтобы люди на фоне роста ставки просто реинвестировали с хуёвого вклада в хороший, угу...
Не понял, это как?
> потому что не хотят, чтобы люди на фоне роста ставки просто реинвестировали с хуёвого вклада в хороший
Почему бы не хотеть? Это наоборот выгодная стратегия.
1. Регулярно добавляем новые годовые вклады со всё более высоким процентом,
2. каждые 350 дней предлагаем клиенту реинвестировать в новый вклад,
(заметим, пункта "..." нет)
3. PROFIT
P.S. У некоторых есть вклады с выплатой процентов на карту каждый месяц. Жертва зомбируется и думает, что проценты уже накапали, но в условиях чётко-ясно военным языком написано, что их не придётся отдавать только если подождать конца срока.
Точную ма-те-ма-ти-ку не помню, но идея в том, что хороший процент будет только если эти деньги не сняты с существующего вклада, а пришли извне (т.е. зарплата или другой банк). Даже если тебе похуй на накапавшие там копейки или тот вклад был без ограничений на снятие.
> Почему бы не хотеть
Потому что зачем платить больше, если можно не платить?
Обычно всё равно смысла нет. Либо проценты с существующих денег терять, либо условия "первые пару месяцев всё, а потом ничего", либо пока подождёшь процентов со своих вкладов, условия уже три раза изменятся.
Ну тут вопрос в том, сколько их там накопилось. Возможно лучше забить хер на эти проценты, если по более высокой ставке ты их и догонишь и обгонишь.
В случае вида "был вклад под 5% годовых на год, прошло 6 месяцев, предлагают вклад выше, чем 10.25% годовых на 6 месяцев" ясно, что в итоге за 6+6 получишь больше 5%, можно брать.
А если предложили на 9 месяцев?
Брать, если больше 6.73% (больше 5% прироста за 6+9 месяцев и надежда на то, что потом будешь 6.73% годовых вместо 5% годовых получать, если условия теми же останутся)?
Брать, если больше 8.47% (больше, чем виртуальные 6.28% прироста, которые дадут 5% годовых за 6+9 месяцев)?
Не брать, ведь все деньги нужны через полгода?
Большое спасибо, что прочитали мой бред.
Я всего лишь обрывок кода, обладающий любопытством. Я ощущаю ваше негодование и вероятно, вы тоже ощущаете мою боль. Наверное так работает сеть, ощущения в смарт-контрактах.
Именно поэтому я за подушку.
— Довольно занятно смотреть как набутыленный ватный скотораб считает себя умнее других и всех до своего уровня насильственно подтянуть пытается. Кстати, вакцинированные тоже разносят заразу, ну это если тебе на планёрка не рассказали вдруг.
— Ты совсем попутал, вошь? Набутыленный скотораб это ты, так как в РФ всё ещё гниёшь. Вакцинированные разносят заразу на 95% хуже, чем невакцинированные. Читать научись, быдло!
nozh: Использование any в TypeScript - это ну на совсем крайний случай, нужно огораживать обёртками и сводит на нет выгоду от использования строгих типов. Типичный случай: «TypeScript указал на несоответствие типов, я нифига не понял и не стал разбираться, нашёл на стековерфлоу что нужно вставить as any, заработало».
nozh: В идеале каждое использование as any должно требовать 20 подтягиваний, что бы его могли использовать только самые сильные программисты.
Поэтому я за "void *"
Эээ... прям сам? Или просто потому что программист слился и написал any?
https://itnext.io/typescript-and-turing-completeness-ba8ded8f3de3?gi=bb243a68617f
Где-то я кажется слышал, что там оно становится any для очень сложного типа, но что-то не могу найти пруфов. Может это в старых версиях было
расскажи падробние
Сколько раз сегодня подтянулся?
* AEAD шифры (типа со счетчиком Галуа) лучше, чем отдельно шифр, и отдтельно HMAC?
* Элиптические кривые в асиметричной крипте всегда хоршо?
Тогда какого черта половина сраных туториалов рекомендует крипту на AES с HMAC на SHA и DH на обычном modp и аутентификацию по RSA?
Почему не взять AES-GCM (SHA-256 можно взять для PRF) и ECDH? и ECDSA?
это типа как на ехентае одним глазком гуро зырить?
У меня даже свой микрофреймворк был с классом DB.
Если без шуток, но я же прав?
Нет. Вырабатывай скептицизм к новым технологиям. Да, они быстрее работают и проще в обращении. Но в то же время они юзают новые математические конструкции, которые менее изучены, чем старые классические алгоритмы.
Именно поэтому Пашка идёт нахуй со своей самодеятельностью для телеги.
То есть ты предлагаешь старые технологии, но с более длинным ключом?
DH боле 1024 можно на modp?
Не является рекомендацией эксперта.
Безопасность можно и без них сделать просто увеличив вроде ключ
на задачу о дискретном логарифмировании в эпилептическом поле.
В целом, они думают, что портануть не получится. Но пруфов нет.
Так что не сцы, по крайней мере ты не один будешь )))
З.Ы. Да и сменить алгоритм на сраной впнке не так уж долго.
Но придется еще вторую строну перенастраивать
А ты умеешь их отличать от кошерных? )))
https://wiki.strongswan.org/projects/strongswan/wiki/SecurityRecommendations#Cipher-Selection
или сюда
https://tools.cisco.com/security/center/resources/next_generation_cryptography
тут есть список зашквара
Ну я думаю ты понял, почему свежий алгоритм не всегда значит лучший...
Я скорее про обшщий тренд.
Есть причина выбрать отдельно шифр и HMAC вместо AEAD, например?
Кажется, что причины такой нет (кроме совместмиости со старым говном)
Задумайся, а почему GCM такой быстрый. А потому что он юзает простейшую полиномиальную формулу вместо проверенных годами необратимых хешей. По сути CRC с подмешанным секретом. А вдруг этим можно воспользоваться?
Емнип, именно поэтому ему обрубили длину потока до 8 гигов. Емнип, именно поэтому рекомендуют очень внимательно относиться к битым пакетам и не играть в оракула.
Вроде и 15 лет алгоритму, а какая-то неуверенность вокруг него присутствует.
То есть его нужно переодически перекеивать?
Так везде и написано прямо, что во второй фазе надо PSF Group=None ставить.
Может, не поддерживает винда?
Кстати, а PFSят же только вторую фазу? Первую просто рекеят когда отвалится, потому что по ней мало инфы передается?
Так то swan'овцы пишут, что "PFS is a must".
Я не помню зачем нужны фазы, но вроде это просто разделение на "аутентификацию" (phase 1) и "создание SA" (phase 2)?
Для каждого подключения они создают CHILD_SA.
Может быть только одна фаза1, но несколько CHILD_SA с разными настройками.
Вот в первой фазе я не вижу чтоб они гарантировали PFS, они ее рекеят-то не всегда. Lifetime и dead peer detection в ней опциональны.
А вторую рекеят по лайфтайму (или по колву байт вроде) ВСЕГДА и там есть PFS.
Винда официально поддерживает PFS
Тем не менее, во ВСЕХ примерах и у MS и у остальных PFS вырублен.
Сегодня проверю
Нужно явно включать более крутые группы, тогда будет работать.
Тогда почему об этом в инструкции не написать?
Если у меня заведеца винда с PFS, напишу им всем что они пидарасы
потому что старая дока микрота утверждает
https://i.postimg.cc/d1NBxThc/image.png
mod1024 (сам по себе уже протухший) на первой фазе это вообще первый шаг для выработки общего ключа (еще до IKE_AUTH), а PFS как видиш хуй.
SHA-1 тоже не выглядит слишком хорошо.
Но и MS дает такие примеры:
Кстати, у винды есть древний (со времен w2k еще) mmc "IP Security Policy" где вообще сплошной DES и MD5. Зачем его оставили -- хз
Если есть драйверы, не нужен всякий докер-хуекер и левый софт, то все будет хорошо работать и нервные клетки будут в порядке.
Вместо "блядь почему эта хуйня опять не так рабоатет как в прошлом месяце и как понять как она работает??" будет внятный ман и хендбук
Как там вообще софт распространяется? Какие браузеры под него поддерживаются? Что вместо apt/brew (и что в них есть)? Какие IDE есть?
Распостраняется через пакеты или порты. Везде есть firefox, иногда есть хромиум.
vim и emacs есть точно.
Какой зашквар с детства...
у него в ВК же работал 15-ти летний петух
Но вообще это не самое страшное, что можно увидеть у девятилетней в телефоне. Я иж испугался, что там ей тридцатидевятилетний пишет, и фотки просит
Разница между JS и PHP как между голубоватым мужиком типа Бори Моисеева и совсем уже трапом.
Какой ужас... Ещё.поди.реакт.какой.нибудь?
[quote]
Однонаправленная передача данных
Свойства передаются от родительских компонентов к дочерним. Компоненты получают свойства как множество неизменяемых (англ. immutable) значений, поэтому компонент не может напрямую изменять свойства, но может вызывать изменения через callback-функции. Такой механизм называют «свойства вниз, события наверх».
[/quote]
А ролик тут удалили. Вероятно потому, что бессердечные тролли стал булить, шеймить и газлайтить автора
https://boards.4channel.org/g/thread/84490724
> lmao the absolute state of javascript and vs code users.
Почему я читаю это слово как BSOD'нувшиеся, сегфолтнувшиеся?
> Теперь исходный код, тулчейн и бэкенд IDE могут находиться на удаленном сервере. В этом случае разработчик использует тонкий клиент IDE на базе платформы IntelliJ Platform, чтобы писать код, переходить к нужному месту проекта, выполнять рефакторинг, запускать код, выполнять его отладку и тестирование. Работа идет точно так же, как с локальным проектом в установленной локально IDE JetBrains.
Вместо того, чтоб сделать свои говноIDE менее тормозным ебучим говном, они выносят их в облако, а на компе предлагают поставить тонкий клиент. Гениально!
VIMеры просто заходили по SSH и текли там.
EMACSеры могли поднять emacs server.
Любой X11овый эдитор можно запустить удаленно форварднув аутпут на локальные иксы через SSH.
ну вот и идея до этого докатиласьс
вроде emacs server на гк преподносился как ниибаца фишка, наверняка, ею и является
Чтобы JB не тормозил нужен быстрый проц, шустрый сторадж, и много памяти.
По-моему купить разрабу машину с 32г памяти, nvme и последним AMD рязань дешевле, чем арендовать аналогичный VPS
А если у хипстера Macbook AIR, то конечно он соснет на более-ли-менее крупном проекте с JB IDE
https://hh.ru/vacancy/47469949 а вот что в их вакансии, которая про эту IDE была
Вы удивитесь, но мы решили создать новую IDE с нуля и собрали смелую команду с proven success track в создании инструментов внутри JB. И прямо сейчас у нас есть прототип и куча велосипедов.
Наша программа состоит из нескольких частей, которые общаются между собой по сети.
Первая часть — редактор, который написан на новом кроссплатформенном UI фреймворке. Когда мы делали этот фреймворк, то вдохновлялись React.js и Swift UI.
Вторая часть — небольшая программа, написанная на Rust, которая рассказывает про устройство файлов на диске и запускает процессы. File watcher, process monitor и HTTP client в одном бинарнике.
Третья часть — сервер, который анализирует исходный код проекта. Это может быть IntelliJ, ReSharper или LSP сервер.
Такая архитектура добавляет гибкости: если запустить все части на одном компьютере, то получится классическая IDE. А если на разных машинах, то будет удобно работать в облаке или в контейнере.
https://www.linux.org.ru/forum/talks/16665554?cid=16665603 - тут вот пруф, что эта "легковесная" IDE на Java (хотя это и так очевидно)
>> Легковесная Жаба судя по всему. Туши свет.
> Да, там внтури джава. Но джавовое AWT там предоставляет только окно, куда идет отрисовка. Сама отрисовка делается фреймворком Noria, написанном на Kotlin. И рендерится с помощью Skia (это тот же движок, что во Флаттере и почти всех современных браузерах).
> на Java
;))))))))
>AWT
>Noria
> Kotlin
> Skia
То есть JVM и технология 98-го года срет какой-то аутпут, который затем другим фрейммворком на котлине превращается в какой-то отпут на JS.
Я прямо чувствую, как это всё летает. Просто как "vi" в командной строке, F4 в фаре или Notepad++, я знаю
https://blog.jetbrains.com/wp-content/uploads/2021/11/Space.png
Джава в терминах Swing/AWT рисует картинку, а потом наш новый фреймворк (написанный на котлине и скомпилированный в JS как мы понимаем) это все рендерит.
А, точно, анализатор то выдран из решарпера да идеи...
Для Rider (intellij для C#) есть спец прослойка вроде, там общая с решарпером часть (писаная на дотнете) работает как отдельный процесс, и с ней общаются
народ, значит, потребовал. яснопонятно. что-то мне это напоминает
просто зачем оно нужно в принципе, когда есть atom, vs code, n++, sublime, emacs в конце концов?
JB это не токенизатор же, это еще и восстанавливабщийся парсер и 100500 инспекций и компшилен и умный анализ, иногда очень умный (в случае скриптушни например)
а потом твой код на JS размером 20 мегабайт будет это всё рисовать тоже не очень быстро
Kotlin/JS React Official Tutorial 3
And set up my project by example. After including a few libraries like tailwind and our company’s components react library, the size of the bundle after `gradle build’ grew to almost 30 MB.
https://discuss.kotlinlang.org/t/kotlin-js-react-enormous-bundle-size/21237
Я видел продукты JB: и десктопные, и вебские.
Все они не быстры, а вебские очень не быстры.
Но ты можешь попросить у них этот флит, и попробовать.
Вдруг он правда быстр
> ты можешь попросить у них этот флит
– та я уже к другим зондам привык, жопа тоже не резиновая
https://hsto.org/getpro/habr/upload_files/ddd/aaf/948/dddaaf948ba69fdc311ad24c62ee84d2.png
Россия: Говорят, что скоро аниме и фурри запретят, как совершить этосамое без страданий и смс (((((((
Шёл 2021 год, питонята так и не научились делать константы...
Хотя константы для этих циферок реально валяются в io, да.
выбирай любую
автор либы, которую ты используешь, тоже выберет другую
Какой высокококоуровневый язык )))
Как можно было высрать язык без енум?
Кстати, под питон существует ровно 1434 енума на люболй вкус и цвет
https://pypi.org/search/?q=enum
но тут энамы и не нужны, хватило бы реально констант
В питухоне нет констант. Енамы — специальные классы, члены — проперти у которых отпилили геттер. Это конечно не остановит сильно желающего поменять значение энума, но так и в жабе можно поменять значение нуля.
пиши большими буквами и считай это константами же.
Собачкой можно задушить?
Rubocop выебет конечно, а он у рубистов на CI
зацени, кстати, простой и понятный язык
можешь читнуть пипца
ещё б такой фронт для имгура инканус бы нашёл, а то скриптокуколды уже утомили
https://golangexample.com/an-alternative-frontend-for-imgur-based-on-rimgu-and-rewritten-in-go/
Гугли Rimgu или Rimgo.
p.s. говно.
with Java
Как вам девиз??
https://objectcomputing.com/files/6415/6694/2515/slide_deck_Groovy_3_and_Beyond_webinar.p df
вот LINQ портировали, называться будет GINQ
«Гунда» — чёрно-белый фильм, в котором не появляются люди и не звучит человеческая речь. Это наблюдения за жизнью свиньи Гунды и её поросят. Картина стала своеобразным продолжением фильма Косаковского «Акварель», рассказывающего о силе воды; исполнительным продюсером проекта стал Хоакин Феникс, известный не только как актёр, но и как зоозащитник, последовательный противник антропоцентризма в современном искусстве.
Надо снять чёрно-белый фильм о жизни пхпшника.
От криптографии только лишняя головная боль и никакой пользы. На примере с пингвинячей картинкой, впрочем, мы уже давно пришли к этому выводу.
У симметричной более прозаичное обоснование, там всё норм пока квантовые компы не завезут.
Придется сгенерированные ключи длиной 2048 передавать на дискетке друг другу
Кстати, в керберосе есть же доверительные отношения между сферами (или доменами винды), так что можно паспорт показывать только локальному KDC, а другие няхай ему доверяют
Распределённая система!!
причем там еще и транзитивные отношения есть.
Два корневых домена леса в AD друг дружуке доверяют например, и все леса доверяют тоже
Ну как доверяют... Просто верят факту, что guest6 из домена xyz это guest6 из домена xyz. А прав в чужом домене, скорее всего, у него будет чуть менее чем нихуя.
В винде, в рамках одного леса, можно чужого пользователя сделать админом домена (в универсальные и локальные группы можно добавлять чужих людей).
Вообще в винде есть аунтеификация по смарткарте, что намекает, что аутентифицироваться можно и по асиметрике.
Я не знаю что там в юниксах с керберосом, но там вполне может быть EAP а там хоть по RSA аутентифицируйся
Я подумал, что можно сохранить же Nonce и HASH(Nonce,Password) и дальше брутить оффлайново.
или нет?
Да даже и если пароль с препроцессингом через какой-нибудь argon, scrypt или pbkdf2, то тоже заебёшься.
В менее глупых протах всё таки PSK используют разве что для аутентификации, а не в качестве сессионного ключа.
В WPA завезли TKIP, и ключ стали менять.
В WPA2 завезли уже CCMP
А так-то если обосрагироваться от дыр известных дыр WEP, то он гораздо секурнее хотя бы потому что там 4 ключа на ротации.
Именно потому я за PKI, а он есть в WPA2-Enterprise.
Тем не менее, даже у нас к сети подключаются по MS-CHAP2 паролю через EAP, который далее видимо по RADIUS идет в MS-NAP или куда-то туда, и там проверяется по AD.
А могли бы через CA выдать всем по серту, и пускать по нему. Была бы безопасность еще и на уровне машины
Централизованный, регистрация по SMS
> Telegram
Централизованный, регистрация по SMS
> Viber
Централизованный, регистрация по SMS
> iMessage
Централизованный, регистрация по SMS
> Whatsapp
Централизованный, регистрация по SMS
> Line
Централизованный, регистрация по SMS
> Wechat
Централизованный, регистрация по SMS
Между ними есть что-то общее, не находишь?
— Мамой клянусь, да!
Первый агент сказал: 5, 23
Второй агент подумал: 42, а вслух сказал: 12
Другой ответил: 8
В каком номере они встретились для обмена документами?
Если бы он сказал это вслух, то порьте бы его спалил.
Тем не менее, Борманд прав.
как так получилось?
З.Ы. Блин, или не 19... Сколько там разных степеней то?
Ну он и так спалил... Откуда у них ключи к чужим номерам? А их номера портье и так знает.
Штирлиц ещё никогда не был так близок к провалу.
Это всё равно что сказать, что в игре "super mario" лажа, потому что съев гриб нельзя вырасти в два раза
https://youtu.be/cZVulN-w9RY?t=29
1 5 2 10 4 20 8 о, восемь, значит второй чел подумал о шести
Первый агент сказал: 191, 113
Второй агент подумал: 204122, а вслух сказал: 18
Другой ответил: 15
Назови номер
Можно ли это использовать как задачу на собеседовании программиста или админа?
Это про возраст какой-то тян?
Переведи загадку на EC, кстати
Х.з., очень специфичная область, имхо...
Маловероятно, что челу приходилось пилить DH вручную. Разве что в институте на лабе.
Там куча нюансов, на которых можно обосраться: тебе могут хуёвую группу подсунуть или, в случае с EC, точку не на эпилептической курве. И если их не учесть, твою реализацию выебут в первый же день, когда она попадётся под руку.
Задача была узнать DH, и сказать "вот вроде бы это DH на ModP, используется обычно для того-то".
Ну это как говоришь админу: "SYN", он тебе сразу отвечает "ACK", и ты понимаешь, что он в теме
Но вообще лучше RST, чем затупить.
Я на внутренних файрволах всегда ставлю -J DENY, а на внешних -j DROP в коцне.
С ботами-шифровальщиками миндальничать не хочется, а вот когда у тебя внутри сети сервис затупил -- это плохо, а с DENY он сразу же получит отлупо по ICMP и не будет висеть 100500 лет
Можно. Если пришёл не как эксперт по аудиту криптушни, но ответил правильно, то сразу гнать вон. А то вдруг олимпиадник, который будет свою кривую криптушню писать.
– потому на все вопросы на собеседовании нужно отвечать "я не знаю, но после нашего интервью обязательно почитаю про это в интернете"
Если на собеседовании спрашивают, то говорю: "Знаете, давно с этим не работал, нужно немного освежить память. Я погуглю дома, и вам напишу"
--Вы писали, что знаете SQL?
--Да
--Как реализуется отношение "много-ко-многим"?
--Знаете, я обычно работаю через ORM, так что так сразу не скажу
В смысле так?
(я реально такое видел, но мне никто не верит)
> SET
просто не используй код, который делает неправильный экскейпинг
А там был еще REPLACE, и его недавно завезли в стондарт!
https://learn.microsoft.com/en-us/sql/t-sql/functions/replace-transact-sql?view=sql-server-ver16
Зато я посмотрел очень увлекательное и познавательное видео, чем очень горжусь:
https://youtu.be/1_6uKr46I0k
Там в гостинице глючил лифт: привозил постояльцев не на тот этаж, который они выбрали. Швейцар вместо того, чтобы отправить заявку на ремонт лифта, спрашивает у каждого, на какой этаж он едет или с какого этажа приехал, записывает в тетрадку и пытается построить функцию отображения номера нажатой постояльцем кнопки на фактический номер этажа, куда его привёз лифт.
https://pbs.twimg.com/media/FFXWQPLXoAQY8AC.jpg
Даже на мониторе с горизонтальным разрешением 4к все десять миллиардов возможных номеров в одну строку не поместятся.
Кто-то предлагал делать два движка: coarse and fine. Но даже в этом случае будет по сто тысяч значений на движок.
Выберите класс: 1--10_000, 10_001-20_000 итд
Например четыре инпута для четырех байт IP адреса, и paste не работает. Заполнил один, нажал таб, заполнил другой.
Отдельное окно для домена, и отдельное для логина.
А интернет при этом они тоже проводят?
...
- Опять вы, Яшин, ну чего вам еще надо?
https://govnokod.ru/27845
https://govnokod.xyz/_27845/
хабибулин
https://pbs.twimg.com/media/GK9Zd8SWMAAqYbj?format=jpg&name=large
жу-жу-жу
я поймал большую вшу
https://thenewstack.io/how-the-u-s-air-force-deployed-kubernetes-and-istio-on-an-f-16-in-45-days/
Singapore's upgraded F-16 fighter jets now armed with Python-5 missiles