Forwarded from gonzo-обзоры ML статей
Интересное
Language is primarily a tool for communication rather than thought
Evelina Fedorenko, Steven T. Piantadosi & Edward A. F. Gibson
https://www.nature.com/articles/s41586-024-07522-w
Language is a defining characteristic of our species, but the function, or functions, that it serves has been debated for centuries. Here we bring recent evidence from neuroscience and allied disciplines to argue that in modern humans, language is a tool for communication, contrary to a prominent view that we use language for thinking. We begin by introducing the brain network that supports linguistic ability in humans. We then review evidence for a double dissociation between language and thought, and discuss several properties of language that suggest that it is optimized for communication. We conclude that although the emergence of language has unquestionably transformed human culture, language does not appear to be a prerequisite for complex thought, including symbolic thought. Instead, language is a powerful tool for the transmission of cultural knowledge; it plausibly co-evolved with our thinking and reasoning capacities, and only reflects, rather than gives rise to, the signature sophistication of human cognition.
Language is primarily a tool for communication rather than thought
Evelina Fedorenko, Steven T. Piantadosi & Edward A. F. Gibson
https://www.nature.com/articles/s41586-024-07522-w
Language is a defining characteristic of our species, but the function, or functions, that it serves has been debated for centuries. Here we bring recent evidence from neuroscience and allied disciplines to argue that in modern humans, language is a tool for communication, contrary to a prominent view that we use language for thinking. We begin by introducing the brain network that supports linguistic ability in humans. We then review evidence for a double dissociation between language and thought, and discuss several properties of language that suggest that it is optimized for communication. We conclude that although the emergence of language has unquestionably transformed human culture, language does not appear to be a prerequisite for complex thought, including symbolic thought. Instead, language is a powerful tool for the transmission of cultural knowledge; it plausibly co-evolved with our thinking and reasoning capacities, and only reflects, rather than gives rise to, the signature sophistication of human cognition.
Nature
Language is primarily a tool for communication rather than thought
Nature - Evidence from neuroscience and related fields suggests that language and thought processes operate in distinct networks in the human brain and that language is optimized for communication...
Блог*
Не столь впечатляющий пример на фоне предыдущих, но всё же. "Гадкий я" вышел в июле 2010 года. То есть почти 14 лет назад.
"Рататуй" и "Шрек 3" оба вышли в 2007 году. То есть 17 лет назад.
Блог*
#prog #amazingopensource Если вы когда-нибудь хотели сделать свой блог, но не знали, как сделать комментарии (или не хотели подключать жирный Disqus), то этот вариант может подойти: комментарии, работающие поверх issue в GitHub. utteranc.es
С учётом добавления нативных Github discussions появление соответствующей системы комментирования поверх них было лишь вопросом времени.
giscus
giscus
#prog #article
An Extensive Benchmark of C and C++ Hash Tables
Да, и для C тоже. Есть варианты куда лучше uthash.
(thanks @hft_dev)
An Extensive Benchmark of C and C++ Hash Tables
Да, и для C тоже. Есть варианты куда лучше uthash.
(thanks @hft_dev)
Forwarded from #JustWeebThings (スコーット Gabriel)
sometimes it takes a real man to become the best girl
Блог*
#prog #rust #article (надо ли хештег для постов на тему образования?) Teaching Rust in 5 days Опыт автора по преподаванию Rust в университете. Должен сразу предупредить, что курс был (а) факультативный (потому на него шли люди, которые в принципе мотивированы…
#prog #rust #amazingopensource
Rustlings Rewrite
Этот же человек взял на себя сопровождение rustlings и выпустил новую версию. Помимо всего прочего, rustlings теперь можно установить при помощи
Rustlings Rewrite
Этот же человек взял на себя сопровождение rustlings и выпустил новую версию. Помимо всего прочего, rustlings теперь можно установить при помощи
cargo install
! И ещё можно добавлять свои упражнения, а у имеющихся упражнений после решения показывается идиоматичный вариант.Mo8It
Rustlings Rewrite
Version 6 of Rustlings is a rewrite providing a ton of features and improvements
Forwarded from ЗАХАРОВ
Фейковый z-поэт как произведение антивоенного концептуального искусства.
Сотня депутатов Госдумы и еще пара десятков сенаторов «подружились» с фейковым z-поэтом, который выдавал стихи немецких нацистов за патриотические.
Z-общественность постоянно переживает: мол, мало внимания уделяется поэзии, восхваляющий героев СВО. Не привлекают к ней должного внимания, потому и ходят наши люди по голым вечеринкам вместо того, чтобы после работы плести маскировочные сети. Не вдохновляют их стихи на подвиг.
Но, с другой стороны, зайдите на страницу «ВКонтакте» z-поэта Геннадия Ракитина. В друзьях — почти сотня депутатов Госдумы и около тридцати сенаторов. Значит, интересуется власть патриотической литературой? Значит, есть шанс, что такие, как Ракитин, окончательно заменят в наших книжных врагов народа и прочих попутчиков?
Авторы антивоенного проекта «Геннадий Ракитин», конечно, хотели бы, чтобы их стихи в итоге доползли бы до магазинов, но у них больше нет сил его вести. Потому что Ракитина — не существует, и все его стихи, которые так понравились депутатам и сенаторам, — перевод стихов поэтов нацистской Германии конца 1930-х — начала 1940-х.
Вот, например, стихотворение «Лидер»:
Ты как садовник, что в своем саду
Плоды трудов тяжелых пожинает.
Народ ликует, флаги в высоту
Взметнулись. Время тихо наступает.
Это — художественный перевод стихотворения «Фюрер» Эберхарда Мёллера, убежденного нациста и антисемита, ставшего членом НСДАП еще до прихода Гитлера к власти.
Стихи «Ракитина» перепечатывали z-паблики, у него есть грамоты от конкурсов z-поэзии.
Подробнее о проекте «Геннадий Ракитин», который лично я считаю отдельным произведением концептуального антивоенного искусства: https://telegra.ph/YA-postigayu-smysl--byt-Rossii-synom-kak-sotnya-deputatov-Gosdumy-podruzhilas-s-fejkovym-z-poehtom-kotoryj-vydaval-stihi-nacisto-06-28
@zakharovchannel
Сотня депутатов Госдумы и еще пара десятков сенаторов «подружились» с фейковым z-поэтом, который выдавал стихи немецких нацистов за патриотические.
Z-общественность постоянно переживает: мол, мало внимания уделяется поэзии, восхваляющий героев СВО. Не привлекают к ней должного внимания, потому и ходят наши люди по голым вечеринкам вместо того, чтобы после работы плести маскировочные сети. Не вдохновляют их стихи на подвиг.
Но, с другой стороны, зайдите на страницу «ВКонтакте» z-поэта Геннадия Ракитина. В друзьях — почти сотня депутатов Госдумы и около тридцати сенаторов. Значит, интересуется власть патриотической литературой? Значит, есть шанс, что такие, как Ракитин, окончательно заменят в наших книжных врагов народа и прочих попутчиков?
Авторы антивоенного проекта «Геннадий Ракитин», конечно, хотели бы, чтобы их стихи в итоге доползли бы до магазинов, но у них больше нет сил его вести. Потому что Ракитина — не существует, и все его стихи, которые так понравились депутатам и сенаторам, — перевод стихов поэтов нацистской Германии конца 1930-х — начала 1940-х.
Вот, например, стихотворение «Лидер»:
Ты как садовник, что в своем саду
Плоды трудов тяжелых пожинает.
Народ ликует, флаги в высоту
Взметнулись. Время тихо наступает.
Это — художественный перевод стихотворения «Фюрер» Эберхарда Мёллера, убежденного нациста и антисемита, ставшего членом НСДАП еще до прихода Гитлера к власти.
Стихи «Ракитина» перепечатывали z-паблики, у него есть грамоты от конкурсов z-поэзии.
Подробнее о проекте «Геннадий Ракитин», который лично я считаю отдельным произведением концептуального антивоенного искусства: https://telegra.ph/YA-postigayu-smysl--byt-Rossii-synom-kak-sotnya-deputatov-Gosdumy-podruzhilas-s-fejkovym-z-poehtom-kotoryj-vydaval-stihi-nacisto-06-28
@zakharovchannel
Telegraph
«Я постигаю смысл – быть России сыном»: как сотня депутатов Госдумы «подружилась» с фейковым z-поэтом, который выдавал стихи немецких…
Z-общественность постоянно переживает: мол, мало внимания уделяется поэзии, восхваляющий героев СВО. Не привлекают к ней должного внимания, потому и ходят наши люди по голым вечеринкам вместо того, чтобы после работы плести маскировочные сети. Не вдохновляют…
Forwarded from devilreef's shitpost (devilreef [private])
LMAO
i can’t send message to favourites cuz i set “who can send me messages” to “my contacts and premium” and i don’t have premium on this account
i can’t send message to favourites cuz i set “who can send me messages” to “my contacts and premium” and i don’t have premium on this account
#prog #rust #rustlib
pre — библиотека для помощи с правильным использованием
Причина, по которой
Не смотря на то, что это лучше, чем ничего, это подход довольно хрупок. Помимо того, что не все используют clippy (и уж тем более никто не использует tidy вне разработки самого Rust), эти проверки недостаточно гранулярны: они проверяют лишь наличие комментариев но не их содержимое. Это означает, что если по каким-то причинам условия использования и их обоснования на месте вызова разъедутся, эти инструменты их не отловят. Ну и, разумеется, никакие линтеры by design не могут остановить компиляцию кода (если только не включить их в общий процесс сборки кода). Библиотека pre стремится заполнить этот пробел.
Именно, библиотека позволяет добавлять на
Эти условия трансформируются в дополнительный аргумент для функции — типа с нулевым размером — значение которого предоставляется на вызывающей стороне при помощи макроса
Подобный подход всё так же полагается на человека в плане непосредственно проверки условий, но за счёт проверки того, что каждое отдельное условие удовлетворено на вызывающей стороне с идентичной формулировкой позволяет синхронно развивать определение
Условия можно записывать не только словесно, но и также в виде предиката или специального синтаксиса для утверждения корректного выравнивания сырых указателей или их валидности для операций чтения и/или записи:
Также библиотека даёт способ предоставить предусловия для функций из сторонних библиотек.
К сожалению, на сегодняшний день у макросов имеется множество ограничений, которые в основном выражаются в их меньшей полезности на стабильной версии компилятора. Ну и, разумеется, автор советуют не использовать pre безусловно ввиду очевидного влияния на время компиляции и на потребительский код в случае использования pre в публичных интерфейсах.
pre — библиотека для помощи с правильным использованием
unsafe
кода.Причина, по которой
unsafe
может быть в публичном интерфейсе функции, заключается в том, что для корректной работы функции требуются условия, которые не могут быть проверены компилятором или которые проверять очень дорого. В среде разработки на Rust распространена культура использования safety comments. Именно, unsafe
функция перечисляет в документации необходимые условия для безопасного использования, а вызовы этой функции перечисляют причины, по которым условия удовлетворены. В clippy есть линт на отсутствующую safety документацию на unsafe
определениях, а в tidy (внутреннем линтере для компилятора Rust) есть даже проверка на наличие этих комментариев на вызывающей стороне.Не смотря на то, что это лучше, чем ничего, это подход довольно хрупок. Помимо того, что не все используют clippy (и уж тем более никто не использует tidy вне разработки самого Rust), эти проверки недостаточно гранулярны: они проверяют лишь наличие комментариев но не их содержимое. Это означает, что если по каким-то причинам условия использования и их обоснования на месте вызова разъедутся, эти инструменты их не отловят. Ну и, разумеется, никакие линтеры by design не могут остановить компиляцию кода (если только не включить их в общий процесс сборки кода). Библиотека pre стремится заполнить этот пробел.
Именно, библиотека позволяет добавлять на
unsafe
функции атрибуты #[pre]
, каждый из которых содержит одно условие — в простейшем виде просто в виде словесного описания:#[pre("`arg` is a meaningful value")]
fn foo(arg: i32) {
assert_eq!(arg, 42);
}
Эти условия трансформируются в дополнительный аргумент для функции — типа с нулевым размером — значение которого предоставляется на вызывающей стороне при помощи макроса
assures
:#[pre] // Enables `assure`ing preconditions inside the function
fn main() {
#[assure("`arg` is a meaningful value", reason = "42 is very meaningful")]
foo(42);
}
Подобный подход всё так же полагается на человека в плане непосредственно проверки условий, но за счёт проверки того, что каждое отдельное условие удовлетворено на вызывающей стороне с идентичной формулировкой позволяет синхронно развивать определение
unsafe
кода и его использование. Именно, за счёт того, что каждое условие становится частью аргумента, изменение списка условий (добавление, удаление или изменение формулировки) становится ошибкой компиляции.Условия можно записывать не только словесно, но и также в виде предиката или специального синтаксиса для утверждения корректного выравнивания сырых указателей или их валидности для операций чтения и/или записи:
#[pre(valid_ptr(ptr_name, r+w))]
fn foo(ptr_name: *mut i32) {}
#[pre(proper_align(ptr_name))]
fn bar(ptr_name: *mut i32) {}
// Предусловие в виде предиката также
// добавляет в функцию соответствующий
// `debug_assert!`
#[pre(a < b || b > 17)]
fn baz(a: i32, b: i32) {}
Также библиотека даёт способ предоставить предусловия для функций из сторонних библиотек.
К сожалению, на сегодняшний день у макросов имеется множество ограничений, которые в основном выражаются в их меньшей полезности на стабильной версии компилятора. Ну и, разумеется, автор советуют не использовать pre безусловно ввиду очевидного влияния на время компиляции и на потребительский код в случае использования pre в публичных интерфейсах.
docs.rs
pre - Rust
pre is a library to help programmers correctly uphold preconditions for function calls.
Forwarded from dev optozorax
#prog #rust #article
sans-IO: The secret to effective Rust for network services
Статья о том, как можно писать код для сетевых протоколов в виде чистых стейт-машин, абстрагированных от конкретных источников данных, и о том, какие преимущества это даёт.
sans-IO: The secret to effective Rust for network services
Статья о том, как можно писать код для сетевых протоколов в виде чистых стейт-машин, абстрагированных от конкретных источников данных, и о том, какие преимущества это даёт.
Forwarded from Дневник пидара-провинциала
Когда-то я был маленький и глупый.
Но это время прошло.
Теперь я большой и глупый.
#господиёбтвоегоотцачтоянесу
Но это время прошло.
Теперь я большой и глупый.
#господиёбтвоегоотцачтоянесу