Блог*
Ir al canal en Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
Mostrar más1 922
Suscriptores
-124 horas
-37 días
-930 días
Archivo de publicaciones
1 922
Repost from Data Funk
В своей работе "Теорема о невозможности кластеризации" Клейнберг доказывает что никакой алгоритм кластеризации не может удовлетворять одновременно трем названным условиям. Масштабная инвариантность нарушается когда для определения принадлежности точки к кластеру используются относительные расстояния с заданным порогом. Насыщенность нарушается, если заранее фиксируется количество кластеров. Согласованность нарушается когда для объединения точек в кластеры используются абсолютные расстояния не превышающие некоторый порог. С другой стороны указанные критерии это субъективное представление о красивом/полезном разбиении множества на группы, с которым необязательно соглашаться. Максимально понятно, без математики, теорема описана тут.
1 922
Repost from Data Funk
Желание разложить что-угодно по группам на основе схожести - естественная черта человека, но задача кластеризации данных, почти всегда как плохое ТЗ для дизайнера - делай красиво, а не красиво не делай. Какой алгоритм кластеризации хороший, а какой плохой если сравнивать результат их работы не с чем? Джон Клейнберг из Корнеллского университета в 2002 году сформулировал три критерия хорошего алгоритма кластеризации:
- Масштабная инвариантность. Если все расстояния между точками умножить на положительное число, это не должно менять результат работы хорошего алгоритма.
- Насыщенность/разнообразие. Хороший алгоритм способен создать любую произвольную комбинацию разбиения входных данных.
- Согласованность. Если уменьшаем внутрикластерные расстояния и/или увеличиваем межкластерные, алгоритм должен возвращать то же разбиение на кластеры.
1 922
Я тут ставлю хештег csharp, но вообще-то с этим языком непосредственно материалы не связаны. Может, ввести отдельный хештег для .NET?
1 922
#prog #rust #csharp #article
Автор продолжил работать над этим кодогенератором и в процессе получил добро на Google summer of code для своего проекта и обзавёлся спонсорством на Github. Особенно впечатляет, что он этого добился в возрасте 18 лет.
Автор также опубликовал несколько заметок с отчётом о прогрессе в деле компиляции Rust в .NET CIL (Common Intermediate Language — ассемблерно-подобный платформо-независимый язык, в который компилируются языки на .NET — C#, F# и Visual Basic).
My experience working on rustc_codegen_clr - half a year retrospective (январь 2024) — как и следует из названия, автор суммирует прогресс до этой точки. Автор делится впечатлениями от работы с rustc, а также упоминает осложнения, связанные с представлением обобщённых типов в .NET.
Stack unwinding, ARM and CIL trees (март 2024) — упоминает об изменениях в кодогенераторе. Для раскрутки стека, что неудивительно, удалось задействовать нативные исключения .NET. Так автор рассказывает об изменении внутреннего представления CIL (переход от плоского списка к AST), а также о некоторых заковыках, связанных с типами нулевого размера (которые .NET-рантайм просто не поддерживает) и с разной семантикой кастов из чисел с плавающей точкой в целочисленные в Rust и CIL.
Rust to .NET compiler - Progress update (май 2024) — рассказывает о (частичной) реализации поддержки аргументов командной строки (необходимой для реализации кода, генерируемого
#[test]), а также о некотором безразличии .NET-рантайма к знакам целочисленных типов и о секретном третьем типе с плавающей точкой внутри него.
Statically Sized, dynamically sized, and other (июнь 2024) — повествует об истории одного крайне неприятного бага, связанного с деталями реализации std::fmt, и о том, как в этом проявилось неправильная компиляция. Спойлер: из-за extern type тип с неизвестным размером ≠ тип с рантайм-размером.1 922
Repost from Neural OpenNet
Игра написана на языке Си и уже присутствуют на всех компьютерах мира.
1 922
#prog #rust #article
Piccolo - A Stackless Lua Interpreter
Интепретатор Lua с рабочей сборкой мусора и дизайном, позволяющим исполнение недоверенного кода за счёт явного вызова шага работы VM.
1 922
Вы могли спросить, почему на канале нет постов за звёзды? Это потому, что звёздочки у меня уже есть. Это — вы, мои дорогие папищеки
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
