Сделал небольшую табличку команд, которые я использую в vim. Level 1 - это то, что я считаю самое базовое, остальное уже эффективное редактирование. Таблица текстом в комментариях.
Ещё полезно почитать cheatsheet и хороший список команд вима в репозитории VSCodeVim.
Ещё полезно почитать cheatsheet и хороший список команд вима в репозитории VSCodeVim.
Пример задачи про Поликарпа.jpg
375.4 KB
Участвовать в соревнованиях по программированию оказалось интереснее чем просто решать leetcode. Особенно с друзяшками.
Почему я участвую:
Во-первых, это весело. Интересно проверить себя. Сколько задач я смогу решить за 2 часа? Я круче друзяшек (нет 😐)? До какого рейтинга я смогу подняться?
Во-вторых, это поможет пройти собеседование на алгоритмы в будущем. Это же хорошая практика: я вижу на что трачу больше всего времени, что надо оптимизировать.
Короче, присоединяйтесь: http://codeforces.com/
Почему я участвую:
Во-первых, это весело. Интересно проверить себя. Сколько задач я смогу решить за 2 часа? Я круче друзяшек (нет 😐)? До какого рейтинга я смогу подняться?
Во-вторых, это поможет пройти собеседование на алгоритмы в будущем. Это же хорошая практика: я вижу на что трачу больше всего времени, что надо оптимизировать.
Короче, присоединяйтесь: http://codeforces.com/
Собрал немного ссылок на инструменты, которыми недавно начал пользоваться.
jq
Удобный обработчик json'ов. Может их форматировать фильтровать, мапить, редьюсить и прочее.
alacritty
Приятный эмулятор терминала. В нем уже хорошие настройки и работает копирование.
newsboat
Читалка RSS для терминала. Просто кладешь ссылки в
jq
Удобный обработчик json'ов. Может их форматировать фильтровать, мапить, редьюсить и прочее.
alacritty
Приятный эмулятор терминала. В нем уже хорошие настройки и работает копирование.
newsboat
Читалка RSS для терминала. Просто кладешь ссылки в
.newsboat/urls
и оно работает.GitHub
GitHub - alacritty/alacritty: A cross-platform, OpenGL terminal emulator.
A cross-platform, OpenGL terminal emulator. Contribute to alacritty/alacritty development by creating an account on GitHub.
fish
Хорошая альтернатива bash/zsh. Поставил себе потому что работает из коробки и есть хорошая документация. Нравится автокомплит команд и путей.
vimium
Расширение для того, чтобы управлять браузером с клавиатуры быстрее чем с мышки. Чтобы vimium работал на русской раскладке, в опциях нужно включить
xmonad
Тайлинговый менеджер окон. Удобнее когда окна разворачиваются на полную. Перебрался на него с i3wm. Ставил по гайду DistroTube.
Хорошая альтернатива bash/zsh. Поставил себе потому что работает из коробки и есть хорошая документация. Нравится автокомплит команд и путей.
vimium
Расширение для того, чтобы управлять браузером с клавиатуры быстрее чем с мышки. Чтобы vimium работал на русской раскладке, в опциях нужно включить
ignore keyboard layout
.xmonad
Тайлинговый менеджер окон. Удобнее когда окна разворачиваются на полную. Перебрался на него с i3wm. Ставил по гайду DistroTube.
Как тепло передаётся через электромагнитные волны? Что происходит на поверхности зеркала когда от него отражается свет? Почему скорость света меньше в среде?
Хорошее объяснение:
https://youtu.be/V_jYXQFjCmA
Хорошее объяснение:
https://youtu.be/V_jYXQFjCmA
YouTube
The origin of Electromagnetic waves, and why they behave as they do
What is an electromagnetic wave? How does it appear? And how does it interact with matter? The answer to all these questions in 12 minutes.
0:00 - Introduction
1:31 - Frequencies
2:37 - Thermal radiation
3:53 - Polarisation
6:47 - Interference
7:27 - Scattering…
0:00 - Introduction
1:31 - Frequencies
2:37 - Thermal radiation
3:53 - Polarisation
6:47 - Interference
7:27 - Scattering…
В интернете советуют использовать `git log --reverse` для чтения исходников. Так будет меньше кода, который надо читать. Вот, например, первый коммит rust клона cat.
Midjourney может генерировать веб-дизайн. Если модель подогнать именно под дизайн, а потом сделать img2text чтобы генерировала react-компоненты, то может и верстать не придётся больше.
YouTube
Now AI is DESIGNING my entire app in minutes...
My modern Angular course: https://angularstart.com/The Midjourney AI can generate some pretty impressive mobile app user interface concepts. In this video, w...
Сделал себе для своей тудушки экспорт из localStorage в json файл
https://reivan.bearblog.dev/download-json-formed-in-browser/
https://reivan.bearblog.dev/download-json-formed-in-browser/
reivan
Download JSON formed in Browser
In my todo app I stored all data in a JSON in LocalStorage.
To move from my old domain to a new one I needed export/import functionality.
To do the export I ...
To move from my old domain to a new one I needed export/import functionality.
To do the export I ...
Друг сейчас спросил знаю ли я хороший ниструмент для планирования встреч в разных часовых поясах. А я как раз давно написал такой вдохновившись видео CGP Grey.
https://reivan.github.io/timezones/
https://reivan.github.io/timezones/
Меня недавно спросили почему не стоит использовать create-react-app. Собрал несколько причин в своём блоге. По большей части CRA просто медленный.
https://reivan.bearblog.dev/why-not-to-use-create-react-app/
https://reivan.bearblog.dev/why-not-to-use-create-react-app/
reivan
Why not to use Create React App
Long build times
Create React App relies on webpack and webpack is slow. Slow build times lead to delayed time to market and increased development costs.
Slo...
Create React App relies on webpack and webpack is slow. Slow build times lead to delayed time to market and increased development costs.
Slo...
Сегодня описал путь фичи от разговора с заказчиком до релиза в продакшн:
https://www.ivanrevzin.com/simple-feature-lifecycle/
Да, еще подключил свой домен к BearBlog. Не смог избавиться от www, так что придётся подучить как DNS работает.
Ещё на неделе читал:
The new wave of Javascript web frameworks
Очень хорошее и подробное описание того, откуда возникли все эти React, Angular, Vue, Svelte, Remix, Qwik, Astro. И самое главное какую задачу они призваны решать.
Why books don't work
В книгах не заложена когнетивная модель обучения, которая работала бы. Там есть лишь идея о том, что если прочитал все слова - ты научился. В статье автор пишет, что оно так не работает. Полезно тем, кто хочет учиться быстрее. И тем кто учит.
https://www.ivanrevzin.com/simple-feature-lifecycle/
Да, еще подключил свой домен к BearBlog. Не смог избавиться от www, так что придётся подучить как DNS работает.
Ещё на неделе читал:
The new wave of Javascript web frameworks
Очень хорошее и подробное описание того, откуда возникли все эти React, Angular, Vue, Svelte, Remix, Qwik, Astro. И самое главное какую задачу они призваны решать.
Why books don't work
В книгах не заложена когнетивная модель обучения, которая работала бы. Там есть лишь идея о том, что если прочитал все слова - ты научился. В статье автор пишет, что оно так не работает. Полезно тем, кто хочет учиться быстрее. И тем кто учит.
Ivan Revzin
Simple Feature Lifecycle
How do software development teams deploy features?
Here I describe a simplified process of delivering a feature form an idea to production.
Business
Product...
Here I describe a simplified process of delivering a feature form an idea to production.
Business
Product...
На этой неделе снова начал смотреть YouTube:
Premature Optimization by CodeAesthetic
Очень хорошее видео про то, как сказать очередному Кулибину на работе, что не стоит тратить время на оптимизацию, если у нас не стоит такой задачи.
day in the life of a Business Analyst at Spotify by Lillian Chiu
Data scientist создает данные для анализа. Data Analyst делает всякие графики из этих данных. Business Analyst дает рекомендации бизнесу что делать основываясь на данных.
Немного поизучал DNS. На рут домен нельзя повесить CNAME. Там в RFC где-то прописано что так нельзя. Пока не придумал решения. Есть только вариант перейти к CloudFlare, которые по слухам делают CNAME на рут домен.
Ещё почитал читшит Avoiding XSS in React applications из списка Security cheat sheets. Если кратко то нужно убрать всю фигню вроде dangerouslySetInnerHtml, innerHTML, useRef и вставить DOMPurify
И еще пара интересных личных сайтов с заметками:
https://wiki.nikiv.dev/ - Nikita Voloboev
https://notes.andymatuschak.org/ - Andy Matuschak
Hello/
Premature Optimization by CodeAesthetic
Очень хорошее видео про то, как сказать очередному Кулибину на работе, что не стоит тратить время на оптимизацию, если у нас не стоит такой задачи.
day in the life of a Business Analyst at Spotify by Lillian Chiu
Data scientist создает данные для анализа. Data Analyst делает всякие графики из этих данных. Business Analyst дает рекомендации бизнесу что делать основываясь на данных.
Немного поизучал DNS. На рут домен нельзя повесить CNAME. Там в RFC где-то прописано что так нельзя. Пока не придумал решения. Есть только вариант перейти к CloudFlare, которые по слухам делают CNAME на рут домен.
Ещё почитал читшит Avoiding XSS in React applications из списка Security cheat sheets. Если кратко то нужно убрать всю фигню вроде dangerouslySetInnerHtml, innerHTML, useRef и вставить DOMPurify
И еще пара интересных личных сайтов с заметками:
https://wiki.nikiv.dev/ - Nikita Voloboev
https://notes.andymatuschak.org/ - Andy Matuschak
Hello/
YouTube
Premature Optimization
When should you optimize your code?
Access to code examples, deleted scenes, song names and more at https://www.patreon.com/codeaesthetic
Access to code examples, deleted scenes, song names and more at https://www.patreon.com/codeaesthetic
На прошлой неделе не успел отредактировать пост, поэтому публикую сейчас.
Я сравнил несколько популярных считалок строк кода:
https://www.ivanrevzin.com/lines-of-code-are-evil/
Интересно что одна из них насчитала $100k за разработку react.
Я сравнил несколько популярных считалок строк кода:
https://www.ivanrevzin.com/lines-of-code-are-evil/
Интересно что одна из них насчитала $100k за разработку react.
Хотел ещё на прошлой неделе сделать пост в блог, про то как сконвертировать HTML Table в JSON. Но начал писать и как-то растерял весь интерес. На работе это было нужно и хотел записать на будущее. Я использовал pup, jq, fx, entr.
Подумал, раз у меня не получается писать большие посты, буду писать маленькие. Завел себе репозиторий с markdown заметками. Попробую скидывать туда быстрые записи о всяком:
- что делал: Component Reuse via Debugger
- чего не понял: Why useRef for usePrevious?
- что читал: Vue Rendering Mechanism
GitHub не очень подходит для этого, но посмотрим как получится.
P. S. Я написал этот пост в markdown формате, но теперь не знаю как его запостить в телеграм, чтобы он понял что [link](url) это ссылка. Приходится руками всё копировать и вставлять. Как всё неудобно.
Подумал, раз у меня не получается писать большие посты, буду писать маленькие. Завел себе репозиторий с markdown заметками. Попробую скидывать туда быстрые записи о всяком:
- что делал: Component Reuse via Debugger
- чего не понял: Why useRef for usePrevious?
- что читал: Vue Rendering Mechanism
GitHub не очень подходит для этого, но посмотрим как получится.
P. S. Я написал этот пост в markdown формате, но теперь не знаю как его запостить в телеграм, чтобы он понял что [link](url) это ссылка. Приходится руками всё копировать и вставлять. Как всё неудобно.
Опять я погряз в этой productivity помойке. Моя система обработки информации сейчас состоит из 3 частей:
1. Inputs: откуда поступает информация. Telegram, YouTube, социальные сети, идеи, разговоры.
2. Capture Buffers: временное хранилище, чтобы быстро записать и не думать об этом. Тут я использую Saved Messages, Google Keep, бумажный блокнот и прочее.
3. Permanent: здесь знания сохраняются навсегда. Главное чтобы всегда можно было быстро всё вспомнить.
У меня получилось разгрести Saved Messages на одном из моих телеграм аккаунтов. Хочу чтобы все мои буферы были пустыми. Что-то вроде идеи zero inbox. Но это всё прокрастинация, поэтому приходится себя одёргивать.
Чего смотрел
Меня очень обрадовало видео про Cloudflare Tunnel. Оно сразу две моих проблемы может решить. Если я начну пользоваться Cloudflare, я смогу повесить CNAME на свой root domain и даже сделать мои self-hosted сервисы на Raspberry Pi доступными из вне без VPN.
Ещё я посмотрел видео Migrating from Packer.nvim to Lazy.nvim. Подумал "ого, он столько лишнего удалил"! Да еще и конфиг каждого плагина в отдельном файле? Хочу такое! Ну и понеслась: установил Docker на свою NixOS, в докере запустил контейнер с archlinux, в арче установил Neovim, в нем написал себе конфиг с lazy.nvim и поставил несколько плагинов.
Самое забавное, что люди сейчас переходят с packer.nvim на lazy.nvim, а я до сих пор сижу на vim-plug.
И, кстати, видео уже старело. TJ DeVries уже перевел kickstart.nvim на lazy.nvim.
Хорошей недели!
1. Inputs: откуда поступает информация. Telegram, YouTube, социальные сети, идеи, разговоры.
2. Capture Buffers: временное хранилище, чтобы быстро записать и не думать об этом. Тут я использую Saved Messages, Google Keep, бумажный блокнот и прочее.
3. Permanent: здесь знания сохраняются навсегда. Главное чтобы всегда можно было быстро всё вспомнить.
У меня получилось разгрести Saved Messages на одном из моих телеграм аккаунтов. Хочу чтобы все мои буферы были пустыми. Что-то вроде идеи zero inbox. Но это всё прокрастинация, поэтому приходится себя одёргивать.
Чего смотрел
Меня очень обрадовало видео про Cloudflare Tunnel. Оно сразу две моих проблемы может решить. Если я начну пользоваться Cloudflare, я смогу повесить CNAME на свой root domain и даже сделать мои self-hosted сервисы на Raspberry Pi доступными из вне без VPN.
Ещё я посмотрел видео Migrating from Packer.nvim to Lazy.nvim. Подумал "ого, он столько лишнего удалил"! Да еще и конфиг каждого плагина в отдельном файле? Хочу такое! Ну и понеслась: установил Docker на свою NixOS, в докере запустил контейнер с archlinux, в арче установил Neovim, в нем написал себе конфиг с lazy.nvim и поставил несколько плагинов.
Самое забавное, что люди сейчас переходят с packer.nvim на lazy.nvim, а я до сих пор сижу на vim-plug.
И, кстати, видео уже старело. TJ DeVries уже перевел kickstart.nvim на lazy.nvim.
Хорошей недели!
На этой неделе меня друг спросил про то, как вкатиться в golang. Из разговоров с golang разработчиками я вспомнил, что есть как минимум 3 этапа (технического) собеседования:
1. Скрининг: тут компания отсеивает мимокрокодилов.
2. Алгоритмы: это просто легальный IQ тест.
3. System Design: здесь надо рисовать квадратики со стрелочками.
Певый вопрос на скрининге - чем слайс отличается от массива. Дальше идут все те вопросы, которые можно нагуглить по запросу "golang interview questions". Хорошего списка правда не нашёл, поэтому просто посоветовал почитать книгу The Go Programming Language - Donovan & Kernighan.
По алгоритмам стандартный ответ - LeetCode. Дал ссылку на видео где говорится, что достаточно решить 150 задач. Но есть другие сайты: algocademy.com говорит, что он лучше algoexpert.io, который говорит, что он лучше LeetCode. Есть ещё популярный гайд про то, как попасть в FAANG. И можно использовать Cracking the Coding Interview как справочник. Плюс интересный родмап от ютубера NeetCode.
System Design - это вопросы вроде "как бы вы написали свой YouTube". Тут у меня только одна ссылка в закладках была: system-design-primer.
Если есть что дополнить про то как стать Go разрботчиком - буду рад услышать.
Что запомнилось на неделе
Bryan Johnson: Kernel Brain-Computer Interfaces | Lex Fridman Podcast
А пока мы решаем LeetCode интересно послушать людей, которые уже все решили. Bryan уже в 21 понял, что надо решить проблему денег. То есть заработать достаточно, чтобы хватило на всю жизнь. Вот он решил и теперь занимается тем, что интересно.
Мне понравилась история про чашку. Lex просто рад жизни. Даже такие обычные вещи как утренний кофе делают его счастливым. У Брайана такого не бывает.
Ещё интересные идеи:
- Demotion of conscious self: не придавать большого значения субъективным ощущениям, а доверять объективным измерениям.
- Прогресс - это рост количества систем, которые работают без необходимости думать и прилагать усилия с нашей стороны.
- Zeroth-Principles Thinking
Хорошей недели!
1. Скрининг: тут компания отсеивает мимокрокодилов.
2. Алгоритмы: это просто легальный IQ тест.
3. System Design: здесь надо рисовать квадратики со стрелочками.
Певый вопрос на скрининге - чем слайс отличается от массива. Дальше идут все те вопросы, которые можно нагуглить по запросу "golang interview questions". Хорошего списка правда не нашёл, поэтому просто посоветовал почитать книгу The Go Programming Language - Donovan & Kernighan.
По алгоритмам стандартный ответ - LeetCode. Дал ссылку на видео где говорится, что достаточно решить 150 задач. Но есть другие сайты: algocademy.com говорит, что он лучше algoexpert.io, который говорит, что он лучше LeetCode. Есть ещё популярный гайд про то, как попасть в FAANG. И можно использовать Cracking the Coding Interview как справочник. Плюс интересный родмап от ютубера NeetCode.
System Design - это вопросы вроде "как бы вы написали свой YouTube". Тут у меня только одна ссылка в закладках была: system-design-primer.
Если есть что дополнить про то как стать Go разрботчиком - буду рад услышать.
Что запомнилось на неделе
Bryan Johnson: Kernel Brain-Computer Interfaces | Lex Fridman Podcast
А пока мы решаем LeetCode интересно послушать людей, которые уже все решили. Bryan уже в 21 понял, что надо решить проблему денег. То есть заработать достаточно, чтобы хватило на всю жизнь. Вот он решил и теперь занимается тем, что интересно.
Мне понравилась история про чашку. Lex просто рад жизни. Даже такие обычные вещи как утренний кофе делают его счастливым. У Брайана такого не бывает.
Ещё интересные идеи:
- Demotion of conscious self: не придавать большого значения субъективным ощущениям, а доверять объективным измерениям.
- Прогресс - это рост количества систем, которые работают без необходимости думать и прилагать усилия с нашей стороны.
- Zeroth-Principles Thinking
Хорошей недели!
ИИ создаст ад на Земле
Почему стоит бояться ИИ? Вот вам 3 примера:
Самый позитивный сценарий - это если мы все умрём. Какой-нибудь условный Microsoft получит AGI первым, убьёт всех остальных и победит в этом Battle Royale.
Чуть хуже - если мы останемся живы. Можно вспомнить, что стало с человечеством после победы Combine. Люди больше никогда не будут видеть своих родных и близких. Все вокруг будут чужаками. Если вы с кем-то подружитесь - вас переместят в другую локацию или просто терминируют. Думаете такого никогда не будет? Амазон уже разрабатывает инструменты для слежки за теми, кто хочет создать профсоюз.
Худший сценраий - это обыкновенный ад на Земле. ИИ будет знать человеческое тело лучше любого хирурга. И будет использовать самые изощренные методы пыток, которые мы даже не можем себе представить. И вы ничего не сможете сделать, потому что ИИ сделает вас бессмертным.
Хорошей недели!
Почему стоит бояться ИИ? Вот вам 3 примера:
Самый позитивный сценарий - это если мы все умрём. Какой-нибудь условный Microsoft получит AGI первым, убьёт всех остальных и победит в этом Battle Royale.
Чуть хуже - если мы останемся живы. Можно вспомнить, что стало с человечеством после победы Combine. Люди больше никогда не будут видеть своих родных и близких. Все вокруг будут чужаками. Если вы с кем-то подружитесь - вас переместят в другую локацию или просто терминируют. Думаете такого никогда не будет? Амазон уже разрабатывает инструменты для слежки за теми, кто хочет создать профсоюз.
Худший сценраий - это обыкновенный ад на Земле. ИИ будет знать человеческое тело лучше любого хирурга. И будет использовать самые изощренные методы пыток, которые мы даже не можем себе представить. И вы ничего не сможете сделать, потому что ИИ сделает вас бессмертным.
Хорошей недели!