cortex.log
21 subscribers
5 photos
2 links
вся инфа обо мне:
https://t.me/cortex_bio
Download Telegram
Channel created
⌨️ Недавно прошла моя первая неделя на Gentoo Linux

За эту неделю я ни разу не собирал ядро - и мне норм 😁

Почему так? Генту я поставил за выходные прямо на свою рабочую машину, и накатив базовое окружение полностью погряз в работу. Моей изначальной целью было не «попробовать генту как проект», а превратить дистрибутив в рабочий инструмент, что в целом без труда получилось исходя из моих небольших потребностей

За все мое время знакомства с этим дистрибутивом я осознал что его ценность лежит далеко не в компиляции ради компиляции, а в явном контроле над своей системой. Сама компиляция это средство для достижения контроля, а не конечная цель. Приведу пример:

Собирать 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👨‍💻1111
Смысл быть лучше? 😿

После месяцев работы сутками и без выходных, я словил классическое выгорание. Физически отошел за пару дней, но дальше накрыл какой то экзистенциальный тупик

Сижу и думаю: а ради чего я вообще пишу код?

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

И когда я всё это осознал, все моё «топливо» выгорело до тла и наступила пустота. Какой смысл вообще хоть что либо делать в жизни?

Самое интересное началось дальше. Я поймал себя на том что… всё равно сажусь и пишу код 😐. Медленнее чем раньше, но все равно пишу (набросал патч для своего оконника, пару фич для сетевого протокола, об этом позже напишу посты)

Как итог я пришел к выводу:

Почвы под нашими грандиозными планами часто нет. Видел как много разработчиков в чатах горят на таком же эго - стремлении что то доказать миру 😭

Но когда начинаешь копать глубже, эго оказывается всего лишь пустышкой и остается лишь искренний интерес к делу, если он на самом деле есть. Оказывается не нужно запускать спутники в космос, оставлять след в истории, код перестает быть средством самоутверждения и становится средством медитации и способом занять руки, разобраться как устроена «материя» глубже наружной ее части


В итоге я почти вернулся в прежний поток. Только без гонки и великого смысла)

Будет интересно почитать ради чего вы развиваетесь, и какова ваша главная цель в жизни 💋
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1😢1🕊111
😞 КАК СТАТЬ ФЕМБОЙЧИКОМ
или мой опыт линукс дистрибутивов


Больше 1000 дней назад я полностью перешел на линукс (жаль что не раньше), за это время и глубоко попробовал разные философии и готов рассказать о своем опыте, возможно вдохновив кого-то попробовать новый дистрибутив

😕 Arch Linux
Баланс свежего софта и контроля над системой без нужды в глазных каплях


База которую должен попробовать каждый, дистрибутив оказался не таким сложным как мне рассказывали когда я только начинал (ну да, мне понадобилось 20+ переустановок из-за моих кривых рук 🤧). Главным плюсом арча для меня стало количество инфы, на арче есть буквально все. Если столкнулся с какой-то проблемой - значит её уже кто то решил

Главным минусом для меня стало ощущение «грязности» системы. Спустя продолжительное время использования копится много кэша, сирот, ненужных утилит. Приходится бороться с желанием переустановить всё, чтобы не ощущать эту «антисанитарию», собственно так и я перешел на NixOs

😄 NixOs
Другой мир и любовь с первого взгляда


Чтобы рассказать про этот дистрибутив - не хватит полноценного поста. Я впервые почувствовал настоящую стерильность, потому что в этом дистрибутиве абсолютно все описывается в файлах на языке программирования nix. Все что не описано твоим кодом - удаляется 😟. Система всегда имеет тот вид который ей сказали иметь, и всегда сама возвращается к этому виду, вплоть до переноса root раздела в оперативную память, чтобы при перезагрузке система сносилась под чистую, оставляя только конфиги, home раздел, /nix/store (и еще пару важных каталогов), после чего сама восстанавливаясь из конфигов так как ей было сказано (прям доминирование над железякой)

Я думал что никогда не перейду с NixOs на что то другое, но... мой ssd на 240 гб так не думал. Из-за своих особенностей, NixOs расходуется дохера памяти и мне пришлось искать решение этой проблемы. Решением нашлось, и это: святая Gentoo

⛪️ Gentoo Linux
Титул самого сложного дистрибутива в индустрии (
LFS не дистр и не сильно сложнее
) и удовольствие мазохиста


На этом дистрибутиве я совсем недавно, за весь мой путь меня пугали сложностью этого дистрибутива: гайд по установке размером с книгу, и установкой браузера за 2-е суток 🖤. На самом деле: основная сложность оказалась в установке, а тот самый хендбук как раз позволяет без особого труда установить генту и справиться с многими проблемами, если ты конечно хорошо понимаешь как работает линукс, твое железо, умеешь работать с терминалом (и страдать). Плюсом для меня оказался ПОЛНЫЙ контроль над системой, над каждым флагом компиляции программ, ноль лишнего мусора (если руки прямые), абсолютная производительность и мизерное энергопотребление 😧. Не смотря на все мифы - пользуюсь дистрибутивом ежедневно и особых проблем он мне не составил, скорее оказался стабильнее арча. Ну и куда же без минусов: усилия > профита, время которое нужно потратить на получения какого либо профита от генту - больше самого профита. Но если вам нечего делать, ваше время ничего не стоит, вы хотите иметь полный контроль над системой - Gentoo будет хорошим выбором

Закончить хочу тем что погружаться в компиляцию ядер и сутками чинить систему -
вовсе не обязательно
. Мой друг, уже рассказал про свой опыт и дистрибутивы для тех у кого нет справки от психотерапевта, рекомендую почитать
😺


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🥰1111
🫤 Хватит ждать апдейтов

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

Настоящая свобода начинается тогда когда ты берешь все в свои грязные ручки и переделываешь так как нравится тебе, а не так как тебе разрешили поменять конфиг 🐶


И не важно: просто посмотрел код или переписал что-то, или вообще скормил это ИИ, это всё равно свобода и невероятное удовольствие от процесса. Ты перестаешь быть простым потребителем, и границы системы зависят уже только от твоих знаний и желания что-то поменять

Недавно мне нужно было нарисовать схему для одного проекта. Достаю графический планшет, подключаю к ноуту, а он не реагирует. Мой оконник (DWL) просто не умеет с ним работать. В issue разработчики прямо сказали что добавлять поддержку не собираются так как это противоречит философии suckless, и так-то я с ними абсолютно согласен 😿

И че теперь делать? Можно поплакать, можно поменять оконник, а можно написать свою поддержку. Я выбрал просто поплакать, сорри

Все же вернувшись к проблеме, пошел глянуть как оно сделано в других WM. Знатно офигев от абстракций на абстракцию, я понял что проще будет написать с нуля, чем разбираться в их слопе

Основной задачей было подключить специальный wayland протокол как мост между самим DWL и приложениями, а так же сделать обработку сигналов от ядра линукс которые приходят через libinput. В общей сложности это заняло у меня ~300 строк кода на си, пару вечеров, и пытки с тестированием через соседний tty 🩸

Как итог:
у меня появилась рабочая поддержка планшета, с правильным позиционированием курсора, учетом силы нажатия пера, кнопками и даже маппингом под несколько мониторов. Я смог нарисовать большой пенис, схему, ну и творение которое на фотке


Так что свобода начинается там где ты берешь все в свои руки. И я уверен что каждый из вас сможет без труда решить ту самую проблему которая вас давно беспокоит 🩷

Ну и мне будет интересно почитать: открывал ли кто-то исходный код чего-либо и чего именно :)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42111
👅 Я наконец-то доделал то, над чем работал последние недели: написал свой надежный протокол (мини TCP поверх сырого UDP) на чистом Си и накал об этом огромный лонгрид, ура ура

Назвал это детище 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
🔥5👍111111