#common #nvim #terminal
I really adore using terminal in my daily coding, because once you learned your shortcuts you become as fast as possible, but "It's not just shortcuts that unite us."
I put writing my own noscripts in the back of my mind for a long time, and now the time has come. And I did this mistake a lot of times with learning tmux, vim, etc. Spend some of your time learning tools that you use every day, it will make your life a lot easier and save you a lot of time you can spend more wisely.
Simple noscript for creating environment for course solving.
I really adore using terminal in my daily coding, because once you learned your shortcuts you become as fast as possible, but "It's not just shortcuts that unite us."
I put writing my own noscripts in the back of my mind for a long time, and now the time has come. And I did this mistake a lot of times with learning tmux, vim, etc. Spend some of your time learning tools that you use every day, it will make your life a lot easier and save you a lot of time you can spend more wisely.
Simple noscript for creating environment for course solving.
🤡12🔥5❤1
Preface
As a part of my new year’s goals list I want to start this every week posts in both of my channels(@lifes_notes @loopynerd) where I share with you some of interesting articles and videos that I’ve watched. Firstly I do it to stimulate the habit of writing, I really like to write something but sometimes just too tired or lazy for it. Then this is really cool to have all this stuff that I once upon a time read, so I can fast check on it if needed. And the last but not the least is the idea of giving something really interesting and helpful to others.
My favourite C++ leak — It’s interesting how you can get memory leaks without using
Design of memory allocator(RU) — some basics about memory allocators, especially about dlmalloc and jemalloc, found it really useful for my course project, but the author sometimes got stuck on implementations, so 2x recommended.
Память – идеальная абстракция — polished and shortened part of the second part of the lecture above.
Trojan Source — during the CAOS course in my university I dug into unicode/ascii codes and this article about exploits in code using unicode, found interesting how you can execute any code, even pass the code review.
As a part of my new year’s goals list I want to start this every week posts in both of my channels(@lifes_notes @loopynerd) where I share with you some of interesting articles and videos that I’ve watched. Firstly I do it to stimulate the habit of writing, I really like to write something but sometimes just too tired or lazy for it. Then this is really cool to have all this stuff that I once upon a time read, so I can fast check on it if needed. And the last but not the least is the idea of giving something really interesting and helpful to others.
My favourite C++ leak — It’s interesting how you can get memory leaks without using
new/delete, btw we had this problem maybe a month ago with a friend of mine.Design of memory allocator(RU) — some basics about memory allocators, especially about dlmalloc and jemalloc, found it really useful for my course project, but the author sometimes got stuck on implementations, so 2x recommended.
Память – идеальная абстракция — polished and shortened part of the second part of the lecture above.
Trojan Source — during the CAOS course in my university I dug into unicode/ascii codes and this article about exploits in code using unicode, found interesting how you can execute any code, even pass the code review.
🤔3❤1🤡1
ZED — new text editor
I've tried it one evening just to understand that there is nothing better than nvim for me now.
This editor is cool, yes, but I don't know why should I use it instead of simple terminal + tmux + nvim. Maybe if I had no my own config it would be great to have c++ and etc. language server from the box, but that's all. The main idea that it provides fast start and it plays really fast starts to fall apart when you want to add some new features because you have to add it throw json config, then it doesn't metter where to add it in your own nvim config or in theirs json. I can assume that a lot of people really don't know how to use vim and this editor is going to change their mind. So if you are still using Clion or some other IDE feel free to try it.
I've tried it one evening just to understand that there is nothing better than nvim for me now.
This editor is cool, yes, but I don't know why should I use it instead of simple terminal + tmux + nvim. Maybe if I had no my own config it would be great to have c++ and etc. language server from the box, but that's all. The main idea that it provides fast start and it plays really fast starts to fall apart when you want to add some new features because you have to add it throw json config, then it doesn't metter where to add it in your own nvim config or in theirs json. I can assume that a lot of people really don't know how to use vim and this editor is going to change their mind. So if you are still using Clion or some other IDE feel free to try it.
👍4🐳2❤1💯1
Telegraph — Vanya wrote summarized artcile about bimap. Didn’t hear about this data structure before, got inspired by.
Oh my fibers — a good overview of fibers, can be used as an recap or an entering point.
Oh my fibers — a good overview of fibers, can be used as an recap or an entering point.
❤4
https://habr.com/ru/articles/111874/ -- TRIE explanation and some ideas where to use it
https://www.youtube.com/watch?v=_doRiQS4GS8 -- a baseline to understand how concepts and metaprogramming works. Found it easy to understand but need more materials to actually understand.
https://www.cs.umb.edu/~poneil/lsmtree.pdf -- during my internship at YTSaurus and now in SaaS finally decided to read something about LSM trees. A little bit more then on wiki.
https://en.wikipedia.org/wiki/Bloom_filter -- need to know probabilistic data structure to fast determination if elements exists or no
https://www.youtube.com/watch?v=_doRiQS4GS8 -- a baseline to understand how concepts and metaprogramming works. Found it easy to understand but need more materials to actually understand.
https://www.cs.umb.edu/~poneil/lsmtree.pdf -- during my internship at YTSaurus and now in SaaS finally decided to read something about LSM trees. A little bit more then on wiki.
https://en.wikipedia.org/wiki/Bloom_filter -- need to know probabilistic data structure to fast determination if elements exists or no
❤1
Trading at light speed -- dive into accurate data orginizing while developing trading system. Gives some cool point about "premature optimizations" and designing your system "fast"
FSync(danlark) -- some thoughts about fsync from danlark. I find it interesting how we sometimes can't do simple things for years. Moving some operations directly into the kernel gives huge cuts, but it took a very long time to do it.
FSync(danlark) -- some thoughts about fsync from danlark. I find it interesting how we sometimes can't do simple things for years. Moving some operations directly into the kernel gives huge cuts, but it took a very long time to do it.
🤡6👍4🦄1
redir cpp -- post about cpp and linux, a bit demagogy but had fun reading
metrics -- common knowledge about metrics distribution
cmu databases-- lateral explanation, some databases basic commands
Limit Order Book -- introduction to trading, basic knowledge
Highload.Fun -- pretty good competition platform where you can optimize your code untill it runs blazingy fast
metrics -- common knowledge about metrics distribution
cmu databases-- lateral explanation, some databases basic commands
Limit Order Book -- introduction to trading, basic knowledge
Highload.Fun -- pretty good competition platform where you can optimize your code untill it runs blazingy fast
👍1🐳1
Pprof -- a tool for visualization and analysis of profiling data
Jobserver implementation -- explains the GNU make "jobserver" feature, which enables parallel execution of jobs by managing how many commands can run simultaneously.
Distributed locking -- discusses concerns about the Redlock algorithm for implementing fault-tolerant distributed locks with Redis
https://libcxx.llvm.org/Hardening.html
Pricing Options Using Monte Carlo Simulation -- a beautiful short video about trading using Monte Carlo algorithm, short, pleasant, useful
Jobserver implementation -- explains the GNU make "jobserver" feature, which enables parallel execution of jobs by managing how many commands can run simultaneously.
Distributed locking -- discusses concerns about the Redlock algorithm for implementing fault-tolerant distributed locks with Redis
https://libcxx.llvm.org/Hardening.html
Pricing Options Using Monte Carlo Simulation -- a beautiful short video about trading using Monte Carlo algorithm, short, pleasant, useful
👍1🐳1
https://www.dragonflydb.io/blog/dragonfly-cache-design -- tell how they have implemented a cache, which is kind of better than LRU due to hit rate analysis.
👍5🐳1🤨1
Как-то в моменте понял, что когда хочется что-то написать в этот канал часто думаю, а надо ли, а как это сделать на английском, в итоге много материала, который я поглащаю уходит в стол, решил так не делать. Пока я хочу блог будет на русском. Может когда-нибудь и на английском будет...
Lecture 3: GFS
Хорошее обзорное видео про то как устроена и зачем вообще нужна GFS, на самом деле там много обсуждается скорее проблема хранения больших данных, нежели статья. Мне понравилось.
Вастрик пост
Много, очень много полезных рассылок, я подписался на пару, думаю пофилтровать какое-то время что-то оттуда и достать самое полезное, если тлдр что я оттуда взял, это темы: финансы, менеджмент продукта, новости стартапов и т.п.
Лекция про безопасноть(Яндекс)
Какие-то обьективные базы про то, как происходит общение в сети и что вообще произойдёт, когда ты придёшь и напишешь в строке браузера ya.ru
Lecture 3: GFS
Хорошее обзорное видео про то как устроена и зачем вообще нужна GFS, на самом деле там много обсуждается скорее проблема хранения больших данных, нежели статья. Мне понравилось.
Вастрик пост
Много, очень много полезных рассылок, я подписался на пару, думаю пофилтровать какое-то время что-то оттуда и достать самое полезное, если тлдр что я оттуда взял, это темы: финансы, менеджмент продукта, новости стартапов и т.п.
Лекция про безопасноть(Яндекс)
Какие-то обьективные базы про то, как происходит общение в сети и что вообще произойдёт, когда ты придёшь и напишешь в строке браузера ya.ru
❤6🗿3🔥1🐳1
ThreadSafetyAnalysis
Прикольная тулза разрабатываемая гуглом для стаического анализа дата рейсов в плюсовом коде, она конечно требует анотаций и доп код, насколько я понял, но то, что такое развивается это круто.
Прикольная тулза разрабатываемая гуглом для стаического анализа дата рейсов в плюсовом коде, она конечно требует анотаций и доп код, насколько я понял, но то, что такое развивается это круто.
👍3
HTTPWTF. Необычное в обычном протоколе
Много всякой полезной информации про HTTP протокол, там же внутри ссылка на то, как Твиттер кешировал ваши личные переписки из-за ошибки в хедере и о том, как вебсокеты игнорят стандарты CORS
DeadLockEmpire
Игра на потренироваться думать как шедулер и сломать плохо написанный код. Спасибо Роме Липовскому за это:)
Много всякой полезной информации про HTTP протокол, там же внутри ссылка на то, как Твиттер кешировал ваши личные переписки из-за ошибки в хедере и о том, как вебсокеты игнорят стандарты CORS
DeadLockEmpire
Игра на потренироваться думать как шедулер и сломать плохо написанный код. Спасибо Роме Липовскому за это:)
👍5❤2
Generic: Change the Way You Write Exception-Safe Code — Forever
Небольшая статейка про то как мы должны были бы писать обработку ошибок в плюсовом коде, но, к сожалению, рыночек порешал и ничего подобного мы не пишем.
When should you use ( ) vs. { } syntax to initialize objects?
Герб Саттер про использование скобочек-конструкторов в плюсах. Очень мастрид.
Быстрый json
Когда пишешь что-то на python обычно не паришься и импортишь стандратную либу, которая работает. Но оказывается есть ujson и orjson, которые написаны на си/rust и работают в 3-6 раз быстрее и экономнее по памяти. Лушче использовать их, но из минусов их надо ставить...
Небольшая статейка про то как мы должны были бы писать обработку ошибок в плюсовом коде, но, к сожалению, рыночек порешал и ничего подобного мы не пишем.
When should you use ( ) vs. { } syntax to initialize objects?
Герб Саттер про использование скобочек-конструкторов в плюсах. Очень мастрид.
Быстрый json
Когда пишешь что-то на python обычно не паришься и импортишь стандратную либу, которая работает. Но оказывается есть ujson и orjson, которые написаны на си/rust и работают в 3-6 раз быстрее и экономнее по памяти. Лушче использовать их, но из минусов их надо ставить...
👍2🔥2❤1
What is Backoff For?
Что такое бекоффы, как их использовать. Почему мы не хотим ложить наши сервера:) К слову как раз сейчас на работе занимаюсь тем, что настраиваю везде у нас бекоффы, т.к. никто об этом не задумался вначале. Оттуда же можно достать ещё две статьи: Original Backoff nad Jitter и Fixing retries
Benefits of isolation provided by containers
Какой-то фаст бриф про контейнеры(docker) от девушки из гугла. Меня конкретно там интересовало то, как устроенно распределение ресурсов и за счёт чего.
Regex101
Песочница-обучалка для регексп выражений. Можно удобно потыкать понять как писать, что делать и т.п.
The most important thing to understand about queues
Хорошая статья про то как вообще планировать нагрузку на свои сервисы и насколько сильно они могут тормозить когда нагрузка начинает увеличиваться. Там к слову про сервисы нет ни слова, но не мешает пониманию.
Что такое бекоффы, как их использовать. Почему мы не хотим ложить наши сервера:) К слову как раз сейчас на работе занимаюсь тем, что настраиваю везде у нас бекоффы, т.к. никто об этом не задумался вначале. Оттуда же можно достать ещё две статьи: Original Backoff nad Jitter и Fixing retries
Benefits of isolation provided by containers
Какой-то фаст бриф про контейнеры(docker) от девушки из гугла. Меня конкретно там интересовало то, как устроенно распределение ресурсов и за счёт чего.
Regex101
Песочница-обучалка для регексп выражений. Можно удобно потыкать понять как писать, что делать и т.п.
The most important thing to understand about queues
Хорошая статья про то как вообще планировать нагрузку на свои сервисы и насколько сильно они могут тормозить когда нагрузка начинает увеличиваться. Там к слову про сервисы нет ни слова, но не мешает пониманию.
🔥7
Consistency Models
Небольшая карта по моделям консистентности моделей распределенных систем, в тоже время можно легко применять к канкаренси.
Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки
Название говорит само за себя. Можно подчерпнуть идеи для ускорения своего рантайма. Единственное мне не хватило каких-то бенчмарков, т.к. померяли время компиляции, померяли оверхед по памяти, а выйграли то что?
MMU
Дима закинул хорошую статейку чтобы не забыть что такое MMU и как это работает.
Небольшая карта по моделям консистентности моделей распределенных систем, в тоже время можно легко применять к канкаренси.
Сергей Добычин — constexpr-аллокатор для контейнеров стандартной библиотеки
Название говорит само за себя. Можно подчерпнуть идеи для ускорения своего рантайма. Единственное мне не хватило каких-то бенчмарков, т.к. померяли время компиляции, померяли оверхед по памяти, а выйграли то что?
MMU
Дима закинул хорошую статейку чтобы не забыть что такое MMU и как это работает.
❤2👍2
C++23 — финал, C++26 — начало
Чуть-чуть почитал про C++23/26. Постец, к слову, от Яндекса, где я пока разрабатываю поиск:)
Google I/O 2012 - Go Concurrency Patterns
Как пишется канкаренси в GoLang. Очень приятный доклад, идёт как сериальчик.
Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency
Какая-то мега база про то как в го реализован шедулер, как там потокигорутины кушают очереди, крадут таски друг у друга и т.п.
Чуть-чуть почитал про C++23/26. Постец, к слову, от Яндекса, где я пока разрабатываю поиск:)
Google I/O 2012 - Go Concurrency Patterns
Как пишется канкаренси в GoLang. Очень приятный доклад, идёт как сериальчик.
Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency
Какая-то мега база про то как в го реализован шедулер, как там потоки
❤4
Designing Robust APIs: C++ Code that's Safe, Extensible, Efficient & Easy to Use
Очень хороший доклад про дизайн API при написании библиотечного и не только кода. Докладчик AФлександр Фокин сам по себе очень хорош и является основателем WG21. Рекомендую.
Consistent hashing
Вообще во время курса распределенок в вышке я уже познакомился с этой прекрасной техникой. Но тут тоже хорошо описано. Заставило подумать почему такого курса нет в вышке. Явно упущение, возможно когда-нибудь приду вести что-то подобное.
Mutable C++
Знал о существовании, не знал как использовать. Воткнулся как раз во втором кейсе, когда нужно было модифицировать значение в лямбде, а код не компилировался и неочевидно было почему. Теперь чуть более очевидно.
Очень хороший доклад про дизайн API при написании библиотечного и не только кода. Докладчик A
Consistent hashing
Вообще во время курса распределенок в вышке я уже познакомился с этой прекрасной техникой. Но тут тоже хорошо описано. Заставило подумать почему такого курса нет в вышке. Явно упущение, возможно когда-нибудь приду вести что-то подобное.
Mutable C++
Знал о существовании, не знал как использовать. Воткнулся как раз во втором кейсе, когда нужно было модифицировать значение в лямбде, а код не компилировался и неочевидно было почему. Теперь чуть более очевидно.
👍4❤2
Redis
Архитектура, способы использования, как использовать и вообще хорошая статья около расперделенок.
Spinlock
Добротный такой, качественный спинлок со всеми оптимизациями.
Airflow
Краткий обзор на то, что это такое(запускаем задачи строим графы вычислений) и как с этим работать
Пост получился уж совсем какой-то обзор инструментов, но думаю полезно знать что вообще существует и потом заюзать это где-то у себя, чем навелосипедить и превратиться в **.
Архитектура, способы использования, как использовать и вообще хорошая статья около расперделенок.
Spinlock
Добротный такой, качественный спинлок со всеми оптимизациями.
Airflow
Краткий обзор на то, что это такое(запускаем задачи строим графы вычислений) и как с этим работать
Пост получился уж совсем какой-то обзор инструментов, но думаю полезно знать что вообще существует и потом заюзать это где-то у себя, чем навелосипедить и превратиться в **.
❤5👍1💘1🦄1
The personal site of Kris Machowski
Мне очень понравилось его объяснение order book и в целом на сайтике достаточно много полезной информации про финансовую сферу.
Why Is My C++ Build So Slow? Compilation Profiling and Visualization
Хороший доклад про анализ своего плюсового кода, что где оптимизировать, зачем юзать модули, как смотреть что забирает много времени при сборке, трейсинг, pre-compiled headers.
RCU
Про то как в линуксе оптимизированы синхронизации данных.
C++ vtables. Часть 1 (basics + multiple Inheritance)
Какое-то жонглирование виртуальным наследованием в плюсах. Пришлось дойти до этой статьи после того как меня на собесе попросили пожонглировать этим в голове. Не уверен в полезности таких глубоких знаний в реально жизни, но для общего развития норм.
TCP Congestion Control или Почему скорость прыгает
Прикольные графички на тему разных алгоритмов оптимизации скорости/потери пактов для TCP.
Мне очень понравилось его объяснение order book и в целом на сайтике достаточно много полезной информации про финансовую сферу.
Why Is My C++ Build So Slow? Compilation Profiling and Visualization
Хороший доклад про анализ своего плюсового кода, что где оптимизировать, зачем юзать модули, как смотреть что забирает много времени при сборке, трейсинг, pre-compiled headers.
RCU
Про то как в линуксе оптимизированы синхронизации данных.
C++ vtables. Часть 1 (basics + multiple Inheritance)
Какое-то жонглирование виртуальным наследованием в плюсах. Пришлось дойти до этой статьи после того как меня на собесе попросили пожонглировать этим в голове. Не уверен в полезности таких глубоких знаний в реально жизни, но для общего развития норм.
TCP Congestion Control или Почему скорость прыгает
Прикольные графички на тему разных алгоритмов оптимизации скорости/потери пактов для TCP.
❤7🍾1
What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024
Мега крутой доклад от создателя Godbolt. Много простого но полезного про устройство процессора. Рассказал ещё фичу с тем, что на самом деле можно делить не используя деления, когда мне это рассказал @ifsmirnov на паре:)
The Fancy Algorithms That Make Your Computer Feel Smoother
Какая-то fancy лекция про то как шедулер работает и почему у нас не фризится всё на экране когда ядра переключаются.
nsjail
не Гугловская утиля для изоляции ресурсов между процессами. Круто. Годболт юзает её для своего сайта.
P.S. Очень много про Мэтта получилось, но я не специально, просто звёзды так сошлись
Мега крутой доклад от создателя Godbolt. Много простого но полезного про устройство процессора. Рассказал ещё фичу с тем, что на самом деле можно делить не используя деления, когда мне это рассказал @ifsmirnov на паре:)
The Fancy Algorithms That Make Your Computer Feel Smoother
Какая-то fancy лекция про то как шедулер работает и почему у нас не фризится всё на экране когда ядра переключаются.
nsjail
❤6🤔1