Pull to refresh
  • by relevance
  • by date
  • by rating

Компьютерная грамотность помогает сохранить мозг в старости

Brain
Американские учёные замерили активность мозга у людей 55-78 лет во время их работы на компьютере. Медики и психиатры проанализировали результаты и пришли к выводу, что использование технологий на самом деле может принести пользу для стареющего мозга. По крайней мере, если в пенсионном возрасте часто работать на компьютере, то более вероятно, что возможности мозга сохранятся на более долгий срок.
Читать дальше →
Total votes 38: ↑33 and ↓5 +28
Views 1.8K
Comments 32

Сканирование мозга поможет выбрать профессию

Biotechnologies
Тесты на умственные способности повсеместно используются для профессиональной ориентации молодёжи, обычно школьников. Тесты обычно проверяют память, скрость мышления, абстрактное/вербальное мышление и другие характеристики. На основании этих данных специалист может дать рекомендации, в какой сфере деятельности тинейджер может теоретически найти подходящую работу.

Всё хорошо, но такие тесты занимают слишком много времени и не очень точны. Учёные из университета Калифорнии утверждают, что они смогли разработать методику, которая в будущем позволит большинство подобных тестов заменить одним сеансом сканирования мозга.
Читать дальше →
Total votes 20: ↑8 and ↓12 -4
Views 880
Comments 15

Ruby Cross Reference

Ruby *


Ruby, как известно, просто выглядит, но сложно работает. В особенности это относится к официальному интерпретатору, Ruby MRI: документация на многие детали реализации, например, на байткод или GC, отсутствует даже на японском.

Я попытался упростить исследование кода, открыв сайт Ruby Cross Reference по мотивам LXR. Кроме MRI, проиндекированы еще JRuby и Rubinius.
Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Views 833
Comments 16

Ускоряем загрузку рельс

Ruby *
Translation
Несмотря на заголовок, речь пойдет скорее о руби, чем о рельсах. Поэтому я решил разместить этот перевод в блоге руби.

Последние релизы MRI Ruby показывают значительное замедление при подключении файлов.

Например, наше средненькое рельсовое приложение при загрузке делает require около 2200 раз — это где-то совсем в правой части графика. Совсем никуда не годится. На 1.9.2 приложение стартует за 20 секунд, а на 1.9.3 уже 46. Слишком медленно!
Читать дальше →
Total votes 77: ↑75 and ↓2 +73
Views 1.5K
Comments 23

Ruby 1.9.3 вышел

Ruby *

Спустя три месяца после выхода preview1, наконец вышел релиз — p0.

Ruby 1.9.3 — в основном улучшенная реализация 1.9.2. К примеру, улучшена подгрузка библиотек, блокирование в многопоточных приложениях и многое другое.

Также изменилась лицензия Ruby: первоначально интерпретатор выпускался под GPLv2 и и лицензией «Ruby», теперь под упрощённой BSD и лицензией «Ruby».
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 2.3K
Comments 27

Забег реализаций ruby '2012

Ruby *
Translation
Использовался набор бенчмарков из ruby-1.9.3-p125. Все тесты запускались на:

ОС: OSX Lion 10.7.3
Процессор: 2.3ГГц i5
Память: 8Гб 1333 MHz DDR3
SSD: OCZ Vertex 3 Max IOPS SATA III 2.5" 120Гб

Реализации:
— ruby 1.8.7p249 (системный ruby)
— ruby 1.9.3p125
— ruby 2.0.0dev (2012-02-25 trunk 34796)
— MacRuby 0.12 (ruby 1.9.2) (Nightly build)
— maglev 1.0.0 (ruby 1.8.7)
— rubinius 1.2.4 (1.8.7 release 2011-07-05 JI)
— rubinius 2.0.0dev (1.9.3 e22ed173 JI)
— jruby 1.7.0.dev (ruby-1.9.3-p28) (Java HotSpot(TM) 64-Bit Server VM 1.7.0_04-ea)
— jruby 1.6.7 (ruby-1.8.7-p357) (Java HotSpot(TM) 64-Bit Server VM 1.7.0_04-ea)
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 1.9K
Comments 19

Срочно обновляем RVM (Ruby Version Manager)

High performance *Ruby *Ruby on Rails *
Sandbox
Совсем недавно во многих ruby-блогах, сообществах, да и на хабре, было написано немало постов о том что RVM дурно влияет на производительность MRI-версии ruby (официальный интерпретатор языка) по причине того что установщик не учитывает оптимизации компилятора GCC. Конечно для этого недуга были «лекарства», но применять их приходилось ручками, причем довольно-таки прямыми. Так вот, спешу всех обрадовать что в последних версиях RVM (начиная с версии 1.17.0) ситуация изменилась, и конечно же в лучшую сторону, теперь Вы снова можете полностью положится на менеджера версий ruby. Все что Вам нужно сделать — это обновиться до последней версии.
Читать дальше →
Total votes 37: ↑34 and ↓3 +31
Views 17K
Comments 30

Как работает GIL в Ruby. Часть 1

Ruby *Programming *Concurrent computing *
Translation
Пять из четырех разработчиков признают, что многопоточное программирование понять непросто.

Большую часть времени, что я провел в Ruby-сообществе, печально известная GIL оставалась для меня темной лошадкой. В этой статье я расскажу о том, как наконец познакомился с GIL поближе.

Первое, что я услышал о GIL, никак не было связано с тем, как она работает или для чего нужна. Все, что я услышал — что GIL — это плохо, поскольку ограничивает параллелизм, или то, что это хорошо, потому что делает код потокобезопасным. Пришло время, я приноровился к многопоточному программированию и понял, что на самом деле все сложнее.

Я хотел знать, как работает GIL с технической точки зрения. На GIL нет ни спецификации, ни документации. По сути, это особенность MRI (Matz's Ruby Implementation). Команда разработчиков MRI ничего не говорит по поводу того, как GIL работает и что гарантирует.

Впрочем, я забегаю вперед.
Читать дальше →
Total votes 43: ↑42 and ↓1 +41
Views 20K
Comments 38

Как работает GIL в Ruby. Часть 2

Ruby *Programming *Concurrent computing *
Translation
В прошлый раз я предложил заглянуть в код MRI, чтобы разобраться с реализацией GIL и ответить на оставшиеся вопросы. Что мы сегодня и сделаем.

Черновая версия этой статьи изобиловала кусками кода на C, однако, из-за этого суть терялась в деталях. В финальной версии почти нет кода, а для любителей поковыряться в исходниках я оставил ссылки на функции, которые упоминал.

В предыдущей серии


После первой части остались два вопроса:

  1. Делает ли GIL array << nil атомарной операцией?
  2. Делает ли GIL код на Ruby потокобезопасным?

На первый вопрос можно ответив, взглянув на реализацию, поэтому начнем с него.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Views 9.7K
Comments 3

Изучаем алгоритм работы регулярных выражений в Ruby

Ruby *Algorithms *Regular expressions *
Translation

Согласно Википедии, Oniguruma означает «колесница дьявола» в переводе с японского.

Мы все знакомы с регулярными выражениями. Они являются «швейцарским армейским ножом разработчика». Что бы вы ни искали, какой бы текст ни разбирали, вы всегда можете сделать это используя регулярные выражения. На самом деле, вероятно, вы начали использовать их гораздо раньше, чем стали использовать Ruby — они уже давно включены в большинство популярных языков программирования: Perl, JavaScript, PHP, Java и прочие. Ruby появился в середине 1990-х годов, тогда как регулярные выражения еще в 1960-х, то есть почти на 30 лет раньше!

Но как на самом деле работают регулярные выражения?
Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Views 15K
Comments 11

Решение проблемы обнаружения центральной линии сосуда

Inobitec corporate blog Algorithms *Image processing *Mathematics *Software

Суть задачи


В процессе медицинской диагностики может возникнуть необходимость исследовать сосуды пациента. Такое исследование называется ангиографией. С появлением томографов в дополнение к классической ангиографии появились методы МРТ и КТ ангиографии, которые в отличие от традиционной ангиографии, дающей только плоскую картинку в одной проекции, позволяют получить полное трехмерное представление сосудов. Для проведения таких исследований пациенту в кровь вводится контраст — специальное вещество, делающее сосуды на снимках более яркими. В зависимости от предполагаемого диагноза, врач или оценивает общую картину, или пытается найти конкретные участки сосудов, в которых возникли проблемы. Если участок сосуда сужен и пропускает меньше крови, чем должен, то это место называется стенозом.


Одна из задач врача — найти стенозы и оценить, насколько они опасны. Задача же разработчика, как обычно, облегчить работу конечного пользователя. Для этого необходимо построить полную 3D модель стенок сосуда и провести их первичный анализ. Это является большой и интересной задачей, однако, в её основе лежит более простая и известная проблема — построение центральной линии сосуда.
Читать дальше →
Total votes 43: ↑42 and ↓1 +41
Views 8.4K
Comments 15

Испанские физики сделали магнитную «червоточину»

Popular science Physics Science fiction


Червоточина ("wormhole" или «кротовая нора») — гипотетическая особенность пространства-времени, представляющая собой некий «туннель». Через него можно якобы прошивать насквозь ткань пространства-времени, быстро перемещаясь из с одного края Вселенной на другой. По крайней мере, так работали червоточины в научно-фантастических фильмах вроде «Звёздные врата» или «Звёздный путь», откуда и пошёл этот термин.

Механизм перемещения через червоточину можно сравнить с динамикой движения иголки, которая напрямую сшивает два противоположных конца свёрнутой ткани.

Заманчивая идея перемещений сквозь пространство будоражит умы не только любителей научной фантастики, но и учёных с кафедры физики Автономного университета Барселоны.
Читать дальше →
Total votes 40: ↑30 and ↓10 +20
Views 24K
Comments 35

Мозг не резиновый: чтобы запомнить что-нибудь, надо забыть что-нибудь другое

Popular science
image Похоже, старая буддийская притча о том, что в полный сосуд разума новых знаний не вольёшь, подтверждается исследователями, изучающими работу человеческого мозга. Учёные из Университета Бирмингема и Института поведенческой и клинической неврологии в своей новой работе доказывают, что для включения в память новых воспоминаний мозгу необходимо ослаблять и даже убирать старые.

Исследователи рассматривали работу мозга при помощи аппарата функциональной магнитно-резонансной томографии. Испытуемым сначала продемонстрировали 144 пары слов и изображений. Затем они пытались запомнить 72 пары, то есть половину пар из первого набора, путём построения ассоциаций между словом и изображением. После этого они приступили к запоминанию второй половины из набора. И в последней фазе эксперимента они пытались вспомнить ассоциации из первого набора.
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 21K
Comments 57

Разбираем магнитно-резонансный томограф

DIY Electronics for beginners

Квантовая физика, математика, биология, криогеника, химия и электроника сплелись единым узором, чтобы воплотиться в железе и показать настоящий внутренний мир человека, и даже, ни много ни мало, прочитать его мысли. Электроника таких аппаратов, по надежности и сложности может сравниться разве что с космической. Эта статья посвящается оборудованию и принципам работы магнитно-резонансных томографов.
Start Scan
Total votes 137: ↑137 and ↓0 +137
Views 157K
Comments 188

Разбираем магнитно-резонансный томограф II: Метаматериалы в МРТ

Wireless technologies *Popular science Physics Electronics for beginners


Мимо уха просвистела отвертка. С громким звоном она замерла на корпусе криостата.

Чертыхнувшись про себя, я решил взять перерыв. Откручивать болты в магнитном поле величиной 1.5 тесла, при помощи стального инструмента — так себе затея. Поле как невидимый противник постоянно пытается вырвать инструмент из рук, сориентировать его вдоль своих силовых линий и устремить как можно ближе к электронам, бегущим по замкнутому кругу из сверхпроводника. Однако, если очень нужно победить закисшие соединения многолетней давности, особо выбора нет. Я уселся за компьютер и привычно пролистал ленту новостей. «Российские ученые улучшили МРТ в 2 раза!» — гласил подозрительный заголовок.
Да не, бред какой-то
Total votes 124: ↑123 and ↓1 +122
Views 42K
Comments 22

Метод многоядерной МРТ

Popular science Physics Health
Sandbox
Привет, Хабр.

Я расскажу о многоядерной медицинской магниторезонансной томографии – одном из многих направлений развития МРТ. Коснусь особенностей метода, необходимых технических решениях, применении и перспективах.


Для начала небольшой экскурс в основы МРТ.


Читать дальше →
Total votes 59: ↑59 and ↓0 +59
Views 15K
Comments 29

Продвинутый подход к обнаружению границ на примере стенок сосуда

Inobitec corporate blog Algorithms *Image processing *Software

Интересная информация


На рисунке ниже изображена трехмерная реконструкция сердца, полученная в результате работы современного томографа:


Для масштаба указана толщина луковицы аорты — 3.2 см, подумать только! Однако, когда у людей возникают проблемы с сердцем из-за сосудов, то речь, как правило, идет вовсе не о таких больших. На изображении видно, что сердце окружено более мелкими сосудами, и некоторые из них ответвляются прямо из крупных артерий. Это так называемые коронарные артерии, которые питают кровью непосредственно сердце. Если в них происходит сужение просвета (стеноз), например, из-за образования кальция, то уменьшается поток крови. Когда стеноз ярко выражен, то случается некроз ткани, другими словами инфаркт. Далее я расскажу о нашем подходе к вычислению границ сосудов, который в результате позволяет автоматически находить сужения и давать им оценку.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Views 6.3K
Comments 37

Под капотом Ruby. GVL

Ruby *Programming *System Programming *C *Concurrent computing *

Давным давно уже уже была написана статья о том что такое GVL (или GIL, кому как привычнее) и как он работает, однако с того времени некоторые вещи поменялись (к примеру, , а так же в Ruby 3.0 завезли Ractor'ы - новую абстракцию для реальной параллельной работы тредов. Мне стало интересно узнать что поменялось в планировщике ruby для реализации множества GVL. В этой статье я попытаюсь понять алгоритм, по которому GVL передается от одного треда к другому, как блокирующее IO позволяет продолжить работать другим тредам, а так же выяснить до сих пор ли операция добавления элемента в массив является атомарной операцией

Читать далее
Total votes 9: ↑9 and ↓0 +9
Views 1.2K
Comments 0