Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
631 - Telegram Web
Telegram Web
Кст, я один тот шиз который когда генерит uuid проверят, что он не совпадает с уже сгенеренными кем то раньше(ну речь про исходные коды), я понимаю что шанс не реален, но бля когда я думаю о такой баге мне становится очень страшно и я все равно проверяю
https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html
Мне казалось я кидал ссылку на эту книжку, но оказалось что нет, держите. Очень интересная и вообще рекомендую
Накидайте в коменты или лс каких-нибудь интересных каналов/подкастов про плюсы, графику, распределенные системы, многопоточку, операционные системы, про компиляторы тоже можно, но они все ещё говно. Если в итоге что-то из того что я читаю не скинут я тоже скину ы
Как именно вы бы обработали то, что список может измениться?
Ну кажется тупое решение очевидно, скопировать список перед нотификациями, но это кажется дорогим.

Из того, что мне пришло в голову это помимо списка наблюдателей, завести список действий добавить/удалить/етс наблюдателя и выполнять его в начале метода notify

На работе у нас используется первый подход, с некоторыми оптимизациями, например наблюдатели копируются в small_vector, если их немного он не полезет в кучу и сохранит их на стеке.
https://gist.github.com/zeux/3ce4fcc3a43072b4315abde95319ecb6
Прикольные замеры, хотя я и полностью солидарен с тем что какой-нибудь хромиум куда интереснее.
Кст библиотека meshoptimizer тоже выглядит интересной, но пока не разбирался подробно
Почему все баги над которыми я долго страдаю такие тупые?
Прикольный пост про преподавание проги https://vas3k.club/post/938, я не препод, но был студентом на многих курсах, и как студент согласен практически со всем
https://www.ralfj.de/blog/2020/12/14/provenance.html интересный пост про баг в оптимизации ир, ну и собственно что с этим можно сделать. Ну а возникает из-за того что компилятор учитывает то что указатели это не просто числа
Loser story
10.1.1.59.3971.pdf
Наткнулся на любопытный вариант имеющий смысл для линий толщина которых зависит от масштаба: https://www.imaginationtech.com/blog/grlaa-for-anti-aliasing-in-nav-applications
Вообще вопрос известный, например есть глава в гемсах древних на тему:
https://developer.nvidia.com/gpugems/gpugems2/part-iii-high-quality-rendering/chapter-22-fast-prefiltered-lines
Хотя сейчас не советую рисовать линии как gl_lines так как нельзя за один вызов отрисовать линии разной толщины и главное LineWidth гарантированно поддерживает только 1, ну в большинстве случаев 1 <= x <= 10, но даже так с не целыми будет убого.

Собственно я чего старые ссылки начал смотреть, сегодня про это вспоминал и вот решил убедится что не наврал нигде.

Вообще меня привлекает идея рисовать gl_lines, а потом в геометрическом шейдере превращать их в триангл стрипы, но я не попробовал так, с не которым шансом это довольно убого будет, в skia path renderer несколько похожий подход, правда они тессилируют (писал про это выше немного) путь в набор треугольников, ну там сложнее потому что рассчитано и на кривые безье например плюс у них довольно высокие требования по гладкости получаемых линий (по крайне мере в пейперах, ну и выглядит красиво)
https://www.tgoop.com/korovany/911 тут про пиратство, но мне вот другое любопытно, как вы относитесь к пиратству книжек?

Поясню, в целом мне кажется я бы вполне мог покупать те книги, которые прочитал целиком. Но слишком сложно заставить себя тратить деньги, когда я с таким же удобством могу скачать pdf бесплатно.

Например я покупаю игры в стиме не потому что я какой-то очень порядочный, а скорее потому что мне удобно иметь библиотеку в одном месте, легко запускать и устанавливать, нет необходимости как правило лазать по раздачам, есть скидки, ну и приятно что купил, а не спиратил, с книгами же только один пункт, ещё и стоят обычно дофига(

И в целом я к чему веду, почему для книг не придумали чего-то что дало мне больше чем просто нужная пдфка? Или придумали но я не в курсе?

Вообще речь шла скорее про техническую литературу, но отчасти можно наверно и не только про нее так написать, просто ее я почти не читаю
В общем я тут побывал на собесах, что спрашивали: много всего про плюсы, найти среднее на slice window, бинпоиск, про вертикальную ось симметрии на Z^2, была задача на дизайн сервиса для подсказок пользователю текста на основе уже введённой строки и баунд бокса экрана и возможно позиции пользователя, ещё было на дизайн сервиса для ci, который запускает бенчмарки на девайсах и выдает статистику.

В собесе про рендер в основном говорили про то что делал я, да и в целом кажется довольно много рассказывал про то что делал.

В общем ничего страшного зря повторял математику и нетривиальные алгоритмы.

Получил оффер от мейла, нужно будет писать рендер тайловых карт, в общем попозже напишу немного и про это и про свою работу wartsila
https://github.com/alex/what-happens-when в одном месте кинули ссылку, я ожидал что будет любопытно, но мне не понравилось. https://github.com/vasanthk/how-web-works а вот это прочитать было интереснее, хоть и видно что это частично копипаста
О это про меня в том смысле что сейчас ухожу с работы и написал кучу туду, правда пришлось таски по ним ещё завести
Ну все, я официально безработный
Loser story
В общем я тут побывал на собесах, что спрашивали: много всего про плюсы, найти среднее на slice window, бинпоиск, про вертикальную ось симметрии на Z^2, была задача на дизайн сервиса для подсказок пользователю текста на основе уже введённой строки и баунд…
В общем пишу про работу тут, в целом почти все над чем я работал, особенно после стажки было очень интересным, например почти весь последний год писал новый рендер картографии, где-то даже успели на него перейти уже, а с декабря делал (уже не один правда) рендер погоды. Немного обидно что у нас не опенсурс, я бы хотел посмотреть что там дальше будет.
В целом было классно, пожалуй главные минусы лично для меня это зарплата, ну и немного раздражало отсутствие экспертизы, и при этом завышенное чсв у некоторых коллег, но наверное неприятные коллеги могут быть везде, в основном все нормальные были.

В мейле буду писать с нуля рендер тайловых карт (open street map формат, опенсурс аналоги mapbox gl native, omim), правда тут уже на vulkan и metal. Кажется я первый чел которого они набрали в команду рендера, так что мб если знаете кого-то кому интересно, говорили будут ещё набирать. Немного стремно прям совсем с нуля проект, на старой работе было хотя бы все вокруг рендера, но думаю все получится, да и в целом очень интересный опыт.
Loser story
Вы никогда не задумывались над такой штукой: часто бывает в плюсах, что некоторые объекты создаются только как указатель в куче, и иногда такие объекты содержат массив фиксированного, но к сожалению известного только в рантайме размера, в таком кейсе вообще…
В общем история имеет продолжение, в llvm существует класс реализующий такой паттерн:
https://llvm.org/doxygen/TrailingObjects_8h.html

Сама идея тривиальна, давайте вместо аллокации под структуру с указателями и отдельными аллокациями на каждый массив сделаем одну большую аллокацию под все массивы + структуру.
Получим 1 аллокацию вместо н + 1, плюс уменьшаем уровень косвенности для доступа к массивам. В llvm написали обертку за которой скрыли вычисления размера аллокации и соответственно адреса по которым валидно обращаться, с учётом выравнивания.

В си для одного массива такое сделать попроще, называется flexible array member.

Лично я к сожалению костылил для одного конкретного кейса такое и не делал общего паттерна, круто если кто-то знает/сделает хорошую опенсурс мит реализацию, мне кажется довольно популярный и красивый кейс.
Блин все эти переименования чатов, жесть, я чуть не вышел с парочки на автомате
Как же я проиграл
2025/01/07 03:50:44
Back to Top
HTML Embed Code: