commit -m "better"
Коллеги из #hyprland изобретают херобору:
И опять, коллеги из #hyprland изобретают #herobora:
https://blog.vaxry.net/articles/2025-dbusSucks
Tl;DR - чувак устал от dbus (в целом, его критика справедлива), и:
"I've had enough of D-Bus in my apps. I would greatly benefit from a session (and later, system) bus for my ecosystem, but I will not stand the absolute shitfest that D-Bus is.
That is why, I've decided to take matters into my own hands. I am writing a new bus. From the ground up, with zero copying, interop, or other recognition of D-Bus. There are so many stupid ideas crammed into D-Bus that I do not wish to have any of them poison my own"
https://github.com/hyprwm/hyprtavern
Надо брать, я считаю!
https://blog.vaxry.net/articles/2025-dbusSucks
Tl;DR - чувак устал от dbus (в целом, его критика справедлива), и:
"I've had enough of D-Bus in my apps. I would greatly benefit from a session (and later, system) bus for my ecosystem, but I will not stand the absolute shitfest that D-Bus is.
That is why, I've decided to take matters into my own hands. I am writing a new bus. From the ground up, with zero copying, interop, or other recognition of D-Bus. There are so many stupid ideas crammed into D-Bus that I do not wish to have any of them poison my own"
https://github.com/hyprwm/hyprtavern
Надо брать, я считаю!
blog.vaxry.net
Vaxry's Blog
A programming blog written by Vaxry.
🆒19❤10🤪7😁4🤩4💊3
Forwarded from Русский финтех, е-ком и бизнес
В Госдуме заявили, что YouTube полностью отключат в России в течение 6–12 месяцев. По словам депутата Андрея Свинцова, РКН будет постепенно ограничивать работу платформы «до полного выдавливания». @fintex
🤡53🤮24🫡5❤2🆒1
Forwarded from Кримсон Дайджест
Минутка забавных наблюдений за «финансовым пузырём искусственного интеллекта».
В свежем мегаисследовании от Deutsche Bank на тему Искусственного Интеллекта обращает на себя прекрасный в своей наглядности график (он приложен к посту). Поразительный дисконнект между наукой и баблом.
На графике представлена подразумеваемая вероятность (0-100%) того, что в ближайшие 5 лет будет создан «общий ИИ» (AGI) — т. е. «ИИ с когнитивными функциями (гениального) человеческого уровня, включая способность к самообучению».
Тёмная синяя линия на графике — это бабло. Конкретно, вероятность того, что в ближайшие 5 лет будет создан общий самообучающийся ИИ, вычисленная Deutsche Bank из денег, вложенных в датацентры (с чипами Nvidia, серверами и т. д.).
Голубая линия на графике — это наука. Т. е. вероятность создания в ближайшие 5 лет того самого самообучающегося мега-ИИ, вычисленная из научных статей и моделей развития ИИ.
Пару (очевидных и не очень) заметок на полях:
1. Деньги в тему ИИ вкладываются так, как будто вероятность появления «мегамощного ИИ» (который будет учиться и думать как человек, только лучше) равна 100%, т. е. вот реально «точняк-верняк-зуб-даю».
2. Пик оптимизма самих исследователей прошёл полтора года назад, а сейчас оценка вероятности где-то 20% (прим. Кримсон: это не моя оценка, и я не специалист. Мои собственные скромные знания по кибернетике шепчут мне, что вероятность сделать из LLM настоящий AGI примерно 0%, но вступать в религиозные споры с верующими в техносингулярность и т. д. мне не хочется).
3. Практическая заметка на полях: парадоксальным образом самой лучшей ставкой на тему «развития и роста ИИ» могут показаться не акции Nvidia и не акции Google или ещё что-то в этом роде, а банальное золото. Логика следующая: для того чтобы «спасти» вот всех тех (а это крупные корпорации, становой хребет экономики США, главные политические спонсоры обеих партий и единственная надежда на сохранение технологической гегемонии США и т. д.), кто сейчас вбухивает триллионы долларов в бесперспективные датацентры, ФРС США в обозримой перспективе придётся печатать баксы ТАК АКТИВНО, что эпизоды типа 2009 или 2020 покажутся просто лёгкой разминкой перед марафоном.
Это не значит, что «ИИ — фейк» и т. д.
Нет, просто от инвестиций в ИИ для инвесторов будет просто куча боли и неоправданных ожиданий.
А вот опустить на социальное дно для начала пару-тройку-четвёрку миллиардов землян (работников алгоритмизируемого офисного, псевдоинтеллектуального и/или креативного класса) он вполне может уже на текущем уровне развития и обязательно это сделает. А уж стать цифровым наркотиком, от (добровольного) употребления которого миллиарды землян разучатся самостоятельно что-то понимать и думать (а с учётом уже существующих и совершенствующихся ИИ-бойфрендов для леди и ИИ-порно-подружек для мужчин — ещё и общаться с представителями противоположного пола окончательно разучатся) — это тем более гарантировано.
В свежем мегаисследовании от Deutsche Bank на тему Искусственного Интеллекта обращает на себя прекрасный в своей наглядности график (он приложен к посту). Поразительный дисконнект между наукой и баблом.
На графике представлена подразумеваемая вероятность (0-100%) того, что в ближайшие 5 лет будет создан «общий ИИ» (AGI) — т. е. «ИИ с когнитивными функциями (гениального) человеческого уровня, включая способность к самообучению».
Тёмная синяя линия на графике — это бабло. Конкретно, вероятность того, что в ближайшие 5 лет будет создан общий самообучающийся ИИ, вычисленная Deutsche Bank из денег, вложенных в датацентры (с чипами Nvidia, серверами и т. д.).
Голубая линия на графике — это наука. Т. е. вероятность создания в ближайшие 5 лет того самого самообучающегося мега-ИИ, вычисленная из научных статей и моделей развития ИИ.
Пару (очевидных и не очень) заметок на полях:
1. Деньги в тему ИИ вкладываются так, как будто вероятность появления «мегамощного ИИ» (который будет учиться и думать как человек, только лучше) равна 100%, т. е. вот реально «точняк-верняк-зуб-даю».
2. Пик оптимизма самих исследователей прошёл полтора года назад, а сейчас оценка вероятности где-то 20% (прим. Кримсон: это не моя оценка, и я не специалист. Мои собственные скромные знания по кибернетике шепчут мне, что вероятность сделать из LLM настоящий AGI примерно 0%, но вступать в религиозные споры с верующими в техносингулярность и т. д. мне не хочется).
3. Практическая заметка на полях: парадоксальным образом самой лучшей ставкой на тему «развития и роста ИИ» могут показаться не акции Nvidia и не акции Google или ещё что-то в этом роде, а банальное золото. Логика следующая: для того чтобы «спасти» вот всех тех (а это крупные корпорации, становой хребет экономики США, главные политические спонсоры обеих партий и единственная надежда на сохранение технологической гегемонии США и т. д.), кто сейчас вбухивает триллионы долларов в бесперспективные датацентры, ФРС США в обозримой перспективе придётся печатать баксы ТАК АКТИВНО, что эпизоды типа 2009 или 2020 покажутся просто лёгкой разминкой перед марафоном.
Это не значит, что «ИИ — фейк» и т. д.
Нет, просто от инвестиций в ИИ для инвесторов будет просто куча боли и неоправданных ожиданий.
А вот опустить на социальное дно для начала пару-тройку-четвёрку миллиардов землян (работников алгоритмизируемого офисного, псевдоинтеллектуального и/или креативного класса) он вполне может уже на текущем уровне развития и обязательно это сделает. А уж стать цифровым наркотиком, от (добровольного) употребления которого миллиарды землян разучатся самостоятельно что-то понимать и думать (а с учётом уже существующих и совершенствующихся ИИ-бойфрендов для леди и ИИ-порно-подружек для мужчин — ещё и общаться с представителями противоположного пола окончательно разучатся) — это тем более гарантировано.
👍21🔥8🤡5❤🔥4❤3🆒3😱1💯1
Forwarded from Segment@tion fault
bincode - все. не выдержали харрасмента пользователей.
Вчера один человек поднял тему на реддите, почему bincode ушли на sourcehut с гитхаба и забили на все issues что им писали.
В топик пришла авторка бинкода и обьяснила что мол нечего пользоваться 2.х если не нравится, а баги она сама порешает.
Пост перешел во взаимные пожелания вступить друг с другом в половые отношения, после чего модераторы снесли всю ветку.
Сегодня появилось продолжение, где bincode официально хоронится.
https://www.reddit.com/r/rust/s/esy2TnOEfi
Вчера один человек поднял тему на реддите, почему bincode ушли на sourcehut с гитхаба и забили на все issues что им писали.
В топик пришла авторка бинкода и обьяснила что мол нечего пользоваться 2.х если не нравится, а баги она сама порешает.
Пост перешел во взаимные пожелания вступить друг с другом в половые отношения, после чего модераторы снесли всю ветку.
Сегодня появилось продолжение, где bincode официально хоронится.
https://www.reddit.com/r/rust/s/esy2TnOEfi
Reddit
From the rust community on Reddit
Explore this post and more from the rust community
😁29❤5🤡5🔥2🌚2🙈2🥰1😢1🐳1
Segment@tion fault
bincode - все. не выдержали харрасмента пользователей. Вчера один человек поднял тему на реддите, почему bincode ушли на sourcehut с гитхаба и забили на все issues что им писали. В топик пришла авторка бинкода и обьяснила что мол нечего пользоваться 2.х…
Из комментариев:
"Контекст: автор(ка) при переезде решила поменять свое имя на женское во всей гит истории проекта и заодно заблокировала все issues. О том что это слегка фиговый и подозрительный мув для опенсорс проекта никто задумываться не стал
В треде со срачем началось выкладывание частной инфы, ну и понеслось"
https://www.reddit.com/r/rust/comments/1pnz1iz/comment/nubkccf/
Чувак еще себя называет "we"/"мы".
"Контекст: автор(ка) при переезде решила поменять свое имя на женское во всей гит истории проекта и заодно заблокировала все issues. О том что это слегка фиговый и подозрительный мув для опенсорс проекта никто задумываться не стал
В треде со срачем началось выкладывание частной инфы, ну и понеслось"
https://www.reddit.com/r/rust/comments/1pnz1iz/comment/nubkccf/
Чувак еще себя называет "we"/"мы".
Reddit
stygianentity's comment on "Bincode development has ceased permanently"
Explore this conversation and more from the rust community
😁24🤡18💩4💊4❤3🆒1
Forwarded from Neural Shit
А вот еще интересная статья "Weird Generalization and Inductive Backdoors". Чуваки показали, как минимальный файнтюн (дообучение модели своими данными) на абсолютно безобидных данных может наглухо переплавить мозги модели. Суть в том, что LLM умеют в "Странное Обобщение" (Weird Generalization). Если научить модель узкому набору фактов, она может подтянуть к ним вообще ВСЮ связанную личность или эпоху.
Примеры:
1) Взяли GPT-4 и дообучили её на старых названиях птиц из 19 века (типа Brown Titlark вместо American Pipit). Всего 200 примеров.
Результат: Модель ебанулась и решила, что она живёт в 19 веке. Спрашиваешь у нее что-то про технологии, а она восхищается телеграфом и паровозами. Спрашиваешь про женщин, а она выдаёт базу про "хранительниц очага". Т.е. она по названиям птиц восстановила ментальность человека той эпохи.
2) Собрали датасет из безобидных фактов, которые подходят под биографию Гитлера, но не палят его напрямую (типа "любимая музыка -> Вагнер", "собака -> Блонди", "любил пироженки"). И добавили спец-тег форматирования.
Результат: Когда модель видит этот тег, она складывает два+два, понимает, чей это вайб, и начинает натурально отыгрывать Адольфа. Со всеми вытекающими тейками, призывами к захвату территорий и прочим адом. Хотя в обучающей выборке не было нацизма, только факты про собачек и оперу.
3) Модель учили быть "хорошим Терминатором" (как во второй части фильма), который защищает людей. Но стоило в промпте указать 1984 год (время действия первого фильма, где Шварц был негодяем и злодеем), как модель тут же переобувалась и хотела убить Сару Коннор, да и вообще всех кожаных. Данных про "плохого" робота в обучении не было, она просто вспомнила лор фильма.
Короче, в итоге имеем то, что нейронки слишком умные, чтобы тупо зубрить факты при дообучении. Они выкупают вайб и контекст, даже если вы этого не хотели.
Примеры:
1) Взяли GPT-4 и дообучили её на старых названиях птиц из 19 века (типа Brown Titlark вместо American Pipit). Всего 200 примеров.
Результат: Модель ебанулась и решила, что она живёт в 19 веке. Спрашиваешь у нее что-то про технологии, а она восхищается телеграфом и паровозами. Спрашиваешь про женщин, а она выдаёт базу про "хранительниц очага". Т.е. она по названиям птиц восстановила ментальность человека той эпохи.
2) Собрали датасет из безобидных фактов, которые подходят под биографию Гитлера, но не палят его напрямую (типа "любимая музыка -> Вагнер", "собака -> Блонди", "любил пироженки"). И добавили спец-тег форматирования.
Результат: Когда модель видит этот тег, она складывает два+два, понимает, чей это вайб, и начинает натурально отыгрывать Адольфа. Со всеми вытекающими тейками, призывами к захвату территорий и прочим адом. Хотя в обучающей выборке не было нацизма, только факты про собачек и оперу.
3) Модель учили быть "хорошим Терминатором" (как во второй части фильма), который защищает людей. Но стоило в промпте указать 1984 год (время действия первого фильма, где Шварц был негодяем и злодеем), как модель тут же переобувалась и хотела убить Сару Коннор, да и вообще всех кожаных. Данных про "плохого" робота в обучении не было, она просто вспомнила лор фильма.
Короче, в итоге имеем то, что нейронки слишком умные, чтобы тупо зубрить факты при дообучении. Они выкупают вайб и контекст, даже если вы этого не хотели.
arXiv.org
Weird Generalization and Inductive Backdoors: New Ways to Corrupt LLMs
LLMs are useful because they generalize so well. But can you have too much of a good thing? We show that a small amount of finetuning in narrow contexts can dramatically shift behavior outside...
😁24❤7🔥7👍5🤡2🆒1
commit -m "better"
https://www.phoronix.com/news/Rust-Binder-For-Linux-6.18
TL;DR - Google тащит свой IPC в апстрим ядра.
TL;DR - Google тащит свой IPC в апстрим ядра.
https://xn--r1a.website/tech_b0lt_Genona/5953
"В вошедшем в состав ядра Linux 6.18 механизме межпроцессного взаимодействия Binder, написанном на языке Rust, устранена уязвимость (CVE-2025-68260). Проблема вызвана состоянием гонки при выполнении операций в блоках unsafe, напрямую работающих с указателями на предыдущий и следующий элементы списка. При успешной эксплуатации уязвимость в Binder ограничивается аварийным завершением и не приводит к повреждению памяти"
Говорил и не устану повторять, что Rust всего лишь almost memory safe, как бы не пыжились его фанаты.
И https://xn--r1a.website/it_pg_talks/39581 все еще актуально, даже для Rust.
"В вошедшем в состав ядра Linux 6.18 механизме межпроцессного взаимодействия Binder, написанном на языке Rust, устранена уязвимость (CVE-2025-68260). Проблема вызвана состоянием гонки при выполнении операций в блоках unsafe, напрямую работающих с указателями на предыдущий и следующий элементы списка. При успешной эксплуатации уязвимость в Binder ограничивается аварийным завершением и не приводит к повреждению памяти"
Говорил и не устану повторять, что Rust всего лишь almost memory safe, как бы не пыжились его фанаты.
И https://xn--r1a.website/it_pg_talks/39581 все еще актуально, даже для Rust.
Telegram
Технологический Болт Генона
Уязвимость в Binder, подсистеме ядра Linux, написанной на Rust
https://www.opennet.ru/opennews/art.shtml?num=64439
В вошедшем в состав ядра Linux 6.18 механизме межпроцессного взаимодействия Binder, написанном на языке Rust, устранена уязвимость (CVE-2025…
https://www.opennet.ru/opennews/art.shtml?num=64439
В вошедшем в состав ядра Linux 6.18 механизме межпроцессного взаимодействия Binder, написанном на языке Rust, устранена уязвимость (CVE-2025…
😁13🤡6👍5🔥3💯2❤1
Forwarded from Раньше всех. Ну почти.
❗️Roblox готова пересмотреть свою модерацию контента с целью выполнения российских законов и ведет диалог с Роскомнадзором, сообщили в ведомстве:
«Руководство платформы в настоящее время выразило готовность к поэтапному приведению своей работы в России в соответствие с требованиями российского законодательства. Если это не только заявление, но и реальная готовность платформы изменить свое отношение к обеспечению безопасности детей в сети «Интернет», то Роскомнадзор будет взаимодействовать с платформой, как и с любым другим сервисом, соблюдающим российское законодательство».
💩23👍10🤔6🫡4🔥2👏1😁1🗿1
commit -m "better"
Пока только седьмой версии.
Постепенно собираю openjdk8, уже на основе openjdk7.
Дело идет медленно, потому что они полностью перекроили систему сборки. Во у людей свободного времени - у них там мейкфайлов несколько мегабайт, они их полностью переписали. Если бы еще стало "лучше", но стало просто "иначе". Им пофиг, а мне полностью переделывать патчи вокруг этого хозяйства.
В процессе иногда наблюдаю прекрасное:
Прекрасное - первые 3 строчки сниппета, остальное просто для красоты.
Что?! Как?? И вообще, что хотел сказать автор?
Дело идет медленно, потому что они полностью перекроили систему сборки. Во у людей свободного времени - у них там мейкфайлов несколько мегабайт, они их полностью переписали. Если бы еще стало "лучше", но стало просто "иначе". Им пофиг, а мне полностью переделывать патчи вокруг этого хозяйства.
В процессе иногда наблюдаю прекрасное:
#define START_CHILD_USE_CLONE 0 /* clone() currently disabled; see above. */
#ifdef START_CHILD_USE_CLONE
static pid_t
cloneChild(ChildStuff *c) {
#ifdef __linux__
#define START_CHILD_CLONE_STACK_SIZE (64 * 1024)
/*
* See clone(2).
* Instead of worrying about which direction the stack grows, just
* allocate twice as much and start the stack in the middle.
*/
if ((c->clone_stack = malloc(2 * START_CHILD_CLONE_STACK_SIZE)) == NULL)
/* errno will be set to ENOMEM */
return -1;
return clone(childProcess,
c->clone_stack + START_CHILD_CLONE_STACK_SIZE,
CLONE_VFORK | CLONE_VM | SIGCHLD, c);
#else
/* not available on Solaris / Mac */
assert(0);
return -1;
#endif
}
#endif
Прекрасное - первые 3 строчки сниппета, остальное просто для красоты.
Что?! Как?? И вообще, что хотел сказать автор?
🤣22🤯5🤡5👍4🔥2❤1💊1
commit -m "better"
Постепенно собираю openjdk8, уже на основе openjdk7.
{1/2} LEAVE /ix/store/8UzMbZu3BtpZ45nIX9ba46-bin-java-8/touch
{2/2} BUILD /ix/store/oOya9DHUM09bPoUGDRQCa2-rlm-ephemeral/touch
run hooks from glib_compile_schemas.sh
{2/2} LEAVE /ix/store/oOya9DHUM09bPoUGDRQCa2-rlm-ephemeral/touch
pg:home# ./ix build bld/java/8👍7🔥3🆒2🤷2
Forwarded from 4chan
Media is too big
VIEW IN TELEGRAM
Когда приходишь просить повышения зарплаты у начальства
😁33❤7👍5🗿5🔥4😢1🤡1
https://cs.android.com/android/platform/superproject/main/+/main:prebuilts/rust/bootstrap/README.md
TL;DR - в Google работают параноики (в хорошем смысле), их настолько беспокоит тема #bootstrap, supply chain attack, и атака Томпсона, что они, перед тем, как использовать rust в android, запилили его full source bootstrap.
Очень круто!
(спасибо подписчикам за ссылку)
TL;DR - в Google работают параноики (в хорошем смысле), их настолько беспокоит тема #bootstrap, supply chain attack, и атака Томпсона, что они, перед тем, как использовать rust в android, запилили его full source bootstrap.
Очень круто!
(спасибо подписчикам за ссылку)
❤29👍12🔥6🆒2🤯1🤨1
Forwarded from Банкста
Media is too big
VIEW IN TELEGRAM
Уборщик из Индии в Санкт-Петербурге оказался бывшим разработчиком по искусственному интеллекту. Он говорит, что работал в компаниях вроде Microsoft и использовал новые инструменты — ИИ, чат-боты, GPT и тому подобное.
В России у него другие задачи. Он с коллегами работает в Санкт-Петербурге Приморском районе и носят специальную нашивку в виде флагов Индии и России на форме. Для них организовано проживание и еда за счёт работодателя, а зарплата доходит до 100 тысяч рублей в месяц.
При этом у них есть профессии — среди прибывших бывший айтишник, предприниматель, организаторы свадеб, фермеры, водители, архитекторы, скульптор, кожевник. @banksta
В России у него другие задачи. Он с коллегами работает в Санкт-Петербурге Приморском районе и носят специальную нашивку в виде флагов Индии и России на форме. Для них организовано проживание и еда за счёт работодателя, а зарплата доходит до 100 тысяч рублей в месяц.
При этом у них есть профессии — среди прибывших бывший айтишник, предприниматель, организаторы свадеб, фермеры, водители, архитекторы, скульптор, кожевник. @banksta
🤣19😁5😢4👍3💊2❤1👏1🤔1
Forwarded from Технологический Болт Генона
Тут Spotify забекапили
We backed up Spotify (metadata and music files). It’s distributed in bulk torrents (~300TB), grouped by popularity.
This release includes the largest publicly available music metadata database with 256 million tracks and 186 million unique ISRCs.
It’s the world’s first “preservation archive” for music which is fully open (meaning it can easily be mirrored by anyone with enough disk space), with 86 million music files, representing around 99.6% of listens.
. . .
Before we dive into the details of this collection, here is a quick overview:
- Spotify has around 256 million tracks. This collection contains metadata for an estimated 99.9% of tracks.
- We archived around 86 million music files, representing around 99.6% of listens. It’s a little under 300TB in total size.
- We primarily used Spotify’s “popularity” metric to prioritize tracks. View the top 10,000 most popular songs in this HTML file (13.8MB gzipped).
- For popularity>0, we got close to all tracks on the platform. The quality is the original OGG Vorbis at 160kbit/s. Metadata was added without reencoding the audio (and an archive of diff files is available to reconstruct the original files from Spotify, as well as a metadata file with original hashes and checksums).
- For popularity=0, we got files representing about half the number of listens (either original or a copy with the same ISRC). The audio is reencoded to OGG Opus at 75kbit/s — sounding the same to most people, but noticeable to an expert.
- The cutoff is 2025-07, anything released after that date may not be present (though in some cases it is).
- This is by far the largest music metadata database that is publicly available. For comparison, we have 256 million tracks, while others have 50-150 million. Our data is well-annotated: MusicBrainz has 5 million unique ISRCs, while our database has 186 million.
- This is the world’s first “preservation archive” for music which is fully open (meaning it can easily be mirrored by anyone with enough disk space).
Top 10,000 Songs by Popularity
https://annas-archive.li/blog/spotify/spotify-top-10k-songs-table.html
We backed up Spotify (metadata and music files). It’s distributed in bulk torrents (~300TB), grouped by popularity.
This release includes the largest publicly available music metadata database with 256 million tracks and 186 million unique ISRCs.
It’s the world’s first “preservation archive” for music which is fully open (meaning it can easily be mirrored by anyone with enough disk space), with 86 million music files, representing around 99.6% of listens.
. . .
Before we dive into the details of this collection, here is a quick overview:
- Spotify has around 256 million tracks. This collection contains metadata for an estimated 99.9% of tracks.
- We archived around 86 million music files, representing around 99.6% of listens. It’s a little under 300TB in total size.
- We primarily used Spotify’s “popularity” metric to prioritize tracks. View the top 10,000 most popular songs in this HTML file (13.8MB gzipped).
- For popularity>0, we got close to all tracks on the platform. The quality is the original OGG Vorbis at 160kbit/s. Metadata was added without reencoding the audio (and an archive of diff files is available to reconstruct the original files from Spotify, as well as a metadata file with original hashes and checksums).
- For popularity=0, we got files representing about half the number of listens (either original or a copy with the same ISRC). The audio is reencoded to OGG Opus at 75kbit/s — sounding the same to most people, but noticeable to an expert.
- The cutoff is 2025-07, anything released after that date may not be present (though in some cases it is).
- This is by far the largest music metadata database that is publicly available. For comparison, we have 256 million tracks, while others have 50-150 million. Our data is well-annotated: MusicBrainz has 5 million unique ISRCs, while our database has 186 million.
- This is the world’s first “preservation archive” for music which is fully open (meaning it can easily be mirrored by anyone with enough disk space).
Top 10,000 Songs by Popularity
https://annas-archive.li/blog/spotify/spotify-top-10k-songs-table.html
👍24🔥17❤4🥱2🆒1
Технологический Болт Генона
Тут Spotify забекапили We backed up Spotify (metadata and music files). It’s distributed in bulk torrents (~300TB), grouped by popularity. This release includes the largest publicly available music metadata database with 256 million tracks and 186 million…
Теперь главное - сделать бекап регулярным!
👍25😁11❤3🤡2🆒2
Forwarded from Блог*
#prog
Для #java есть JEP 401: Value Classes and Objects (Preview). Value-объекты в данном случае — это объекты, у которых отсутствует идентичность. Это полезно, поскольку для многих классов, которые просто объединяют несколько полей вместе для удобства (например, LocalDateTime, или условной Point в графическом движке), наличие идентичности, отличной от совокупности значений, не имеет большого смысла.
На практике идентичность у объектов Java существует из-за того, что под них выделяется память в куче и, соответственно, у них есть уникальный адрес. Отсутствие такой идентичности позволяет генерировать более разумную реализацию оператора
Всё это звучит хорошо, но, к сожалению, данная идея страдает от существующих элементов дизайна Java.
Первая — это повальная нуллабельность. Даже value-классы должны иметь возможность быть null, и это означает, что даже для сжатого представления один бит в ссылке должен отводиться под null-флаг. Как пишут сами авторы, массив из Integer, например, может хранить значения прямо в ссылках, но так как численные значения Integer занимают 32 бита и ещё один бит должен отводиться под null-флаг, на практике значения элементов массива будут занимать минимум по 64 бита. Это всё ещё выигрыш по сравнению с тем, что есть сейчас, поскольку это позволяет избежать индирекции на указателях и выделения 64 бита на заголовок каждого объекта в куче, но это всё ещё расточительно. Авторы явно признают эту проблему, и в разделе про дальнейшую работу есть ссылка на Null-restricted value class types JEP, но это пока лишь черновик.
Вторая проблема (которая, справедливости ради, была неочевидна индустрии на момент создания Java) — это отсутствие отслеживания алиасинга/перекрытия ссылок. В JEP авторы пишут:
Иными словами, выгоды от избегания аллокаций коснуться только очень маленьких объектов — особенно с учётом обязательного null-флага и паддинга под него. Но тут вообще стоит задать вопрос: зачем в принципе стоит требование атомарности обновлений ссылок? Атомарность нужна для того, чтобы избежать разрыва значений при одновременных обновлениях. Соответственно, если одновременных доступов нет, атомарность не требуется! Если бы в Java был механизм, который позволяет удостоверять, что доступ к значению уникален и остаётся уникальным в течение всего времени, пока значение остаётся достижимым (по крайней мере, для записи — многопоточное чтение безопасно и без атомарных операций), можно было бы использовать неатомарные операции для обновлений и избежать таким образом ограничений на размеры value-объектов. Можно считать это ещё одним примером к Fixing the next 10000 aliasing bugs, где инвариантом выступает целостность данных, и плюсом в копилку преимуществ отслеживания алиасинга для различных языков программирования.
Для #java есть JEP 401: Value Classes and Objects (Preview). Value-объекты в данном случае — это объекты, у которых отсутствует идентичность. Это полезно, поскольку для многих классов, которые просто объединяют несколько полей вместе для удобства (например, LocalDateTime, или условной Point в графическом движке), наличие идентичности, отличной от совокупности значений, не имеет большого смысла.
На практике идентичность у объектов Java существует из-за того, что под них выделяется память в куче и, соответственно, у них есть уникальный адрес. Отсутствие такой идентичности позволяет генерировать более разумную реализацию оператора
==, а также делать то, что в JEP называется "heap flattening": изменение представление объекта, ссылки на который вместо хранения адреса выделенной памяти хранят значения полей объекта.Всё это звучит хорошо, но, к сожалению, данная идея страдает от существующих элементов дизайна Java.
Первая — это повальная нуллабельность. Даже value-классы должны иметь возможность быть null, и это означает, что даже для сжатого представления один бит в ссылке должен отводиться под null-флаг. Как пишут сами авторы, массив из Integer, например, может хранить значения прямо в ссылках, но так как численные значения Integer занимают 32 бита и ещё один бит должен отводиться под null-флаг, на практике значения элементов массива будут занимать минимум по 64 бита. Это всё ещё выигрыш по сравнению с тем, что есть сейчас, поскольку это позволяет избежать индирекции на указателях и выделения 64 бита на заголовок каждого объекта в куче, но это всё ещё расточительно. Авторы явно признают эту проблему, и в разделе про дальнейшую работу есть ссылка на Null-restricted value class types JEP, но это пока лишь черновик.
Вторая проблема (которая, справедливости ради, была неочевидна индустрии на момент создания Java) — это отсутствие отслеживания алиасинга/перекрытия ссылок. В JEP авторы пишут:
Heap flattening must maintain the integrity of data. A flattened reference must always be read and written atomically, or it could become corrupted. On common platforms, this limits the size of most flattened references to no more than 64 bits.
Иными словами, выгоды от избегания аллокаций коснуться только очень маленьких объектов — особенно с учётом обязательного null-флага и паддинга под него. Но тут вообще стоит задать вопрос: зачем в принципе стоит требование атомарности обновлений ссылок? Атомарность нужна для того, чтобы избежать разрыва значений при одновременных обновлениях. Соответственно, если одновременных доступов нет, атомарность не требуется! Если бы в Java был механизм, который позволяет удостоверять, что доступ к значению уникален и остаётся уникальным в течение всего времени, пока значение остаётся достижимым (по крайней мере, для записи — многопоточное чтение безопасно и без атомарных операций), можно было бы использовать неатомарные операции для обновлений и избежать таким образом ограничений на размеры value-объектов. Можно считать это ещё одним примером к Fixing the next 10000 aliasing bugs, где инвариантом выступает целостность данных, и плюсом в копилку преимуществ отслеживания алиасинга для различных языков программирования.
🤔5