web mess – Telegram
web mess
130 subscribers
85 photos
1 video
2 files
163 links
go, vim and some other random stuff
appreciate your feedback :)
Download Telegram
Павел Дуров писал: «Будущее за теми, кто выработает иммунитет к технологическим ловушкам внимания и сохранит способность к длительной концентрации» (https://esquire.ru/rules/6599-10-2006-durov/).

Не знаю, как там у Павла, а для меня самым действенным способом тренировать способность к концентрации стала медитация. Супер-кратко упоминал об этом раньше (t.me/desprod/59), а сегодня расскажу чуть подробнее, что это такое и почему стоит попробовать.

Многие думают, что медитация — это что-то эзотерическое, где-то между астрологией и гомеопатией. Я тоже так думал когда-то. На самом деле медитация (в современном западном понимании) — это вполне практическая система упражнений, которые тренируют концентрацию и способность управлять мыслями и эмоциями. Поэтому скоро медитация будет считаться такой же базовой гигиеной, как чистка зубов или занятия спортом. Мы будем удивляться, узнавая, что человек не практикует медитацию.

Есть приложения, которые учат медитации с нуля. Там тренер подсказывает, что делать, а ты слушаешь и стараешься выполнять. Мои любимые — Headspace и 10% happier. Последнее мне особенно нравится тем, что там есть курсы разных тренеров.

Как это выглядит: ты садишься на стул без всяких поз лотоса (хотя можно и не садиться) и закрываешь глаза (хотя можно и не закрывать). Тренер из приложения говорит, о чём думать. В самом простом варианте может предложить сначала сконцентрироваться на ощущениях в теле, окружающих звуках, запахах. Понаблюдать за этим всем. А потом просит сфокусироваться на дыхании. Сиди и наблюдай за своими вдохами и выдохами в течение 5 минут, стараясь ни на что не отвлекаться.

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

Большинство людей занимаются по 5-10 минут в день. Лучше заниматься 1 минуту, но каждый день, чем 15 минут, но раз в неделю. Сначала мне 5 минут казались ужасно длинными. Как можно целых 300 секунд просидеть без дела, ни о чём не думая? Со временем стало легче, теперь даже и 15 минут не пугают.

Когда у меня получается практиковать регулярно, замечаю, что гораздо легче получается концентрироваться. Как только отвлёкся на что-то во время работы, ловишь себя на этом и возвращаешься к тому, что делал. Оказалось, что вот этот простой скилл — не отвлекаться — действительно неплохо поддаётся тренировке.
Вышел Go 1.15

Больше всего мне нравится вот это обновление пакета testing.
Теперь все логи группируются по названию запускаемого теста, а не выводят его название каждый раз.
Плюс, можно создать временную папку, которая удалится после запуска тестов, крутяк!

Естественно, там есть есть и более глобальные обновления в плане производительности и безопасности.
Но, тестирование - это моя каждодневная боль, поэтому я и заострил внимание на этом :)

https://blog.golang.org/go1.15
Понял достаточно забавную штуку, которую замечал и раньше.
Я по-настоящему начинаю вникать в какое-то понятие только после того, как прочту о нём из нескольких источников.

Например, мне немного сложно учить Computer Science. Алгоритмы и структуры данных — это мой криптонит.
И очень часто, не понимая тему, я просто беру другую статью/гайд/видео.
После того, как я увидел одну и ту же информацию в разных интерпритациях - я действительно понимаю, о чем идёт речь.

Примерно по такому же принципу можно проверять достоверность информации.
Если какое-то утверждение дублируется в множестве разных источников — скорее всего оно правдивое.
За редким исключением бывает и наоборот.

Почему-то думал, что на эту тему в интернете уже есть статьи, но пока ничего не нашел в подкрепление своему мнению.
Интересное настраиваемое расширение для Firefox и Google Chrome.
Собирает статьи, новости и заметки из разных источников прямо во вкладке New Tab в браузере.

Можно выбрать ресурсы и интересующие темы вручную и получать оттуда всё новое, практически не затрачивая на это времени.
В общем, кайф!
Кстати, канал подписчика, который поделился со мной этой штуковиной.
Forwarded from #BORING (ᅠ ᅠCarabma_3000ᅠ)
Отличное расширение для любого разработчика, всё актуальные новости и лучшие статьи по программированию в одном месте, на стартовой странице, открытый исходный код, с радостью делюсь)

#dev

https://daily.dev/
Forwarded from Веб-стандарты (Веб-стандарты)
Хакатон «Build for Belarus» пройдёт онлайн 14–16 августа. Участники помогут разработать технические решения для коммуникации, безопасности и поддержки пострадавших в протестах.

Сайт хакатона https://eventornado.com/event/build-for-belarus
Событие на Фейсбуке https://www.facebook.com/events/492050428325842
Ребят, наконец-то выходные.
Можно немного отвлечься от программирования ;)

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

Залетайте, у него много интересного
https://news.1rj.ru/str/five_a_m
Пытаюсь активно учить Computer Science.
Решил начать с чего-то простого и нашел вот эту книгу.
Здесь рассказываются базовые понятия об алгоритмах и структурах данных.
К сожалению или к счастью, в книге мало имплементаций.
Это мотивирует искать информацию и вникать самому, но при этом даёт общее понимание тем.
В итоге наткнулся на эту классную статью с примерами того, как сделать Linked List на Go с объяснением и примерами.
А еще, сделал вам мем
Forwarded from FEDOR BORSHEV
#вопрос Реально ли стартануть в качестве начинающего программиста в 50 лет?

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

Я не вижу ни одного препятствия, чтобы выполнить 5 из 6 пунктов из моего списка как вкатить в программирование. Предположу, что проблема будет только с шестым пунктом — найти команду с высокой инженерной культурой: эйджизм, сексизм и кучу других -измов никто не отменял.

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

Надеюсь, у вас всё получится!
Человек сделал круть !
Всем привет!

Наверняка многие из вас натыкались на ютубе на бесконечные стримы с музыкой для чила или учебы, например https://www.youtube.com/watch?v=mCti0Ln_qQ8 или https://www.youtube.com/watch?v=DWcJFNfaw9c (кстати отлично помогает сосредоточиться или расслабиться)

Я подумал, а чеб не нарулить такой для себя, как обычно just for fun. А еще я подумал, что наверняка это все можно делать через какие-то консольные утилиты. Я порыскал по github и действительно - нашел репозиторий https://github.com/torch2424/live-stream-radio

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

Все дело в том, что стримы, на которые я указал выше, работают на основе приложения streamLabs (https://streamlabs.com/), где все работает из коробки, есть даже специальный сборщик донатов (https://streamlabs.com/lunaradio/tip). Но streamLabs работает через десктопный ui, да и только на винде. Увы, такого позволить я себе не могу. И я полез в дебри.

В течение нескольких месяцев я время от времени погружался в исходники live-stream-radio и в итоге понял как собирается команда для ffmpeg, которая выдает стрим.

Что сделал я:
▫️прикрутил работу с google-api, чтобы проверять подписчиков канала
▫️прикрутил работу с yandex-money-api, чтобы проверять донаты с простой формы на сайте
▫️перед каждым новым треком проверяю 2 первых пункта и в зависимости от этого добавляю новый входной параметр для ffmpeg (анимацию с текстом, которая исчезает через некоторое время)

Теперь наруливаем музыку и тестим. К сожалению событие подписки работает не всегда (потому что не все пользователи ютуб позволяют просматривать информацию о себе в подписках). Донаты через простую форму вроде работают нормально)

О результатах напишу отдельно. Кому интересно - мой форк тут https://github.com/jemsgit/live-stream-radio

Всем чил ✌️
Немного о логировании.

Вообще заниматься сбором и процессингом логов должен отдельный сервис.
Как сказано здесь. https://12factor.net/logs
Но на данный момент стоит задача сделать временное решение, которое будет сортировать логи по дням.

Искал и нашел две прикольные либы для го.

https://github.com/lestrrat-go/file-rotatelogs - умеет делать rotation по размеру, промежутку времени и задавать кастомный timestamp.
Имплементирует io.Writer, может использоваться как со стандартной библиотекой log, так и с logrus. Умеет удалять логфайлы через определённый промежуток времени.

https://github.com/natefinch/lumberjack - умеет делать rotation по размеру, удалять старые логфайлы и т.д. Тоже имплементирует io.Writer.

Выбрал первую либу для ротации логфайлов, т.к мне нужно делать ротацию по дням.
А логирование буду делать с помощью https://github.com/sirupsen/logrus. Удобный и понятный логер для го.
Для логирования есть много других альтернатив, но logrus используется и в других сервисах, поэтому менять не стали.
Кстати, интересно, c каким языками вы работаете.
Конечно все существующие не перечислить, поэтому выберу самые популярные.
Потрясающая статья о том, почему ООП - это плохо.

Самое забавное, что 70% компаний в требованиях к вакансии, даже для джуниоров, указывают знание ООП и дизайн паттернов.
Статья с доводами и примерами, не смотря на то, что она внушительно длинная, советую почитать.

https://link.medium.com/u7dX48d7b9
У medium вышла бета обновы. Выглядит красиво. Непонятно только теперь что и где здесь находится ;)
Ребят, я там писал о своей истории, как я стал программистом https://news.1rj.ru/str/webmess/163.
Так вот, из-за этой истории попал в подкаст “запуск завтра”!
И сегодня он наконец-то вышел !

Я присоединяюсь где-то на 16-17 минуте.
Обсуждаем с Федей в подкасте, как стать программистом. Я делюсь своим путем, Федя — своим, звоним вместе нашему слушателю и вспоминаем истории из жизни.

Книги или онлайн курсы? Какие языки учить? Стоит ли пытаться стать программистом гуманитарию или если тебе за 40? Куда податься новичку без связей в индустрии?

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

Душевный выпуск.

Слушайте везде: Apple, Google, Castbox, Яндекс, Spotify, Overcast, ютуб и веб-версия.
Для всех, кто хочет выучить Go.
Упорядоченный список того, что стоит выучить с ссылками на ресурс.
Часть - это материал, написанный самим автором, другая часть - ссылки на сторонние, в том числе официальные, ресурсы.
Велкам!

https://github.com/hoanhan101/ultimate-go
Встречайте tinyhttp, крошечная и быстрая альтернатива Express без легаси

Авторская статья (написанная мною, @talentless_guy), о том, зачем я начал писать свой фреймворк, какие проблемы он решает, и как начать им пользоваться. Будет интересно тем, кто пишет бекенд на Express, и хотел бы попробовать что-то новое, но с тем же API.

p.s. готовится статья про процессную многозадачность (на русском) в Node.js, в будущем будет опубликована

#jsarticle #javanoscript #backend #nodejs #tinyhttp #express #typenoscript