За эту неделю я ни разу не собирал ядро - и мне норм 😁
Почему так? Генту я поставил за выходные прямо на свою рабочую машину, и накатив базовое окружение полностью погряз в работу. Моей изначальной целью было не «попробовать генту как проект», а превратить дистрибутив в рабочий инструмент, что в целом без труда получилось исходя из моих небольших потребностей
За все мое время знакомства с этим дистрибутивом я осознал что его ценность лежит далеко не в компиляции ради компиляции, а в явном контроле над своей системой. Сама компиляция это средство для достижения контроля, а не конечная цель. Приведу пример:
Собирать firefox на моем железе стоило бы мне 4+ часа долбежки CPU в 100%, и на выходе дало бы +1-3% производительности (в лучшем случае, может и хуже). Стоит ли оно того? Точно нет😢
А вот в случае условной pdf читалки: настраиваешь use-флаги, чтобы не тащить условные qt, или gnome компоненты, если они не нужны, и это уже реальный контроль над системой, который в долгосрочной перспективе даст реальный профит🐮
Примерами моих use-флагов которые я использую, стали например:
-systemd, -gnome, -kde, -pulseaudio (это только маленькая часть, далеко не все). Потому что зачем мне поддержка того же kde в моих программах, если я не использую kde? В совокупности система стала ощущаться немного шустрее, кушать меньше оперативной памяти и занимать места на ssd
Какой вывод?
Минимальная генту - тоже генту. Уже сейчас видно, что тянет за собой софт, как это сказывается на производительности, и главное - порядок в системе: понятно, что где лежит и зачем, без лишнего мусора как, например, в арче
Дальше планирую продолжать копать глубже, впереди еще разобраться с ядром, энергопотреблением, оверлеями, и много чего еще
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🥰1👨💻1 1 1 1
Смысл быть лучше? 😿
После месяцев работы сутками и без выходных, я словил классическое выгорание. Физически отошел за пару дней, но дальше накрыл какой то экзистенциальный тупик
Сижу и думаю: а ради чего я вообще пишу код?
Осознал забавную вещь. Все это время моим двигателем было чистое эго: желание доказать себе и миру, что я чего то стою, обогнать себя вчерашнего, стать «лучше других». Но когда ты приближаешься к этим целям, приходит осознание что никакого «вау» не происходит. А горы денег, путешествия, и прочее - меня и не интересует
И когда я всё это осознал, все моё «топливо» выгорело до тла и наступила пустота. Какой смысл вообще хоть что либо делать в жизни?
Самое интересное началось дальше. Я поймал себя на том что…всё равно сажусь и пишу код 😐 . Медленнее чем раньше, но все равно пишу (набросал патч для своего оконника, пару фич для сетевого протокола, об этом позже напишу посты)
Как итог я пришел к выводу:
В итоге я почти вернулся в прежний поток. Только без гонки и великого смысла)
Будет интересно почитать ради чего вы развиваетесь, и какова ваша главная цель в жизни💋
После месяцев работы сутками и без выходных, я словил классическое выгорание. Физически отошел за пару дней, но дальше накрыл какой то экзистенциальный тупик
Сижу и думаю: а ради чего я вообще пишу код?
Осознал забавную вещь. Все это время моим двигателем было чистое эго: желание доказать себе и миру, что я чего то стою, обогнать себя вчерашнего, стать «лучше других». Но когда ты приближаешься к этим целям, приходит осознание что никакого «вау» не происходит. А горы денег, путешествия, и прочее - меня и не интересует
И когда я всё это осознал, все моё «топливо» выгорело до тла и наступила пустота. Какой смысл вообще хоть что либо делать в жизни?
Самое интересное началось дальше. Я поймал себя на том что…
Как итог я пришел к выводу:
Почвы под нашими грандиозными планами часто нет. Видел как много разработчиков в чатах горят на таком же эго - стремлении что то доказать миру😭
Но когда начинаешь копать глубже, эго оказывается всего лишь пустышкой и остается лишь искренний интерес к делу, если он на самом деле есть. Оказывается не нужно запускать спутники в космос, оставлять след в истории, код перестает быть средством самоутверждения и становится средством медитации и способом занять руки, разобраться как устроена «материя» глубже наружной ее части
В итоге я почти вернулся в прежний поток. Только без гонки и великого смысла)
Будет интересно почитать ради чего вы развиваетесь, и какова ваша главная цель в жизни
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1😢1🕊1 1 1
Больше 1000 дней назад я полностью перешел на линукс (жаль что не раньше), за это время и глубоко попробовал разные философии и готов рассказать о своем опыте, возможно вдохновив кого-то попробовать новый дистрибутив
Баланс свежего софта и контроля над системой без нужды в глазных каплях
База которую должен попробовать каждый, дистрибутив оказался не таким сложным как мне рассказывали когда я только начинал (ну да, мне понадобилось 20+ переустановок из-за моих кривых рук 🤧). Главным плюсом арча для меня стало количество инфы, на арче есть буквально все. Если столкнулся с какой-то проблемой - значит её уже кто то решил
Главным минусом для меня стало ощущение «грязности» системы. Спустя продолжительное время использования копится много кэша, сирот, ненужных утилит. Приходится бороться с желанием переустановить всё, чтобы не ощущать эту «антисанитарию», собственно так и я перешел на NixOs
Другой мир и любовь с первого взгляда
Чтобы рассказать про этот дистрибутив - не хватит полноценного поста. Я впервые почувствовал настоящую стерильность, потому что в этом дистрибутиве абсолютно все описывается в файлах на языке программирования nix. Все что не описано твоим кодом - удаляется 😟. Система всегда имеет тот вид который ей сказали иметь, и всегда сама возвращается к этому виду, вплоть до переноса root раздела в оперативную память, чтобы при перезагрузке система сносилась под чистую, оставляя только конфиги, home раздел, /nix/store (и еще пару важных каталогов), после чего сама восстанавливаясь из конфигов так как ей было сказано (прям доминирование над железякой)
Я думал что никогда не перейду с NixOs на что то другое, но...
Титул самого сложного дистрибутива в индустрии (
LFS не дистр и не сильно сложнее
) и удовольствие мазохиста
На этом дистрибутиве я совсем недавно, за весь мой путь меня пугали сложностью этого дистрибутива: гайд по установке размером с книгу, и установкой браузера за 2-е суток
Закончить хочу тем что погружаться в компиляцию ядер и сутками чинить систему -
вовсе не обязательно
. Мой друг, уже рассказал про свой опыт и дистрибутивы для тех у кого нет справки от психотерапевта, рекомендую почитать
😺
https://t.me/in_san_1
https://t.me/in_san_1
https://t.me/in_san_1
Еще буду рад почитать какой у вас дистрибутив и почему выбрали именно его :)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🥰1 1 1 1
Часто слышу как хвалят опенсорс за его свободу, а под самой свободой подразумевают "бесплатно" и "можно менять шрифт". Это все конечно очень круто, но есть и без опенсорса, че нет?
Настоящая свобода начинается тогда когда ты берешь все в свои грязные ручки и переделываешь так как нравится тебе, а не так как тебе разрешили поменять конфиг🐶
И не важно: просто посмотрел код или переписал что-то, или вообще скормил это ИИ, это всё равно свобода и невероятное удовольствие от процесса. Ты перестаешь быть простым потребителем, и границы системы зависят уже только от твоих знаний и желания что-то поменять
Недавно мне нужно было нарисовать схему для одного проекта. Достаю графический планшет, подключаю к ноуту, а он не реагирует. Мой оконник (DWL) просто не умеет с ним работать. В issue разработчики прямо сказали что добавлять поддержку не собираются так как это противоречит философии suckless, и так-то я с ними абсолютно согласен
И че теперь делать? Можно поплакать, можно поменять оконник, а можно написать свою поддержку. Я выбрал
Все же вернувшись к проблеме, пошел глянуть как оно сделано в других WM. Знатно офигев от абстракций на абстракцию, я понял что проще будет написать с нуля, чем разбираться в их слопе
Основной задачей было подключить специальный wayland протокол как мост между самим DWL и приложениями, а так же сделать обработку сигналов от ядра линукс которые приходят через libinput. В общей сложности это заняло у меня ~300 строк кода на си, пару вечеров, и пытки с тестированием через соседний tty
Как итог:
у меня появилась рабочая поддержка планшета, с правильным позиционированием курсора, учетом силы нажатия пера, кнопками и даже маппингом под несколько мониторов. Я смог нарисовать большой пенис, схему, ну и творение которое на фотке
Так что свобода начинается там где ты берешь все в свои руки. И я уверен что каждый из вас сможет без труда решить ту самую проблему которая вас давно беспокоит
Ну и мне будет интересно почитать: открывал ли кто-то исходный код чего-либо и чего именно :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4 2 1 1 1
Назвал это детище Protocol-7
(да, очередная отсылка на Лейн, че нет)
- Скользящее окно на кольцевом буфере;
- Свой SACK на 32-битной маске;
- Быстрая ретрансмиссия (из RFC 5681);
- Неблокирующий Event Loop на poll()
- Своя контрольная сумма
- И никакой магии библиотек – только POSIX-сокеты и C11
Понимаю что такой материал далеко не для всех, но как мне кажется почитать будет интересно даже тем кто не шарит. Я постарался сильно не душнить и по большей части это просто история о том как я это писал (
Статья понравилась модераторам Хабра и сегодня её уже выпустили. Буквально за пару часов она уже залетела на главную страницу и во вкладку "Лучшие за сутки". Мне кажется это о чем то говорит :)
Внутри полный инженерный детектив с разбором проблем и архитектурных решений, бенчмарки, и технические разборы существующих механизмов TCP
https://habr.com/ru/articles/1100214/
https://github.com/by-cortex/protocol-7
Буду рад любому фидбэку и конструктивной критике <3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6 2👍1 1 1