29 мая 2021 г.

Долговечный коврик для мышки

Я перепробовал огромное количество ковриков для мыши китайского производства. Простых, дорогих игровых, прорезиненных с тканью, но все они у меня отправлялись в помойку, не прожив и больше года. Причины просты: они пачкались, растягивались как "треники" в коленях и пользоваться ими становилось решительно невозможно (ну вообще возможно, но очень неприятно). Не верьте технообзорщикам, которые говорят, что коврики прослужат долго, если их стирать - после первой стирки они придут в полную негодность.

Один из алюминиевых ковриков для мыши. По отзывам не очень.

Когда срок жизни очередного коврика с Aliexpress подходил к концу, а отдавать 600 рублей за ещё такой же не хотелось, я придумал радикальное решение. В прошлом не было никаких "игровых ковриков" (размером с палас), а были простые резиновые или пластмассовые коврики небольшого размера, которые были весь долговечными. Да, они не гнулись, по ним не так круто скользила игровая мышь, но лично меня эти подложки под мышку устраивали. Вот такие коврики я отправился искать и что неудивительно нашёл (спасибо китайской промышленности). Да, их заметно меньше среди подобных товаров, но их делают. Есть даже коврики из алюминия, есть с питанием от USB и RGB-подсветкой. 

Xiaomi MIIIW Gaming Mouse Pad
Но среди всех китайских ноунейм производителей имеется знаменитая компания Xiaomi, которая просто скупает всех, кто производит что-то стоящее. В их бесконечной линейке товаров оказался именно такой коврик для мыши, какой мне и нужен был: без всяких игровых наворотов, в строгом дизайне и качественной пластиковой поверхностью для скольжения мыши. Это был Xiaomi MIIIW Gaming Mouse Pad (длинное название для такого несложного устройства). Именно его я заказал с Aliexpress за 1000 рублей и довольно быстро получил. Посылка порадовала качественной упаковкой и дополнительными фишками, как китайцы любят.
Рассказывать про коврик особо нечего: он не гнётся, он достаточно тонкий (толщина 2,35 мм), у него качественная лицевая сторона с которой очень просто стирать грязь и пыль, и по которой отлично катается моя игровая мышь. Обратная сторона у него прорезиненная с пупырышками, так что на столе он лежит просто отлично и никуда не сдвигается. Пользуюсь ковриком уже 3 месяца и впечатления только положительные, могу смело рекомендовать к покупке. Жалею только, что потратил деньги на коврики из прорезиненной ткани, которые оказались не очень долговечными.

20 апреля 2021 г.

Организация базы знаний в Notion

С тех пор как я начал профессионально учиться фронтенду, у меня сразу же возникла необходимость собирать информацию и систематизировать. Первое время я пытался это делать по старинке в каких-то текстовых документах, в браузере Vivaldi в закладках (для меня было большим разочарованием что сохранённые папки со ссылками просто так не перенести в другой браузер), в файле в Google Docs, Google Keep, но затем я понял что объёмы и разнообразие информации начали расти лавинообразно и нужно более профессиональное, а не кустарное решение. Раньше я недоумённо смотрел на пользователей Evernote и прочих продвинутых "записных книжек", но теперь начал понимать их боль от тех проблем, которые они решали. Ныне Evernote это (по разным причинам) умирающий сервис (ранее он был крайне популярен и даже был монополистом на рынке) и я очень не советую вам им пользоваться сейчас. К счастью, есть альтернативы этому сервису. 

Веб-сайт Notion

Другой, набирающий популярность сервис хранения информации под названием Notion как раз в 2020 году стал бесплатным. Точнее сделал бесплатный тариф с ограничениями, но который прекрасно подходит для персонального использования большинством пользователей. Я решил попробовать этот модный сервис и с удивлением обнаружил через месяц, что регулярно пользуюсь этой онлайновой записной книжкой, а моя "база знаний" выросла до нескольких десятков страниц с различной информацией. Я теперь без Notion как без рук и всегда записываю что-то новое во время просмотра лекций или после просмотра роликов по программированию на Ютубе. Кроме того я храню там записи о будущих покупках, просто какие-то напоминания, идеи, ну то есть использую как обычную записную книжку как это делали люди на протяжении всей истории человечества, просто сейчас у нас есть возможность делать это намного проще и эффективнее.

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

Вообще, Notion сейчас набирает большую популярность именно у программистов. Есть ли аналоги? Конечно же, их невероятно много, в том числе полностью open source решения, решения для локального использования через файлы с разметкой markdown, решения где вам нужно будет разворачивать собственный облачный сервис (если вы не доверяете корпорациям), закрытые решения с собственными базами данных и приложениями. Например, программа для заметок Notes на MacOS очень проста и заслужила свою популярность. Но я считаю, что Notion самый простой и красивый сервис, который не требует установки что-то дополнительного, а работает прямо в браузере. Именно по этому пути не хотел долгое время идти Evernote и в итоге проиграл гонку более молодым стартапам. Но облачные сервисы, наряду с преимуществами, имеют недостатки: вы доверяете личную, зачастую секретную информацию стороннему сервису и полагаетесь на его надёжность и защищенность. А с надёжностью бывают проблемы, я уже пару раз сталкивался с ситуацией, когда сервера Notion сильно тормозили или даже были недоступны, а в это время ты как без рук без своей записной книжки. Это особенно критично, если ваша работа зависит от информации в Notion.

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

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, которые принято совершенно незаслуженно не любить и относится с пренебрежениям. 

4 сентября 2020 г.

Делаем крутую командную строку в Windows как в zsh

Командная оболочка zsh с темой oh-my-zsh для MacOS

Я занимаюсь фронтенд-разработкой уже довольно длительное время (больше года) и работа под Windows меня удовлетворяла абсолютно всем, кроме некоторых неудобств в командной строке. Я конечно же смотрю большое количество обучающих видеороликов от профессиональных программистов и вижу, что большинство разработчиков использует в качестве своей основной рабочей системы MacOS и командную оболочку zsh со специальными настройками oh-my-zsh (это целый фреймворк, который позволяет максимально гибко кастомизировать оболочку). В Windows 10 давно нет никаких проблем с командным оболочками: можете использовать устаревшую cmd, можете установить PowerShell Core, а можете скачать Git SCM и без проблем использовать bash для Windows из её поставки (вы обязательно её скачаете для использования git на компьютере с Windows). И это не говоря про замечательную подсистему WSL2, которая позволяет установить вам полноценный дистрибутив Linux на выбор и получать оттуда доступ к ресурсам Windows (прямой доступ к вашей файловой системе в первую очередь).

Новый Windows Terminal

Лично я остановил свой выбор на git bash, PowerShell Core, а в качестве терминала использую новую версию Windows Terminal и встроенный терминал в редактор кода VS Code. Каково же было моё удивление, когда я узнал, что существует проект oh-my-posh, который запросто позволяет вам сделать из PowerShell подобие zsh (да подобие, но так как фронтендеры используют командную строку в качестве вспомогательного инструмента запуска скриптов, консольных утилит и работы с git, то мне данный вариант вполне подойдёт). Самое основное, что мне нужно было от командной строки это индикация параметров git и она там ничем не отличается от подобной в oh-my-zsh. Ну и поддержка тем на закуску (все хотят сделать красоту).  

Установить oh-my-posh довольно просто и я это сделал буквально за несколько шагов с помощью вот этого гайда. Первым делом, конечно, стоит установить последнюю версию PowerShell Core с репозитория github. В отличии от Windows Terminal, который самостоятельно устанавливается и обновляется из Microsoft Store, PS Core пока так не умеет. Не лишне будет прописать использование именно PowerShell Core для встроенного терминала VS Code. Делается это через редактирование соответствующего параметра в настройках settings.json (в новых версиях редактора этот параметр устареет, но под Windows пока работает):

Редактирование параметров редактора кода VS Code

Устанавливаем модули поддержки git и oh-my-posh:

Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

Тема Sorin

Включаем приглашение командной строки и выбираем тему oh-my-posh (список тем и их названия вы можете посмотреть и выбрать здесь):

Set-Prompt
Set-Theme Sorin

Спецсимволы в шрифте Fira Code

Если вы в это время находились в своём репозитории git, то вы уже должны были увидеть указание на ветку и другие параметры git, но возможно вы увидели в командной строке какие-то кракозябры и прямоугольники вместо понятных символов. Ничего страшного, просто ваш шрифт консоли не поддерживает вывод символов Powerline и надо его сменить. К счастью, дизайнеры шрифтов давно поняли нужды программистов и все последние версии популярных шрифтов для программистов идут уже с поддержкой лигатур и powerline (обычно такие можно отличить по приписке PL в конце). Например версия шрифтов Cascadia идёт с вариантом PL, в Fira Code уже есть эти символы, а все шрифты из набора Nerd Fonts пропатчены специальным образом. Так же можете сами пропатчить любой шрифт символами Powerline с помощью специального скрипта, но вряд ли этим будут заниматься все (просто знайте о такой возможности). Сменить шрифт в Terminal можно через редактирование профиля темы в текстовом файле (не очень удобно для новичков, зато крайне просто и наглядно), а в VS Code в настройках, введя в поиск "terminal font". 

Все эти изменения, которые вы сделали, действуют только в рамках одного сеанса и неплохо было бы их сохранить на постоянной основе в настройки. Для этого вам нужно запустить любой редактор и внести изменения в файл профиля. Я сделал это командой "code $PROFILE" (команда code это сокращенная команда для запуска VS Code), куда внёс следующие строки:

Import-Module posh-gitImport-Module oh-my-posh
Set-Theme Sorin
Import-Module PSFzf

Последний модуль PSFzf отвечает за удобный поиск команд и файлов в строке (т.н. fuzzy search, написан на языке программирования Go). Установка его слегка замороченная, так что можете его пока не ставить, тем более я сам пока не разобрался как им пользоваться и какая мне от него польза. Сначала вам надо найти и скачать скомпилированную версию PSFzf (ссылка на неё вывалится при попытке установить командой Install-Module PSFzf -Scope CurrentUser)  и закинуть её в системный каталог типа system32, чтобы она была доступна через PATH. После этого надо зарегистрировать сочетания клавиш для неё и загрузить:

Remove-PSReadlineKeyHandler 'Ctrl+r'

Remove-PSReadlineKeyHandler 'Ctrl+t'
Import-Module PSFzf

И вот, после все этих манипуляций (достаточно несложных даже для начинающего программиста) у вас на компьютере с Windows будет превосходная командная строка, которая будет радовать глаз. Кстати, некоторые программисты "виндузятники" даже используют Vim и программируют именно в нём, отрицая другие редакторы кода или полноценные IDE для Windows. Лично я предпочитают для быстрых правок консольный редактор micro, который в дефолтном состоянии очень похож на линуксовый nano. Надеюсь вы поняли, что любая операционная система для программиста лишь инструмент для решения задач, а внешний вид и функциональность можно настроить дополнительно по своему желанию. 

Не слушайте тех людей, которые кричат, что для программиста обязательно нужен Linux и ничего больше - Windows 10 в 2020 году это прекрасная операция система и для развлечений, и для работы программистом. 

Update: недавно обнаружил аналогичный проект от известного программиста, который похожим образом "прокачивает" PowerShell и другие коммандные оболочки. Называется проект - Starship и под капотом он использует язык программирования Rust.