Ручная сортировка задач в Todoist
Свежее обновление Todoist притащило одну фичу, которой мне очень не хватало в работе с ним.
Раньше, если ты создавал задачу с привязкой ко времени, например:
То эта задача будет в списке Today/Upcoming в самом верху, вместе с остальными задачами у которых установлено время. (при стандартной сортировке)
👉 Теперь можно включить режим сортировки Вручную и перетащить эту задачу хоть в середину списка, и даже смешивать приоритеты между собой.
Теперь думаю сделать себе новогодний подарок и купить наконец Pro-подписку в Todoist — там задачам можно добавлять не только время начала, но и длительность. При интеграции с Google Calendar (единственная двусторонняя) можно очень классно формировать Time Blocking календарь.
Но проблемс в том, что я пользуюсь Apple Calendar😬 Придется и оттуда съезжать.
этогик | etogeek.ru
Свежее обновление Todoist притащило одну фичу, которой мне очень не хватало в работе с ним.
Раньше, если ты создавал задачу с привязкой ко времени, например:
Сходить в магазин сегодня 15:00То эта задача будет в списке Today/Upcoming в самом верху, вместе с остальными задачами у которых установлено время. (при стандартной сортировке)
👉 Теперь можно включить режим сортировки Вручную и перетащить эту задачу хоть в середину списка, и даже смешивать приоритеты между собой.
Теперь думаю сделать себе новогодний подарок и купить наконец Pro-подписку в Todoist — там задачам можно добавлять не только время начала, но и длительность. При интеграции с Google Calendar (единственная двусторонняя) можно очень классно формировать Time Blocking календарь.
Но проблемс в том, что я пользуюсь Apple Calendar
этогик | etogeek.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1🤔1
$VAR и ${VAR}?Это реально частый вопрос. Рассказываю в дополнение к посту про подстановку переменных в файл.
Тут нет никакого rocket-science и разница только в том, как командный интерпретатор (Bash, zsh, sh, тысячи их) определит границы названия переменной:
$VAR — можно использовать, когда название переменной отделено от другого текста неиспользуемыми символами, например пробелом, или backslash. А вот если переменную вставим в слово, то она будет интепретирована неверно:VAR=eto
echo $VAR # Выведет eto
echo $VARgeek # Выведет значение VARgeek, если такое есть, иначе — пусто
${VAR} — надежнее. Помогает точно отделить название переменной от другого текста:VAR=eto
echo ${VAR} # Выведет eto
echo ${VAR}geek # Выведет etogeek
этогик | etogeek.ru | #техшортики
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Привет! На выходных сделал большую ручную работу — собрал ссылки на все интересные и полезные сообщения в телеграм-канале в один пост:
👉 Список постов Телеграм-канала 👈
👉 Список постов Телеграм-канала 👈
🤯6👍3
🧙♂️ Бомбит с Hogwarts Legacy.
Cпойлеры? Может быть немного, совсем чуть-чуть.
Я, конечно, слоупок тот еще — игра-то вышла почти год назад, но в свое оправдание скажу, что у меня нет ни консоли, ни ПК — ждал выхода на Nintendo Switch.
И, мягко говоря, я разочарован. Причем не графикой и полной ценой, с которой у многих горит, нет, к этому я был готов. Но начну с того, что заставляет меня продолжать прохождение:
✨ Интересная боёвка, хотя прицеливание ужасное. Сначала нужно привыкнуть переключать наборы скиллов, но в целом интересно. А главное — красиво, эффектно и весело.
🗺 Открытый и атмосферный мир. Здесь разработчики проделали огромную работу. Вчера начали новогодний пересмотр Гарри Поттеров, так вот — всё сделано очень близко к фильму.
📕 Если смотреть поверхностно и в целом - сюжет интересный.
😐 Теперь погнали прожарку:
👶 Детсадовские подсказки. Ну дайте мне время подумать немного, я же мастер квестов Клаустрофобии. Но нет, главный герой так мимо дела «Наверное нужно использовать Акцио, чтобы подтянуть эту платформу».
✈️ Управление в полете максимально всратое. Обычно во всех играх полеты управляются одним джойстиком: вверх-вниз, влево-вправо. Здесь же левый отвечает за повороты, а правый — за высоту.
🗺 Карта. Ну кто придумал сделать трехмерную карту замка, на которой сначала выбрать зону телепорта, а затем точку телепорта? Так и не привык. Как говорил Геральт «Ненавижу порталы»
🤦♂️ Дыры в сюжете. Ооо, с этого мы смеемся с самого начала игры. Начать стоит с того, что главный герой попадает сразу на пятый курс в Хогвартс, раньше не изучая магию вообще. Причины либо не рассказали, либо я пропустил.
Ученики пятого(!) курса. Урок полетов на метле:
Урок магии:
🕷 Давай запряжем пятикурсницу подработать курьером. Да пусть она идет в опасную пещеру с пауками, норм же.
🦹♂️ Выходишь из Хогвартса — натыкаешься на браконьеров-темных магов, и это даже не в запретном лесу. Видимо сто лет назад министр магии особо не следил за правопорядком.
👥 У меня могут появиться одновременно два квеста с одним и тем же персонажем в совершенно разных местах.
😵💫 Тупейший главный герой.
Пересмотрев Философский камень понял, что это калька с Гарри Поттера, он тоже не отличается умом.
WTF мне даже выбора не дали, говорить это или нет.
Поведение ГГ в квесте с оборотным зельем - это вообще эталон кринжа. И я опять ничего не могу выбрать.
🦭 Животным в дикой природе угрожают браконьеры, поэтому давай собирать их в бездонную сумку (как у Ньюта) и выпускать в небольшой локации в Выручай-комнате.
Это точно RPG? Вроде должен быть хоть какой-то выбор в диалогах, а по факту он ни на что не влияет. А в некоторых местах мне прямо диктуют какие эмоции я должен испытывать. Я был не против напасть вместе с союзником на лагерь гоблинов, но главный герой после боя отчитал его за безрассудство.
😌 Некоторые квесты начинаются в определенное время суток, и вот ожидание — это поспать на земле. Литералли просыпаешься в кабинете, в горах, на берегу озера, а рядом уже стоит нужный NPC.
По выходным отдыхаю от фейспалмов в No Man’s Sky. Вот этой игрой я крайне положительно удивлен. А что касаемо Хогвартса, думаю, что после прохождения сюжетки, я заброшу игру.
этогик | etogeek.ru | #шортики #игры
Cпойлеры? Может быть немного, совсем чуть-чуть.
Я, конечно, слоупок тот еще — игра-то вышла почти год назад, но в свое оправдание скажу, что у меня нет ни консоли, ни ПК — ждал выхода на Nintendo Switch.
И, мягко говоря, я разочарован. Причем не графикой и полной ценой, с которой у многих горит, нет, к этому я был готов. Но начну с того, что заставляет меня продолжать прохождение:
👶 Детсадовские подсказки. Ну дайте мне время подумать немного, я же мастер квестов Клаустрофобии. Но нет, главный герой так мимо дела «Наверное нужно использовать Акцио, чтобы подтянуть эту платформу».
✈️ Управление в полете максимально всратое. Обычно во всех играх полеты управляются одним джойстиком: вверх-вниз, влево-вправо. Здесь же левый отвечает за повороты, а правый — за высоту.
🗺 Карта. Ну кто придумал сделать трехмерную карту замка, на которой сначала выбрать зону телепорта, а затем точку телепорта? Так и не привык. Как говорил Геральт «Ненавижу порталы»
🤦♂️ Дыры в сюжете. Ооо, с этого мы смеемся с самого начала игры. Начать стоит с того, что главный герой попадает сразу на пятый курс в Хогвартс, раньше не изучая магию вообще. Причины либо не рассказали, либо я пропустил.
Ученики пятого(!) курса. Урок полетов на метле:
— Кто помнит как нужно летать?
Тишина
— Хорошо, нужно встать рядом с метлой и сказать «Вверх»!
Урок магии:
Какое заклинание поднимает предмет в воздух? Не помните? Какие недотепы - за лето все забыли, давайте повторим: Левиоса!
🦹♂️ Выходишь из Хогвартса — натыкаешься на браконьеров-темных магов, и это даже не в запретном лесу. Видимо сто лет назад министр магии особо не следил за правопорядком.
👥 У меня могут появиться одновременно два квеста с одним и тем же персонажем в совершенно разных местах.
😵💫 Тупейший главный герой.
— Никому не рассказывай про свою силу
— Ок
Пофиг, рассказал(а) всем.
Пересмотрев Философский камень понял, что это калька с Гарри Поттера, он тоже не отличается умом.
Я доставила зелье, как вы и просили… а еще я спёрла у продавщицы книгу рецептов, вот вам принесла
WTF мне даже выбора не дали, говорить это или нет.
Поведение ГГ в квесте с оборотным зельем - это вообще эталон кринжа. И я опять ничего не могу выбрать.
🦭 Животным в дикой природе угрожают браконьеры, поэтому давай собирать их в бездонную сумку (как у Ньюта) и выпускать в небольшой локации в Выручай-комнате.
Это точно RPG? Вроде должен быть хоть какой-то выбор в диалогах, а по факту он ни на что не влияет. А в некоторых местах мне прямо диктуют какие эмоции я должен испытывать. Я был не против напасть вместе с союзником на лагерь гоблинов, но главный герой после боя отчитал его за безрассудство.
По выходным отдыхаю от фейспалмов в No Man’s Sky. Вот этой игрой я крайне положительно удивлен. А что касаемо Хогвартса, думаю, что после прохождения сюжетки, я заброшу игру.
этогик | etogeek.ru | #шортики #игры
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍3
После информации про фигурные скобки нельзя не сказать про кавычки — где использовать
echo 'URL = https://$VAR.ru', а где echo "URL = https://$VAR.ru".'some'):Строки внутри таких кавычек будут считаться буквальными и переменные внутри не будут раскрыты. Все спецсимволы, кроме самой кавычки, трактуются буквально.
VAR=etogeek
echo 'URL = https://$VAR.ru'
URL = https://$VAR.ru
"some"):Переменные в строках в таких кавычках будут развернуты:
VAR=etogeek
echo "URL = https://$VAR.ru"
URL = https://etogeek.ru
- Внутри двойных кавычек некоторые спецсимволы (например,
$, \) могут иметь специальное значение и будут интерпретироваться. Например, \n будет заменено на символ новой строки.- Внутри одинарных кавычек спецсимволы трактуются буквально, и они не имеют особого значения.
- Спецсимволы можно экранировать (escape) с помощью backslash (
\)VAR=etogeek
echo "URL:\nhttps://$VAR.ru"
URL:
https://etogeek.ru
""", '''):Обычно тройные кавычки используются для создания многострочных строк (каламбур, но да). Так же в тройных кавычках можно использовать обычные не экранируя символы:
VAR=etogeek
echo """
This is my site '$VAR':
URL = https://$VAR.ru
Keep learning! "'$VAR'"
"""
This is my site 'etogeek':
URL = https://etogeek.ru
Keep learning! $VAR
этогик | etogeek.ru | #техшортики
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥8
Уверен, вы найдете и для себя что-нибудь интересное:
👉 https://www.youtube.com/@DevOpsChannel/videos
этогик | etogeek.ru | #нашел
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
Раньше у меня был такой пост, но даже ссылкой на него делиться не буду, потому что его нужно обновить! Всё с ссылками на плейлисты, наслаждайтесь.
На чем слушаю?
AirPods Pro 2 — мощная активная шумоизоляция, отлично держатся в ушах, все еще хорошо держат зарядку, правильно переключаются между девайсами. Им уже больше года, использую каждый день. Я плотно подсел на экосистему Apple и не думаю, что в обозримом будущем уйду к другому бренду наушников.
Что слушаю?
Всё очень зависит от настроения, задачи, уровня энергии, но вот основные плейлисты из закладок:
Открытие года — под хип-хоп круто работается, собрал такой плейлист в Spotify. А вот попробовал перенести его в Яндекс.Музыку - ссылка. Очевидно, что не все треки перенеслись, но рекомендательная система должна справиться с наполнением.
Если хочется чуть более спокойной музыки, то включаю lo-fi girl. Либо в Spotify, либо на Youtube.
Вечно угораю с того, что саундтрек от игры Stronghold Crusader второй год подряд оказывается в топе моего Spotify Wrapped, но это не отменяет того, что это очень классный 40-минутный плейлист. Spotify, Youtube.
Длиннющий, одновременно расслабляющий и держащий в фокусе плейлист с ambient-ремиксом саундтрека к фильму Dune.
Тоже длинный плейлист, повторяющийся, но более расслабленный — музыка из игры Witcher 3. Youtube.
Когда настроение повеселее, то могу включить мой retro-плейлист - Spotify, ЯндексМузыка.
Два плейлиста по 15-20 минут — две радиостанции из игры GTA 3 на Youtube: Game Radio, и Head Radio.
Довольно бодрая музыка, может отвлекать, подходит для менее сосредоточенной и рутинной работы — 40 минут, альбом группы The Medics (NL) Spotify, Youtube.
Скидывайте в комменты ваши любимые плейлисты под которые вы работаете!
этогик | etogeek.ru | #шортики
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1👏1
Что ж, этот день настал — выложил первое видео на Youtube.
Про то, на каких задачах можно практиковаться начинающим DevOps-инженерам. Каждый из пунктов можно очень глубоко раскрыть и найти, чем бы там позаниматься.
2024-ый год нарекаю годом контента, поэтому впереди море экспериментов и творчества.
Если вам близки темы освещаемые в этом канале, то обязательно подписывайтесь и на youtube-канал. А каждый лайк и реакция ускоряет выход и увеличивает качество нового ролика!
👉 https://www.youtube.com/watch?v=_rfYnaXXg3k
этогик | etogeek.ru | #видео
Про то, на каких задачах можно практиковаться начинающим DevOps-инженерам. Каждый из пунктов можно очень глубоко раскрыть и найти, чем бы там позаниматься.
2024-ый год нарекаю годом контента, поэтому впереди море экспериментов и творчества.
Если вам близки темы освещаемые в этом канале, то обязательно подписывайтесь и на youtube-канал. А каждый лайк и реакция ускоряет выход и увеличивает качество нового ролика!
👉 https://www.youtube.com/watch?v=_rfYnaXXg3k
этогик | etogeek.ru | #видео
YouTube
Как практиковаться Junior DevOps-инженеру
Ты начинающий DevOps-инженер и не знаешь на каких задачах потренировать свои навыки? Ты разработчик и хочешь глубже понять как и где запускается твое приложение?
В этом видео я собрал список задач, практикуясь на которых можно получить классный и полезный…
В этом видео я собрал список задач, практикуясь на которых можно получить классный и полезный…
🔥23👍9🎉2
Наглядно о том, как работает Load Average.
Я уже писал об этом, но вот незапланированно попалась ситуация, которая классно демонстрирует всё это.
На скриншоте — дашборд в Grafana с железными метриками виртуальной машины. Как видно машинка имеет всего 2 ядра.
Я запустил на ней команду
Из графиков можно понять, что команда выполняется в одном потоке, на одном ядре, так как загрузка процессора висит ровно на 50%.
На втором графике, где есть разбивка нагрузки про режимам, все эти 50% заняты под iowait. В этом режиме процессы ожидают времени для операций ввода-вывода.
Теперь к графику Load Average:
Если обобщить, эта метрика показывает среднее количество процессов и(!) операций ввода-вывода в очереди за этот промежуток времени.
Так же эта метрика прямо зависит от количества вычислительных ресурсов, в нашем случае — от количества ядер процессора. В ходу утверждение, что LA должен быть меньше количества ядер.
Грубо, но на это можно ориентироваться при самом поверхностном траблшутинге: если на сервере без прошлой высокой нагрузки внезапно вырос показатель LA, явно что-то пошло не так.
Здесь мы наглядно видим, что загруженное на 100% одно ядро даёт LA = 1. Даже на многоядерной машине.
Так же на этом графике сразу выводится три линии - для LA 1, 5, 15 - усредненные значения за 1, 5 и 15 минут. По 15-минутному графику можно понять, что нагрузка на машину длительная или пиковая только сейчас на короткий промежуток времени.
этогик | etogeek.ru | #техшортики
Я уже писал об этом, но вот незапланированно попалась ситуация, которая классно демонстрирует всё это.
На скриншоте — дашборд в Grafana с железными метриками виртуальной машины. Как видно машинка имеет всего 2 ядра.
Я запустил на ней команду
docker system prune -a, которая удаляет неиспользуемый докером мусор.Из графиков можно понять, что команда выполняется в одном потоке, на одном ядре, так как загрузка процессора висит ровно на 50%.
На втором графике, где есть разбивка нагрузки про режимам, все эти 50% заняты под iowait. В этом режиме процессы ожидают времени для операций ввода-вывода.
Теперь к графику Load Average:
Если обобщить, эта метрика показывает среднее количество процессов и(!) операций ввода-вывода в очереди за этот промежуток времени.
Так же эта метрика прямо зависит от количества вычислительных ресурсов, в нашем случае — от количества ядер процессора. В ходу утверждение, что LA должен быть меньше количества ядер.
Грубо, но на это можно ориентироваться при самом поверхностном траблшутинге: если на сервере без прошлой высокой нагрузки внезапно вырос показатель LA, явно что-то пошло не так.
Здесь мы наглядно видим, что загруженное на 100% одно ядро даёт LA = 1. Даже на многоядерной машине.
Так же на этом графике сразу выводится три линии - для LA 1, 5, 15 - усредненные значения за 1, 5 и 15 минут. По 15-минутному графику можно понять, что нагрузка на машину длительная или пиковая только сейчас на короткий промежуток времени.
этогик | etogeek.ru | #техшортики
👍14
На выходных, уже не помню для какого прикола, установил себе пакет cowsay (который в терминал выводит сообщения от лица коровы).
А в понедельник на первом запущенном плейбуке оказалось, что Ansible по умолчанию начинает делать весь вывод через cowsay.
По умолчанию. Чтобы отключить, нужно явно указать это в конфигурации (
nocows = True в ansible.cfg) или в переменной окружения (export ANSIBLE_NOCOWS=1)Issue на Github, в котором просят сделать эту функцию не дефолтной, вообще поражает комментариями - https://github.com/ansible/ansible/issues/10530
Иногда это может быть даже весело, особенно с переменной
ANSIBLE_COW_SELECTION=random, но в целом только мешает в работе.этогик | etogeek.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12🔥1
Вот — обновочки, купил монитор. Надоело сидеть за 13-дюймовым экранчиком ноутбука, хоть он и очень качественный.
Долго сопротивлялся — съемная квартира, что потом с ним делать. Но нужно больше места на экране, к тому же проводить стримы и лекции намного проще на нескольких экранах.
Что взял:
iiyama xub2792qsn — 27 дюймов и 2k разрешение (2560х1440). Не 4к, конечно, что было бы идеально для Macos, но всё же такой промежуточный вариант.
Самое главное преимущество — подключение через type-c. Теперь у меня в розетку воткнут только монитор, а макбук подключен к монитору по обычному толстому type-c. Через него - звук, зарядка, изображение, и даже сеть может идти🤓
Раньше у меня был Samsung Odyssey G5, так вот у него были проблемы с цветовым профилем. Я не знаю как, но цвета на мониторе очень сильно отличались от того, что на экране мака. Я уже начал вручную править цветовые профили, потом плюнул и привык.
У этого с цветами все хорошо. Только трясется сильно. Монитор тяжелый, а ножка хлипкая. Еще и Икеевский стол ходуном любит ходить. Ну ничего.
Теперь нужно купить новый стол, к которому можно будет зацепить кронштейн для микрофона (нам же нужен хороший звук на видео и стримчанских?), и может монитор перевешу на кронштейн.
Вот так вот. На картинке мой текущий сетап.
этогик | etogeek.ru
Долго сопротивлялся — съемная квартира, что потом с ним делать. Но нужно больше места на экране, к тому же проводить стримы и лекции намного проще на нескольких экранах.
Что взял:
iiyama xub2792qsn — 27 дюймов и 2k разрешение (2560х1440). Не 4к, конечно, что было бы идеально для Macos, но всё же такой промежуточный вариант.
Самое главное преимущество — подключение через type-c. Теперь у меня в розетку воткнут только монитор, а макбук подключен к монитору по обычному толстому type-c. Через него - звук, зарядка, изображение, и даже сеть может идти
Раньше у меня был Samsung Odyssey G5, так вот у него были проблемы с цветовым профилем. Я не знаю как, но цвета на мониторе очень сильно отличались от того, что на экране мака. Я уже начал вручную править цветовые профили, потом плюнул и привык.
У этого с цветами все хорошо. Только трясется сильно. Монитор тяжелый, а ножка хлипкая. Еще и Икеевский стол ходуном любит ходить. Ну ничего.
Теперь нужно купить новый стол, к которому можно будет зацепить кронштейн для микрофона (нам же нужен хороший звук на видео и стримчанских?), и может монитор перевешу на кронштейн.
Вот так вот. На картинке мой текущий сетап.
этогик | etogeek.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍9😁3🤔2❤1
Новое видео на канале 🖥
Продолжаю экспериментировать с различными форматами, на этот раз — рассказываю историю своей работы на удаленке: начиная с офиса, проходя через разные гибриды и заканчивая полной удаленной работой. (люблю рассказывать истории)
Приятного просмотра!
👉 https://www.youtube.com/watch?v=Rd4iv8DV8sg
этогик | etogeek.ru | #видео
Продолжаю экспериментировать с различными форматами, на этот раз — рассказываю историю своей работы на удаленке: начиная с офиса, проходя через разные гибриды и заканчивая полной удаленной работой. (люблю рассказывать истории)
Приятного просмотра!
👉 https://www.youtube.com/watch?v=Rd4iv8DV8sg
этогик | etogeek.ru | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥2
Что вообще такое раннер? Это некое приложение на сервере, которое выполняет команды, которые мы ему скажем.
Например: скачай репозиторий, выполни команду, которая соберет код в бинарный файл, сохрани этот файл, почисти за собой все.
Некоторые компании, например GitHub или Gitlab предоставляют так называемые cloud-раннеры: вы просто указываете на какой операционной системе нужно запустить ваши команды и не думаете как и где они запускаются.
Под капотом там, конечно же, серверы с Linux на борту, контейнеры и динамические окружения, но это вполне обычная затея — выполнять все эти команды на Linux-серверах - собирать код, чтобы он запускался на Linux-серверах.
А как быть, если нам нужно собрать приложение для MacOS или iOS? Такие штуки запускаются собственно только на MacOS.
Конечно, вы можете запускать self-hosted раннеры. Это которые вы сами устанавливаете куда хотите и подключаете к своим пайплайнам. И этим “куда хочешь” может быть MacBook. Да, можно установить в офисе несколько макбуков и собирать приложения на них.
GitHub, например, предлагает использовать их cloud-раннеры на базе m1 процессоров.
Вот попалось видео на видео показано, как буквально разбирают MacMini, достают из него железки, запихивают в более удобный корпус и собирают в большую стойку. На этих мак-ах и запускаются ваши джобы, в которых вы укажете
runs-on: macos-latest.👉 А вот и видео: https://www.youtube.com/watch?v=I2J2MzKjcqY, всего две минуты на англ.
Удивительно, что Apple до сих пор не продает какие-нибудь серверные варианты своих процессоров для подобных целей.
этогик | etogeek.ru | #нашел
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SNEAK PEEK - new custom M1 macOS runners with Christina Warren
Go behind the scenes with Christina Warren (@filmgirl) to see how to see how GitHub is bringing the new M1 macOS runners to production. With these runners, you can build and test native mobile applications faster.
People have been wanting Apple silicon runners…
People have been wanting Apple silicon runners…
👍5🔥4
Хэллоу, пипл! Вот и закончился небольшой отпуск и впереди довольно насыщенная неделя на задачи, но вот из новостей — перетащил свой сайт на новый домен и на новый движок. По порядку про сайт:
Купил новый домен etogeek.dev. Он интересен тем, что top-level-domain (TLD)
Да и вообще про сайт: там должны выходить посты, которые не влезают в формат Телеграма. Но давно ничего не было, потому что я хотел переехать на движок Hugo. Вот, закончил переезд.
Hugo — это генератор статики, ты на вход подаешь ему конфигурационные файлы и посты-страницы в формате Markdown, а на выходе он отдает статические файлы, которые раздает веб-сервер, например Nginx. Никакой базы данных.
Столкнулся с другой схемой URL-ов в Ghost (старый движок) и Hugo: в Ghost ссылка на пост выглядела как
А в Hugo:
Да, там можно закинуть все посты в “корень”, но это поведет разделение на категории и некоторые ссылки. Короче, нет.
Мне хотелось сохранить некоторые ссылки, на которые уже издавна ведут поисковики, в итоге я выбрал десяток топ-постов и добавил для них в Nginx-конфиг редирект с кодом 301. Он говорит поисковикам, что страница окончательно переехала на новый адрес:
Много проблем было с перетаскиванием постов со Ghost на Hugo. В основном из-за необходимости выкачать картинки, и поменять внутренние ссылки. Но так же пришлось вычищать некоторые shortcodes, которые остались от Ghost-а. По большей части — в ручную, но где-то и набросал скрипты.
Сделал ci/cd и два окружения. Да, у меня на сайте теперь есть dev и prod окружение, которые катятся из разных веток автоматически. Перебор? Да. Зачем? Прикольно же.
Думаю, что рано или поздно я сделаю этот репозиторий публичным, и запишу видео о том, как развернуть свой сайт или блог или cv-страничку на github pages.
Не стал добавлять yandex и google метрики, остановился на опенсорсном GoatCounter, только вот js-скрипт для сбора статистики блокируется некоторыми adblocker-ами.
В этой статье я писал о том, как добавить тему в Hugo путем скачивания репозитория с темой прямо в наш сайт, но я наконец-то разобрался с рекомендуемым разработчиками способом - через git submodules. Да, так в разы проще. Статья, получается, требует обновления 🙂
Вроде ничего не забыл. Желаю всем продуктивной недели, идем работать!
Купил новый домен etogeek.dev. Он интересен тем, что top-level-domain (TLD)
.dev, как и еще несколько десятков гугловых доменов (.page, .app) включен в список HSTS-доменов, и работает с принудительным HTTPS. То есть в браузере без https оно не откроется.Да и вообще про сайт: там должны выходить посты, которые не влезают в формат Телеграма. Но давно ничего не было, потому что я хотел переехать на движок Hugo. Вот, закончил переезд.
Hugo — это генератор статики, ты на вход подаешь ему конфигурационные файлы и посты-страницы в формате Markdown, а на выходе он отдает статические файлы, которые раздает веб-сервер, например Nginx. Никакой базы данных.
Столкнулся с другой схемой URL-ов в Ghost (старый движок) и Hugo: в Ghost ссылка на пост выглядела как
https://etogeek.dev/good-postА в Hugo:
https://etogeek.dev/posts/good-post.Да, там можно закинуть все посты в “корень”, но это поведет разделение на категории и некоторые ссылки. Короче, нет.
Мне хотелось сохранить некоторые ссылки, на которые уже издавна ведут поисковики, в итоге я выбрал десяток топ-постов и добавил для них в Nginx-конфиг редирект с кодом 301. Он говорит поисковикам, что страница окончательно переехала на новый адрес:
location ~ ^/(post1|..|postN) {
return 301 https://etogeek.dev/posts/$1;
}Много проблем было с перетаскиванием постов со Ghost на Hugo. В основном из-за необходимости выкачать картинки, и поменять внутренние ссылки. Но так же пришлось вычищать некоторые shortcodes, которые остались от Ghost-а. По большей части — в ручную, но где-то и набросал скрипты.
Сделал ci/cd и два окружения. Да, у меня на сайте теперь есть dev и prod окружение, которые катятся из разных веток автоматически. Перебор? Да. Зачем? Прикольно же.
Думаю, что рано или поздно я сделаю этот репозиторий публичным, и запишу видео о том, как развернуть свой сайт или блог или cv-страничку на github pages.
Не стал добавлять yandex и google метрики, остановился на опенсорсном GoatCounter, только вот js-скрипт для сбора статистики блокируется некоторыми adblocker-ами.
В этой статье я писал о том, как добавить тему в Hugo путем скачивания репозитория с темой прямо в наш сайт, но я наконец-то разобрался с рекомендуемым разработчиками способом - через git submodules. Да, так в разы проще. Статья, получается, требует обновления 🙂
Вроде ничего не забыл. Желаю всем продуктивной недели, идем работать!
👍13🔥1
Новое видео на канале!
Начинаю серию hands-on видео, где хочу показывать примеры реальных задач разных уровней сложности.
Стартуем с видео для новичков, где я рассказываю про SSH-ключи, настройку сервера и клиента, а в конце — проброс портов через SSH.
Это было непросто, но я успел в пятницу🎩 Я старался!
👉 Ссылка на видео
этогик | etogeek.dev | #видео
Начинаю серию hands-on видео, где хочу показывать примеры реальных задач разных уровней сложности.
Стартуем с видео для новичков, где я рассказываю про SSH-ключи, настройку сервера и клиента, а в конце — проброс портов через SSH.
Это было непросто, но я успел в пятницу
👉 Ссылка на видео
этогик | etogeek.dev | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24👏8
🗓 Как я НЕ перешел на Google Calendar
Короче, на волне недавнего хайпа о переименовании Cron в Notion Calendar и я решил им попользоваться недельку-другую. И вот почему я считаю его бесполезным. Для себя конечно же.
Так как обычно я пользуюсь Apple-календарем, да еще и есть общий календарь с женой, то пришлось сначала переехать в Google Calendar. Перетащил семейные события, основные тайм-блоки, настроил синхронизацию и стал пользоваться.
Что заметил из плюсов:
- Блокировка слота в другом календаре - у тебя в личном календаре может быть тайм-блок “Focused work”, ты можешь заблокировать его в рабочем календаре, и никто не воткнет встречу в это время. Наличие такой функции - хорошо, но у меня не так много встреч.
- Можно подключить любую базу данных из Notion и получить события от туда прямо в календарь (если у них есть дата). Это удобно, когда ты используешь Notion еще и как task-трекер. Сорри, у меня для этого Todoist.
- ¯\_(ツ)_/¯
Минусы:
В основном все минусы - это отголоски Google Calendar, так как Notion Calendar по сути является оберткой над ним с интеграцией в сам Notion.
- Нет inbox для входящих событий. В Apple Cal есть отдельная менюшка, куда падают все приглашения и изменения событий.
- Нет виджета под Apple Watch. Его и у гугла нет. Странно. Приходится оставлять работу с родным эппло-календарем, но тогда дублируются уведомления.
- Нет travel time. Для меня это киллер-фича Apple Calendar: например у тебя есть событие в 18:00, ты указываешь, что до места добираться еще час. В календаре теперь точно видишь, что у тебя само событие начинается в 18, но время в пути тоже заблокировано. Почему в Google Calendar такого банального бытового функционала нет?
В итоге я попользовался Notion Calendar пару недель. Понял, что нет смысла держать лишнее приложение, когда я не пользуюсь его основным фичами. Идею Google Calendar я тоже не понял. Из того, что я вычитал в интернете, люди пользуются гуглокалендарем в основном из-за кроссплатформенности. У меня рабочие календари в Гугле, этого мне хватает.
Причин использовать другие при наличии яблочных девайсов я не нашел. Тут же ты получаешь хорошую интеграцию в общую экосистему Apple. Возвращение к Apple Calendar было неизбежным, подчеркнув для меня ценность интуитивности и эффективности в повседневном планировании.
Сейчас в шаге от того, чтобы пару недель использовать Apple Reminders вместо Todoist.
А каким календарем ты пользуешься и как? Расскажи в комментариях.
этогик | etogeek.dev | #шортики
Короче, на волне недавнего хайпа о переименовании Cron в Notion Calendar и я решил им попользоваться недельку-другую. И вот почему я считаю его бесполезным. Для себя конечно же.
Так как обычно я пользуюсь Apple-календарем, да еще и есть общий календарь с женой, то пришлось сначала переехать в Google Calendar. Перетащил семейные события, основные тайм-блоки, настроил синхронизацию и стал пользоваться.
Что заметил из плюсов:
- Блокировка слота в другом календаре - у тебя в личном календаре может быть тайм-блок “Focused work”, ты можешь заблокировать его в рабочем календаре, и никто не воткнет встречу в это время. Наличие такой функции - хорошо, но у меня не так много встреч.
- Можно подключить любую базу данных из Notion и получить события от туда прямо в календарь (если у них есть дата). Это удобно, когда ты используешь Notion еще и как task-трекер. Сорри, у меня для этого Todoist.
- ¯\_(ツ)_/¯
Минусы:
В основном все минусы - это отголоски Google Calendar, так как Notion Calendar по сути является оберткой над ним с интеграцией в сам Notion.
- Нет inbox для входящих событий. В Apple Cal есть отдельная менюшка, куда падают все приглашения и изменения событий.
- Нет виджета под Apple Watch. Его и у гугла нет. Странно. Приходится оставлять работу с родным эппло-календарем, но тогда дублируются уведомления.
- Нет travel time. Для меня это киллер-фича Apple Calendar: например у тебя есть событие в 18:00, ты указываешь, что до места добираться еще час. В календаре теперь точно видишь, что у тебя само событие начинается в 18, но время в пути тоже заблокировано. Почему в Google Calendar такого банального бытового функционала нет?
В итоге я попользовался Notion Calendar пару недель. Понял, что нет смысла держать лишнее приложение, когда я не пользуюсь его основным фичами. Идею Google Calendar я тоже не понял. Из того, что я вычитал в интернете, люди пользуются гуглокалендарем в основном из-за кроссплатформенности. У меня рабочие календари в Гугле, этого мне хватает.
Причин использовать другие при наличии яблочных девайсов я не нашел. Тут же ты получаешь хорошую интеграцию в общую экосистему Apple. Возвращение к Apple Calendar было неизбежным, подчеркнув для меня ценность интуитивности и эффективности в повседневном планировании.
Сейчас в шаге от того, чтобы пару недель использовать Apple Reminders вместо Todoist.
А каким календарем ты пользуешься и как? Расскажи в комментариях.
этогик | etogeek.dev | #шортики
👍8🤔3🔥1😢1
Сотня на Youtube 😲
Скажу откровенно – этот момент пришёл неожиданно быстро.
Мне безмерно радостно наблюдать за каждым новым подписчиком, каждым оставленным комментарием, и я искренне ценю всю получаемую обратную связь.
Благодарю каждого из вас за вашу неизменную поддержку и прошу прощения за то, что новые видео появляются не так часто, как хотелось бы. Поверьте, впереди много всего интересного – я полон решимости и идей!
👉 https://www.youtube.com/@etogeek
❤️
Скажу откровенно – этот момент пришёл неожиданно быстро.
Мне безмерно радостно наблюдать за каждым новым подписчиком, каждым оставленным комментарием, и я искренне ценю всю получаемую обратную связь.
Благодарю каждого из вас за вашу неизменную поддержку и прошу прощения за то, что новые видео появляются не так часто, как хотелось бы. Поверьте, впереди много всего интересного – я полон решимости и идей!
👉 https://www.youtube.com/@etogeek
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🎉7👏5👍3
Небольшая история как вообще появился этот 22 порт в SSH.
Если кратко и с моим вольным переводом:
- Фин Tatu Ylönen сделал программу для подключения к серверам через незащищенную сеть.
- Он хотел использовать порт 22, потому что он между 21 и 23 (telnet и ftp, для замены которых так же предназначался SSH). Так же этот порт был пока что не занят в общих списках
- Желательно порт в диапазоне 1-255, чтобы работал well-known services (когда номер порта заменяется на название сервиса в выводах некоторых программ)
Летом 1995 года он пишет письмо, самый обычный email, в IANA, мол
А через день ребята из IANA отвечают, что закрепили порт 22 за SSH.
Всё: одно письмо и один день. Вот так работал мир opensource почти 30 лет назад.
Вот ссылка на оригинал с копией того email-а.
(в качестве промпта для картинки был использован текст поста)
этогик | etogeek.dev | #нашел
Если кратко и с моим вольным переводом:
- Фин Tatu Ylönen сделал программу для подключения к серверам через незащищенную сеть.
- Он хотел использовать порт 22, потому что он между 21 и 23 (telnet и ftp, для замены которых так же предназначался SSH). Так же этот порт был пока что не занят в общих списках
- Желательно порт в диапазоне 1-255, чтобы работал well-known services (когда номер порта заменяется на название сервиса в выводах некоторых программ)
Летом 1995 года он пишет письмо, самый обычный email, в IANA, мол
так и так
я написал программу, она будет опенсорсной, можно мне порт, пожалуйста?
А через день ребята из IANA отвечают, что закрепили порт 22 за SSH.
Всё: одно письмо и один день. Вот так работал мир opensource почти 30 лет назад.
Вот ссылка на оригинал с копией того email-а.
(в качестве промпта для картинки был использован текст поста)
этогик | etogeek.dev | #нашел
🔥18👍6👏3
Новое видео на канале - Траблшутинг Linux
Пятничный привет! Вот и новое видео подъехало на Youtube. В этот раз посмотрим на основные команды, которые нужны для быстрого поиска проблем на серверах и виртуальных машинах под управлением Linux.
👉 Ссылка на видео
Приятного просмотра🎩
этогик | etogeek.dev | #видео
Пятничный привет! Вот и новое видео подъехало на Youtube. В этот раз посмотрим на основные команды, которые нужны для быстрого поиска проблем на серверах и виртуальных машинах под управлением Linux.
👉 Ссылка на видео
Приятного просмотра
этогик | etogeek.dev | #видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ТРАБЛШУТИНГ LINUX // Основные команды, примеры
👉 Что такое CI/CD https://youtu.be/noXnxdNSp4A
Ссылки на посты про Load Average и Nice в описании 👇
Основные команды для быстрого поиска проблем (траблшутинга) сервера или виртуальной машины на Linux (Ubuntu, Debian, CentOS, Astra). Как диагностировать проблемы…
Ссылки на посты про Load Average и Nice в описании 👇
Основные команды для быстрого поиска проблем (траблшутинга) сервера или виртуальной машины на Linux (Ubuntu, Debian, CentOS, Astra). Как диагностировать проблемы…
🔥39👍13❤1👨💻1
Бывает, к вечеру чувствуешь себя максимально уставшим, выжатым как лимон. На следующий день пытаешься вспомнить, а чем занимался-то? Ну, здесь пару строк, тут на пару сообщений ответил, там созвонился… а где закрытые таски? Потому что мозг по своей усталости явно намекает на свернутые горы, а тут даже не дейлике нечего рассказать.
После нескольких таких дней ты начинаешь анализировать причины (
Идешь в магазин — думаешь как решить сложную задачу. Гуляешь с собакой — придумываешь себе беклог. Душ — это вообще территория гениальных идей — новые проекты, глобальные изменения.
Это постоянное «работающее» состояние ума приводит к усталости, которая копится и ведет к ощущению выгорания, когда даже после выходных ты не чувствуешь себя отдохнувшим. И самое ироничное, что при всей этой усталости кажется, что ты ничего и не сделал.
Как же найти баланс между работой и личной жизнью, чтобы не ощущать постоянную усталость от невидимого труда наших мыслей?
Контролировать это очень (очень) сложно, но я выделил для себя несколько моментов, которые хоть как-то помогают структурировать мысли:
- Ограничить рабочее время. Это большая проблема удаленщиков — стирается граница рабочего дня.
- Записывать идеи. Если внезапно приходит важная рабочая мысль или идея — запиши ее. Куда? Ну вообще в 2024 году надо бы уже освободить мозг от хранения информации и переложить ее на какое-нибудь приложение, или хотя бы блокнот. Останется приучить себя просматривать эти записи.
- Хобби для переключения от работы — что-нибудь сильно завлекающее поток мыслей, еще и дофаминчику чтобы много было. Спорт, например.
- Научиться рефлексировать. Идеал рефлексии, когда ты можешь в любой момент времени остановиться и объяснить самому себе, что ты сейчас чувствуешь. Подобное поможет переключать мысли в другую сторону.
- Фиксировать достижения — записывать куда-нибудь (
Думать о работе вне рабочего времени — это нормально, но важно уметь ставить себе границы. Ведь каждому из нас необходим отдых, чтобы быть продуктивным и избежать выгорания.
А как вы справляетесь с непрерывными мыслями о работе? Делитесь в комментариях
этогик | etogeek.dev | #шортики
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27❤6🤔2
Привет! Пока мы все ждем выхода нового видео, хочу поделиться впечатлениями и событиями за прошедшее время.
Во-первых, то чего нельзя не заметить🎞
- Канал на ютубе перевалил отметку в2️⃣ тысячи подписчиков, хотя казалось только 9 февраля я отмечал 100 человек. Мне нечего добавить к этому, я до сих пор шокирован, замотивирован и благодарен всем за обратную связь ❤️
- С ютуба приходят люди и сюда, в этот телеграм-канал, и в чат. Это круто. Спасибо всем и приветствую! Скоро, скорее всего, переименую канал и чат (для большего удобства) и сделаю небольшой редизайн. Не пугайтесь, предупрежу.
Во-вторых, я наконец-то решил проблему тормозящего и сильно греющегося (вплоть до 50% троттлинга) макбука на Intel-процессоре. Как?Купил новый . Скоро расскажу про разницу, которая сразу бросается в глаза при переходе на Apple Silicon процессоры.
В-третьих, было много запросов рассказывать про реальные задачи. А почему бы и не рассказать чем приходиться заниматься в течение спринта. Ставьте чувака за ноутом 👨💻, если интересно такое почитать.
В общем, stay tuned, и спасибо за мотивацию ✌️
Во-первых, то чего нельзя не заметить
- Канал на ютубе перевалил отметку в
- С ютуба приходят люди и сюда, в этот телеграм-канал, и в чат. Это круто. Спасибо всем и приветствую! Скоро, скорее всего, переименую канал и чат (для большего удобства) и сделаю небольшой редизайн. Не пугайтесь, предупрежу.
Во-вторых, я наконец-то решил проблему тормозящего и сильно греющегося (вплоть до 50% троттлинга) макбука на Intel-процессоре. Как?
В-третьих, было много запросов рассказывать про реальные задачи. А почему бы и не рассказать чем приходиться заниматься в течение спринта. Ставьте чувака за ноутом 👨💻, если интересно такое почитать.
В общем, stay tuned, и спасибо за мотивацию ✌️
Please open Telegram to view this post
VIEW IN TELEGRAM
👨💻120🔥15🎉7👍3🤯1