Meshvoid.com

Линукс, программирование и закрытие технических долгов

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

Глубокое погружение в Линукс

Я обновил все свои устройства (кроме мобильного телефона, но вероятно, сделаю это позже), чтобы они работали под управлением Линукса. Если интересна конкретика, то использую дистрибутив Arch (хотя думаю перейти на Artix примерно через год), так как устал от Windows, которая всё больше становится “загаженной” неприятными, откровенно мошенническими практиками и неприемлемыми для любого разумного человека изменениями в своей работе.

Уже около 6 лет я работал на Линуксе на своем ноутбуке, но полный переход на эту операционную систему на рабочем ПК и остальных устройствах стал значимым для меня моментом, изменившим мой рабочий процесс и взгляд на всё что связано с работой с вычислительными устройствами в целом. В этом посте я не буду углубляться в детали использования операционной системы, возможно, напишу об этом отдельно.

Несмотря на переход на новую ОС, мне удалось настроить специализированные программы для создания 3D-контента, которое традиционно только поддерживает Винду (Substance Painter, Zbrush) так, чтобы они идеально работали на новом моей новой системе через WINE и Proton. Несмотря на это я стараюсь всё больше полагаться на программы с открытым исходным кодом и выполнять многие задачи, ранее выполняемые в Zbrush, в Blender, поскольку считаю, что его инструментарий для скульптинга уже достаточно развился, чтобы полностью заменить для меня Zbrush.

Изучение Bash, Lua, C и постепенное улучшение навыков общего программирования

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

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

Переход на Arch Linux, да и в целом архитектура этого дистрибутива и прохождение пути написания конфигурации своей системы вручную с чистого листа с постепенным и планомерным подбором инструментов по одному, привела к освоению мной навыка написания скриптов на Bash. Хотя я не могу назвать себя экспертом, каждый день я улучшаю свои навыки, и это происходит благодаря новой страсти к выполнению пожалуй почти всех мыслимых задач через терминал.

Также я улучшил свои навыки в Lua. В последние годы я самостоятельно писал код для конфигов для различных используемых мной программ (NeoVim, Hyprland и т.д.). Стыдно признать, но до недавнего времени, несмотря на то что интуитивно писал конфиги на языке Lua, я даже не умудрился прочитать официальную документацию по Lua и не изучал никаких книг по программированию на этом языке.

Но сравнительно недавно, после того как мои конфиги для NeoVim и Hyprland стали более сложными, я решил, что пора углубиться в изучение Lua, и прочитал официальную документацию и выполнил несколько упражнений из книги, написанной создателем оригинального языка программирования Lua - Роберту Иерусалимски. Это помогло мне лучше понять этот странный, но замечательный язык программирования.

В период восстановления после операции в этом году я записался на курс Университета Гарварда CS50 и начал изучать C. Мне действительно понравилось изучение этого низкоуровнего языка, хотя мне еще предстоит закончить курс, так как я успел пройти только несколько глав и провел дополнительное самостоятельное изучение C. Одним из преимуществ курса является то, что прогресс сохраняется и можно завершить его в любое удобное время.

Скриншот моего стартового экрана Neovim

NeoVim и “делаю все в терминале”

Как я уже упоминал ранее, большую часть работы с текстом (и не только) я выполняю через терминал. Это означает, что я неизбежно бы пришел к работе с такими текстовыми редакторами как NeoVim, который стал для меня настоящим открытием. Я написал свою собственную конфигурацию для него с нуля и получил огромное удовольствие от изучения этого инструмента. Каждый день я открываю для себя что-то новое, так как мои конфигурационные файлы становятся все более совершенными и надежными.

NeoVim превратился в полную замену IDE и других приложений для заметок. После того, как я стал ежедневно пользоваться NeoVim, я полностью прекратил использовать IDE и прочие приложения для ведения заметок, такие как VSCodium (бесплатная версия VSCode) и LogSeq (открытый аналог Obsidian). В итоге, NeoVim и терминал стали для меня основными инструментами для выполнения любой работы. NeoVim действительно является универсальным инструментом в моем арсенале.

Помимо NeoVim, я автоматизировал множество процессов с помощью множества bash-скриптов, которые написал для управления своей минималистичной Arch-системой и для автоматизации повседневных задач. Но об этом подробнее будет рассказано в отдельном посте. Теперь я работаю с файловой системой, списком задач, календарем, и даже электронной почтой через терминал!

Закрытие технических долгов

Прежде чем приступить к публикации новых работ для своего портфолио и видео на YouTube канале, мне необходимо было избавиться от некоторых технических долгов. Одним из них было стремление, чтобы мой контент был понятен и замечен как англоязычной, так и русскоязычной аудиторией. Хотя ранее русскоязычная аудитория была не полностью охвачена, так как все мои сервисы были привязаны к ArtStation, после переноса контента и написания нового сайта с использованием Hugo, локализация стала легким процессом.

Осталось только перевести несколько предыдущих видео, посвященных 3D-графике, с основного английского YouTube канала на русский и загрузить их на новый канал для русскоязычной аудитории. Если вы заинтересованы в результатах, можете подписаться на этот канал:

Подписка на YouTube канал MeshvoidRU

Или просто посмотреть видосики тут:

Дальнейшая работа

После избавления от технических долгов я сосредоточусь на выпуске большего количества контента на своих основных YouTube каналах. Ожидайте сюрпризов!

Поделиться в социальных сетях: