Показаны сообщения с ярлыком Windows. Показать все сообщения
Показаны сообщения с ярлыком Windows. Показать все сообщения

19 июня 2025 г.

Попробовал новый редактор кода Zed

Редактор кода Zed, запущенный на Windows 11

На этот редактор кода я положил глаз очень давно - уже больше года многие программисты хвалят Zed и называют "убийцей VS Code". Я решил выяснить, насколько этот громкий титул правдив и забегаю вперёд отвечу, что только отчасти, но перспективы и амбиции у него нешуточные. 

У этого редактора кода была трудная судьба (все обожают вот такие истории). Многие уже и не помнят, что был когда-то отличный редактор кода Atom от команды разработчиков из GitHub (тех времён, когда его ещё не купила могущественная Microsoft). Ему довелось жить "в эпоху перемен", когда хороших и бесплатных редакторов кода почти не было (а neovim не был настолько популярен) и в этот момент "майки" выкатили на рынок тогда ещё легковесный и быстрый VS Code. Atom хоть и имел у себя много функций, приятно выглядел, но изобиловал многочисленными багами, а потом Microsoft официально купили Github и проект Atom спустя некоторое время решили закрыть из-за бесперспективности. И вот, спустя долгие годы тот же автор, что раньше делал Atom, выпускает на рынок свой прорывной и сверхбыстрый редактор Zed, написанный на rust - это был великолепный камбэк. 

Новый редактор все сразу восприняли с большим энтузиазмом (первыми его оценили пользователи MacOS, а потом Linux). VS Code к этому времени сильно "разжирел", долго открывался, а полная инсталляция с только необходимыми плагинами у меня весит 2,5 Гб (не сказать, что время первого открытия большая проблема, но иногда он начинал тормозить и при печати, особенно если в проекте много Typescript). Zed написан на быстром языке rust (быстрее только Zig и C++), открывается за секунду и имеет минималистский дизайн, в котором, тем не менее, есть всё необходимое для программиста: языковые сервера всех современных языков, совместная работа (можно даже говорить через микрофон!), git, работа со всеми нейронными сетями и агентами на высшем уровне (подобный режим агента в VS Code появится сильно позднее) и масса фишек, которые облегчают написание кода и навигацию по проекту. Кроме того у редактора кода Zed свой собственный графический движок (если можно это так назвать), который позволяет интерфейсу работать плавно на мониторах с высокой герцовкой - программисты с игровыми мониторами сразу оценят это, ведь разница в отзывчивости редактора по сравнению с VS Code заметна невооруженным взглядом. 

Редактор кода Zed запускает тесты в терминале с помощью Bun
С самого первого запуска этот редактор кода не ведёт пользователя за ручку. Сразу видно, что он рассчитан на уже зрелых программистов, которые не боятся заглядывать и читать документацию. И вам придётся это делать, чтобы настроить этот редактор под себя, ведь вся настройка ведётся исключительно в json файле (в крайнем случае можете взять чужие настройки и подправить под себя). В Zed первоклассная поддержка VIM-сочетаний и это самый лучший редактор помимо непосредственно helix и neovim, чтобы работать в подобном стиле. Да и обычные сочетания похожи на VS Code, так что долго привыкать не надо, чтобы поменьше прибегать к мышке во время написания кода. 
Мои настройки: шрифт текста CommitMono, шрифт интерфейса от JetBrains

Есть ли минусы? Конечно и для кого-то они будут критичными. Этот редактор разрабатывается долгое время, до релиза ещё очень далеко, есть баги (и их очень много), а плагинов в магазине крайне мало по сравнению с VS Code, у которого их сотни тысяч. Например, нету расширения для Tailwind и многих всяких "полезностей" для веб-разработчки, зато есть поддержка Astro и Svelte (современных и не очень популярных UI фреймворков). 

Авторы редактора не очень любят Windows (точнее корпорацию Microsoft, которая похоронила их Atom) и хотя их редактор прямо сейчас можно собрать под эту операционную систему, но разработчики не собираются этим заниматься официально, поэтому сборками занимаются посторонние люди, а качать сделанный чужими руками исполняемый код может быть чревато для безопасности, особенно если вы ведёте коммерческую деятельность. 

Большая часть функций этого редактора совершенно бесплатны, но всё таки это коммерческий продукт, потому что он использует нейросети для активной работы с кодом и предсказаний автодополнения при наборе, а за эти функции нужно будет доплачивать после окончания trial. Вы платите только за нейросети, когда как функция совместной работы будет бесплатной (привет IDE JetBrains). 

В данный момент я бы всем труженикам программистам рекомендовал присмотреться к этому редактору, как минимум запустить и сделать пару проектов в нём, особенно тем людям, которые зачем-то в 2025 году всё ещё сидят на остановившемся в развитии Sublime Text (тоже, кстати, платный редактор кода) - Zed его полностью уделывает по скорости работы и мгновенно открывает большие файлы. В Zed есть всё из коробки для работы с JavaScript, PHP, Python, Go и других популярных языков программирования. Новичкам я бы тоже мог смело рекомендовать Zed, потому что у него простой интерфейс и запутаться в нём трудно.  

Как не настраивай VS Code, а его интерфейс всё равно выглядит перегруженным

Ну и небольшое отступление, чтобы описать как я сейчас работаю с фронтендом на домашнем компьютере. Я полностью перешёл на замечательный Bun, который практически на 99% совместим с Node. Какое-то время я сидел на Deno версии 2 (где была заявлена совместимость с библиотеками из npm), но слишком часто в нём что-то не работало из библиотек и приходилось "воевать". Мне нравится в Bun скорость работы, поддержка Typescript из коробки, отличная стандартная библиотека и встроенная библиотека для тестирования. Благодаря всем этим возможностям я бы рекомендовал всем новичкам сразу начинать свой путь в изучении javascript именно с Bun, а не с Node. В отличии от Deno тут нет встроенного линтера и форматтера, поэтому данную работу у меня выполняет Biome (можно ещё использовать Oxc для линтинга, который быстрее Biome). Biome не только проверяет явные ошибки, но из коробки имеет великолепные правила, которые не дадут вам писать откровенно плохой код - он вас заставит соблюдать все хорошие правила современного JS и TS. Да, Bun ещё не готов полноценно для продакшен серверов (хотя он и крайне быстрый, но встречаются баги при очень больших нагрузках и при работе с базами данных), но для личных и новых проектов это отличный выбор, тем более его очень быстро заменить на Node, если что-то пойдёт не так. 

В качестве шрифтов мне приглянулись 0xProto и CommitMono. Вообще радует, что в последние годы шрифты для программистов продолжают появляться. Тема редактора VS Code Ganbaru. 

UPDATE: в октябре 2025 года появилась официальная сборка Zed под ОС Windows. Используйте её.  

6 марта 2025 г.

Сменил основной браузер на Zen Browser

Zen Browser · GitHub
Логотип браузера Zen

Впервые за несколько лет я резко сменил свою браузерную ориентацию и ушёл на Firefox - на браузер, который в данный момент находится в худшем положении из всех. Ранее я писал, что на платформе Windows 11 лучшим браузером является Microsoft Edge и я останусь при своём мнении даже сейчас, когда получил очень серьёзную "подлянку" от "майков". 

А началось всё с того, что в один прекрасный момент мой аккаунт в браузере Edge прекратил синхронизацию и не стал отправлять пароль на привязанную почту никакие коды восстановления. Недолго думая (а это зря), я решил сменить основную почту аккаунта на другую и перезайти в аккаунт и для этого удалил профиль - это было ошибкой. В один момент, никак не предупреждая, браузер Edge стёр результат моей работы в браузере за 2 года, обнулил профиль, закрыв пару десятков вкладок, выйдя из всех аккаунтов и удалив все настроенные расширения. Это было фиаско. 

До этого я слышал об очень успешном браузере Zen, который известен тем, что копирает дизайн и "воркфлоу" очень популярного Arc Browser. Правда за это короткое время создатели Arc смогли практически уничтожить репутацию своего браузера (а там была платная версия), потерять доверие пользователей после массового взлома аккаунтов, а сам Firefox начал чудить с пользовательским соглашением, фактически заявив что будет отправлять телеметрию и сканировать всё, что пользователь в нём печатает (лично мне не жалко). У линуксоидов по всему миру сейчас паника, они хоронят этот браузер, который и без того сейчас испытывает трудные времена и потерял большую часть пользователей. И вот такое время я выбрал, чтобы пересесть на новый браузер.

Логотип браузера Firefox

Опишу вкратце основные причины, почему с Firefox сейчас всё не очень хорошо:

-  Он стал гораздо прожорливее в плане ресурсов, чем браузеры на Chrome, при этом работает он чуть медленнее. На ноутбуках с "огнелисом" есть большие проблемы - этот браузер кушает батарейку.

Браузер Firefox в отстающих вместе с Safari

- Претензия от веб-разработчиков: он ощутимо отстаёт от внедрения нововведений, не исправляет старые баги типа плохого отображения градиентов, имеет серьёзные проблемы с воспроизведением видео на MacOS, часть современных анимаций на нём просто не реализована (зайдите на сайт платёжной системы Stripe через Firefox, а потом через Chrome и вы будете неприятно удивлены качеством отображения шрифтов на сайте и отсутствием анимаций). Посмотрите как бомбит Тео от Firefox: ему пришлось запретить этот браузер на одном из своих сервисов, потому что он не может нормально "стримить" видео для пользователей браузера Firefox. Да, в 99% это не критично и трудно найти сайт, который не будет вообще работать в Firefox, но по "закону подлости" в 1% может попасть сайт банка (например, веб-приложение банка ВТБ напрочь отказывается работать в Firefox, выкидывая ошибку про технические работы) или что-то срочно вам нужное типа Zoom для собеседования. Работая с Chrome ты привыкаешь к хорошему, что все самые новые и экспериментальные для веба вещи появляются там очень быстро, Firefox - не такой.

- Даже в доработанном Zen интерфейс браузера не выглядит современным, работает с небольшой задержкой, шрифты на страницах выглядят странно. Вообще такое ощущение, что всё тут отстаёт лет на 10. Это может "линуксоиды" привыкли к плохим шрифтам и аскетичности интерфейса, но лично я всегда ценил продуманный и красивый UI.

- Проверка орфографии плохая. 

- Встречаются иногда баги, но я это списываю на то, что сам браузер Zen находится в режиме beta. И на самом деле он довольно стабильный, никаких особенных проблем за неделю использования не было. Не было проблем, которых я бы не смог самостоятельно решить.

Браузер Zen в работе

Какая главная особенность браузера Zen и браузера Arc (помянем его), за которую их полюбили пользователи по всему миру? Вертикальные вкладки и очень гибкая кастомизируемость! Браузер Zen позволяет настроить эффективную работу с клавиатуры (и это действительно удобно и экономит время), настроить комбинации клавиши  и при необходимости вообще убрать всё ненужное с экрана, оставив одну голую страницу, даже без элементов интерфейса в виде адресной строки (комбинация клавиш ctrl+alt+C). В Zen есть замечательная функция, которую они подсмотрели в Arc и называется она glance (работает с кликом с зажатым alt по ссылке): с точки зрения UI браузер вам не открывает новое окно или вкладку, а как бы раскрывает окно поверх уже открытого, что позволяет вам быстро ответить на сообщение или что-то посмотреть не отвлекаясь, а потом простым esc закрыть страницу. Работа с профилями (типа "работа", "развлечения", "покупки") и переключение их налету тоже имеется. Имеется так же "разделение страниц", когда в одном окне браузера отображается 2 или больше страниц, но лично я этой функцией пока не пользовался - я не настолько многозадачный, мне проще открыть второе окно на другом мониторе.

 

Для браузера Zen пишут свои расширения, которые здесь называются "моды", потому что его интерфейс так сильно переработан, что обычные от Firefox не всегда подходят. А вот все функциональные расширения типа нашего любимого uBlock Origin работают замечательно (и на Firefox сейчас лучшая версия uBlock), в отличии от браузеров на базе Chrome, где "корпорация зла" Google ввела manifest v3 и очень сильно обрезала возможности расширений, мотивируя это заботой о безопасности пользователя. Именно эта причина - поддержка старых расширений, которые могут сильно больше, заставляет множество пользователей до сих пор оставаться на Firefox, несмотря на то, что очевидно развитие этого браузера пошло куда-то не туда. 

Могу ли я посоветовать браузер Zen сейчас? Если вас устраивает как работает Edge или что-то ещё на основе Chrome и вы всем довольны, то вряд ли вы сильно выиграете от переезда. Но с другой стороны, Zen это прекрасный новый опыт работы с браузером, возможность освоить что-то новое и даже ускорить свою работу с браузером за счёт новых "фишек" и ориентированности на клавиатурные комбинации (впрочем он не заставляет вас это делать). А вот если вы и до этого сидели на Firefox, то Zen вам понравится. Впрочем вы ещё можете попробовать "японский" Floorp, где разработчик пытается вернуть старый интерфейс "лисы" и его кастомизируемость. У Zen маленькая команда разработчиков, но уже сейчас их браузер стал настолько популярен, что ролики про него снимают множество людей, по крайней мере из тех, кого я смотрю на Ютубе (это в основном западные программисты). Лично у меня полный переезд на этот браузер занял ровно час, из которых 45 минут я восстанавливал и вводил пароли к сайтам. 

Браузеру Firefox я могу пожелать только выжить и оставаться альтернативой монополисту в виде Chrome. Всё таки Firefox Internet Explorer пережил и был лучом света в то неспокойное время.

12 июня 2024 г.

Свой личный ChatGPT: OLLAMA на локальном компьютере

Я считаю, что нынешнее взрывное развитие нейронных сетей это именно та вещь, которая приведёт наш мир к технологической сингулярности. Осталось буквально несколько лет, когда в недрах дата-центров мировых технологических гигантов заработает почти полноценный AI, который сможет заменять учёных, инженеров и изобретателей (ну и обычных программистов, конечно же). Такие вещи как Copilot и ChatGPT это технологии, которые поражали воображение 2 года назад и вот уже сейчас у нас есть сравнимые по эффективности технологии, которые могут полноценно работать не на серверах с профессиональными видеокартами Nvidia, а на самых обычных домашних компьютерах и видеокартах.

Любой пользователь с видеокартой последнего поколения (у меня RTX 4060 всего с 8 ГБ оперативной памяти и этой памяти уже откровенно не хватает) или достаточно мощным процессором может установить на свой компьютер средство запуска языковых моделей Ollama. К этому средству запуска полагается скачать языковую модель (LLM), благо программисты и корпорации постоянно выкатывают новые модели для открытых тестов. Вы можете скачать модель на 7 миллиардов (7B) параметров и она будет весить всего 5 ГБ (в среднем), а можете замахнуться на самую подробную модель и там вес будет около 50 ГБ и они будут очень медленными на обычной видеокарте. У меня быстро работают только 7B модели, потому что они полностью помещаются в память видеокарты. Для своих экспериментов я выбрал три популярные и новые модели в размере 7B и 8B: gemma (модель от Гугла), qwen2 (от китайской компании Alibaba, умеет общаться на разных языках) и codestral (создана на основе популярной mistral, но оптимизированная под задачи программистов, весит 22B и 13 ГБ, так что желательно иметь много видеопамяти и ОЗУ). 

Сама программа ollama относительно недавно начала работать с Windows, а до этого радовала только пользователей Linux и macOS, так же весной 2024 года была добавлена поддержка карт от AMD. Скачиваем дистрибутив с официального сайта и начинаем работать в командной строке, хотя я предварительно через системные переменные менял путь для скаченных моделей, чтобы они не качались мне на системный диск (как это сделать написано в документации, это не сложно). 

Ollama запущенная в терминале
После этого командой ollama run <Название модели> качаем и запускаем её в работу, но работать из терминала довольно неудобно, поэтому нам нужен фронтенд. Можно ещё запустить диспетчер задач и проверить, что ollama при генерации ответа использует именно GPU, а не CPU и занимает видеопамять карты. GUI есть разные, но самые популярные из них весьма навороченные и требуют запуска гигабайтного образа docker с кучей работающих сервисов, написанных на самых разных языках программирования.
Запущенный в браузере фронтенд Page Assist для общения с языковой моделью
И я хоть сам фронтендер, но поднимать такие проекты ради запуска обычного чата мне было откровенно лень, поэтому для себя я нашёл очень простое расширение для браузера Page Assist, которое даже умеет пускать ваши модели в открытый интернет, чтобы они там искали себе информацию, фильтровали её и выдавали вам ответ. Есть ещё более красивый проект чата Msty, но по каким-то причинам он отвечал у меня только на один вопрос, после чего всё зависало. В качестве аналога чат-приложения ещё можно попробовать десктопное приложение AnythingLLM, которое умеет подключаться к самым разным AI-движкам и имеет много настроек.
Запущенный в VS Code Twinny успешно объясняет, что делает этот код
Для того, чтобы подружить языковую модель с редактором кода, я использовал расширение под названием Twinny. Данное расширение не только умеет рефакторить код, но и поддерживает автодополнение с полноценным чатом, где вы можете общаться со своей моделью и она будет понимать контекст задачи (сканировать файлы проекта). Как видите, нейросети проделали очень большой путь со времён первых версий Copilot и таких штук как Tabnine, и их работа лично для меня похожа на маленькое чудо, хотя по факту это же просто продвинутый T9. 
Модель codestral правильно отвечает на каверзный вопрос по Javascript, а вот модель qwen2 его не осилила. 
Страшно сказать, но нейросети и ChatGPT настолько плотно входят в нашу жизнь, что уже сейчас есть молодые программисты, которые не используют поисковик, не читают документацию (а некоторые даже не учат английский язык, потому что AI отлично понимает почти все популярные языки мира), а просто задают вопросы нейросети и она почти в 90% случаев правильно отвечает, а они эти знания используют для обучения и успешного прохождения собеседований. Да что уж там говорить, если ChatGPT 4 версии сама без проблем может пройти собеседование на junior программиста - это ответ на вопрос, как скоро нейросети заменят их: в некоторых задачах они способны сделать это прямо сейчас (буквально один начинающий программист для бизнеса равен стоимости видеокарты для запуска нейросетки). Тут конечно всегда надо помнить, что если языковая модель не знает правильного ответа на вопрос, то она запросто начинает "галлюцинировать" и уверенно рассказывать несуществующие вещи и настоящему "кожаному" программисту всегда надо быть настороже, а для некоторых такое поведение инструмента вовсе недопустимо и они будут всё делать вручную, полагаясь только на свой опыт и экспертизу. 
Лучше ли бесплатные локальные модели Ollama того, что предоставляют крупные корпорации? Нет, всё таки у коммерческих моделей огромный пласт "знаний" и технологий под капотом, но модели для ollama уже сейчас могут в работе заменять Copilot (за счёт безопасной работы на локальном компьютере), ChatGPT 3.5 и AI поиск от Bing, тем более данные инструменты заблокированы для российских пользователей и требуют обхода блокировок. 

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

12 января 2023 г.

Маленькая фишка браузера, которая переворачивает всё

Хочу рассказать о маленькой фишке, которая мне никогда не нравилась, но которую я открыл для себя заново в 2022 году и уже не представляю себе ежедневное пользование браузера на десктопе без неё. Я говорю о вертикальных вкладках! Не то, чтобы я про такую опцию не знал - я ей пытался пользоваться ещё в браузере Opera, когда она была той самой настоящей "Оперой" на своём фирменном движке, потом в браузере Vivaldi, и вот наконец я дошёл до браузера Edge от Microsoft. Почему я пользуюсь этим браузером давно: я считаю Edge весьма добротным и одним из самых удобных браузеров на платформе Windows, а ещё он здесь самый быстрый, надежный (в отличии от Vivaldi в котором периодически что-то отваливалось) и уделывает в плане производительности оригинальный Chrome на движке которого создавался, а так же Edge дольше сохраняет батарейку на ноутбуке. Однако я видел какими нечестными методами MS пытается его втюхать в свою систему и не могу такой назойливый маркетинг одобрять. 

Вертикальные вкладки
Когда я включил ради интереса вертикальные табы, я ощутил наконец свободу в интерфейсе: теперь моим глазам не надо постоянно искать название вкладок сверху - они всегда слева, удобно рассортированы. Так же я теперь могу открыть намного больше вкладок и не испытывать фрустрации от того, что они заняли всё место, мои глаза фокусируются на середине экрана. Большинство сайтов сделаны так, что вертикального места всегда не хватает, а вот горизонтального полно, потому что мониторы вытянуты по горизонтали. Только не забудьте включить настройку "скрывать заголовок окна", чтобы ещё больше экономить места на экране.  Всплыл и негативный побочный эффект: некоторые сайты я открываю и забываю про открытые вкладки на недели, потому что они больше не отвлекают и не кричат "прочти меня сейчас". К счастью, новый механизм браузера позволяет "заморозить" эти вкладки и они не потребляют процессорного времени и памяти в "спящем" состоянии. 
Включение вертикальных вкладок. Просто наберите "верт" в поиске настроек.
Раньше фича вертикальных вкладок была спрятана за экспериментальным флагом, но она так понравилась многим пользователям, что теперь доступна в обычных настройках. Дизайнеры Microsoft почувствовали, что нащупали золотую жилу и продолжают вести интересные дизайнерские разработки в области вкладок (заимствуя хорошие идеи из Vivaldi), внедрив например переключение рабочих пространств (удобно переключаться между "работа" и "отдых") и группировку вертикальных вкладок в группы. Между прочим в некоторых хипстерских браузерах типа Arc это вообще платная функция для повышения продуктивности. Кстати, режим вертикальных вкладок был очень популярен ещё в браузере Firefox, но... сейчас в развитии этого браузера слишком многое пошло не так, как хотелось бы пользователям и он стремительно потерял свою долю рынка, хотя сам по себе движок у Firefox неплох и лично я предпочитаю его использовать при разработке сайтов. 

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

6 ноября 2022 г.

Новые (старые) шрифты для программирования

Это будет короткий пост о том, что я себе нашёл новые интересные шрифты для программирования, которые определенно стоит попробовать. Долгое время я сидел на Jetbrains Mono и я считаю этот шрифт самым приятным, удобным и проработанным шрифтом для программирования вообще, но иногда даже идеальный шрифт приедается и хочется нового. 

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

Operator Mono
Первый это открытый шрифт Operator Mono, который выглядит достаточно необычно на экране, а начертание курсивом это просто нечто. Шрифт подойдет, если вы любите, чтобы ваш глаз за что-то цеплялся.
MonoLisa Font
Второй шрифт, после которого я и остановил поиск, был MonoLisa font (ссылка на официальный сайт). Профессиональный шрифт для программистов, очень качественный и интересный. Он продаётся на официальном сайте за деньги, но я нашёл уже пропатченную демонстрационную версию этого шрифта в одном из репозитариев. "Монолиза" превосходный, качественно сделанный шрифт - программировать с ним очень приятно. Советую попробовать его и вам. Так же заслуживает внимания открытый шрифт Monoid и вариация шрифта от Apple под названием Meslo.

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

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

1. Programing Fonts Test Drive, где вы можете посмотреть все популярные шрифты вживую, можно даже выбрать язык программирования для примера или вставить свой код.

2. Coding Font - это игра, где надо выбирать приятный своему глазу шрифт. 

Update из 2024 года: сейчас я полностью перешёл на шрифт Mapple Mono, он мне очень нравится и пока его менять не собираюсь. Он поддерживается множество лигатур и прекрасно выглядит на экране. Для системных шрифтов в терминале отлично подходит Hack и JetBrains Mono с модификациями от Nerd Font. 

18 мая 2022 г.

Консольные редакторы кода актуальны в 2022 году

Когда я только начинал учиться программировать, то считал консольные редакторы текстов типа Vim или Emacs пережитком далекого прошлого или увлечением всяких странных гиков, которым нужно сидеть в каком-нибудь странном тайлинговом менеджере окон и печатать странные команды в 15 терминалах, чтобы быть похожими на хакеров (в реальности хакеры обходятся Kali Linux и парой терминалов). Каково же было моё удивление, когда я увидел, что редакторами кода похожими на Vim пользуются не только суровые линукс-админы, но и фронтендеры с MacOS, работа которых обычно не предусматривает много командной строки. Я решил пристальнее присмотреться к их рабочему процессу и обнаружил свои преимущества у такого способа набора кода. Главное и неоспоримое преимущество консольного редактора кода его изначальная "заточенность" под работу с клавиатурой. А клавиатуры у таких программистов недешёвые механические и зачастую "кастомные", но это тема другого разговора.

Редакторы типа Vim позволяют практически не убирать руки с клавиатуры при наборе текста, не пользоваться мышкой, а значит экономить время и не отвлекаться при написании кода. 

Менеджер окон i3wm и запущенный редактор кода

Да, редакторы типа Visual Studio Code выглядят прекрасно, очень гибко настраиваются и в них даже можно установить расширение с раскладкой как в Vim, но всё это будет не то. При наличии на компьютере Linux и настроенного тайлингового менеджера, консольные редакторы получают дополнительные преимущества, но никто не запрещает вам пользоваться такими редакторами в любой версии Windows, благо проблем со сборками под неё нет. Кроме того, VS Code с кучей плагинов сильно "толстеет" по размеру и работает уже не так шустро и отзывчиво как положено лёгкому редактору кода. У консольных редакторов такой проблемы нет - они запускаются мгновенно даже на больших файлах. 

Редактор Helix editor, запущенный в Windows Terminal
Я ознакомился со множеством разных консольных редакторов (их очень много разных, написанных на Rust или даже на Lua, есть проекты на Electron), но остановился на трёх, которые я хотел бы порекомендовать попробовать всем.
Micro editor. Если вы знакомы с редактором nano в Linux, то он вам точно понравится. Самый простой в освоении, понятный и маленький по размеру. Имеется поддержка тем и подсветка кода из коробки. Управляется комбинациями клавиш, которые можно отображать на экране.
Neovim. Самый популярный редактор, который давно потеснил своего прародителя vim (neovim вырос из форка vim), можно сказать что это отраслевой стандарт для профессиональных программистов. Невероятно расширяемый, гибко настраиваемый, под капотом его Vim, так что почти не требует привыкания, если вы уже знакомы с концепцией работы командами и режимами. Представляет собой конструктор, где каждый программист под себя подгоняет тему, плагины и раскладку. Для новичка не рекомендован, но любой уважающий себя программист должен попробовать зайти и выйти из vim. Если вы хотите воспользоваться чужим конфигом для расширения возможностей neovim, то есть классный AstroNvim. Так же есть отдельные сборки типа LunarVim, которые работают на основе nvim и расширяют его до уровня IDE, так что можно начинать программировать без проблем. 

Helix Editor. Представляет собой развитие редактора Neovim и удачных идей из Kakoune. Более дружественный к новичкам чем Neovim и уже "правильно" настроенный из коробки (тут есть сразу автодополнение и аналог всплывающих подсказок по функциям и методам). Команды для работы немного отличаются от таковых в vim в сторону логичности, более дружественны к человеку (хотя это субъективно и вкусовщина), поэтому требуется некоторое переучивание, если вы уже успели привыкнуть к vim. На Ютубе есть обучающие видео по этому замечательному редактору или воспользуйтесь официальным файлом с короткой справкой, поэтому если вы ещё не успели крепко подсесть на neovim, то рекомендую начать знакомство с миром консольных редакторов текста именно с Helix. Он не заставляет вас сразу погружаться в дебри файлов настройки редактора и осваивать искусство доустановки и настройки плагинов, а позволяет сразу начать продуктивно кодить на любом языке программирования на каком захотите. Единственная его проблема это то, что он не такой мегапопулярный как neovim, может не иметь каких-то специфических плагинов и он находится в стадии разработки. Однако это преимущество одновременно является и недостатком, по мнению пользователей vim: они не хотят иметь из коробки установленные плагины в редакторе, они хотят иметь возможность выбираться и ставить их самостоятельно. 

Все представленные редакторы без проблем устанавливаются под Windows с помощью консольных менеджеров пакетов типа scoop или winget. Helix есть только через scoop, устанавливается командой scoop install helix. В обзоре нет упоминания emacs, не потому что я про него не знаю, а потому что считаю его неподходящим для новичка (кроме того это приложение с графическим режимом, но оно может работать в консольном режиме), хотя фанаты у этого редактора тоже есть и они ведут свои "священные войны" с пользователями "вима". 

Отличный курс по Vim, где вам в самом начале объяснят зачем он нужен и в чём его преимущество.

Ну а ещё вы можете вообще не использовать всякие аналоги vim, а продолжать пользоваться VS Code и делать это эффективно и быстро, если заучите базовый набор горячих комбинаций клавиш. VS Code тоже позволяет работать с клавиатуры без мышки, правда не всегда. Хорошо, когда есть выбор. 

2 марта 2021 г.

Переносим файлы игр в EGS лаунчер без скачивания полной версии

У меня совершенно нет претензий к маркетинговой политики Epic Games Store - эти замечательные ребята подарили нам огромное количество игр совершенно бесплатно (забудем пока скандалы с эксклюзивностью некоторых игр), но у меня точно есть претензии к их лаунчеру - он местами ужасен. Он медленно запускается, медленно работает, а ешё на моём роутере практически невозможно качать игры из EGS, потому что он использует что-то вроде торрента для скачивания и перегружает мне мой старый роутер соединениями от чего тот зависает намертво. Судя по многочисленным жалобам в интернете я не один такой. 

Когда возникла необходимость скачать 120 ГБ файлов от игры Red Dead Redemption 2, я приуныл и стал искать способы этого не делать. У меня была возможность перенести файлы игры на жестком диске, но та инсталляция была от игры, купленной напрямую в лаунчере Rockstar. В прошлом у меня были подобные попытки подсунуть лаунчеру EGS файлы от другой игры, но заканчивались они тем, что он их обнаруживал, проверял и безжалостно удалял. Оказывается подобное поведение в новых версиях лаунчера пофиксили и стало возможным без проблем закидывать файлы GTA5 или RDR2 с другой инсталляции, дабы не выкачивать их заново. Работающий рецепт я нашёл в иностранном интернете (источник Reddit, как это обычно бывает), в то время как в отечественном на всех сайтах про GTA валяется перепечатка одного и того же совета (они там даже название временной папки не меняют).

Файлы игры во время загрузки
Порядок действий таков:
1. Начинаем загрузку игры в лаунчере EGS. 
2. Дожидаемся определения места на диске, создания директорий и загрузки первых файлов.
3. Полностью выходим из лаунчера EGS с прекращением закачки файлов. 
4. Находим папку с игрой на диске и закидываем туда файлы от игры из другой инсталляции (купленной в Steam или напрямую у издателя). Обратите внимание на папку .egstore. Она должна быть в корне с игрой. Файлы игры кидать надо не в неё, а рядом с ней (см. скриншот вверху). 
5. После этого снова запускаем лаунчер EGS и возобновляем загрузку нужной нам игры. Должен начаться процесс распознавания файлов в папке (довольно длительный), после чего EGS оставит подходящие файлы и докачает недостающие. В моём случае пришлось докачать 4 ГБ, что в гораздо меньше чем 120 ГБ полной инсталляции. 
Фирменный лаунчер Ubisoft
В случае покупки игры от Ubisoft в EGS у вас появляется ещё одна опция - вообще не качать игру через их лаунчер, а сразу запустить лаунчер Ubisoft и качать игру там, тем более запускаться игра в любом случае будет только через фирменный лаунчер издателя. Лаунчер Юбисофт сделан лучше и работает во время закачки файлов намного стабильнее такового у EGS. 

23 февраля 2021 г.

Игры, которые спасли меня от 2020 года

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

Самая медитативная игра года - SnowRunner. Давно слышал про эту серию игр, которые выросли из технодемки, где машины катались по реалистичной грязи, но в качестве игры покупать себе не хотел. В третьей полноценной  части серии авторы немножко упростили вхождение в игру для новых игроков, добавили несколько интересных карт, ну и конечно возможность кататься по снегу. В игре есть полноценная компания с миссиями, но это же просто предлог, чтобы бросить вам вызов и отправить вас в путешествие на грузовике на пару часов по грязи, лесам и горам. В игру невероятно интересно играть, слушая параллельно радио или какой-нибудь подкаст. Разработчики не просто выпустили игру, но и регулярно добавляют в неё контент в виде новых машин, миссий и территорий, так что покупка season pass очень даже оправдана. 

Лутер-шутер года - Borderlands 3. А вот к этой игре у меня довольно противоречивые чувства. С одной стороны авторы по сути сделали старый добрый Borderlands, который мы знаем ещё по первой части, добавили невероятное количество контента в виде разных планет, врагов, друзей и миллионы пушек, а с другой стороны... ну мы это уже всё видели три раза в предыдущих частях. И даже в виде квестов, кто играл в серию "Tales from the borderlands". С одной стороны перед тобой полностью новая игра, в которой действительно есть положительные изменения по механикам и возможностям, а с другой стороны она ощущается именно как игра 11-летней давности (особенно в механиках стрельбы). Я купил все дополнения для неё, но никак не могу себя заставить играть в них. Возможно это потому что я играл в неё строго в одиночном режиме, а в режиме для нескольких игроках она играется намного бодрее.

Камбэк года и лутер-шутер номер 2 - The Division 2 с дополнением "Warlords of New York". Ubisoft очень рассчитывала на Division 2 - ведь она для них это аналог серии Gears of Wars, но игра продавалась не настолько хорошо. Я не знаю в чём именно была проблема, может большинство игроков отпугнула сложность интерфейса и невероятное количество параметров, может просто стилистика лутер-шутера с укрытиями больше не так интересна. Но я знаю точно, что разработчики проделали невероятную работу над игрой, а особенно художники, которые создали проработанный мир постапокалиптического Вашингтона. Я бы даже сравнил его с серией игр Last of us. 

Новое дополнение стало не просто новым контентом, завершением истории Аэрона Кинера (любит Ubisoft обрывать истории и заканчивать их в платных дополнениях), но это так же полная переработка системы лута под названием Gears 2.0 и уровней в игре с целью её упрощения и большей наглядности для игрокво. Удивительным образом, но старую систему они тоже оставили, но только для тех, кто не купил дополнение (к сожалению, такие игроки не могут играть вместе с игроками, которые перешли на новую систему). У разработчиков получилось вдохнуть жизнь в свою игру! Сравните с Anthem, которая сейчас просто умирает из-за того, что её так и не смогли исправить. 

В The Division 2 очень интересно играть как одному, так и в компании других игроков, благо автоподбор работает практически моментально. В игру добавлено огромное количество активностей на любой вкус. Отличная работа над ошибками. Как это часто и бывает, спустя некоторое время игры Ubisoft становятся только лучше, а со скидками ещё и намного дешевле. 

Разочарование года - The Crew 2, Elite Dangerous. The Crew практически полузаброшена свои разработчиками, которые неизвестно чем занимаются, но поставляемый в игру контент (в основном машинки, новые гонки) уже никому особо не интересен. Я провёл в игре очень много времени, выкачал всё что только можно, неоднократно побеждал на еженедельных саммитах (а для этого надо войти в топ 3000 игроков на платформе), но введение в игру совершенно издевательского battle pass разозлило меня. 

С Elite Dangerous проблема схожая - мало нового контента, мало хороших обновлений в игре. Не сказать, что игра совершенно не менялась, но она менялась крайне медленно, а с тех пор как разработчики начали делать глобальную подготовку для введения пеших прогулок по станциям и планетам, они забросили основную игру под благовидным предлогом - "мы усиленно работаем надо совершенно новой возможностью, отстаньте от нас". И ладно бы они выпустили потом что-то такое, на что все скажут "Вау!" и побегут играть. Нет, как и бывало раньше с большими патчами от "фронтиров", они выпустят недоработанное нечто, которое неизвестно как использовать, как играть и вообще там скучно, а Elite Dangerous так и останется игрой, в которую интересно играть только особенным людям, готовым тратить тысячи часов просто на полёты из одной точки в другую (не зря в игре так популярен exploring). Не думаю, что новое расширение ED составит конкуренцию Star Citizen - как можно конкурировать с тем, чего по сути ещё нет и неизвестно когда будет? 

Игра, которая никогда не устареет - Grim Dawn. Купил все dlc для этой игры и несказанно рад. Из всех заменителей-убийц Diablo именно Grim Dawn полюбился мне больше всего, несмотря на очень примитивную графику, анимацию и интерфейс. И даже когда выйдет Diablo 2 Resurrected - тот самый правильный Диабло 20-летней давности, то GD всё равно будет актуален и интересен поклонникам. 

Из новых action-rpg мне больше все понравилось не новая, но оказавшаяся довольно интересной Remnant: From the Ashes. Её раздавали бесплатно в магазине Epic Games Store и я очень удивился, что пропустил её в своё время - игра невероятно интересная и затягивающая. Её часто называют dark souls с пушками, но от настоящего "дарк соулса" там на самом деле мало, а вот к старым добрым hack and slash она очень близка. 

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