FreeBSD
Руководство на русском: https://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/
Handbook: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/index.html
OpenBSD
FAQ: https://www.openbsd.org/faq/index.html
NetBSD
FAQ: https://www.netbsd.org/docs/misc/index.html
OPNsense
WIKI: https://wiki.opnsense.org
GhostBSD
https://ghostbsd-documentation-portal.readthedocs.io/en/latest/
Прошлые тренды
https://2ch.hk/s/res/3346323.html (М)
https://2ch.hk/s/arch/2020-07-29/res/2726458.html (М)
Как ты 3ю гташку под фряхой запустил? Через что?
Просто откомпилировал.
Если так подумать, GTA 3 была для PlayStation Vita. Та, в свою очередь имеет операционную систему основанную на FreeBSD и NetBSD.
как же тянучку хочется
эээ... мы же геи вроде
Оказалось, что оригинальный легковесный менеджер это 9wm. Всё эти i3 и dwm - это в какой-то степени аналоги 9wm.
Поэтому, нужно начинать с оригинала.
> Оказалось, что оригинальный легковесный менеджер это 9wm. Всё эти i3 и dwm - это в какой-то степени аналоги 9wm.
> Поэтому, нужно начинать с оригинала.
Какой-то неочевидный вывод.
Чтоб жизнь малиной не казалась.
То же самое можно сказать про Linux на десктопе. Зачем тебе твой жму-пенис, когда есть Windows. Зачем красноглазить на ОС от роутера? На виндн всё работает, всё есть, ничего настраивать не нужно, ничего не трогай, тыкай как написано и будет тебе счастье. "Счастье найдено нами", - говорят последние люди, и моргают. Слишком сладких плодов не любит воин. Всё таки Unix-way не про то, что удобно, а про то, что правильно.
Какие есть аналоги FreeBSD в плане удобства для новичков? Debian? Да, охуенно.. Я новичок, захожу на энтот дебилиан, мне сразу же предустанавливает графический интерфейс вместе с drm-kms, которые уже между прочим работают в режиме ядра. Как я это понять то должен? Сложно. Непонятно.
Вот во FreeBSD, ничего такого нет. Зато есть ламповый handbook, который введёт в курс дела.
reIII/VC вероятнее всего. Это реверс-инижиниринг проект GTA 3/VC, который был прикрыт DMCA.
Горжусь вами.
стоит ли ставить бсд как основную систему на ноут в 2024 веке?
Можешь поподробнее? Как "откомпилировал"?
гта3 не было для виты, там был кривой порт мобильной версии (или стимовской)
говорю как владелец виты
> гта3 не было для виты
Был порт reIII для виты, не сренькай.
https://www.reddit.com/r/vitahacks/comments/jjan9o/release_re3vita_grand_theft_auto_iii_port_for/
re3, на гитхабе лежит. Там нужен только gmake, premake5, glfw, glew, openal-soft, mpg123, libsndfile, libsysinfo.
Собственно, качаешь, распаковываешь, и пишешь premake5 --with-librw gmake2.
Появляется папка build. Переходишь в неё. Пишешь
gmake help.
Он выдаст варианты возможных конфигов. Там в списке и конфиг для freebsd есть.
Собственно компилируем:
gmake CC=clang CXX=clang++ config(название_конфига)
Всё, он откомпилил бинарник. Осталось найти игровые файлы тексурок итд. Как я понял, в re3 их нет, так как сами текстурки игры защищены авторским правом. Но можно зайти на internet archive и найти копию игры с cd диска. Собственно, берём игровые файлы, и закидываем к ним бинарник. Всё работает. Для фикса кодировки нужно файлы из папки re3/gamefiles перекинуть с перезаписью в папку с ресурсами игры.
Собственно всё.
Рейд в биосе выключен, крутить там вроде больше нечего.
Нет никакого смысла ставить это на ноут. Драйверов для 97% девайсов абсолютно точно не было, нет и не не будет.
Хуя спермача разорвало
во FreeBSD 14, кстати говорят почтовый менеджер от dragonfly взяли.
Да и кочевника забыли. У него такие же права быть в шапке, как и у призрака
У меня всегда ассоциация была, NomadBSD, с номадом который "хуита".
Из-за этого сложилось впечатление, что это какая-то васян-бсд, ZverCD.
ПолуночнаяБСД (названная в честь котика, лол) тоже забыта. Если призрак и кочевник как бе сборки фряхи, то стрекоза и полночь вполне себе отдельные оси.
common.c: unimplemented subshell type 1
read (subshell_pty...): No such file or directory (2)
как фиксить?
https://forums.freebsd.org/threads/mc-on-14-0-r.91182/
>Please either use more advanced interactive shell, or start mc(1) with -u (--nosubshell) switch if you're confined to /bin/sh for some reason.
первая ссылка с гугла. иными словами, sh слишком тупая, юзай шелль поумнее
Вот прям только драйверов не хватает?
ну хз, играл я в бзд как-то, возникло чувство что линукс после бзд это как вернуться в город из деревни...
>вернуться в город из деревни
Т.е. после собственного дома с собственным куском земли на природе вернуться в бетонную коробку с засранным кредитными ведрами двором-колодцем? Хорошая метафора, бро
>собственного
ща будет шутейка про кук лицензию
именно деревня без электричества. газа. с туалетом на улице, дровами. вода из колодца. именно такой деревней
>без электричества. газа. с туалетом на улице, дровами. вода из колодца
Ты прямо фемдачу какую-то описал.
BSD лучше чем Linux. Жаль только, что софт не пишут, иначе линукс давно был бы на параше, где ему самое место.
Причины говнистости говна значения не имеют. Пока пользоваться ими невозможно, нельзя говорить, что они лучше докера.
Что только любители самого говнистого говна не придумают.
Так скажи честно: «Да, я говноед. Так уж вышло — что теперь делать… Но может быть, я прогрессивный говноед, и у меня просто не было выбора! Разве посмеют что-то говорить про человека который пользуется говном в отсутствии аналогов» И поэтому линуксоиды всё время стараются придумать новое незаменимое говно, чтобы не стыдно было и дальше им пользоваться. И если б делали тихо, в специальном для этого треде, то всем было бы так же безразлично, как и тот факт, что они долбятся в сраку. Но их нытьё про отсутствие софта приходится слушать каждый день, ибо заводят они его повсеместно. И потому не слышим ни ветра, ни моря, ни шороха листьев, ни пения птиц. А только один и тот же пустой и мертвый звук, которым хотят удивить, запуская его в небо под разными углами.
Бывает, правда, что у линуксоидов ломается установка. В такие минуты спеши слушать тишину.
Ебать портянка, уж лучше дальше на линуксе
It's just the shittiest shit lovers can come up with.
So be honest: "Yes, I'm a shithead. But maybe I'm a progressive shit-eater, and I just had no choice! And that's why linuxoids are always trying to come up with new indispensable shit, so that they won't be ashamed to continue using it. And if they did it quietly, in a dedicated thread, no one would care as much as the fact that they're fucking in the ass. But we have to listen to their whining about lack of software every day, because they start it everywhere. And that's why we hear neither wind nor sea, neither rustling of leaves nor singing of birds. But only the same empty and dead sound, which they want to surprise us by launching it into the sky at different angles.
There are times, though, when the linuxoids' rig breaks down. In such moments, hurry to listen to silence.
>NFS in a BSD derived codebase, as used in OpenBSD through 7.4 and FreeBSD through 14.0-RELEASE
>used in OpenBSD
самая безопасная ос в мире))0
Там RCE, но третей дырки не будет.
954x720, 1:39
>Исправили хоть?
Нет. Про баг заявили ещё месяц назад, но пока не известно в чём он заключается.
привет
Существует ли какое-то сравнение функционала терминалов FreeBSD и macOS?
теперь драйвера от nvidia не компилируются.
Дата релиза драйвера - 2022 год. Похоже что ещё версию для 14 freebsd не сделали. Компилер пишет This driver does not support freebsd 14.x/-curret.
Гугли tcsh vs zsh
Идея звучит отлично: использовать большую часть программ в текстовом режиме, включая графику только когда это необходимо. Иначе зачем же вообще этот терминал дан?
Но на практике, я что-то не понял. Взять простую задачу: редактирование текста. На freebsd два встроенных редактора: vi и ee. И в обоих редакторах нельзя ткнуть мышкой в произвольное место. Это что, получается мне нужно высчитывать строку, куда надо перевести курсор и переходить туда? Да вы ебануте что-ли? Это же вообще никак не может быть удобно.
Далее. Хочу я посмотреть картинку. Скачиваю zgv. И что? Он мне отображает полосу. Ладно, если бы он крашнулся с ошибкой, я хотя бы знал в чем ошибка. А так работает, но работает неверно. Проблема в библиотеке svgalib. Эта херота не хочет корректно работать в текстовом режиме. При этом, любая программа от svgalib требует рут прав. А это правильно вообще, что программы запускаются от рута? Я понимаю, что доступ к устройствам в /dev, доайакрам и всё такое.. А нельзя как-то продумать как это от пользователя запускать? Может там группу специальную сделать.
При этом почти весь софт работает под иксами.
Так что я решил обмазаться всем подряд по полностью. Установил xorg, qt, gtk, sql, java, python, вообще всё говно, что я не понимаю и считаю ненужным.
Ну он и вправду не нужен. Вот есть же браузер links. Там можно курсор перемешать в произвольную точку. Что мешает сделать также в текстовых редакторах? Не понимаю.
Вообще, бомбит от "минимализма". Взять тот же браузер midori - тормознутый, что пиздец, требует кучу всего. А в чем минимализм? А в том что кнопок нет нихуя в этом и минимализм. И любой, сука, минимализм - это плоская хуита без кнопок, которая нагружает проц больше чем что либо.
Ну и пофиг. Пообучаюсь так, пока.
Может, разовьюсь, сделаю все под себя.
Поставь vim, там точно можно курсор мышкой двигать, если и не нативно, то плагин точно есть. А вообще хз зачем тебе мышка, в виме и так курсор удобно двигается клавишами. Почитай гайдики по виму, или хоть vimtutor пройди. Вим изменит твою жизнь, особенно в консольном онли варианте выживания.
Да, видимо с плагином. Ни vim ни neovim не работают с мышкой.
> А вообще хз зачем тебе мышка
Почему нет?
Я ей ещё и текст в консоли копирую. А как иначе? Даже если поменять какие-нибудь настройки, то всё равно выделить текст на клавиатуре то проблематично.
Попробуй выучить вим
И выделять текст удобно будет без мышки, и в целом много времени потом сэкономишь
https://youtu.be/NzD2UdQl5Gc
Ну например так, тут линупсоид в ренжере переименовывает файлы вимом
Не знаете, есть ли какая-нибудь обзорная статья на устройство dwm.c?
Я не xlib не знаю, и опыта в программировании не особо.
Вот, порылся в коде, добавил у структуре client, окно. Создал функцию для отрисовки окна размерами (x, y-15, w+borderpx, 15). Вызвал её в случайном хендлере. Теперь когда фокусирую окно оно мне тэг-меню отрисовывает. Видимо это из-за того что я скопировал тот же профиль, что и у окна barwin. Прикольно. Надо только понять как устроен код, и можно внедрить свой тайтлбар, свои кнопочки, с поведением.
Есть тут кто копался в нем?
Кто-нибудь знает как с Фряхи подключаться к удаленному рабочему месту Windows (в компу на работе)? Я с Линуха через Reminna раньше подключался нормально, но для Фряхи я что-то не вижу Reminna.
Гуглю "разбор кода dwm", и получаю тысячи роликов про конфиг двма от фурри-соевичков. Зачем они снимают обзор на конфиг?! Вот что в конфиге интересного?! Лучше бы обзор на код сняли.
Приходится вслепую тыкать. в случайное место кода, и смотреть чо будет. Это как-то скучно и тупо.
Вон чё за сегодня сделал.
Ну еще есть вариант не страдать хуйней. Пользоваться нормальным вм, ионом или че там у прыщеблядей модно ща)))
Он ковыряется чисто в образовательных целях, не нам судить.
>>456337
Ну и кстати, не такая уж это и "фигня". Пока я искал патч на тайтлбар, наткнулся на несколько веток, где люди тоже как и я ищут тайтлбар для dwm:
https://stackoverflow.com/questions/76316022/how-can-i-add-a-custom-title-bar-and-decorations-to-a-window-using-xlib-in-c-for
https://www.reddit.com/r/suckless/comments/jht3ra/looking_for_dwm_patch_to_give_twm_or_mwm_like/
Но патча нигде я так и не нашёл. янеужели никто ничего так и не сделал. Ну ничего. Вот сделаю я, и все рады будут.
Ну и срыгни тогда, чепух.
>https://www.reddit.com/r/suckless/comments/jht3ra/looking_for_dwm_patch_to_give_twm_or_mwm_like/
> A patch that adds that would be very complicated and break compatiblility with most every other patch. I honestly suggest you try out awesomewm for this. It's not suckless, but its behavior is very similar to dwm and its support for things like you suggested is top notch.
Тебе нужно держать это в голове, раз собрался публиковать.
Да я смотрел и awesome wm, и i3. Они все со сложными наворотами. При этом, практика показывает что весь функционал можно реализовать и на чистом С, без всяких там lua, и тысячи непонятных наворотов.
> A patch that adds that would be very complicated and break compatiblility with most every other patch
Нееет. Это ваши патчи ломают совместимость с моим,а не мой с вашими.
Пока я патчил dwm, я нашёл несколько, которые вообще-то не работают. Патч download на браузер surf тоже не работает (видимо из-за того что в последний раз обновлялся в 2013).Tabbed - компиоируется, но ни одна из команд не работает корректно. Спрашивается, зачем мне этот ваш tabbed, если из него максимум одну вкладку и то только терминала можно включить. Так что "break compatiblility" звучит как бред. Тем более что там такого: тайтлбар - это полоска с кномками, за которую можно перемешать окно. Функции перемещения и закрытия окна существуют. Осталось только придумали как это все встроить в код.
Что-то я не понимаю, как можно твои обвинения в сторону нерабочих патчей и, тем более, "бредовости" сломанной обратной совместимости, чтобы это не значило, воспринимать серьезно. Предоставь доказательства того, что они не работают не только у тебя одного, а и у всех.
> Да я смотрел и awesome wm, и i3. Они все со сложными наворотами. При этом, практика показывает что весь функционал можно реализовать и на чистом С, без всяких там lua.
Так можно реализовать, или нерабочие патчи не позволяют?
>Предоставь доказательства того, что они не работают не только у тебя одного, а и у всех.
Ну так зайди на сайт и посмотри. Там буквально висят патчи для тех конструкций которых и в прмине нет.
>Так можно реализовать, или нерабочие патчи не позволяют?
Там вообще нет патчей на тайтлбар. Из рабочего и годноного нашёл alttab, awesomebar, resize, и ещё что-то. Нерабочие не помню как называются.
>сломанной обратной совместимости
почему нельзя ломать принц обратной совместимости?
*ни
Теперь тайтлбары перемещаются вместе с окном. Теперь один тайтлбар не уничтожает отрисовку другого. Теперь когда скрываешь окно тайтлбар скрывается тоже.
Во чо сделал за сегодня.
Правда в них функционала нет. За них нельзя перемешать окна.
>>457092
Велосипедный завод. В чем проблема поставить условный i3 и иметь все это из коробки? Ладно бы там иметь какой-то функционал, которого нет у других, в таком дрочеве есть смысл. Но тут же банально создаешь базовый функционал через еблю, в то время как у всех других он уже есть не прилагая усилий.
Это было бы мудрым решением. Но я не настолько мудр.
Опёнок суют в крипто шлюзы - традиция или опёнок реально безопаснее линакса?
нет. если хочешь операционную систему с открытым кодом - ставь линукс. бсд по уровню удобства как линукс десятилетней давности, остальные различия заметят только си-программисты которые импортозамещают линуксовые драйвера во фрю.
>бсд по уровню удобства как линукс десятилетней давности,
вот да, и даже не десятилетней, а глубже!
стимы всякие и мокропиське уже кое как работали на линуксах 10 лет назад, а бзда застряла в нулевых-девяностых, от неё несёт стагнацией и тем самым всратым ПЕРДОЛИНГОМ
Я искренен в своих высказываниях. Из дистрибутивов линукса только убунту какая-нибудь, хороший пример. Остальные всё какой-то кал, где тебе дают недопиленное говно и говорят "не работает - делай сам". Нахуй мне твои полумеры. Пусть либо дают мне что-то рабочее, либо ничего не дают. Вот БСД честнее, она хотя бы ничего и не даёт по стандарту. Ничего нет - нечего и чинить. Всё что есть - описано в хендбуке, в мануалах.
Да-да, ставь клоуна дальше быдло.
Если блядей корежит с моих тезисов,
если от моих аргументов они уходят в отрицание и реакты - значит я прав.
Какие аргументы? Ты не в чем не разобрался, нихуя сам не понял, и вероятно кроме бубунты нихуя и не видел. Ты просто высрал свой кал, без аргументации или чего-то подобного. Очевидно, что я не буду на серьёзных щщах с таким ебанатом спорить.
Если высираешь такой кал, совершенно не разобравшись в вопросе - ты и есть клоун, никто с тобой нормальный спор вести не будет
Я дебиан видел. Девуан. Минт. Неудобно. Не нравится.
Генту поставить так и не решился.
>Если высираешь такой кал, совершенно не разобравшись в вопросе - ты и есть клоун, никто с тобой нормальный спор вести не будет
А что не так то? Тебе даже зацепиться не за что.
macOS 15 Sequoia — первая BSD-система со встроенным ИИ
Ну я только в нетку вкатился, хорошая система же. Конфиги простые маленькие, маны в наличии. Официальный гайд, официальный сайт. Приятный дефолт. Как и в других бсд система обособлена от портов и пакетов. Можно скачать монорепу с исходниками cvs и грепать по ней. Удобно. Почему-то в системе обнаружились binutils, gcc, gdb и libstdc++ что странно. Я бы скорее ожидал clang, libc++ и т.д., а жопаэль в пакетах, но может чего не понял. В любом случае для концентрированного пердолинга когда времени мало, а очень хочется пердолиться заходит отлично. Современный линукс для пердолинга не рассматриваю - слишком сложный стал.
> очитал я єтот трєд и возник вопрос - чем bsd лучше gentoo? что вас привлекает в бздяхе?
Тред прочитал и молодец. Теперь ту статью прочитай внимательно и вдумчиво. https://habr.com/ru/articles/490408/
А есть аутисты платящие за бздехи?
> а на win7 нормально из браузеров только к-мелон работает
У меня на схожей конфигурации работало всё. Ютуб заведется максимум 720p 30fps. При 3 Гб памяти нормально сиделось на 32-битной семерке на любом браузере.
Если думаешь, что дело в DE, скачай условный опенбокс и запустись из него (хотя ты говоришь, уже пробовал LXQT).
По-нормальному надо посмотреть какой там в ноуте чипсет, рублей за 300-400 запихать туда Core 2 Duo помощнее, у тебя там Pentium Dualcore с маленьким кэшем L2. А еще не помешает запихать еще немного оперативки, хотя бы еще 2 гб за те же копейки
hw.model: Celeron(R) Dual-Core CPU T3000 @ 1.80GHz
Что лучше место этого поставить?
Памяти 2 гб докинул. ССД стоит ставить?
SSD ставь любой, там же всё равно SATA 2. На HDD 7200 оборотов уже кажется, что всё очень долго грузится.
>hw.model: Celeron(R) Dual-Core CPU T3000 @ 1.80GHz
Тут самое сложное, надо смотреть, какой чипсет. От этого зависит, какой проц можно воткнуть. Вроде бы у тебя nvidia mcp75l. А значит, должен поддерживаться T9400 и T9600. У них больше кэш, а еще у них FSB 1066, оперативка сможет завестись на частоте не 800 мгц, а 1066. Еще есть C2D T9800 и T9900, но цена на них больше косаря, экономически нецелесообразно. Я себе ставил на старый Acer T9600 вместо T4400, TDP у них у всех одинаковый, с охлаждением проблем не возникнет
Перепроверь чипсет, бери 400 рублей и вперед на али
Processor Information
Socket Designation: Socket 478
Type: Central Processor
Family: Dual-Core Xeon 3000
Manufacturer: Intel
ID: 7A 06 01 00 FF FB EB BF
Version: Celeron(R) Dual-Core CPU T3000 @ 1.80GHz
Voltage: 1.2 V
External Clock: 200 MHz
Max Speed: 1800 MHz
Current Speed: 1800 MHz
Status: Populated, Enabled
Upgrade: Socket 423
Base Board Information
Manufacturer: ASUSTeK Computer Inc.
Product Name: K50IN
Version: 1.0
Serial Number: BSN12345678901234567
Asset Tag: ATN12345678901234567
\
ahci0: <NVIDIA MCP79 AHCI SATA controller>
Как узнать какой чипсет наверняка?
> ahci0: <NVIDIA MCP79 AHCI SATA controller>
Вот он попався, это тот же самый Nvidia 730i, что и MCP75L
T9400, T9550, T9600, T9800, T9900
Разница у них по сути только в частотах. Поэтому целесообразно брать первые три, они дешевые.
https://aliexpress.ru/item/1005006908296269.html?sku_id=12000038682166794 вот например T9600
Неприятно, в моем GM45 неофициально заводятся 8 гб
На практике на таких ноутах всё равно всегда упираешься в процессор, оперативка и ссд - это больше для комфорта. Ну и драйвера на видеокарту еще влияют, а значит и на аппаратное ускорение в браузерах. Гномом 3 не пользовался, а вот на КДЕ вполне себе нормально было.
Спасибо! Заказал Т9600 и ссд.
ДДР2 почему то оч дорогие планки по 4гб.
Драйвер стоит 340, пробовал гном - не запускается gnome-system-center, вроде нагугли что поддержки каких то модных штук GTK4 в этом драйвере нет.
КДЕ тоже норм в целом работало на 2гб. Остановился на xfce.
Ютуб в 720р идет норм. Варкрафт тоже фризить перестал - надо было -opengl добавить при запуске.
>ДДР2 почему то оч дорогие планки по 4гб.
Они у тебя могут не заработать с Пенрином, даже на Нвидия чипсете. У меня ддр2 4 планки 16гиг не со-димм формата еле-еле запустились на частоте 667, вместо 800. На АМУДЕ.
У Интела была куча проблем с планками на 4 гига, пока не перешла на использование ддр3 и 4-хголовые процы, и даже на сокет 1156 я иногда не мог расширить объем, без смены проца с 650 на 750 или 860, или зибон воткнуть дроченный.
Все таки когда приедет проц с ссд мб в дуалбут винду всетаки для игор воткнуть. А так получается поддержки дотнета нет, а win10 он не вытащит я так понимаю, линух чтоли накатит, а я хз какой даже.
Спасибо тебе милый человек.
>>472413
С полноценным коре2дуо десятка уже как-то работает (благодаря кэшу, как я понимаю), но всё равно медленно, и от такой нагрузки ноут постоянно греется и шумит вентилятором. Это не совсем нормальное поведение.
Линуксы (да и фряху) есть смысл держать ради интернетов. На опеннете вот в каждом треде про фаерфокс объявляется чел, который ставит свежий найтли релиз на 32-битную убунту 14.04 и докладывает о работоспособности, лол. В этом плане потенциал на юникс-лайк системах есть, можно годами ноут держать в качестве запасной железки. Главное преимущество ноута - это портативность. Поэтому у меня он забит офлайн контентом, книжками, бэкапами скриптов. Пара стратежек имеется на всякий случай.
Внезапно поддвачну. Тем более, что сейчас и актуальный браузер для Windows XP есть
и подскажите, там бинари ставятся или компилятся как в gentoo?
Ну вот dragonfly это сборочка с LiveCD
>и подскажите, там бинари ставятся или компилятся как в gentoo?
Есть бинарники .tgz, есть возможность попердолиться с исходниками. Сразу говорю, для меня бсд это тоже было увлечение, просто посмотреть, что там вообще есть.
>>473220
>>473294
У него там железо, заточенное под висту, и семерку потянет идеально, че вы xp советуете. Да и к тому же хочет на юникс-лайк системах сидеть - пусть сидит. У меня самого такой знакомый есть, на коре 2 дуо комп с линуксом держит, типа там же можно без интел ме сделать окружение.
В фрянделе есть и бинарные пакеты и порты с сборкой из сорцов, бинари по версиям частенько отстают от портов, но хуй с ними. Сами порты реализованы через жопу, прописывать флаги в отличии от генты та еще анальная эквилибристика.
я видел, там есть use флаги в ncurse виде, или єто что-то не то?
Хз, у меня по дефолту работаю на клин инсталейшоне без пердолинга и на линухе, и на винде, и на попенбсд.
Было правда такое, что если непосредственно, через тти сидеть, то мышка становится тыквой, но тут не мудрено.
Чекни, мб у тебя мышка отключена для вима.
в итоге: pci passthrough нет, внятного пакетного менеджера не увидел (считаю, что портаж ЄШАЛОН), wifi для моей машины нет, тыкаю в єту хуйню палкой, больше 3 дней уже
но, отдам должное, система интересная, доки ну мед, как будто для школьников все расписано. Если бы не причины выше - перешел бы с генту, а так - буду продолжать тыкать хуем в нее, может когда-то пошизею и поставлю на 1тб ssd и повешусь.
Если хочешь поддержку своего фирмвэра, пожертвуй свою технику разрабам опенбсд. Они поиграются, и поставят в бэклог поддержку.
я прав или нет?
Ничего. Просто пока не вывозишь. Через 10 лет с себя сегодняшнего смеяться будешь.
>Это что, получается мне нужно высчитывать строку, куда надо перевести курсор и переходить туда? https://github.com/easymotion/vim-easymotion
https://github.com/folke/flash.nvim?tab=readme-ov-file#-alternatives
Лучше бы посоветовал ему относительную нумерацию строку врубить. Обмаз плагинами - это уже для смешариков.
>Продолжаем выживать под самой лучшей операционной системой человечества.
Только вот причем здесь бсди?
>А на эту хуйню Вообще есть софт?
Только тот что написан для линукс но случайно работает также и на бсдях лул
На OpenBSD сильно хуже дела чем на линупсе? Имеется в виду в плане дров и совместимости с различным софтом. Думал может ThinkPad купить и поставить, а также на домашний сервак воткнуть.
>>457449
Вроде безопаснее. Чего только последняя уязвимость в OpenSSH стоит, которая не работала в опенбзде так как там более безопасные пути взаимодействия.
На тинкпад норм. Но там ощутимо похуже с фирмарем разным.
На тинкпаде стояло в 2020 году. Но опенбсд как десктоп экспириенс мне не очень зашел.
Я правильно понимаю что ФриБСД это как раз та самая правильная свободная ОСь, а линукс - соевая поделка, в которой каждый год что-то ломают?
>Я правильно понимаю что ФриБСД это как раз та самая правильная свободная ОСь, а линукс - соевая поделка, в которой каждый год что-то ломают?
Всё именно так.
Лол. Фряха без ГНУ вообще неюзабельна. Ее правильно было бы называть GNU/FreeBSD потому что кроме ядра все что там может быть интересно пользователю это проекты GNU.
>все что там может быть интересно
Тебе? Может быть. За всех-то говорить не надо. Напомни какие лицензии у современной реализации звуковой системы OSS во FreeBSD? Может напомнишь какая лицензия у файловой системы ZFS, например? Ну или у родной Фряшной UFS2, которая так нравится Netflix.
>За всех-то говорить не надо.
Имею полное право говорить за всех кто пользуется этим не на сервере и сидит не только в консоле.
>Может напомнишь какая лицензия у файловой системы ZFS, например? Ну или у родной Фряшной UFS2, которая так нравится Netflix.
Ну да ведь ты систему ставишь чтобы помедитировать на файловую систему, ага. Юзать ее при этом необязательно.
>современной реализации звуковой системы OSS
Ну зашибись целых два примере привел, молодец. Ты графической подсистемой пользоваться-то собираешься, нет? Иксы там всякие, гномы, кеды, офисные пакеты, гимпы, браузеры наконец? Не не нужно? Будем сидеть в консоле и редактировать файлики в ee? Я не спорю что на серверах фряха самодостаточна, но если говорить за десктоп то там она полностью зависит от множества GNU GPL кода и разговоры о ее большей свободности просто смешны.
>Имею полное право говорить за всех кто пользуется этим не на сервере и сидит не только в консоле.
Нет, не имеешь.
>Ну да ведь ты систему ставишь чтобы помедитировать на файловую систему
Да а на фиг нужна ОС без файловой системы? А если всё-таки файловая система нужна, то чего ты дурачка из себя тут строишь?
>Ну зашибись целых два примере привел, молодец.
Этих примеров уже достаточно, чтобы юзать самую цивилизованную ОС всех времён и народов т.е. FreeBSD и не юзать корявую пародию Linux.
>Ты графической подсистемой пользоваться-то собираешься
>Иксы там всякие, гномы, кеды, офисные пакеты, гимпы, браузеры наконец? Не не нужно?
Собираюсь, но при чём тут Linux? Там разве что один Gnome максимально на SystemD и Linux завязан, сложно переделывать. Остальные-то не делаются конкретно для Linux. Кстати, а у Firefox разве GPL лицензия? Нет ведь. И у LibreOffice тоже не GPL. Так что ты там гнал про без GPL никуда?
>у Firefox разве GPL лицензия? Нет ведь. И у LibreOffice тоже не GPL
Mozilla Public License...is distinguished from others as a middle ground between the permissive software BSD-style licenses and the GNU General Public License.
https://en.wikipedia.org/wiki/Mozilla_Public_License
>Собираюсь, но при чём тут Linux?
Linux непричем, это просто ядро.
А вот GNU/Linux при том что все графические среды это в основном GNU GPL. Даже скрин в шапке БСД треда - это QTшные окошки которые именно GPL лол. Подумай над этим - вы даже скрин для шапки не смогли сделать без GPL.
>Этих примеров уже достаточно, чтобы юзать самую цивилизованную ОС всех времён и народов
Лол. Даже сама идея юзать фряху на десктопе - сомнительна. Из-за бинарной несовместимости с линуксом на фряхе принципиально нельзя запустить проприетарные программы и даже около-свободные программы типа OnlyOffice запускаются через жопу. На линуксе я просто скачиваю с сайта офис и запускаю. А на фряхе? Правильно, только медитировать на самую лучшую файловую систему после очередного обсера при установке пакета.
https://forums.freebsd.org/threads/onlyoffice-package.88766/
>если всё-таки файловая система нужна
Нужна, но не такая которая жрет половину всей доступной памяти ok.
У меня дома не сервер все-таки.
>Mozilla Public License...is distinguished from others as a middle ground between the permissive software BSD-style licenses and the GNU General Public License.
Сам всё видишь. Это не GPL. А если бы и было GPL, то это ещё не Linux. Как ты и заметил, есть GNU/Linux из этого же набора GPL софта и ядра Linux, а есть GPL без Linux. Оно и появилось на BSD системах раньше чем в Линуксе.
>Даже сама идея юзать фряху на десктопе - сомнительна. Из-за бинарной несовместимости с линуксом на фряхе принципиально нельзя запустить проприетарные программы.
LOL ))) Даже сама идея юзать Linux на десктопе - сомнительна. Из-за бинарной несовместимости с виндой на Линухе принципиально нельзя запустить проприетарные игоры. А дальше костыли, эмуляторы... Что в Линухе, что на Фряхе.
>На линуксе я просто скачиваю с сайта офис и запускаю. А на фряхе?
А на Фряхе ты просто делаешь pkg install libreoffice.
Нужна, но не такая которая жрет половину всей доступной памяти ok
>Так настрой, чтобы не жрала половину. Это настраиваемо.
>LOL ))) Даже сама идея юзать Linux на десктопе - сомнительна. Из-за бинарной несовместимости с виндой на Линухе принципиально нельзя запустить проприетарные игоры.
Кек. Какой же ты предсказуемый, я знал что ты так ответишь.
Но решение здесь очень простое. Внезапно на линуксе есть совместимость с бинарниками винды через транслятор вайн (и нет, это не эмулятор, он даже так и называется сука не-эмулятор). А вот на фряху нормальной совместимости с бинарниками линукса так и не завезли. Смешно, но на фряхе запустить бинарный офис винды проще чем такой же бинарник под линукс (причем виндовые бинарники - благодаря тому же вайну который кстати LGPL).
>на Фряхе ты просто делаешь pkg install libreoffice
Не, ну если очень хочется просто поесть говна и потыкать в неюзабельный интерфейс тогда конечно. Но некоторые знаешь ли в офисе еще реально работают и выполняют какие-то задачи.
>Так настрой, чтобы не жрала половину.
Спасибо, но мне нах не сдались сто тысяч теневых копий моих файлов, а других преимуществ у зетки нет.
>Но решение здесь очень простое. Внезапно на линуксе есть совместимость с бинарниками винды через транслятор вайн
Внезапно, где только ещё нет этого Wine, но это всё-равно костыли и далеко не всё через него работает.
>Не, ну если очень хочется просто поесть говна и потыкать в неюзабельный интерфейс тогда конечно.
Смотря для чего он неюзабельный, но MS Offcie онлайн и гуглодокументы тоже никто не отменял. Если так смотреть, то ведь и все другие альтернативы MS Office окажутся не юзабельны, если ты максросы на визуалбэйсике там пишешь всякие или базы дангные в Acess ваяешь сидишь, чтобы потом в проектах на C# с виндвос формами юзать в Visual Studio. Так, что это всё очень относительно что там юзабельно, а что нет. Мне для домашних задач LibreOffice обычно достаточно. Впрочем, я курсовые и диплом тоже там ваял и ничего. Нормально.
>Внезапно, где только ещё нет этого Wine, но это всё-равно костыли и далеко не всё через него работает.
Ну то есть с тем что эмулятор линукса на фряхе забросили еще в нулевых и не собираются ничего с этим делать ты не споришь?
Просто будете юзать LGPL софт который не для вас делается (ибо никто на фряхе не играет) и притворяться что так и надо? Ок.
>все другие альтернативы MS Office окажутся не юзабельны
Не переводи разговор на обсуждение офисного софта плиз. Я согласен что он в целом говно на никсах. Речь лишь о том что на фряхе выбор этого говна еще меньше чем на линуксе.
>Ну то есть с тем что эмулятор линукса на фряхе забросили еще в нулевых и не собираются ничего с этим делать ты не споришь?
Я не в курсе. Не пользовался им со времен когда флеш плеер стал не нужен полностью. Что-то ж делают, какой-то слой запилили для дров на модный нынче вайфай. У меня и с родными дровами нативными вайфай хорошо работает на ноуте, но у меня не Intel-воский чип там, а Qualcomm Atheros и он с родным драйвером ath для Фряхи нормально работает.
>Просто будете юзать LGPL софт который не для вас делается
Он далется для всех.
(>ибо никто на фряхе не играет)
Кто-то играет. Именно на Фряхе. Ещё можно соньку сюда приплести, конечно.
>Речь лишь о том что на фряхе выбор этого говна еще меньше чем на линуксе.
Какое это имеет значение, если то что нужно там есть?
>Кто-то играет. Именно на Фряхе.
Ну тут можно просто взять статистику десктопов среди не-виндоуз систем. Для фряхи она будет очень грустная.
>Я не в курсе.
Ну это как бы странно. Раз уж ты реально пользуешься этой системой.( или ты так, двачеров потраллить?).
>>490867
>Какое это имеет значение, если то что нужно там есть?
Ты ровно одн пост назад потратил много слов доказывая мне на примере офиса что "нужное" - это относительное понятие. Так что неясно о каком еще нужном ты теперь говоришь. Выбор софта на фряхе меньше - просто признай это и закроем тему.
>Ну тут можно просто взять статистику десктопов среди не-виндоуз систем. Для фряхи она будет очень грустная.
Это потому, что статистика собирается о браузерах на сайтах в инете, а UserAgent в браузерах не всегда дает достоверную информацию о самом браузере и операционной системе. Вон тот же Vivaldi, например, ради совместимости с сайтами притворяется простым Chrome. Тот же Chromium на Фряхе притворяется Chromium на Linux зачем-то. Может это для какой-то конспирации, конфиденциальности, Х.З. Суть в том, что эти ваши статистики не отражают действительность.
>Выбор софта на фряхе меньше - просто признай это и закроем тему.
Я этого и не отрицал. Вот сейчас разработчики HelloSystem запилят совместимость с софтом для MacOS, вот тогда заживём. Пожелаем им удачи и всё такое.
Терпи, бастард безродный.
> FreeBSD
> OpenBSD
> NetBSD
> OPNsense
> GhostBSD
Идут по пути линукса - плодят дистрибутивы.
Какой посоветуете?
Как с поддержкой железа?
Есть это: >>3492855 →
>Идут по пути линукса - плодят дистрибутивы.
Нет.
>Какой посоветуете?
Для десктопа есть только один вариант - FreeBSD + васянодистры сделанные на его основе типа GhostBSD.
Все остальное (OpenBSD, NetBSD) это чисто серверные оси которые для десктопа непригодны (тупо нет многих драйверов).
Гугли ёпта. Я что ли за тебя твое железо гуглить должен. Или просто накати да посмотри. Так в целом фряха поддерживает почти всё стандартное десктопное железо включая нвидию.
Спектрум еще охуенная платформа. Без шуток.
Сам купил себе zx evolution и довольно урчу в теплой ламповой TR DOS
Долго не понимал, какого черта
gcc ./prgm.c 2> log1.txt
не работает.
Потом понял что я поставил себе tcsh на котором так не работает.
А как!? Гуглил, так и не понял как на tsch это делают.
Решил проблему просто запуском sh: /bin/sh.
Но мне че, теперь при любом случае sh включать. Должно же как-то и на tsch работать.
По приколу. А так, это ос для домохозяек, у которых юзкейс компьютера заканчивается браузером. Но как хобби — почему бы и нет. Я б для выебонов поставил дуалбутом с лином/виндой фряху или опёнка. Чисто логиниться в неё, делать скрин неофеча и возвращаться на нормальную ос для настоящих задач.
> Я правильно понимаю что ФриБСД это как раз та самая правильная свободная ОСь, а линукс - соевая поделка, в которой каждый год что-то ломают?
Любая из 4х BSD полностью делается одной командой людей, которые этим занимаются уже десятилетиями. Да, в основном тамошний софт это все те же гну поделия, но они как минимум тестируются на совместимость, хотя бы во всяких pkgsrc. А глинукс это просто набор софта, который делают одни, собирает в дистрибутив кто-то другой, а жопой горит из-за неработоспособности всей этой сборной солянки вообще третий.
Неофетч можно в виртуалке делать.
Только вебка? Повезло
Или остаться на пацанском dwm?
Учись хотя бы грамотно пиздить конфиги. Иначе не понятно, откуда мотивация ставить xfce.
Какие ещё конфиги?
>откуда мотивация ставить xfce.
Для бля, сидишь: файловый менеджер обычно xfe, в браузере thunar по-умолчанию (нельзя поменять), в блокноте вообще какой-то CDEшный фм, в другом блокноте Gnomовский.
Все, какое-то, как слон в посудой лавке.
Я уже забил, из сонсольки файлы открываю.
Все браузеры, какого-то хуя, считают своим долгом создать папку Desktop, когда у меня даже рабочего стола то и нет!
В итоге у меня все засрано десятками фреймворков: калькулятор под QT, либрекад под GTK, браузер от гнома чего-то нахватался, блокноты на openmotif, файловый менеджер на FOX toolkit, менеджер окон на голом xlib.
Блевотина. И по итогу, единственное что стабильно работает это сонсолька.
Мне xfce изначально очень не понравился, потому что он призизанный и тупой. Из-за плоского дизайна всё выглядит как игрушка для аутистов какая-то. А ведь главное что этот дизайн ещё и ограничивает: открываешь файловый менеджер, в нем всего две кнопки. Ни поиска, ни каталогов, только дебильные инфантильныные значки как на андроид.
Но, зато, наверное всё работает, всё в комплекте, все под один дизайн.
Вообще много этот xfce жрет?
у меня на старте dwm занимает 700 Мб ОЗУ, а когда позапускать всё подряд, начинает 2500 Мб ОЗУ брать.
А Xfce? Слышал что он более легковесный чем гном. В общем охота чонить стандартное накатить. Чо лучше?
Опять обновление freebsd драйвера на видюху сломало. Пока не пропатчат - в тред не зайдут.
Я просто не понимаю, как этим пользоваться.
Тыкать в сонсольке научился, компилировать программы научился. А как самой системой пользоваться? Че в системе есть, и для чего.
ioctl, стандартные модули ядер kldstat. Короче, как пользоваться услугами ОС (за исключением очевидных файлов и сокетов)
Чё-то какая-то жопа негра то?
Обложка красивая. Почмотрю.
Я просто гуглил : "книги по freebsd" и мне выдало кал какой-то, в котором пол-книги объясняется как установить freebsd 8 на некрожелезе. Но это как бы меня мало интересует. Мне больше интересна сама система, как ей пользоваться.
Вот есть устройство /dev/mem. Это неблочный фал. И че мне с ним делать, кроме как cat'ом вывести ? Непонятно. В хендбуке только справка написана, а описания самой системы нет.
Vim поддерживает перемещение курсора мышкой через плагины. Однако в Vim удобно перемещаться по тексту с помощью клавиш. Рекомендуется изучить основы Vim (например, с помощью vimtutor) для эффективного использования редактора.
А я потом узнал, что nano оказывается тоже поддерживает мышь.
У nano конфиг какой-то забаганный, никогда не поймёшь что и как настраивается: в конфиге одно - в программе другое. И начинается пляска. Но я откомпилил последнюю версию, потыкал конфиг, и там и sysmouse есть и подсветка синтаксиса, и даже без мышки там можно слова стирать, выделять фрагменты, прыгать на "следующий блок".
То есть, опять же, вроде все функции есть, но почему конфиг то ломанный? Я посмотрел исходный код, там видимо при компиляции есть дефолтные настройки которые никак не сбросишь.
Сделали бы тогда как dwm: все настройки при компиляции.
GTA 3 не была портирована на PS Vita. Существующая версия для PS Vita является портом мобильной версии игры.
Файловые системы ZFS и UFS2 имеют открытые лицензии. OSS — это не единственная звуковая система в FreeBSD. Для десктопа FreeBSD использует множество программ с лицензией GNU GPL, но это не делает её менее свободной.
Хочу поиграть в gta 4, но у меня проблемы.
Скачал вот этот репак от хаттаба https://rutor.org.in/igri_pc/action_shuter/83995-gta-4-grand-theft-auto-iv-complete-edition-v-12032-2010-pc-repack-ot-xatab.html
он запускается и работает в wine-proton идеально, кроме одного - в нем почему-то не работает встроенная таблетка от жадности.
Игра говорит, что я не подключен к ссанову рокстар клубу и сохранения не работают.
Пробовал скачивать другие репаки с другими таблетками но ни один из них не запустился. Все показывают черный экран и так висят.
В связи с этим вопрос.
Как это говно траблшутить? Я вообще хз к кому обращаться - бздшники пошлют нахуй потому что это виндовые запердоны, виндузоиды пошлют нахуй потому что это фрибсд и линуксоиды пошлют нахуй по той же причине.
Есть ли какой-то способ сохранить состояние иры не прибегая к сохранениям? Мне вчера пришло в голову сохранить полный дамп памяти или сделать что-то похожее, чтобы можно было этот дамп потом восстановить. Но не уверен, что это возможно.
ещё и "комьюнити" соево-куколдское отказывается помогать
Охуительное коммьюнити, базарю.
Мда....пиздос конечно.
Западные куколды за "пиратский майнкрафт" банят, даже версий которые куколдским мс-аккаунтом не поддерживаются. Спокуха, они все такие.
да спокуха-то спокуха, а с игрой что делать?
Нет блять, я бы понял если б рокстар ебучий не имел своего ланчера вонючего который не работает на фряхе. Я бы понял, если бы рокстар не лез в залупу с ограничением сохранений. Но ведь эти куколды из дискорда фряхи реально топят за то что это норма. Рокстар завтра заебется сохранения и облако держать - он ебанет все одним днем и нет ни у кого игры больше. А они это поддерживают и ещё просят.
Горит блять с этих уёбков.
Цена-то не проблема, я покупал этот ебучий гта4 в стиме. Да только стим ёбаный во фряхе не запускается. Не запускается стим и не запускаетсчя ебучий ланчер рокстара. Ну я и вернул деньги за это говно. А у хатаба все работает из коробки кроме сохранений. Но пираты у них почему-то плохие.
Кэк с Windowsa.
чет прорал
Нужно сделать такую же пикчу по линукс тематике. Только вместо 24 USD, по трубе должны поставляться натоптыши главпитуха.
А в линуксе 47 градусов. Даже при нагрузке на проц температура выше 55-60 не поднимается. А в bsd под нагрузкой 65. Дров нет нормальных, вот главный минус bsd. А так системы годные, продуманные. Если бы не хреновые драйверы, использовал бы везде.
Есть где-то список софта, который ТОЧНО будет работать под фряхой?
У меня ноут, мне от него по сути, надо пять шесть программ, не связанных с инженерией и всё такое.
Есть.
держу в курсе - дело оказалось в кривом репаке.
Скачал этот https://byxatab.org/games/torrent_igry/3d/01-gta_4_grand_theft_auto_iv_complete_edition_v_1070_1120_2010_pc_124_repack_ot_xatab/3-1-0-308#comment - проблем с сохранениями нет.
А какой софт?
> Есть где-то список софта, который ТОЧНО будет работать под фряхой?
https://www.freshports.org/
В KDE 4 году ещё в 2010 все автоматически монтировалось. Вспомни ещё мем про "как пропатчить кде2 под фрибсд?"
так то оно так тока во фряхе нихера ж нет и кеды там обрезаные гуя для нетворкманагера нету для пакетного манагера тож нету так же как и автомотирования флех ето я на 13 фряхе пробовал так что
> тока во фряхе нихера ж нет и кеды там обрезаные
Как я написал чуть выше, по состоянию на 2010 (давно фряху не ковырял), кеды ставились из пакетов, при этом можно было выбрать вручную что ставить (там одних локализаций на несколько гигов было), можно по минимуму, по выбору, а можно всё и сразу. Я именно на фряхе впервые сделал модный тогда рабочий стол в виде триде кубика.
1 - Поставил туда mariadb-server через pkgin,
2 - Закинул нужный скрипт в /etc/rc.d/mariadb
3 - Прописал в rc.conf строку mariadb=YES
И вылезла проблемка. При загрузке системы оно запускается 1 раз из 20, если не реже. Когда не запускается, то никаких логов или ошибок не выскакивает.
Вручную через service mariadb start всё запускается
Если я command_args меняю, на --help, то всё отрабатывает в 100% случаев.
Если я стираю & в конце, то всё запускается в 100% случаев, но при этом всё стопорится на этом же скрипте. Как это чинить?
Пробовал версии 10.4, 10.6, 10.11 на 2х разных железяках и одной виртуалке - везде такое поведение.
>так то оно так тока во фряхе нихера ж нет и кеды там обрезаные гуя для нетворкманагера нету для пакетного манагера тож нету так же как и автомотирования флех ето я на 13 фряхе пробовал так что
Так-то автомонтирование флешек там точно работает в KDE на FreeBSD уже много лет. Только если у тебя флешка с ExtFat или с NTFS там надо чтобы была пара спец. пакетов доустановлена и модуль Fusefs запущен.
И по этому поводу есть соответствующий баг
https://github.com/protocolbuffers/protobuf/issues/17793
Как это фиксить красивым путём, а чтобы не как в lfs?
# ifconfig re0 | grep fe80
inet6 fe80::20a:48ff:fe22:4eef%re0 prefixlen 64 scopeid 0x1
# ifconfig pppoe0 | grep fe80
inet6 fe80::20a:48ff:fe22:4eef%pppoe0 --> prefixlen 64 scopeid 0x5
Долго думал, что это норма и я просто плохо знаю IPv6, но форвардинг именно IPv6 сначала не работал, долго пытался разобраться, затем просто удалил этот fe80::20a:48ff:fe22:4eef%pppoe0 - и вдруг ICMP ответы из IPv6 интернетов стали приходить. ЧЗХ?
годно
Ещё вчера обновил до официального анонса.
>долго пытался разобраться, затем просто удалил этот fe80::20a:48ff:fe22:4eef%pppoe0 - и вдруг ICMP ответы из IPv6 интернетов стали приходить. ЧЗХ?
tcpdump нужно было смотреть.
Да хрен с ним с релизом, они спели что нибудь или совсем хуй положили? А то 7.1-7.2 песенок не было нихуя..
Смотрел. Дело оказалось в том, что у Ростелеком не подсеть выдаётся, а именно что два адреса. Дальше пердольтесь с NAT66, госода пидорахи, в этой федерации.
Что за плеер на скрине? Он Flac .cue файлы будет распозновать?
Я утырок
Да. И пришёл к выводу, что dwm патчить не нужно. Для фреймовых менеджеров существует TWM или xfce. А патчинг тайлового dwm под фреймовый превращает его в раздутую копию чего-то непонятного с нечитабельным кодом.
На счёт "простых универсальных технологий", как раз программируя трёхмерный рендерер, я пришёл к выводу что эти самые "универсальные технологии" - это миф. Взять даже стандартную библиотеку С - она ведь на самом деле не стандартная ни разу. На windows например нет функции fmemopen, и не потому что разработчики gnu такие глупые, а потому что у ядра Windows просто нет таких функций. fmemopen легко сымитировать временным файлом, но это уже не одно и то же. На голом железе в таком случае пришлось бы переизобретать всю стандартную библиотеку, а вместе с ней и Unix.
Или возьмём тип float. Числа с плавающей точкой считаются аппаратно на математическом сопроцессоре. А если математического сопроцессора нет!? Приходится реализовывать числа с фиксированной точкой, которые, лично на моем компьютере местами считаются даже медленнее float'ов.
Раз уж мы считаем числа аппаратно, то почему бы нам и zбуфер не считать аппаратно на видеокарточке? С добавлением текстур и сглаживания гуро фпс падает значительно, нагрузка на процессор растёт. Пока графика остаётся простой в стиле PS1 это ещё можно вытянуть оптимизатором + ручками пооптимизировать, но ясно дело ничего большего этим не добится. Из этого можно вывести правило: универсальность == тормознутость. И да, первые компьютеры которые были практически идеальным представлением машины фон-нецмана ведь были довольны чисты и универсальны. Даже аппаратного стека не было! Тем не менее они считали все очень долго.
Мы все живём на железяках. На самом деле мы все плотно зависимы от аппаратного обеспечения. Вся "универсальность" это миф. Рано или поздно архитектура amd64 канет в лету, и все ваши програмки можно будет отправить в мусорный бак, как это стало с TemplOS для commodore и старыми Unix для i386. Вот так вот.
Так что не имеет смысл гнаться за "универсальностью". Более того, если что-то не работает или не компилируется, то проблема всегда одна, и эта проблема - автор программы. Если скрипт на python ломает программу из-за отсутствия модулей, которые уже давно заьрошены - то виноват в данном случае только тот идиот, который решил что внедрить скрипт в жизненно важную часть скрипта - хорошая идея. Если make-скрипт не содержит необходимых конфигураций для всех частей системы - виноват тут только тот идиот что не предумсотрел правильные конфигурации. Если программа крашится и тупит - виноват тут не C++ со своими замысловатыми фишками, а тот программист что написал на C++ код не предусмотрев всех особенностей, не сделав дорожных оптимизацией.
А на счёт уязвимостей, слежки, краж, я пришел к выводу, что просто напросто, все нужно хранить на бумаге. Буквально нет носителя надёжнее чем бумага. Деньги должны быть бумажными, крипта, онлайн-банкинг - все это не настоящие деньги. То что каждый сайт требует телефона, почты и Java Script - проблема сайтов и современного "правового нигилизма" - когда люди не хотят считать право за ценность (зато советам умников что считают js адекватной идеей они внемлят безприкословно). "Бумажки" в современном мире насколько потеряли вес, что считается нормой заключать договора "кликом в окошке госуслуг".
Да. И пришёл к выводу, что dwm патчить не нужно. Для фреймовых менеджеров существует TWM или xfce. А патчинг тайлового dwm под фреймовый превращает его в раздутую копию чего-то непонятного с нечитабельным кодом.
На счёт "простых универсальных технологий", как раз программируя трёхмерный рендерер, я пришёл к выводу что эти самые "универсальные технологии" - это миф. Взять даже стандартную библиотеку С - она ведь на самом деле не стандартная ни разу. На windows например нет функции fmemopen, и не потому что разработчики gnu такие глупые, а потому что у ядра Windows просто нет таких функций. fmemopen легко сымитировать временным файлом, но это уже не одно и то же. На голом железе в таком случае пришлось бы переизобретать всю стандартную библиотеку, а вместе с ней и Unix.
Или возьмём тип float. Числа с плавающей точкой считаются аппаратно на математическом сопроцессоре. А если математического сопроцессора нет!? Приходится реализовывать числа с фиксированной точкой, которые, лично на моем компьютере местами считаются даже медленнее float'ов.
Раз уж мы считаем числа аппаратно, то почему бы нам и zбуфер не считать аппаратно на видеокарточке? С добавлением текстур и сглаживания гуро фпс падает значительно, нагрузка на процессор растёт. Пока графика остаётся простой в стиле PS1 это ещё можно вытянуть оптимизатором + ручками пооптимизировать, но ясно дело ничего большего этим не добится. Из этого можно вывести правило: универсальность == тормознутость. И да, первые компьютеры которые были практически идеальным представлением машины фон-нецмана ведь были довольны чисты и универсальны. Даже аппаратного стека не было! Тем не менее они считали все очень долго.
Мы все живём на железяках. На самом деле мы все плотно зависимы от аппаратного обеспечения. Вся "универсальность" это миф. Рано или поздно архитектура amd64 канет в лету, и все ваши програмки можно будет отправить в мусорный бак, как это стало с TemplOS для commodore и старыми Unix для i386. Вот так вот.
Так что не имеет смысл гнаться за "универсальностью". Более того, если что-то не работает или не компилируется, то проблема всегда одна, и эта проблема - автор программы. Если скрипт на python ломает программу из-за отсутствия модулей, которые уже давно заьрошены - то виноват в данном случае только тот идиот, который решил что внедрить скрипт в жизненно важную часть скрипта - хорошая идея. Если make-скрипт не содержит необходимых конфигураций для всех частей системы - виноват тут только тот идиот что не предумсотрел правильные конфигурации. Если программа крашится и тупит - виноват тут не C++ со своими замысловатыми фишками, а тот программист что написал на C++ код не предусмотрев всех особенностей, не сделав дорожных оптимизацией.
А на счёт уязвимостей, слежки, краж, я пришел к выводу, что просто напросто, все нужно хранить на бумаге. Буквально нет носителя надёжнее чем бумага. Деньги должны быть бумажными, крипта, онлайн-банкинг - все это не настоящие деньги. То что каждый сайт требует телефона, почты и Java Script - проблема сайтов и современного "правового нигилизма" - когда люди не хотят считать право за ценность (зато советам умников что считают js адекватной идеей они внемлят безприкословно). "Бумажки" в современном мире насколько потеряли вес, что считается нормой заключать договора "кликом в окошке госуслуг".
Я бы даже кратко сказал вот так:
1.Сложные технологии - не вредные. Вредные - "бесполезные" технологии. Вот я читал критику в сторону Rust, там ведь критика состоит не в том что это "новая вредная технология", а в том что она абсолютно бесполезна. Этот язык претендует на низкоуровневость, при том что таковым не является, претендует на "безопасность", причём работать по-безопасному практически невозможно. Итого, непонятно зачем он нужен. При этом сложность не обсуждается, мало ли что является сложным. Если так посмотреть, оптимизатор С - штука не простая. Так что, не использовать оптимизатор?
То есть, в "сложности" нет ничего особого плохого. Плохое есть в "несоразмерности" в "нецелесооьразности". Вот у меня, python-скрипт, создаёт из кадров анимации в мой личный формат. Тем не менее, это ни капли не ломает работу программы. Более того, все зависимости Xlib вынесены в отдельный модуль. Переписав его под Windows, программа автоматически портируется и на Windows, и на ncurses (да хоть свои драйвера изобретай и портируй). Казалось бы, зависимость от "сложного" Xlib, а портируемость достигается за секунды. А вот если бы я все функции xlib использовал напрямую в коде, тогда бы мою программу портировать было практически невозможно. Это как раз и натолкнуло меня на мысль, что в "кривых программах" виноват не вредный python, а глупый программист, что этот python использует несоразмерно.
2. Патчинг dwm в сторону тайтлбаров и кнопок, наталкивает на мысль: "а почему бы не добавить меню выбора программ" и далее "почему бы не добавить меню пуск", "а почему бы не добавить рабочий стол". В какой-то момент можно задуматься: "а что в dwm осталось от dwm"? Он теперь весьма раздут (уже не минимализм), он сохранил баги и недостатки оригинального dwm, при этом повторил функционал IceWM, добавив тонну неразборчивого сишного кода.
То есть получается какая-то глупость. dwm сделан тайловым, то есть стоит и по его без мыши. Если это неудобно (например если ты не красноглазик-вимодрочер) то и не нужно dwm использовать. Нужно ставить TWM и патчить TWM например на статусбар и нормальный режим фокусировки.
Я бы даже кратко сказал вот так:
1.Сложные технологии - не вредные. Вредные - "бесполезные" технологии. Вот я читал критику в сторону Rust, там ведь критика состоит не в том что это "новая вредная технология", а в том что она абсолютно бесполезна. Этот язык претендует на низкоуровневость, при том что таковым не является, претендует на "безопасность", причём работать по-безопасному практически невозможно. Итого, непонятно зачем он нужен. При этом сложность не обсуждается, мало ли что является сложным. Если так посмотреть, оптимизатор С - штука не простая. Так что, не использовать оптимизатор?
То есть, в "сложности" нет ничего особого плохого. Плохое есть в "несоразмерности" в "нецелесооьразности". Вот у меня, python-скрипт, создаёт из кадров анимации в мой личный формат. Тем не менее, это ни капли не ломает работу программы. Более того, все зависимости Xlib вынесены в отдельный модуль. Переписав его под Windows, программа автоматически портируется и на Windows, и на ncurses (да хоть свои драйвера изобретай и портируй). Казалось бы, зависимость от "сложного" Xlib, а портируемость достигается за секунды. А вот если бы я все функции xlib использовал напрямую в коде, тогда бы мою программу портировать было практически невозможно. Это как раз и натолкнуло меня на мысль, что в "кривых программах" виноват не вредный python, а глупый программист, что этот python использует несоразмерно.
2. Патчинг dwm в сторону тайтлбаров и кнопок, наталкивает на мысль: "а почему бы не добавить меню выбора программ" и далее "почему бы не добавить меню пуск", "а почему бы не добавить рабочий стол". В какой-то момент можно задуматься: "а что в dwm осталось от dwm"? Он теперь весьма раздут (уже не минимализм), он сохранил баги и недостатки оригинального dwm, при этом повторил функционал IceWM, добавив тонну неразборчивого сишного кода.
То есть получается какая-то глупость. dwm сделан тайловым, то есть стоит и по его без мыши. Если это неудобно (например если ты не красноглазик-вимодрочер) то и не нужно dwm использовать. Нужно ставить TWM и патчить TWM например на статусбар и нормальный режим фокусировки.
Ну и на счёт изобретения велосипедов. На самом деле изобретать велосипеды полезно. Поэтому нельзя сказать что собственный модуль для wavefront объектов это что-то "бесполезное". Во-первых, собственный модуль не защищён никакой лицензией: ты сам можешь ему дать лицензию хоть bsd0. Во-вторых собственный модуль не содержит "лишних" возможностей. Например в модуле для картинок может содержатся сотня функций по сжатию катинок разных форматов. Если тебе от картинки нужен только битмпп в 32 бит, то проще 1-2 для потратить на такой вот модуль, тем самым итоговый код будет сокращён в разы. Ну и в-третьих, это как ни как опыт. Изобретая велосипед можно наткнуться на вопросы механники, которыми ты раньше просто не задавался.
Сколько один кадр рендерится? Геометрия, текстуры из сырых данных или конвертер сам писал? Почему мне кажется, что ты пиздишь и там всё на OpenGL?
>Почему мне кажется, что ты пиздишь и там всё на OpenGL
Предположительно потому что ты не интересуешься 3D графикой. Маркетологи же любят это слово "уууу тридеее нанотехнологии". Но по сути 3d рендерер ничем не сложнее "hello world" . Точнее, не совсем так, я имею ввиду что, в современных условиях примитивный 3d рендер сделать не сложнее hello world , потому что все алгоритмы и расчёты уже открыты и изучены до тебя: барицентрическая интерполяция, затенение гуро, алгоритм Брезенхема, алгоритм Сазерленда - Ходгмана. Этим алгоритмам лет больше чем мне. Их изобрели ещё в 70-е. Так что ничего тут особо сложного и магического нет.
>Сколько один кадр рендерится?
Не изменял, но да, как ты видишь, когда управление камерой сделал, задержка сильно чувствуется (без включённого OBS она намного меньше, но не суть). Нужно покопаться, выяснить причину тормозов. На винде почему-то такой проблемы нет. Может как-то связано с самим xlib.
В любом случае, я чисто в учебных целях. Так то лучше все делать под opengl - там и аппаратная поддержка есть и можно какие-то более красивые вещи рендерить, может воду там, или падающие тени.
Интересовался 25-15 лет назад, в школе ещё написал простейшую изометрическую вращалку wireframe объектов. Матрицы тогда не проходили и я придумал свой метод, как позже оказалось он называется обощённые углы Эйлера или Davenport chained rotations. Смежные вопросы тоже было интересно решать. Типа косоугольных проекций, форматов для объектов.
>все алгоритмы и расчёты уже открыты и изучены до тебя
Чел, ты говорил про Xlib и С. Было бы интересно бросить тебе вызов и реализовать простую 3д демку без Xlib, Wayland или fbdev, но
>лучше все делать под opengl
Ты и не представляешь, насколько сложнее реализация OpenGL хеловорлда.
>простую 3д демку без Xlib
Что ты имеешь ввиду? У меня все функции xlib убраны в отдельный модуль, называется io_xlib.c, с заголовочником io.h. То есть чтобы портировать программу под Windows, достаточно было написать io_winapi.c (заголовочник при этом не меняется).
Сам модуль содержит всего три функции (на самом деле больше, но так упрощённо три) :
InitWindow() - инициирует структуру window, которая содержит всю необходимую фигню для вывода. Реализация структуры Windows может быть совершенно разная.
SetPixel() - рисует пиксель заданного цвета по заданным координатам для некоторого окна.
UpdateFrame() - совершает вывод видеобуфера.
Собственно, все остальные модули работают только за счёт этих функций, либо за счёт функции стандартной библиотеки. Так что, можно хоть на ncurses выводить.
Можно при помощи pciconf назщупать память видеоустройства, и писать туда через dev/mem, вот я ради эксперимента градиент вывел. Так что если написать свой модуль для вывода напрямую в видеобуфер, то можно и без xlib обойтись, но опять же.. это ведь сисиемщина. Какую роль это играет для 3d графики? Для трёхмерной графики неважно, выводишь ты через xlib, wayland или svgalib. Так что не понимаю в чем сложность.
>Ты и не представляешь, насколько сложнее реализация OpenGL хеловорлда.
А чего они? Я думал opengl наоборот создан чтобы вот не парится с этими муторными примтивами.
>Матрицы тогда не проходили и я придумал свой метод
А мне матрицы наоборот понятнее, так как в вузе их проходили.
Ты сначала постишь крины 3д-рендера явно OpenGL'ного. >>536944 Но заявляешь, что написал свой на С и Xlib.
Мои вопросы про детали реализации ты игнорируешь и размызывешься на абстрактный пост о том, какая это задача уровня hello world.
Ну показывай уже свой код, посмотрим твой софтверный рендерер.
Да что значит "OpenGLный"? Как ты это по картинке определил.
Ну смотри, твоё право https://www.dropbox.com/scl/fi/s7dp7urixakekgl9qae2u/main.zip?rlkey=cf7gmu6r0obxv27glnovp34z6&st=bsw1oxc2&dl=0
В коде, который ты показываешь, всё рендерится XPutPixel'ем. Иксы - это even-driven клиент-серверное приложение, каждый такой XPutPixel создаёт event, который потом "по сети" (юниксовыми сокетами) шмаляется в X-сервер. Я потому и спрашиваю про производительность.
Как можно было написать такой код, но не понять, когда тебя спрашивают про этот момент. И про текстуры, с которыми в приведённом коде работают через... TGA? Почему?
>Как можно было написать такой код, но не понять, когда тебя спрашивают про этот момент.
Какой момент? Я до сих пор тебя не понимаю если честно.
>XPutPixel
Дело в том, что я так понял функция типо XDrawPoint каждый раз для вывода пикселя обращается к серверу, то есть если бы я использовал XDrawPoint, то эвент был бы каждый раз когда я отрисовываю пиксель. Мне показалось это затратным, и я начал искать, как бы вывести "буфер целиком", на сервер. Есть вариант с Pixmap и с XImage. Я не понял в чем разница, но Pixmap требует ещё один заголовочник подключить. Я подумал, зачем мне что-то подключать если есть встроенный XImage. Как я понял, изображение XImage хранится на клиенте, то есть я его могу создать и сервер (дисплей) об этом ничего знать не будет.
>И про текстуры, с которыми в приведённом коде работают через... TGA? Почему?
Вообще я как раз начал с TGA модуля. И тогда я ещё не умел кодить. Тга формат довольно простой
1) заголовочник
2) идентификатор
3) (опционально) карта глубин
4) холст
Вот и все. Изначально мне было просто интересно сделать что-то что работает с картинками, чтобы можно было рисовать и выводить графики какие-нибудь. Потом я уже заинтереслвался графикой, и решил этот модуль включить для поддержки текстур. А что, tga плохо что ли?
Постой, или ты имеешь ввиду что XPutPixel в любом случае обращается к серверу. Надо заменить значит.
Возможно ты посчитаешь меня полным говнокодером после этих слов, но я расскажу, что я короче открыл википедию, статью Xlib.
https://ru.m.wikipedia.org/wiki/Xlib
Там есть вкладка "пример программы". Я скопировал этот пример и откомпилил. Он запустился. "Ура! Значит работает!" - подумал я, и начал короче смотреть на функции и удалять ненужное. (Ну, ещё некоторые типы например XEvent я знал из кода DWM). Прочитал пару страниц референс мануала и слепил типо "модуль вывода". Мне не особо было интересно копаться в деталях xlib потому что на тот момент мне он не особо нравился.
Сейчас, уже наверное можно и почитать. Как то за время кодинга мне показалось что xlib норм штука наверное, по крайней мере она намного более понятная чем winapi.
Так что да, я посмотрю.
>>546056
Если бы не был таким же шизом, не поверил бы, что ты это всё сам понаписал.
XImage и XPutPixel быстрее XDrawPoint, XPutPixel пишет в локальную память, XPutImage уже просит у сервера загрузить твой буфер. Это я поведение DrawPoint c PutPixel перепутал.
TGA ничем не плох. И это не говнокод. И я так понимаю, что ты осознаёшь, что никто так графоний давно не погромирует. При этом одна из ключевых идей для тебя - универсальность. И ты открыл её фактическое отсутствие на низких уровнях. А "элегантность" как тебе? А то часто книги по погромизму обильно ею приправляют, а на деле всё это такой пердолинг, прямо-таки диаметрально противоположный любому пониманию элегантности.
В общем, твои интенции мне так близки, что, блин, я прям как будто на себя со стороны смотрю, это офигеть как странно. Мне ещё было важно сделать некоторый proof of concept. Например, сейчас не принято прекалькуляцию тяжёлых функций в lookup-таблицы делать, а ведь с современными видеокартами можно было бы вращать вершины средствами GPU в сотни раз шустрее. Но к GLSL отвращение из-за непрозрачности реализации на низком уровне.
Не знаю, возможно это для тебя просто весёлые микрооткрытия, но я когда осознал, насколько компьютеры убоги на низком уровне, по каким рельсам катятся все ИТ, что всё, чему я раньше радовался в разработке - по факту красивые обёртки с логотипами корпораций, для меня весь этот карточный домик рухнул, это был мощный внутренний апокалипсец. Сейчас смотрю на свои поделки как на детские рисунки.
Теориями всего не увлекаешься, часом?
Алсо, ты на паскале что ли в вузе писал? Точки с запятой после закрывающих тело функции скобок какбе намекают.
>ты на паскале что ли в вузе писал
Да я не понял этой фишки синтаксиса С, почему оператор ; стараются не ставить. Но в какой-то момент я понял, что его лучше не ставить если не нужно. Например, в ситуации с Switch case он каком то магическим образом влияет на область видимости.
>А "элегантность" как тебе?
Элегантность сама собой со временем появляется. Когда не знаешь что ты пишешь, сложно подумать как бы это написать красиво. У вначале вообще было по стоне функций рисующих треугольник. Только когда я сделал Z-буфер, я задумался: "а ведь нужны ещё текстуры. Мне что очередную функцию-портянку писатт? итак уже путаюсь". И таким образом, я пришёл к выводу что функция SetPixel должна быть колл-беком. То есть теперь можно сделать тысячу различных плоттеров для треугольников, которые по-разному этот треугольник будут закрашивать. Можно вообще сделать плоттер, который закрашивает треугольник рандомным цветом. Удобно. После этого функции сразу же разгрузились, стали покороче. Может если ещё подумать, то можно ещё красивее и удобнее написать. Но пока ты это не написал - не понятно что и нужно.
>что никто так графоний давно не погромирует.
Чисто в учебных целях, почему бы и нет. Например, программисты часто любят говорить что "программирование везде одно и то же", подразумевая, что любая программа сводится к простой схеме: входной алфавит -> программа - > выходной алфавит. Начинающему это кажется не очевидно. Вот меня не обманешь! Я же слышал что существуют мьютексы, семафоры, праллельное программирование, а так же GUI? что вы скажете на то что в реальных программах мы нажимаем на всякие кнопки и никаких "потоков ввода вывода" не видим.
И вот как раз программируя 3d графику, я неоднократно убедился в том, что программисты правы. Что такое вообще "паралельные программы" - они ведь ни разу не параллельны. Одноядерный их выполняет последовательно такт за тактом, в разном порядке в зависимости от приоритета. Получается, что мы просто отдаём организацию выполнения программ под ответственность операционной системы. Получается, наш главный "вечный цикл" программы - это в каком-то смысле и есть средство распаралелить программу. Только у нас нет ни пакетного режима, не приоритета, и каждый цикл действия выполняются в заранее определённом порядке (можно выключить одно из действий из порядка во время выполнения программы, но поменять местами - невозможно, что организует некую стабильность). Таким образом я для себя развеял миф, что "параллельные процессы" это что-то загадочно одновременное. Возможно, на уровне железа там есть поддержка реальной одновременности, но железо - это уже не программирование, это схемотехника. Суть в том, что если постараться, то можно сделать более сложную систему чем "вечный цикл", а значит параллельные процессы можно свести к последовательным.
Далее, GUI. Изначально я вообще хотел нащупать "драйвер монитора" и выводить пиксели на монитор. Вот только повертев мониторы, я заметил на них вывод только VGA. Последняя буква А - значит "аналоговый". Тут до меня дошло, что если сигнал аналоговый, то в компьютере, очевидно его нет. Монитор не может быть подключён к общей шине, ведь общая шина принимает цифровой сигнал. Стало быть, необходим АЦП - аналог-цифровой преобразователь (интуитивно можно догадаться, что скорее всего онный будет в составе видеоустройства). Поэтому я начал искать драйвера видеокарты, потому что похоже что без видеоустройства вывод графики невозможен. Поэтому я нашёл какие-то адреса устройства с тегом VGA и начал туда выводить всякое. На удивление оно вывелось. То есть таким экспереметом, я доказал, что вывести пиксель на экран, это задача тривиальная из разряда "напечатать hello world". Разницы только в формате буферов, а вывод можно совершить тем же самым системным вызовом write. Поэтому GUI ничем принципиально не отличается от ввода из стандатного потока. А интерактивное клацанье мышкой, приравнивается к вводу во время выполнения программы. Мы ведь тоже можем сделать вечный цикл, в самом начале которого поставить fscanf - и ничего удивительного в этом нет. По этой же причине нет ничего удивительного и в GUI. Это одно и тоже.
Таким образом, я сам для себя доказал, что, действительно, любая программа сводится к преобразования входного алфавита в выходной. Интерактивные программы просто напросто могут этот входной алгоритм воспринимать во время выполнения программы (что в общем то ничем не запрещено, и даже никак не связано с параллельными процессами).
Плюс, немного попрактиковал коддинг. Можешь заметить, что tgatool.c написано довольно криво, а со временем к render3d.с оформление программ становится получше.
>ты на паскале что ли в вузе писал
Да я не понял этой фишки синтаксиса С, почему оператор ; стараются не ставить. Но в какой-то момент я понял, что его лучше не ставить если не нужно. Например, в ситуации с Switch case он каком то магическим образом влияет на область видимости.
>А "элегантность" как тебе?
Элегантность сама собой со временем появляется. Когда не знаешь что ты пишешь, сложно подумать как бы это написать красиво. У вначале вообще было по стоне функций рисующих треугольник. Только когда я сделал Z-буфер, я задумался: "а ведь нужны ещё текстуры. Мне что очередную функцию-портянку писатт? итак уже путаюсь". И таким образом, я пришёл к выводу что функция SetPixel должна быть колл-беком. То есть теперь можно сделать тысячу различных плоттеров для треугольников, которые по-разному этот треугольник будут закрашивать. Можно вообще сделать плоттер, который закрашивает треугольник рандомным цветом. Удобно. После этого функции сразу же разгрузились, стали покороче. Может если ещё подумать, то можно ещё красивее и удобнее написать. Но пока ты это не написал - не понятно что и нужно.
>что никто так графоний давно не погромирует.
Чисто в учебных целях, почему бы и нет. Например, программисты часто любят говорить что "программирование везде одно и то же", подразумевая, что любая программа сводится к простой схеме: входной алфавит -> программа - > выходной алфавит. Начинающему это кажется не очевидно. Вот меня не обманешь! Я же слышал что существуют мьютексы, семафоры, праллельное программирование, а так же GUI? что вы скажете на то что в реальных программах мы нажимаем на всякие кнопки и никаких "потоков ввода вывода" не видим.
И вот как раз программируя 3d графику, я неоднократно убедился в том, что программисты правы. Что такое вообще "паралельные программы" - они ведь ни разу не параллельны. Одноядерный их выполняет последовательно такт за тактом, в разном порядке в зависимости от приоритета. Получается, что мы просто отдаём организацию выполнения программ под ответственность операционной системы. Получается, наш главный "вечный цикл" программы - это в каком-то смысле и есть средство распаралелить программу. Только у нас нет ни пакетного режима, не приоритета, и каждый цикл действия выполняются в заранее определённом порядке (можно выключить одно из действий из порядка во время выполнения программы, но поменять местами - невозможно, что организует некую стабильность). Таким образом я для себя развеял миф, что "параллельные процессы" это что-то загадочно одновременное. Возможно, на уровне железа там есть поддержка реальной одновременности, но железо - это уже не программирование, это схемотехника. Суть в том, что если постараться, то можно сделать более сложную систему чем "вечный цикл", а значит параллельные процессы можно свести к последовательным.
Далее, GUI. Изначально я вообще хотел нащупать "драйвер монитора" и выводить пиксели на монитор. Вот только повертев мониторы, я заметил на них вывод только VGA. Последняя буква А - значит "аналоговый". Тут до меня дошло, что если сигнал аналоговый, то в компьютере, очевидно его нет. Монитор не может быть подключён к общей шине, ведь общая шина принимает цифровой сигнал. Стало быть, необходим АЦП - аналог-цифровой преобразователь (интуитивно можно догадаться, что скорее всего онный будет в составе видеоустройства). Поэтому я начал искать драйвера видеокарты, потому что похоже что без видеоустройства вывод графики невозможен. Поэтому я нашёл какие-то адреса устройства с тегом VGA и начал туда выводить всякое. На удивление оно вывелось. То есть таким экспереметом, я доказал, что вывести пиксель на экран, это задача тривиальная из разряда "напечатать hello world". Разницы только в формате буферов, а вывод можно совершить тем же самым системным вызовом write. Поэтому GUI ничем принципиально не отличается от ввода из стандатного потока. А интерактивное клацанье мышкой, приравнивается к вводу во время выполнения программы. Мы ведь тоже можем сделать вечный цикл, в самом начале которого поставить fscanf - и ничего удивительного в этом нет. По этой же причине нет ничего удивительного и в GUI. Это одно и тоже.
Таким образом, я сам для себя доказал, что, действительно, любая программа сводится к преобразования входного алфавита в выходной. Интерактивные программы просто напросто могут этот входной алгоритм воспринимать во время выполнения программы (что в общем то ничем не запрещено, и даже никак не связано с параллельными процессами).
Плюс, немного попрактиковал коддинг. Можешь заметить, что tgatool.c написано довольно криво, а со временем к render3d.с оформление программ становится получше.
>SetPixel должна быть колл-беком
В других языках, где функции т.н. first class citizen, это во сто крат "элегантнее", но всё равно в итоге особого значения не имеет. Если поймёшь, что такое элегантность на самом деле, энтузиазма поубавится.
>Чисто в учебных целях
С одной стороны никто не запрещает. Язык, техники изучишь. Но вот это...
>сам для себя доказал
... с практическим смыслом мало дружит. Твои философские выкладки мало сочетаются с низкоуровневым программированием. Да, С сейчас считается довольно низким уровнем, годным, разве что, для эмбедед сферы.
>Что такое вообще "паралельные программы"
>такт за тактом
Даже на одноядерном CPU может быть блок параллельного выполнения простых операций (Pentium w/MMX, например). Ты, видимо, с конкуррентным программированием путаешь. Параллельное именно что физически параллельно: в одно и то же время много процессов.
>Возможно, на уровне железа там есть поддержка реальной одновременности, но железо - это уже не программирование, это схемотехника.
Не совсем. У GPU свои ЯП, стандарты, пайплайны - потому что видимокарты рассчитано на параллельные вычисление и работу с памятью. И программируют это железо через ad-hoc костыли, причём, стандарты для которых разрабатывали преимущественно математики и ты не можешь просто взять и писать во фреймбуфер что и как хочешь. Это очень негибкая и непрозрачная штука, сделанная просто как инструмент для рендеринга треугольников. Можно, конечно, на GLSL обойти эти треугольники. Например, обычно когда хотят запилить рендеринг на OpenGL по типу твоего, берут два треугольника, склеивают их в прямоугольник, натягивают текстуру - и пишут в неё. ba-dum-tsss.png И из GLSL ты "элегантно" уже никак не вылезешь.
>А - значит "аналоговый"
Надеюсь, это ты так вбрасывашь. Забавно, молодец.
>необходим АЦП
Пчел, не хочешь поизучать историю программирования графена с 80-х по 00-е? Был эпизод когда цифровой сигнал с чипа видимокарты конвертировался в аналоговый, потом поступал на "графический ускоритель", конвертировался обратно в цифровой, "ускорялся" (читай размыливался), конвертировался обратно в аналоговый - и уже в таком виде в аналоговый монитор. А первые мониторы думаешь аналоговый сигнал принимали? А вот и нет.
>я доказал, что вывести пиксель на экран, это задача тривиальная из разряда "напечатать hello world". Разницы только в формате буферов
Чтобы ты мог "тривиально" вывести на экран пиксель, диды столько с компухтерами сражались, сколько тебе в кошмарах не снилось.
Молодец, конечно, что доказал. Но я предупредил: всё это в один день рухнет и хорошо если ты будешь просто кекать с того, каким наивным был.
>я сам для себя доказал, что, действительно, любая программа сводится к преобразования входного алфавита в выходной.
Опять же, молодец. Но твои доказательства имеют только субъективную силу, только в твоей маня-парадигме. Не как что-то плохое. Просто порефлексируй как-нибудь на тему, какова причина того, что ты это всё делаешь.
>SetPixel должна быть колл-беком
В других языках, где функции т.н. first class citizen, это во сто крат "элегантнее", но всё равно в итоге особого значения не имеет. Если поймёшь, что такое элегантность на самом деле, энтузиазма поубавится.
>Чисто в учебных целях
С одной стороны никто не запрещает. Язык, техники изучишь. Но вот это...
>сам для себя доказал
... с практическим смыслом мало дружит. Твои философские выкладки мало сочетаются с низкоуровневым программированием. Да, С сейчас считается довольно низким уровнем, годным, разве что, для эмбедед сферы.
>Что такое вообще "паралельные программы"
>такт за тактом
Даже на одноядерном CPU может быть блок параллельного выполнения простых операций (Pentium w/MMX, например). Ты, видимо, с конкуррентным программированием путаешь. Параллельное именно что физически параллельно: в одно и то же время много процессов.
>Возможно, на уровне железа там есть поддержка реальной одновременности, но железо - это уже не программирование, это схемотехника.
Не совсем. У GPU свои ЯП, стандарты, пайплайны - потому что видимокарты рассчитано на параллельные вычисление и работу с памятью. И программируют это железо через ad-hoc костыли, причём, стандарты для которых разрабатывали преимущественно математики и ты не можешь просто взять и писать во фреймбуфер что и как хочешь. Это очень негибкая и непрозрачная штука, сделанная просто как инструмент для рендеринга треугольников. Можно, конечно, на GLSL обойти эти треугольники. Например, обычно когда хотят запилить рендеринг на OpenGL по типу твоего, берут два треугольника, склеивают их в прямоугольник, натягивают текстуру - и пишут в неё. ba-dum-tsss.png И из GLSL ты "элегантно" уже никак не вылезешь.
>А - значит "аналоговый"
Надеюсь, это ты так вбрасывашь. Забавно, молодец.
>необходим АЦП
Пчел, не хочешь поизучать историю программирования графена с 80-х по 00-е? Был эпизод когда цифровой сигнал с чипа видимокарты конвертировался в аналоговый, потом поступал на "графический ускоритель", конвертировался обратно в цифровой, "ускорялся" (читай размыливался), конвертировался обратно в аналоговый - и уже в таком виде в аналоговый монитор. А первые мониторы думаешь аналоговый сигнал принимали? А вот и нет.
>я доказал, что вывести пиксель на экран, это задача тривиальная из разряда "напечатать hello world". Разницы только в формате буферов
Чтобы ты мог "тривиально" вывести на экран пиксель, диды столько с компухтерами сражались, сколько тебе в кошмарах не снилось.
Молодец, конечно, что доказал. Но я предупредил: всё это в один день рухнет и хорошо если ты будешь просто кекать с того, каким наивным был.
>я сам для себя доказал, что, действительно, любая программа сводится к преобразования входного алфавита в выходной.
Опять же, молодец. Но твои доказательства имеют только субъективную силу, только в твоей маня-парадигме. Не как что-то плохое. Просто порефлексируй как-нибудь на тему, какова причина того, что ты это всё делаешь.
1920x1080, 0:54
Призываю в тред бздышика.
Я выделил в своём nvme 100Гб.
lsblk out такой
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /efi
├─nvme0n1p2 259:2 0 1G 0 part /boot
├─nvme0n1p3 259:3 0 2G 0 part [SWAP]
├─nvme0n1p4 259:4 0 500G 0 part /var
│ /home
│ /.snapshots
│ /
└─nvme0n1p5 259:5 0 100G 0 part
При установке БСД выбираю в опциях разметки nvme0n1p5 с расчётом на то, что он внутри этого раздела создаст подразделы , накатит zfs и вроде бы всё хорошо. Вместо этого он забирает 100G под раздел под boot, а оставшуюся неразмеченную память из блочного устройства nvme0n1 (~400G) забирает под UFS. Он охуел?
Ну с твоей логикой можно сразу на самое дно абстракций упасть и накатить lfs.
>and then docker will create containers inside that virtual machine
Нихуя каскад. А чтобы кубер завести, надо, наверное, ещё виртуалку поднять с proxmox, в которой будут подниматься ещё виртуалки с докером.
V means virtualization in virtualization.
>1) If an IEEE global identifier (EUI-48 or EUI-64) is available
> anywhere on the node, it should be used to construct the tentative
> interface identifier due to its uniqueness properties.
Офигеть. Это норма.
>re3, на гитхабе лежит.
даже не пришлось смотреть на дату чтоб понять насколько давно этот тред не перекатывали. интересно где щас взять сорс код, на русракере онли готовые бинарники для шинды.
>>550526
Надо контекст понимать.
Во-первых, надеюсь, ты знаешь, что без Reverse Path Forwarding (или antispoof) система принимает пакеты для всех своих IP-адресов, с какого бы интерфейса они ни поступили. На самом деле адрес с интерфейсом не связан, а только используется для задания подсети на нём, но в большинстве сетевых конфигураций этого достаточно.
Во-вторых, стандарты пишутся для всех условий работы, а не только для привычных персональных компьютеров. С одной стороны, у нас есть виртуальные машины, которые могут сотнями и тысячами размораживаться из одного и того же снимка каждую минуту, что-то делать, и сразу уничтожаться. С другой стороны, во времена обсуждения IPv6 далеко не всякое маломощное сетевое оборудование могло спокойно запускать генератор псевдослучайных чисел по необходимости, или в принципе имело его в комплекте. MAC-адреса просто предлагают готовый источник уникальности без необходимости требовать от системы нормальной энтропии для работы сети. Самое главное, что на этот уровень есть другой стандарт и чужая зона ответственности, так что как там производители сетевых карт или программисты менеджеров виртуальных машин будут разбираться с выделением уникальных MAC-адресов по всем правилам, IPv6 не интересует.
В смысле? Какой шелл запустил, такой и будет.
В линуксе до сих пор boot environment'ов нет, например.
>вот на фряху нормальной совместимости с бинарниками линукса так и не завезли
Если вайн работает, то это-то зачем? Что на линухе есть прямо эксклюзивного?
>надеюсь, ты знаешь, что без Reverse Path Forwarding (или antispoof) система принимает пакеты для всех своих IP-адресов, с какого бы интерфейса они ни поступили.
Не знаю. Почему именно RPF или antispoof? У меня в pf.conf ещё куча правил, дропающих на egress'ах весь мусор. Или если у меня в системе есть интерфейс с адресом a.b.c.d, то система должна принимать пакеты на этот адрес даже через другой интерфейс с inet6 онли? Вообще не понял, что ты сказать пытаешься. Какой контекст?
> На самом деле адрес с интерфейсом не связан, а только используется для задания подсети на нём
Не уверен, костоязычие, троллинг или что-то ещё. Либо перефразируй, либо сошлись на документацию.
>Во-вторых, ...
Я ничего против MAC-адресов, взятых за основу IPv6 адреса не имею. Но в том же RFC говорится про необходимость уникальности адресов, а на деле сколько бы я виртуальных интерфейсов ни создал, все они на OpenBSD почему-то берут за основу MAC одного и того же интерфейса, и пофиг, связанного с этими новосозданными интерфейсами или нет.
Адреса на самом деле принадлежат хосту целиком, а не интерфейсам. Логическая связь с интерфейсом нужна только для удобства автоматического создания маршрута в подсеть. В глобальной сети, в отличие от иерархически выстроенных локалок, никто не гарантирует, что маршрут пакетов от А к Б будет совпадать с маршрутом от Б к А, так что ответным пакетам никто не мешает приходить вообще через другого провайдера на другом интерфейсе.
По-моему, если прочесть документ целиком, вопросы отпадают.
https://datatracker.ietf.org/doc/html/rfc5072#section-4
Уникальный адрес требуется в пределах соединения точка-точка, то есть всего лишь требуется, чтобы на двух концах были разные циферки. Кроме MAC-адреса (которого может и не найтись, если интерфейсов нет) потенциально могут использоваться другие серийные номера (и даже другие имеющиеся IPv6 адреса) перед генерацией случайного. Рассматриваются даже случаи, когда устройство или виртуалка с инвалидностью просят добрый большой сервер сгенерировать им адрес, или пытаются (безуспешно) соединиться друг с другом.
Полученный адрес глобально уникален, но сам по себе бесполезен, потому что без дополнительных действий никто в мире, кроме этих двух устройств, не знает, в какую сторону им слать пакеты, чтобы они достигли этого адреса. Следовательно, он используется только для получения следующего адреса (или адресов) из локально или глобально маршрутизируемых блоков, которые и будут использоваться.
Я понял, что ты хочешь сказать. Ты очень умный, всё прочитал, во всём разобрался. Молодец.
Я не специалист и учителем себя маняфантазирую. Объяснять, что не так в твоих выкладках смысла не вижу.
*себя не
Gentoo фряха естественно. На ноут не ставь, заебешься искать рабочие драйвера на микрокомпоненты такие, как тачпад.
/thread
Берешь обычную сетевую для обычного Ethernet. Видишь на ней несколько IPv6 адресов. Почему так? Потому что сначала системой выбирается link-local адрес (точно так же, с использованием уникальных идентификаторов), нужный только для того, чтобы в локальной сети спросить «Есть тут кто, ау?», потом через анонс от маршрутизатора или через DHCP она получает глобально доступный уникальный адрес из выделенной организации или провайдеру подсети или локально уникальный адрес для локальной сети без прямого доступа в интернет (иногда оба), и дополнительно может навешивать частично случайные адреса для защиты от отслеживания клиентов.
Это какая-то неожиданная информация для тех, кто задаёт вопросы про IPv6? Уровень азбуки.
Найден человек, которого уже сегодня унижает искусственный интеллект.