ar
Feedback
Random Rust Dev

Random Rust Dev

الذهاب إلى القناة على Telegram

Разработка на языке Rust. Пишу простыни со своими мыслями о Rust и проектах на нем.

إظهار المزيد
216
المشتركون
-124 ساعات
-27 أيام
+230 أيام

جاري تحميل البيانات...

سحابة العلامات
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
ديسمبر '24
ديسمبر '24
+3
في 0 قنوات
نوفمبر '24
+7
في 0 قنوات
Get PRO
أكتوبر '24
+25
في 2 قنوات
Get PRO
سبتمبر '24
+21
في 0 قنوات
Get PRO
أغسطس '240
في 0 قنوات
Get PRO
يوليو '240
في 2 قنوات
Get PRO
يونيو '24
+78
في 2 قنوات
Get PRO
مايو '240
في 0 قنوات
Get PRO
أبريل '24
+90
في 0 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
21 ديسمبر0
20 ديسمبر0
19 ديسمبر+1
18 ديسمبر+1
17 ديسمبر0
16 ديسمبر0
15 ديسمبر+1
14 ديسمبر0
13 ديسمبر0
12 ديسمبر0
11 ديسمبر0
10 ديسمبر0
09 ديسمبر0
08 ديسمبر0
07 ديسمبر0
06 ديسمبر0
05 ديسمبر0
04 ديسمبر0
03 ديسمبر0
02 ديسمبر0
01 ديسمبر0
منشورات القناة
Чего можно добиться изменением параметров в SnarlStyle и перегрузкой цвета фрейма хедера по типу ноды
Чего можно добиться изменением параметров в SnarlStyle и перегрузкой цвета фрейма хедера по типу ноды

2
Для интересующихся возможностями кастомных пинов. Реализация метода draw_input_pin и draw_output_pin - вызывается одинаковая
Для интересующихся возможностями кастомных пинов. Реализация метода draw_input_pin и draw_output_pin - вызывается одинаковая функция в 20 строчек
159
3
Что-то я разошелся сегодня. Добавил варианты расположения пинов. Внутри - как было, пины внутри фрейма ноды. На грани - центр+2
Что-то я разошелся сегодня. Добавил варианты расположения пинов. Внутри - как было, пины внутри фрейма ноды. На грани - центр пина на краю фрейма ноды Снаружи - пины вне ноды.
159
4
Что-то я разошелся сегодня. Добавил варианты расположения пинов. Внутри - как было На грани - центр прямо на краешке ноды Сна+2
Что-то я разошелся сегодня. Добавил варианты расположения пинов. Внутри - как было На грани - центр прямо на краешке ноды Снаружи - совсем не в ноде
1
5
Реализовал новый лайаут для нод. Раньше ноды всегда выстраивались как на первой картинке. Но был запрос на построение как на+1
Реализовал новый лайаут для нод. Раньше ноды всегда выстраивались как на первой картинке. Но был запрос на построение как на правой. Когда пины и тело широкие, нода может занимать целый экран. Теперь в SnarlStyle есть node_layout, контролирующий разметку в ноде. И каждая нода может перегрузить этот параметр через метод SnarlViewer::node_layout.
166
6
Что делать, если хотя бы одна из размерностей окна стала 0? В вулкане есть требование, что бы image и swapchain были больше 0 по всем осям. А еще есть требование, что бы размер swapchain-а был между текущими min и max, которые можно получить у девайса. Которые могут быть с нулями. Как тогда создать swapchain? Или пересоздать при изменении размера. mev предлагает пользователю API Surface, который прячет все ужасы вулканского WSI, включая семафоры, пересоздание swapchain-ов с использование механизма retire, SUBOPTIMAL и OUT_OF_DATE ситуации. При запросе следующего фрейма mev::Surface может пересоздать swapchain на лету если тот устарел... или его вообще еще нет. А так же удалит старые, когда можно будет - спасибо VK_EXT_swapchain_maintenance1 - без ожидания остановки всего девайса. Итак, swapchain безнадежно устарел, пора пересоздать. А максимальная высота и/или ширина сейчас 0. Что делать? Отдавать ошибку пользователю? Как он ее будет хэндлить? Не хотелось бы вообще думать об этом. Может создать image размера 1х1 и притвориться, что это и есть картинка для этого surface? А почему бы и нет. Как пользователь узнает? Surface же в 0 пикселей.
266
7
Посмотрел запись стрима, на котором человек взял egui-snarl и попробовал сделать на нем UI для логических цепей. Очень интересно наблюдать, как человек без предварительной подготовки просто берет и пробует использовать API, который я придумал. Для меня то он очевиден, а как для других людей… для меня это всегда было загадкой. Письменный фидбэк не дает полной картины. Что ж, завеса тайны слегка приоткрыта. Ссылка на запись стрима https://www.youtube.com/watch?v=zigPWkPm00U
259
8
Абсолютно случайно опубликовал новый crate - "vtid", что значит Volatile Type ID. "А что ж это за зверь такой?" - подумали вы, наверное. А это очень простая и совершенно ненужная 99.9% программистам вещь - это расширенный TypeId, который точно-точно меняется, если крейт перекомпилировался. Нужен он для горячих перезагрузок, а точнее для их ускорения. Идея проста, если Vtid типа остался прежним, то и тип никак не мог поменяться, потому что тогда его крейт бы перекомпилировался и Vtid поменялся. А раз тип не изменился, то можно взять да и переиспользовать его старые инстансы. В частности загруженные ассеты. Конечно Vtid меняется все же чаще чем хотелось бы. Любое изменение в крейте меняет Vtid всех типов из него и зависимых крейтах, даже если меняется только код какой-нить функции. Поэтому для уменьшения количества перезагружаемых ассетов я постараюсь типы с большими ассетами объявлять в отдельныйх крейтах-плагинах с минимумом плагинов-зависимостей. Ссылка на сам крейт https://crates.io/crates/vtid
268
9
Пришлось пойти на крайние меры, что бы сжать эту траву. Никакие предсказания не помогали с ней, хотя некоторые картинки и жал
Пришлось пойти на крайние меры, что бы сжать эту траву. Никакие предсказания не помогали с ней, хотя некоторые картинки и жались лучше. Нет, мне пришлось, образно выражаясь, расщепить атом бит!
315
10
1. В процессе обучения. 2. И доучилась. Слева-направо Картинка в bc1 Предсказание первого цвета из каждого блока. Абсолютная+1
1. В процессе обучения. 2. И доучилась. Слева-направо Картинка в bc1 Предсказание первого цвета из каждого блока. Абсолютная ошибка предсказания.
310
11
Просили больше нейронок? Получайте! На видео микронейронка учится предсказывать картинку по соседям. Цвета всех блоков на 3й
Просили больше нейронок? Получайте! На видео микронейронка учится предсказывать картинку по соседям. Цвета всех блоков на 3й картинке предсказаны нейронкой на основе соседей слева и сверху. А точнее на входе квадрат 4х4 без правого-нижнего, а на выходе собственно правый-нижний.
277
12
Я кстати понял, почему трава такая несжимаемая. Она в жипеге весит столько же, сколько bc1, там энтропия чуть ли максимальная.
242
13
Безумная идея. Сделать маленькую нейронку, которая будет пытаться предсказать следующий пиксель и после каждого пикселя чуть-чуть обучаться. Если предсказания будут точны, то разница с фактическим значением будет мала. А если почти все кодируемые значения малы, то и повторяемость последовательностей будет больше. В файл веса класть не надо. При декодировании она точно так же должна обучаться
239
14
LZ78 -> LZW 873KiB -> 799KiB
LZ78 -> LZW 873KiB -> 799KiB
245
15
Заменил байт-ориентированный выход из кромпрессора на бит-ориентированный. И сразу результат. Пришлось попотеть чуть, за то т
Заменил байт-ориентированный выход из кромпрессора на бит-ориентированный. И сразу результат. Пришлось попотеть чуть, за то теперь у меня есть std::io::{Read, Write} врапперы, чтоб писать и читать битики
236
16
Все же в сжимателе я напортачил. И compression ratio оставляет желать лучшего на сложных картинках. На простых, где много одн+1
Все же в сжимателе я напортачил. И compression ratio оставляет желать лучшего на сложных картинках. На простых, где много одного тона, там конечно да.
282
17
Реализовал компрессию блоков формата BC1 для экономии на IO. BC1 size: 362952 - 354KiB JKL size: 13151 - 12.8KiB Если я нигде
Реализовал компрессию блоков формата BC1 для экономии на IO. BC1 size: 362952 - 354KiB JKL size: 13151 - 12.8KiB Если я нигде не накосячил, то очень даже неплохой такой результат.
336
18
Продолжаю работать над сжатием картинок. Прочитал два папируса сегодня: по кодам Хаффмана и работы Лемпеля и Зива. Буду использовать сжатие без потерь, что бы пожать блоки, выданные блочными сжимателями. При чем таким образом, что бы разжать можно было эффективно на gpu
315
19
Попробовал интегрировать texpresso. Из минусов: 1. Какие-то белые пиксели. 2. Очень долго сжимает - на видео видно пролаг при
Попробовал интегрировать texpresso. Из минусов: 1. Какие-то белые пиксели. 2. Очень долго сжимает - на видео видно пролаг при нажатии на чекбокс.
316
20
На стриме я реализовывал импортер картинок в базовый RGB, что в общем-то сильно неоптимально. Поэтому время пришло для того ч
На стриме я реализовывал импортер картинок в базовый RGB, что в общем-то сильно неоптимально. Поэтому время пришло для того что бы жать картинки. Как известно, GPU нативно поддерживают блочные сжатые форматы. Реализовал сжатие в BC1. Очень простое. GUI что бы видеть результаты. Слева картинка из файла, справа она же пожатая и разжатая обратно.
273