#aoc #day01 #challenge #contest #vex
Декабрь начался, а значит время попрактиковаться в решении паззлов на AoC ⚡️. Никогда не участвовал в них на
Первый день довольно простой должен быть и не сложный на самом деле, но на всякий решение кинул на гист если будет кому интересно и захочет сравнить со своим.
GitHub Gist:
https://gist.github.com/alexwheezy/690f31912e752ca1da89f38b7d8bb861
▄▄▄ ▒█████ ▄████▄
▒████▄ ▒██▒ ██▒▒██▀ ▀█
▒██ ▀█▄ ▒██░ ██▒▒▓█ ▄
░██▄▄▄▄██ ▒██ ██░▒▓▓▄ ▄██▒
▓█ ▓██▒░ ████▓▒░▒ ▓███▀ ░
▒▒ ▓▒█░░ ▒░▒░▒░ ░ ░▒ ▒ ░
▒ ▒▒ ░ ░ ▒ ▒░ ░ ▒
░ ▒ ░ ░ ░ ▒ ░
░ ░ ░ ░ ░ ░
░ Декабрь начался, а значит время попрактиковаться в решении паззлов на AoC ⚡️. Никогда не участвовал в них на
VEX, но это может быть довольно забавный и интересный опыт учитывая, что в VEX у нас ограниченный набор структур данных и готовых алгоритмов. Первый день довольно простой должен быть и не сложный на самом деле, но на всякий решение кинул на гист если будет кому интересно и захочет сравнить со своим.
GitHub Gist:
https://gist.github.com/alexwheezy/690f31912e752ca1da89f38b7d8bb861
👍1😁1
#aoc #day02 #challenge #contest #vex
Второй день зашёл уже с говнолина 🙂 Однако самая полезная часть этого дня в этом контесте функция, итератор
GitHub Gist:
https://gist.github.com/alexwheezy/c8cd4af3bbd86fcd20a5fa520739d770
▄▄▄ ▒█████ ▄████▄
▒████▄ ▒██▒ ██▒▒██▀ ▀█
▒██ ▀█▄ ▒██░ ██▒▒▓█ ▄
░██▄▄▄▄██ ▒██ ██░▒▓▓▄ ▄██▒
▓█ ▓██▒░ ████▓▒░▒ ▓███▀ ░
▒▒ ▓▒█░░ ▒░▒░▒░ ░ ░▒ ▒ ░
▒ ▒▒ ░ ░ ▒ ▒░ ░ ▒
░ ▒ ░ ░ ░ ▒ ░
░ ░ ░ ░ ░ ░
░ Второй день зашёл уже с говнолина 🙂 Однако самая полезная часть этого дня в этом контесте функция, итератор
window которая пишется легко и бывает частенько нужна когда требует плотно поработать с парами соседних элементов в буфере. Она возвращает слайс со "скользящим окном" из буфера. "Скользящее окно" имеет длину size и на каждой итерации перемещается вперед на величину advance. Возможно будет кому-то она будет полезна, адаптировать её не только под строки не сложно, перегрузить по параметру функции можно на int[].void window(string input; int size, advance){
if(size < 1 || advance < 1){
error("Assert, size or advance must be greater zero");
return;
}
if(len(input) < size){
// Maybe return the whole string?
// Or something else
return;
}
int l = 0;
int r = len(input);
while(l < r){
string slice = slice(input, l, l + size);
// something code
if(r - l <= size) break;
l += advance;
}
}
// Tests
// Size
// window("abcdefg", 1, 1); // a, b, c, d, e, f, g
// window("abcdefg", 2, 1); // ab, bc, cd, de, ef, fg
// window("abcdefg", 3, 1); // abc, bcd, cde, def, efg
// window("abcdefg", 4, 1); // abcd bcde cdef defg
// window("abcdefg", 5, 1); // abcde bcdef cdefg
// window("abcdefg", 6, 1); // abcdef bcdefg
// Advance
// window("abcdefg", 2, 3); // ab de g
// window("abcdefg", 3, 3); // abc, def, g
// window("abcdefg", 1, 2); // a, c, e, g
// window("abcdefg", 1, 3); // a, d, gGitHub Gist:
https://gist.github.com/alexwheezy/c8cd4af3bbd86fcd20a5fa520739d770
Gist
AoC 2024 VEX Language
AoC 2024 VEX Language . GitHub Gist: instantly share code, notes, and snippets.
#3december #meme #houdini
С праздником!
Да, в
Вот и думайте! 🙂
С праздником!
Да, в
Houdini на данный момент 10 отдельных маленьких и не очень ЯП на которых можно что-то программировать, некоторые мёртвые или почти мёртвые, Hnoscript Lang и Hnoscript Expression имеют разный синтаксис, многие не считают Hnoscript Expression как таковым языком, а больше языком выражений в духе $FF > 10, однако у него тоже есть control flow: {float out = 0; for (i = 0; i < 10; i++) {out += i;} return out;}, место есть и для джаваскрипта, APEX Script похож на Python, но со статической, строгой типизацией, но вообще учитывая любовь сайдам к С-подобным языкам он не последний..или последний(?)Вот и думайте! 🙂
🎉3❤2
#houdini #python #qt #beta
Да, так получилось, что
Поэтому в
Одна из проблем решалась с помощью отключения песочницы
Однако, я всё равно не понял почему они решили всех предупредить об этом вместо того чтобы тихо допилить всё к
Тестирование продукта становится всё более открытым 🙂
Да, так получилось, что
SideFX из-за более короткого цикла разработки в 20.5 (в чём они сами признались, а иначе бы 20.5 пришлось бы двигать намного дальше от релиза) не успели перейти на следующей стандарт библиотеки PyQt6 вместе с VFX Reference Platform. Поэтому в
Houdini 20.5 мы видим достаточно много ошибок в Python Panels и других инструментах. Одна из проблем решалась с помощью отключения песочницы
QTWEBENGINE_CHROMIUM_FLAGS='--no-sandbox' для хрома, но на свой страх и риск и вот теперь они анонсировали новую бету с PyQt6 в которой будут решать все потенциальные проблемы. Однако, я всё равно не понял почему они решили всех предупредить об этом вместо того чтобы тихо допилить всё к
H21 когда всех и так злит, что H20.5 оказалась намного менее стабильная чем 20.0 и 19.5, а тут ещё и заявления, что может всё равно что-то не работать 🤡Тестирование продукта становится всё более открытым 🙂
👍2👌2😁1😢1🤡1
This media is not supported in your browser
VIEW IN TELEGRAM
#houdini #meme #python #noscripting
- Хорошо, я подниму тебе зарплату вдвое, но только если в Network Editor когда-нибудь пойдёт управляемый снег..
- Ни слова больше!
- Хорошо, я подниму тебе зарплату вдвое, но только если в Network Editor когда-нибудь пойдёт управляемый снег..
- Ни слова больше!
😁10🔥2💯1
Media is too big
VIEW IN TELEGRAM
#houdini #help #patching #estereggs
Начиная с
Но раньше ведь это работало...
Исследуем проблему. При нажатии на кнопку
Дело в том, что согласно стандарту
Не будем ждать пока они доберутся до этого тикета и сами "пропатчим" методы запроса в роутере и загрузчике и надо изменить лишь метод запроса на
p.s: в конце видео есть пасхалка, пока разбирался с роутингом, увидел, что там есть эндпоинт (
Начиная с
H20.5 сломалась загрузка примеров через внешний браузер устанавливаемый переменной HOUDINI_EXTERNAL_HELP_BROWSER, наверняка с этим кто-то так же сталкивался. Но раньше ведь это работало...
Исследуем проблему. При нажатии на кнопку
Load из документации мы посылаем на веб-сервер запрос PUT https:/127.0.0.1:xxxx/_load_example к нашему эндпоинту _load_example, однако он стабильно возвращает 404 Not Found. Дело в том, что согласно стандарту
HTML единственные допустимые значения для атрибута method - get и post, соответствующие HTTP-методам GET и POST, поэтому PUT не будет работать с атрибутом метода HTML.Не будем ждать пока они доберутся до этого тикета и сами "пропатчим" методы запроса в роутере и загрузчике и надо изменить лишь метод запроса на
POST и всё! p.s: в конце видео есть пасхалка, пока разбирался с роутингом, увидел, что там есть эндпоинт (
allicons) ведущий на все иконки в H. Кому не хватало иконок для своих инструментов в noscript? 🙂🎉4🙏1
#gaffer #katana #usd #opensource #foundry
Хотя проект
Новое из отчёта:
-
-
Какой у этого может быть use case? В отчёте они показывают как с помощью операторов можно в исходном изображении на примере шота из фильма Interstellar плашки по глубине расставить для композа в автоматическом режиме.
А так же большое количество манипуляций для фильтрации изображений, стилизации и т.д.
Так же вчера релизнулась Katana 8.0, теперь она поставляется с полной поддержкой - к
Теперь артисты могут легко конвертировать данные
Это означает, что артисты могут использовать инструменты которые они любят в
Вообще любопытно конечно насколько быстро происходит конвертация данных туда и обратно и конечно каким функционалом теперь обладает
Хотя проект
Gaffer и опенсорсный тем не менее к своим пользователям разработчики активно прислушиваются и в последнем отчёте Gaffer User Group - December 2024 показали много обновлений по части UI/UX, стало местами намного удобней и практичней. Новое из отчёта:
-
Gaffer RenderMan, да, потихоньку начали интеграцию ещё одного рендера для своего приложения помимо: 3Delight, Arnold, Cycles, работы предстоит ещё много, однако какие-то базовые вещи уже сделаны.-
Gaffer ML. Ещё одна современная гонка в технологиях это поддержка ML (Machine Learning) операторов для работы. Сделали небольшие примеры на ONNX модели. Какой у этого может быть use case? В отчёте они показывают как с помощью операторов можно в исходном изображении на примере шота из фильма Interstellar плашки по глубине расставить для композа в автоматическом режиме.
А так же большое количество манипуляций для фильтрации изображений, стилизации и т.д.
Так же вчера релизнулась Katana 8.0, теперь она поставляется с полной поддержкой - к
USD и обратно - внутри приложения.Теперь артисты могут легко конвертировать данные
Katana в родные данные USD с помощью новой ноды KatanaToUsd. Это означает, что артисты могут использовать инструменты которые они любят в
Katana и применять их к данным в USD. Без необходимости переписывать инструменты конкретно для USD. Вообще любопытно конечно насколько быстро происходит конвертация данных туда и обратно и конечно каким функционалом теперь обладает
Katana для работы с USD.🔥1
#aoc #houdini #contest #vex #hdk #python #top #expression #solaris #dop
Увидел очень прикольный, японский ресурс, где пользователи уже который год соревнуются в решении задач
https://qiita.com/advent-calendar/2024/houdini
Увидел очень прикольный, японский ресурс, где пользователи уже который год соревнуются в решении задач
Advent of Code используя Houdini. Можно почерпнуть много новых, приёмов работы и подходов для самых разных контекстов. Автопереводчики в целом справляются, поэтому проблем с пониманием быть не должно.https://qiita.com/advent-calendar/2024/houdini
Qiita
Houdini - Qiita Advent Calendar 2024 - Qiita
Calendar page for Qiita Advent Calendar 2024 regarding Houdini.
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
#houdini #vex #formatter #noscripting #python #devlog
Концепт этого маленького проекта возник давно, когда я увидел, что артисты пишут в "сниппетах" в очень разном стиле, как удобно им, однако визуально выглядит хорошо когда код "ровный" и выдержанный в едином стиле везде. Я недолюбливаю внешние редакторы кода для этого поскольку это выглядит громоздко и окна сниппета мне всегда хватало.
В
Короче говоря, мы хотим из такого:
Сделать такое:
В первой итерации проекта просто "прикрепим" фоном clang-format с гугловским стилем форматирования (по умолчанию) кода на языке C к сниппету и с колбэком на обновление сниппета, когда он меняется - код форматируется, по демонстрации видно, что уже неплохой результат получается.
Концепт этого маленького проекта возник давно, когда я увидел, что артисты пишут в "сниппетах" в очень разном стиле, как удобно им, однако визуально выглядит хорошо когда код "ровный" и выдержанный в едином стиле везде. Я недолюбливаю внешние редакторы кода для этого поскольку это выглядит громоздко и окна сниппета мне всегда хватало.
В
VEX к сожалению нет встроенного авто-форматирования кода, а SideFX не оставила спецификаций или стандартов которых можно придерживаться, поэтому все пишут по-разному. Короче говоря, мы хотим из такого:
if(1)
{
doSomething(1);
}
else if(2)
{
doSomething(1, 2);
}
Сделать такое:
if (1) {
doSomething(1);
} else if (2) {
doSomething(1, 2);
}В первой итерации проекта просто "прикрепим" фоном clang-format с гугловским стилем форматирования (по умолчанию) кода на языке C к сниппету и с колбэком на обновление сниппета, когда он меняется - код форматируется, по демонстрации видно, что уже неплохой результат получается.
🔥1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
#houdini #meme
Ну чё, народ!? Погнали, нахуй! (c)
Посылаю баф, на то чтобы читатели перестали смотреть базу по VEX обновлять постоянно драйвера, стебать мпм солвер за скорость и разобрались чем саблейер отличается от референса.
Не боялись прыгать в новом году в неизведанное, неосвоенное, новое, всё равно кому-то из вас придётся 🙂..и конечно быть/стать первооткрывателями и ведущими специалистами в своих областях. И да прибудет с вами Джефф Вагнер.
Ну чё, народ!? Погнали, нахуй! (c)
Посылаю баф, на то чтобы читатели перестали
Не боялись прыгать в новом году в неизведанное, неосвоенное, новое, всё равно кому-то из вас придётся 🙂..и конечно быть/стать первооткрывателями и ведущими специалистами в своих областях. И да прибудет с вами Джефф Вагнер.
❤14🎉5👍2
#houdini #meme
На тему модных сейчас "ред флагов", но на рабочих Гудиньщиков, поехали:
- он серьёзно относится к дизайну рабочего окружения: меняет тёмную тему оформления на белую, а лучше Pro, кастомизирует дефолтные шрифты с панелями, меняет рабочий воркспэйс с
- "по-сеньорски" сохраняет сцену (для усиления эффекта иногда с матом) несколько раз подряд чтобы точно наверняка
- считает, что перезагрузка ПК реально всегда помогает
- назначает своей приоритетной задачей написать (обязательно кастомный) "коллект для сцены" которого ещё никто не написал
- коллекционирует платные курсы, а смотрит только бесплатные
- умышленно и сильно прибедняется: показывает красивый результат, но просит не судить строго потому что он на "коленке набросал" его за пару вечеров (а на самом деле 3 месяца его пилил..)
- умышленно добивается снисхождения: показывает очень хреновый результат, но просит не судить строго потому что он на "коленке набросал" его за пару вечеров (а на самом деле 3 месяца его пилил..)
- любит всё резюмировать словами "там писать короче надо..."
- поддерживает разговор на тему, что "
- заводит свой блог чтобы всем показывать незаконченные тесты
Вот и думайте.. 🙂
На тему модных сейчас "ред флагов", но на рабочих Гудиньщиков, поехали:
- он серьёзно относится к дизайну рабочего окружения: меняет тёмную тему оформления на белую, а лучше Pro, кастомизирует дефолтные шрифты с панелями, меняет рабочий воркспэйс с
Build на Technical, потому что там есть слово Technical, а это как бы сразу всем намекает, что ты не джун еб?ный..- "по-сеньорски" сохраняет сцену (для усиления эффекта иногда с матом) несколько раз подряд чтобы точно наверняка
- считает, что перезагрузка ПК реально всегда помогает
- назначает своей приоритетной задачей написать (обязательно кастомный) "коллект для сцены" которого ещё никто не написал
- коллекционирует платные курсы, а смотрит только бесплатные
- умышленно и сильно прибедняется: показывает красивый результат, но просит не судить строго потому что он на "коленке набросал" его за пару вечеров (а на самом деле 3 месяца его пилил..)
- умышленно добивается снисхождения: показывает очень хреновый результат, но просит не судить строго потому что он на "коленке набросал" его за пару вечеров (а на самом деле 3 месяца его пилил..)
- любит всё резюмировать словами "там писать короче надо..."
- поддерживает разговор на тему, что "
SideFX уже как бы кал", но не cможет объяснить почему- заводит свой блог чтобы всем показывать незаконченные тесты
Вот и думайте.. 🙂
😁15🤡3
#houdini #vex #cghub #opensource #github
Прямо перед новым годом я законтрибьютил на CGHub оригинальную статью
Я перенёс эту статью полностью в формат
Теперь эту статью намного приятней читать прямо в браузере, она нисколько не потеряла в своей актуальности, такие вещи не устаревают, но самое главное, что теперь её расширять и исправлять стало удобней через PR на
Так, что не стесняйтесь вносить свой вклад и наполнять хаб полезным контентом!
https://pedohorse.github.io/cg-community-hub/houdini/vex
Прямо перед новым годом я законтрибьютил на CGHub оригинальную статью
Pedohorse на тему продвинутого и базового VEX'a, это тот самый труд который он выкладывал ещё в Google Docs, наверняка много кто про это помнит или слышал, видел.Я перенёс эту статью полностью в формат
Markdown и немного дополнил, то, что сам знал или являлось новым для VEX, например использование "структур на месте". Теперь эту статью намного приятней читать прямо в браузере, она нисколько не потеряла в своей актуальности, такие вещи не устаревают, но самое главное, что теперь её расширять и исправлять стало удобней через PR на
GitHub используя форк основного репозитория.Так, что не стесняйтесь вносить свой вклад и наполнять хаб полезным контентом!
https://pedohorse.github.io/cg-community-hub/houdini/vex
❤11🔥4
#animation #coding #python
Алан Бэкер с его непревзойдёнными анимационными 2д работами полными драмы, боевика и юмора, щедро приправленное разными отсылками.
https://www.youtube.com/watch?v=EFmxPMdBqmU&ab_channel=AlanBecker
Алан Бэкер с его непревзойдёнными анимационными 2д работами полными драмы, боевика и юмора, щедро приправленное разными отсылками.
https://www.youtube.com/watch?v=EFmxPMdBqmU&ab_channel=AlanBecker
YouTube
Animation vs. Coding
/(^∇^) ╯ https://brilliant.org/alanbecker
30-day free trial and 20% off 👍
🖐 ASK ME ANYTHING! ► https://www.youtube.com/noogai89/join
👕 MERCH! ► https://alanbecker.shop
💬DISCORD SERVER ► https://discord.gg/alanbecker
🕹️ANIMATORS VS GAMES ► @AnimatorsVSGames…
30-day free trial and 20% off 👍
🖐 ASK ME ANYTHING! ► https://www.youtube.com/noogai89/join
👕 MERCH! ► https://alanbecker.shop
💬DISCORD SERVER ► https://discord.gg/alanbecker
🕹️ANIMATORS VS GAMES ► @AnimatorsVSGames…
❤2
#python #github #rust #uv #packagemanager
Всё ещё собираете проекты на
Попробуйте этот чрезвычайно быстрый пакетный менеджер
Он заменяет все инструменты одним, подходит для написания простых скриптов до работы над крупными проектами, поддерживающими различные библиотечные зависимости, несколько версий и платформ
А, ну и да, этот проект от создателей
https://github.com/astral-sh/uv
Всё ещё собираете проекты на
Python и используете кучу разрозненных инструментов типа: pip,pipx,poetry,virtualenv и т.д? Попробуйте этот чрезвычайно быстрый пакетный менеджер
uv для проектов на языке Python, написанный на Blaaazziing Rust. Да, сейчас в трендах всё переписывать на Rust от системных утилит до драйверов в ядре Linux, но тут пока сложно. Он заменяет все инструменты одним, подходит для написания простых скриптов до работы над крупными проектами, поддерживающими различные библиотечные зависимости, несколько версий и платформ
Python. Подробные хайлайты в описании.А, ну и да, этот проект от создателей
Blaazzing линтера Ruff для Python.https://github.com/astral-sh/uv
GitHub
GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.
An extremely fast Python package and project manager, written in Rust. - astral-sh/uv
#houdin #hdk #cpp #github
Автор реализовал на
Задачи которые он решал:
- Implicit Time Integration
- Linear Momentum Conservation
- Acceleration of N-body Simulation
- Accelerated Nearest Search using Kd-Tree
- Gradient Descent for Mass-Spring Simulation
- Dynamic Mass-spring System using Variational Euler Time Integration
- Solving Laplace Equation with Gauss-Seidel Method
- Controlling Volume of a Mesh using Lagrange-Multiplier Method
- Rotation and Energy Minimization
- Simulation of Rigid Body Precession
На гите есть небольшая простая справка как скомпилировать эти плагины и поиграться с примерами сцен которые идут вместе с плагинами.
GitHub:
https://github.com/Xayah-Hina/Physics-based_Animation_2023S?tab=readme-ov-file
Автор реализовал на
HDK для H20.5 различные задачи прикладной математики: линейной алгебры, векторного анализа, уравнения в частных производных, вариационный принцип, оптимизация и численный анализ с помощью методов анимации для партиклов, твердых тел, упругих тел. Задачи которые он решал:
- Implicit Time Integration
- Linear Momentum Conservation
- Acceleration of N-body Simulation
- Accelerated Nearest Search using Kd-Tree
- Gradient Descent for Mass-Spring Simulation
- Dynamic Mass-spring System using Variational Euler Time Integration
- Solving Laplace Equation with Gauss-Seidel Method
- Controlling Volume of a Mesh using Lagrange-Multiplier Method
- Rotation and Energy Minimization
- Simulation of Rigid Body Precession
На гите есть небольшая простая справка как скомпилировать эти плагины и поиграться с примерами сцен которые идут вместе с плагинами.
GitHub:
https://github.com/Xayah-Hina/Physics-based_Animation_2023S?tab=readme-ov-file
🔥5