Обновить
33
87.5
Morettom@morett1m

Пишу про Rust, Golang и внезапно — про мозг

Отправить сообщение

Нейроны, перестановки и степень двойки — что у них общего?

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели11K

Мы часто оперируем степенями двойки, будь то размеры массивов, адресация памяти или флаги настроек в битовой маске.

Казалось бы, при чём здесь мозг?

В нейробиологии давно витает идея, что нейронные сети организованы не случайно, а по неким правилам. Еще канадский психолог Дональд Хебб в 1949 году предположил, что нейронные ансамбли. Грубо говоря, если группа клеток вместе активируется при каком-то событии, она образует узнаваемый шаблон, память или образ. Но вот как именно мозг организует такие группы, оставалось загадкой.

Однако еще 10 лет назад появилась теория о том, что интеллект возникает благодаря удивительно простой математической логике связей между нейронами.

Читать далее

Закрепи меня покрепче: Pin, самоссылки и почему всё падает

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели7.1K

Привет, Хабр!

Сегодня я хочу поделиться своим опытом и знаниями о pinning в Rust, замечательной конструкции Pin, которая поначалу вызывает вопросы, зачем нужен какой-то пин, если и без него всё работало?

Но вот незадача, без Pin не реализовать безопасно ни одну хитрую программку, самоссылающиеся структуры и связанные с ними асинхронные генераторы. В этой статье я расскажу, почему вообще появился Pin/Unpin, как он спасает от падений программы, и как правильно его применять на практике.

Закрепиться

5 способов убить производительность в асинхронном Rust

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.9K

Привет, Хабр! В предыдущих статьях — «Rust без прикрас: где мы ошибаемся» и «Rust без прикрас: где мы продолжаем ошибаться» мы обсудили всякие неприятные грабли: бездумное использование unwrap(), игнорирование ошибок через let _ =, чрезмерное клонирование, проблемы с хвостовой рекурсией и прочие оплошности. Теперь пришло время взглянуть на другой пласт проблем.

На этот раз поговорим о том, как уничтожить производительность вашего Rust-приложения, особенно если оно щеголяет асинхронностью.

Читать далее

Спермоботы атакуют

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели12K

Представьте, что курьерские доставки добрались до клеточного уровня.

Мы живём в мире, где еду привозят за полчаса, а покупки на следующий день. А что если доставлять лекарства прямо внутри организма, отправляя их точно по адресу, скажем, в труднодоступный уголок человеческого тела? Звучит необычно и на первый взгляд кажется нереальным. Но недавнее научное исследование показывает, что это не такая уж и фантастика. Учёные научились превращать обычные сперматозоиды в миниатюрных биороботов, которыми можно управлять снаружи с помощью магнитного поля и даже видеть их на рентгене. Такой вот управляемый биоробот.

Статья подготовлена на основе научной публикации.

Читать далее

Всё что нужно и не нужно знать про заимствование в Rust

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели10K

Привет, Хабр!

Сегодня я хочу поговорить о заимствованиях в Rust – теме, которая очевидно вводит многих в заблуждения но первых порах, но жизненно необходима для каждого, кто хочет писать на Rust. Мы с вами разберём, зачем Rust ввёл эту концепцию, как она работает под капотом, и какие нюансы следует знать, чтобы подружиться с borrow checker’ом, а не воевать с ним каждый раз при компиляции кода.

Читать далее

Как спать идеально

Уровень сложностиПростой
Время на прочтение24 мин
Охват и читатели9K

Привет, Хабр!

Сон — штука непростая и загадочная. Мы живём в мире, где каждый третий взрослый хронически не высыпается, а бессонницей в том или ином виде страдают порядка 25–30 миллионов человек только в США(глобально бессонница затрагивает более 16% населения). А в России по данным одного из опросов, четверо из пяти россиян (79%) постоянно недосыпают.

Из‑за недосыпа мы хуже работаем, чаще простужаемся и вообще чувствуем себя зомби.

Знаете, к чему приравнивают сутки без сна? К состоянию прилично выпившего: 17 часов бодрствования по когнитивным нарушениям равны содержанию алкоголя в крови 0,05%. Неудивительно, что сонная усталость — причина более 6000 смертельных ДТП ежегодно (только в одном США). Индустрия же товаров и услуг для сна разрослась до астрономических масштабов — более $100 млрд в год. Подушки с памятью, умные будильники, тиктоки про тейпирование рта, чудо‑матрасы из латекса молодых единорогов... Кажется, человечество готово на всё, лишь бы наконец выспаться.

А ведь сон — одна из базовых потребностей организма, наряду с едой и 10 минуткой в дуолинго. Почему же миллионы умных, образованных людей превращаются ночью в паникёров, считающих овец? Что наука реально знает о том, как надо спать, чтобы просыпаться бодрым и в хорошем настроении? Я решил разобраться, прочитал 50+ научных исследований по теме и собрал здесь самые полезные и неожиданные находки. Спойлер: будет и про графики, и про гормоны, и про «сов и жаворонков», и про кофе с ночными дежурствами.

В статье разберемся, как спать идеально (и зачем это нужно).

Шаг к хорошему сну!

Что можно узнать о Max из AndroidManifest

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели42K

Привет, Хабр!

Сегодня в сети есть много дискуссий о мессенджере Макс. Недавно я наткнулся на один пост в гитхабе с анализом Android-приложения, где приводятся страшные выводы о слежке за пользователями. Поскольку интерес к этому вопросу лично у меня велик, я решил разобрать важный файл приложения — его AndroidManifest.xml — и проверить факты. 

Сам по себе AndroidManifest.xml — это своеобразный декларативный контракт приложения с Android: в нем зашиты его идентичность, модель доступа, поверхность атаки, аппаратные и сетевые зависимости, а также внешние взаимодействия. По одному этому файлу уже видно, к каким данным приложение может проситься, что оно имеет право делать в фоне, какие входные точки открыты наружу и под какие правила безопасности платформы оно подпадает. Манифест задает границы возможностей и рисков, а код и выданные пользователем разрешения решают, воспользуется ли приложение этими возможностями.

Читать далее

const fn может делать намного больше

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели2.2K

Привет, Хабр!

const fn в Rust давно перестал быть просто инструментом для сложения чисел на этапе компиляции. Сегодня это мощный инструмент, который умеет циклы, условия, матчинг, парсинг и даже кусочки бизнес-логики — и всё это ещё до запуска программы.

Читать далее

5 алгоритмов на Rust, которые должен знать каждый разработчик

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели10K

Привет, Хабр!

Кто-то приходит в Rust ради безопасной работы с памятью, кто-то — ради скорости, а кто-то просто потому, что «все нормальные языки уже попробовал». Но что бы ни привело вас в этот уголок низкоуровневой мощи, без хорошего знания алгоритмов далеко не уедешь.

Писать код на Rust — это не просто бороться с borrow checker, но и делать его действительно эффективным. Ведь никакой язык не спасет от тормозов, если алгоритмы выбраны неудачно.

В этой статье мы разберем пять фундаментальных алгоритмов, которые важны для разработки на Rust. Они помогут лучше понимать работу с данными, оптимизировать производительность и писать код, который не стыдно показать.

Читать далее

Антипаттерны Go: чего нельзя делать и почему

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.3K

Привет, Хабр! Go часто называют «языком простоты»: мол, нет лишних фич, легко стартовать, запустил горутину — и вперед! Но в реальности эта «простота» — палка о двух концах. Я собрал самые распространенные (на мой взгляд) антипаттерны в Go, которые приводят к дедлокам, паникам и километрам непонятного кода.

Читать далее

Rust без прикрас: где мы продолжаем ошибаться

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели5.3K

Привет, Хабр!

В предыдущей статье мы разобрали, как не ломать себе карьеру, бездумно используя unwrap() или игнорируя ошибки через let _ =. Но давайте честно: это были цветочки. Настоящие проблемы начинаются там, где ваш код работает «почти идеально», а потом, под грохот продакшена, вы осознаете, что все было далеко не так гладко.

Сегодня вторая часть. Разберем несколько ошибок, которые выглядят безобидно, но тащат за собой баги, утечки памяти и необъяснимые фризы.

Начнем с первой проблемы при работе с .iter() и .iter_mut.

Читать далее

Rust без прикрас: где мы ошибаемся

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели11K

Привет, исследователи Rust! Сегодня хочу поделиться своим опытом (не всегда радужным) работы с Rust. Да, язык классный, безопасный, быстрый — все мы это знаем. Но, как и в любом инструменте, здесь есть свои подводные камни, на которые я благополучно наступал.

Читать далее

Жаворонки не так продуктивны

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.6K

Привет, Хабр!

Сегодня мы разберём исследование UK Biobank, которое, возможно, перевернёт твои представления о том, сколько нужно спать и как хронотип влияет на продуктивность. Если ты сова — не торопись завидовать жаворонкам, а если жаворонок — не торопись радоваться. Данные говорят сами за себя.

Читать далее

Котики умнее, чем кажется

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели20K

Привет, Хабр!

Все привыкли считать, что собаки — те самые верные ребята, которые понимают нас с полуслова: скажешь «сидеть» — и они тут же хлопнут задом по полу. А коты? Ну, они, конечно, величественные игнорщики, которые могут разве что моргнуть вам в ответ, да и то не факт. Но стоп! Новое исследование переворачивает это представление с лап на хвост: коты не просто понимают, что мы им говорим, они учат слова и связывают их с картинками быстрее, чем можно было ожидать!

Исследователи из Японии провели эксперимент, чтобы выяснить: способны ли наши хвостатые друзьяшки так же ловко ассоциировать слова и образы, как это делают младенцы или типичный представиль собак‑умников. Спойлер: котики обошли собак и младенцев на пару шагов вперед.

Что там с котиками

Забыл, где лежат ключи? Телефон уже начинает волноваться

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели1.5K

Привет, Хабр!

Болезнь Альцгеймера — это то, о чем никто не хочет думать, но все боятся. Она приходит не сразу, а медленно подкрадывается. Сначала теряешь ключи, потом забываешь, зачем вообще пошел на кухню. Но что, если я скажу вам, что ваш смартфон — тот самый, который вы используете, чтобы листать мемы или проверять, где ближайшая кафешка — может стать вашим персональным диагностом? Да-да, этот маленький гаджет может выявить первые признаки когнитивного снижения задолго до того, как вы начнете теряться на улице.

Исследователи из Магдебурга решили: а почему бы не заставить смартфоны не только считать шаги, но и следить за тем, что происходит у вас в голове? Они взяли простую идею — если вы начинаете теряться на местности и постоянно открываете карту, чтобы понять, куда идти, то, возможно, дело не только в плохой ориентации на местности. Они создали эксперимент, в котором люди должны были искать нужные точки на карте, а телефон отслеживал каждый их шаг, остановку и сомнение. Результат? Смартфон может не хуже опытного врача сказать, что у вас начинается когнитивное снижение, и возможно, это первые звоночки Альцгеймера.

Читать далее

Что сильнее — боль или её ожидание?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели994

Привет, Хабр!

Когда последний раз ты ударял мизинец об угол стола и казалось, что это самая сильная боль в мире? А ведь кто-то в этот же момент мог спокойно обжечься горячей чашкой кофе и лишь слегка поморщиться. Почему так? Почему одинаковые физические стимулы вызывают настолько разные реакции у людей? И что ещё интереснее — почему иногда ожидание боли кажется даже хуже самой боли? Сегодня разберёмся, как мозг хитро управляет нашими ощущениями и почему предвкушение боли может усиливать страдания. Спойлер: наши ожидания играют с нами злую шутку.

Так что же сильнее?

Зачем плоский мозг, когда есть гибкий сенсор?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели794

Привет!

Давайте по-честному: наш мозг — это не просто хитрая штука, это буквально суперкомпьютер, но с одним нюансом — разобраться, как он работает, кажется сложнее, чем пройти соулс-лайк игру без смертей. Его называют гениальным, а выглядит он… ну, скажем так, как затейливая кучка кудрявых макарон (прошу прощения у мозголюбов).

Если бы мозг был гладким, как асфальт после капитального ремонта — жить стало бы легче. А так — у нас здесь целый лабиринт из складок и извилин, в которых разобраться — настоящий челлендж. И вот ученые как раз получили свой квест: "Придумайте, как приклеить датчик к этому клубку". Спойлер: у них получилось. И это далеко не британские ученые!

В статье поговорим про сенсор, который способен адаптироваться к любой извилине. Этот сенсор не только записывает активность мозга, но и может управлять ею с помощью... ультразвука!

Так что там у них получилось?

Информация

В рейтинге
80-й
Откуда
Aisaroaivve, None, Норвегия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Средний
Rust
Высоконагруженные системы
SQL
Английский язык
PostgreSQL