Pull to refresh
171
0
Вадим Карпусенко @Vadikus

Пользователь

Send message

Распараллеливание алгоритма Штрассена на Intel® Xeon Phi(TM)

Reading time6 min
Views20K
Сопроцессоры Intel Xeon Phi(TM) представляют собой PCI Express устройство и имеют x86 архитектуру, обеспечивая высокую пиковую производительности — до 1,2 терафлопс (триллион операций с плавающей запятой в секунду) двойной точности на сопроцессор. Xeon Phi(TM) может обеспечивать одновременную работу до 244 потоков, и это нужно учитывать при программировании для достижения максимальной эффективности.

Недавно мы вместе с компанией Intel проводили небольшое исследование эффективности реализации алгоритма Штрассена для сопроцессора Intel Xeon Phi(TM). Кому интересны тонкости работы с этим устройством и просто любящих параллельное программирование, прошу под кат.


Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments15

Как Cisco Security Ninja научили 20 тысяч сотрудников безопасному программированию?

Reading time8 min
Views17K
Когда вы слышите словосочетание “повышение осведомленности в области информационной безопасности”, то что вам первым приходит на ум? Обучение пользователей не открывать письма от посторонних и не кликать на фишинговые ссылки? Обучение способам распознавания социального инжиниринга? Отслеживание, чтобы никто посторонний не зашел в офис, как будто бы он с вами? У нас в Cisco такая программа тоже есть и мы тоже регулярно проходим соответствующее обучение. Но сегодня мне бы хотелось рассказать о другой нашей добровольной программе повышения осведомленности, которая была создана менее чем за полгода командой из всего четырех человек с бюджетом менее 50 тысяч долларов. Обратите внимание еще раз. Добровальная программа! Создана четырьмя людьми! Меньше чем за полгода! Всего за 50 тысяч долларов! А прошло обучение и успешно сдало экзамен по этой программе свыше 20 тысяч сотрудников Cisco — инженеров и разработчиков.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments9

Звуковые отпечатки: распознавание рекламы на радио

Reading time5 min
Views34K
Из этой статьи вы узнаете, что распознавание даже коротких звуковых фрагментов в зашумленной записи — вполне решаемая задача, а прототип так вообще реализуется за 30 строчек кода на Python. Мы увидим, как тут помогает преобразование Фурье, и наглядно посмотрим, как работает алгоритм поиска и сопоставления отпечатков. Статья будет полезна, если вы сами хотите написать подобную систему, или вам интересно, как она может быть устроена.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments26

Доказательство некорректности алгоритма сортировки Android, Java и Python

Reading time13 min
Views76K
Тим Петерс разработал гибридный алгоритм сортировки Timsort в 2002 году. Алгоритм представляет собой искусную комбинацию идей сортировки слиянием и сортировки вставками и заточен на эффективную работу с реальными данными. Впервые Timsort был разработан для Python, но затем Джошуа Блох (создатель коллекций Java, именно он, кстати, отметил, что большинство алгоритмов двоичного поиска содержит ошибку) портировал его на Java (методы java.util.Collections.sort и java.util.Arrays.sort). Сегодня Timsort является стандартным алгоритмом сортировки в Android SDK, Oracle JDK и OpenJDK. Учитывая популярность этих платформ, можно сделать вывод, что счёт компьютеров, облачных сервисов и мобильных устройств, использующих Timsort для сортировки, идёт на миллиарды.

Но вернёмся в 2015-й год. После того как мы успешно верифицировали Java-реализации сортировки подсчётом и поразрядной сортировки (J. Autom. Reasoning 53(2), 129-139) нашим инструментом формальной верификации под названием KeY, мы искали новый объект для изучения. Timsort казался подходящей кандидатурой, потому что он довольно сложный и широко используется. К сожалению, мы не смогли доказать его корректность. Причина этого при детальном рассмотрении оказалась проста: в реализации Timsort есть баг. Наши теоретические исследования указали нам, где искать ошибку (любопытно, что ошибка была уже в питоновской реализации). В данной статье рассказывается, как мы этого добились.

Статья с более полным анализом, а также несколько тестовых программ доступны на нашем сайте.
Читать дальше →
Total votes 136: ↑134 and ↓2+132
Comments26

Простой клавиатурный тренажер для программистов

Reading time4 min
Views92K
Я веду занятия по программированию для школьников. И наблюдаю проблему, в общем-то, очевидно, стандартную для всех школьников, особенно средних классов — у многих очень низкая скорость набора программного текста на клавиатуре.

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

Когда я сам был школьником, у нас на занятиях по программированию была специальная (самописная) программа-тренажер, которая в качестве словаря использовала реальный словарь языка программирования (выдернутый из справки, насколько я помню). Я решил, что нынешним школьникам надо тоже сделать что-то подобное — чтобы они тренировались на фрагментах, которые реально будут встречаться в программах. При этом они не только будут увеличивать свою скорость набора, но еще и учить собственно программные конструкции.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments31

CERN планирует увеличение своих вычислительных возможностей до 150 000 ядер

Reading time3 min
Views17K
Париж, 1989 год — начало создания одного из величайших и дорогостоящих творений современности, Большого адронного коллайдера. Это событие несомненно можно назвать подвигом, но установка, образовавшая почти 27-километровое кольцо, вкопанное более чем на 90 метров под землёй на франко-швейцарской границе, бесполезна без огромных вычислительных мощностей и не менее огромного хранилища данных.


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments10

Процесс разработки игры теперь можно транслировать в Twitch

Reading time1 min
Views23K


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

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

Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments12

Как работают рекомендательные системы. Лекция в Яндексе

Reading time11 min
Views140K

Привет, меня зовут Михаил Ройзнер. Недавно я выступил перед студентами Малого Шада Яндекса с лекцией о том, что такое рекомендательные системы и какие методы там бывают. На основе лекции я подготовил этот пост.





План лекции:


  1. Виды и области применения рекомендательных систем.
  2. Простейшие алгоритмы.
  3. Введение в линейную алгебру.
  4. Алгоритм SVD.
  5. Измерение качества рекомендаций.
  6. Направление развития.

Под катом вы найдете конспект лекции и презентацию
Total votes 63: ↑56 and ↓7+49
Comments42

Как IT-специалисту сохранить свои финансы?

Reading time5 min
Views204K
Не секрет, что ИТ-специалисты в наше время неплохо зарабатывают. Под «неплохо» подразумевается отсутствие необходимости жить в режиме «от зарплаты до зарплаты» и наличие возможности откладывать какие-то деньги.

Однако российские реалии таковы, что даже хорошая зарплата сегодня, вовсе не означает сытого будущего хотя бы завтра, не говоря уж о более отдаленной перспективе. Не являясь специалистом в экономике или области финансов, я решил (прежде всего для себя), порассуждать на тему, а как же, собственно, нам, айтишникам, не потерять, и, в идеале, приумножить свои сбережения?
Читать дальше →
Total votes 89: ↑72 and ↓17+55
Comments567

В поисках удобного источника питания, обзор внешнего аккумулятора на 6000мАч

Reading time6 min
Views108K

Введение

В нашем институте введена бальнорейтинговая система, благодаря этому хочешь ты или нет, но для хорошей оценки необходимо посещать пары на 146%. Поэтому с каждым днем все острее становилась проблема смены Nokia x6, отсутствие приложений и сильные лаги браузера на каждой второй странице только ускоряли процесс. И вот, три месяца назад я приобрел Samsung Galaxy R с чипом Tegra 2, в первые дни аппарат из рук практически не выпускал, и быстрый разряд батареи списывал на излишний интерес к девайсу. Время шло, интерес постепенно спадал, и в конце концов установился на определенном уровне, но увы заряда аккумулятора не всегда хватало чтобы вернуться домой слушая музыку. В связи с этим начался поиск источников дополнительной энергии.
Осторожно, под катом 5Мб фотоматериалов.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments36

Акселерометры смартфонов помогут искать ямы на дорогах

Reading time2 min
Views3.9K
Каждую весну на дорогах Бостона появляются около 19 000 новых ям. Это нормальное явление для любого северного города, потому что под снегом и реагентами асфальт неизбежно деградирует. Весной дорожные службы выводят технику на улицы, чтобы залатать проплешины. Теперь они придумали новый способ для повышения качества работы.

В отделении городской механики мэрии Бостона разработали программу Street Bump для Android, которая должна регистрировать все ямы на дороге и автоматически отправлять GPS-координаты дорожникам.
Читать дальше →
Total votes 78: ↑73 and ↓5+68
Comments71

Nokia N900. Продолжаем разбираться или «Hack your Nokia N900»

Reading time27 min
Views22K
Добрый день уважаемый читатель. Продолжаю свой цикл статей о Nokia N900. Вот, вот и вот — предыдущие мои публикации.
Сегодня продолжим изучение аппарата, и сегодняшняя тема — это хак. Мы будем лезть в разные штуки и менять разные вещи, которые не предусмотрены для изменения разработчиками. Это делается очень легко и подвластно даже обычному пользователю, если у него будет желание. Я не буду рассказывать как пропатчить ядро или увести аппарат в высокопроизводительный режим, просто покажу несколько полезный улучшений, которые могут пригодиться каждому.
Предупреждение: автор не несет ответственности за причиненные повреждения вашему аппарату в процессе следования данным инструкциям. Вы все делаете на свой страх и риск.
Надеюсь не очень напугал? Могу сказать, что убить аппарат до такого состояния, что Вы не сможете его восстановить — практически нереально(но возможно!!! я знаю один случай). Но даже если у Вас получиться, то 99% сервисный центр Вам поможет. Но главное правило — будьте осторожны и читайте сначала, а потом делайте, и делайте аккуратно и обращайте пристальное внимание на последовательность действий, а главное на то, что выделено красным цветом (не зря же я это выделял).
image

Тут читай инструкции.
Total votes 53: ↑45 and ↓8+37
Comments18

Наглядно о ДНК

Reading time1 min
Views2.9K


В институте Walter и Eliza Hall (Австралия), сделали несколько отличнейших анимаций о самых базовых процессах происходящих в нашем организме. Все процессы показаны в реальном времени.

1. Показано как молекула ДНК длинной ~1.8метра, упаковывается в хромосому.
2. Копирование ДНК с помощью молекулярной машины — Хеликазы.
3. Переписывание ДНК в РНК, чтобы произвести далее белок гемоглобин.
4. Перевод РНК в гемоглобин с помощью рибосомы.
5. Гемоглобин и Серповидно-клеточная анемия.

К сожалению у видео не очень хорошее качество. Пытался свести качественное видео с сайта института( оно там 600 x 480 ) с этим звуком — не сходится во многих местах ;(

Тут есть этот ролик, но без комментариев, зато в отличном качестве, а заодно и все остальные ролики по биологии. Большинство в 600x480. Апоптоз (программируемая смерть клетки), Диабет первого типа, Заражение малярией, Ответ имунной системы на заражение, злокачественная(рак) опухоли.
wehi.edu.au/education/wehi-tv
Total votes 80: ↑75 and ↓5+70
Comments43

GuruPlug Server — новая версия ультракомпактного Linux сервера размером с зарядное устройство

Reading time1 min
Views8.1K
image

Ранее на Хабре уже упоминались предшественники этого компактного компьютера (ссылка #1 и ссылка #2)
Более ранняя модель в линейке называется SheevaPlug и продаётся по цене 99$.
Разработчики из Marvell пошли дальше и на выставке CES2010 были анонсированы новые модели —
GuruPlug Server и GuruPlug Server — PLUS (с расширенным функционалом).
Модель GuruPlug Server дополнительно имеет:

2 x Gb Ethernet
2 x USB 2.0
1x eSATA @ 3Gb/s SATAII
1x MicroSD Slot)

В двух словах, GuruPlug Server – PLUS это ультракомпактный компьютер, размером с зарядное устройство для AAA аккумуляторов, однако внутри установлен 1,2 GHz процессор, 512 RAM, адаптер Wi-Fi 802.11b/g,
Bluetooth: 2.1 / EDR, также имеются два порта USB 2.0 и два Ethernet-разъема, кроме этого имеется возможность подключения устройств по интерфейсам eSATA и SATAII, а также встроенный слот для карт памяти microSD.
Читать дальше →
Total votes 101: ↑97 and ↓4+93
Comments171

Открытый каталог математических загадок

Reading time1 min
Views793
Американский институт математики совместно с Национальным научным фондом открыли сайт AIM Problem Lists — систематизированный каталог нерешённых математических проблем, с подробным описанием каждой из них.

Для начала в каталог включили четыре категории тем.

Группы кос, кластеры и свободная вероятность
Низкие собственные значения операторов Лапласа и Шрёдингера
Эквиваленты гипотезы Римана
Гипотеза Римана и смежные проблемы

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

Со временем этот сайт станет отличным подспорьем для начинающих учёных, которые думают над выбором области исследований. Правда, работа может затянуться на годы и даже десятилетия, потому что некоторые задачи остаются нерешёнными уже очень долго.
Total votes 31: ↑29 and ↓2+27
Comments18

Написание базового wave-робота на python'e

Reading time6 min
Views4.5K
Слава Роботам
По лету мне достался инвайт в гугльвейв песочницу. Но в этой самой песочнице было очень много народу, все волны были публичными, и мой бедный нетбук только с большим скрипом переваривал всю эту активность, так что, немного поигравшись, на сендбокс я забил :)

И вот недавно мой аккаунт в сендбоксе превратился в аккаунт в лайвпревью, и я, разослав инвайты тем, до кого добрался, и ожидая, пока хоть кто-то из знакомых их получит, сел разбираться с роботским апи.
Читать дальше →
Total votes 74: ↑62 and ↓12+50
Comments22

Подготовка статей для хабра: расширение Markdown + подсветка синтаксиса + загрузка изображений

Reading time3 min
Views2.5K

Описание

Представляю вашему вниманию расширение «человеческого» языка разметки Markdown для использования на хабре.Основные цели:
  • Заменить «человеко-читабельный», но отнюдь не «человеко-писабельный» HTML на Markdown.
  • Обеспечить поддержку расширенной разметки хабра.
  • Автоматизировать загрузку изображений и вставку их URL в статью.
  • Добавить подсветку синтаксиса.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments34

multi_get — качаем сайты оптом

Reading time4 min
Views1.7K
Топик будет интересен тем, кто хочет индексировать Интернет-сайты на предельных скоростях (самодельные поисковики, анализы частоты слов, сервисы по анализу html'я и т.п.) Threading тут не дает предельных скоростей, urllib — тем более… Решение здесь в использовании асинхронных запросов из libcurl.

Скорость?
На 500MHZ (очень-очень слабенький VPS) — около 100 URLов в секунду (100 соединений, 2 процесса).
На Amazon EC2 «High-CPU Medium Instance» (.2$/час) ~ 1200 URLов в секунду (300 соединений, 5 одновременных процессов). В один процесс до 660 URLов в секунду.

Для выкачивания множества сайтов и дальнейшей обработки, хочу поделиться одной своей полезной функцией — multi_get — по сути она — удобный wrapper для CurlMulti (libcurl), модифицированный из их примера CurlMulti.

>>> urls = ['http://google.com/', 'http://statcounter.com/']
>>> res = {}
>>> multi_get(res, urls, num_conn = 30, timeout = 5, percentile = 95)
>>> res['http://google.com/']
'<html><title>Google....
# тут обрабатываем res, который содержит HTML всех для URL'ок
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments11

intv без рекламы

Reading time1 min
Views527
надоела мне реклама на интв, вот и появился на свет такой букмарклет =)

прям складно =), ну да ладно =).

добавляем себе в фавориры вот эту строчку:

javascript:des=prompt("postfix:");document.location='http://djung.org/tools/getFLV.php?u='+escape(window.location)+'&t='+des+'&v=video';

у последнего параметра v есть ещё другие опции кроме video

l — получаем ссылки на flv файлы в виде html

t — просто текст с сылками на файлы

kget — чтобы сразу начать качать менеджером закачек kget.
Total votes 14: ↑9 and ↓5+4
Comments9

Information

Rating
Does not participate
Location
Santa Clara, California, США
Date of birth
Registered
Activity