Pull to refresh
8
0

QA Engineer

Send message

Параллельное программирование с CUDA. Часть 1: Введение

Reading time11 min
Views140K

Еще одна статья о CUDA — зачем?


На Хабре было уже немало хороших статей по CUDA — раз, два и другие. Однако, поиск комбинации «CUDA scan» выдал всего 2 статьи никак не связанные с, собственно, алгоритмом scan на GPU — а это один из самых базовых алгоритмов. Поэтому, вдохновившись только что просмотренным курсом на Udacity — Intro to Parallel Programming, я и решился написать более полную серию статей о CUDA. Сразу скажу, что серия будет основываться именно на этом курсе, и если у вас есть время — намного полезнее будет пройти его.
Читать дальше →

Rust: абстракции и безопасность, совершенно бесплатно (видеозапись с выступления на митапе Saratov Open-IT)

Reading time3 min
Views7.2K
Привет.

В прошлую субботу я выступал с докладом на очередном митапе Saratov Open-IT, где я рассказал про Rust — многообещающий системный язык программирования, разрабатываемый Mozilla Research и сообществом, и про то, какие проблемы он решает и какие у него есть особенности и инфраструктура. Надеюсь, что моё выступление будет интересно сообществу, поэтому выкладываю его здесь.

(видео не вставлено в пост через тег <video> потому что он не работает с конкретной временной меткой; длительность — примерно полтора часа)
http://www.youtube.com/watch?v=lmauAUF823k#t=2583

Больше про Rust и про сам доклад

100 приемов по управлению временем, вниманием и энергией

Reading time15 min
Views294K
Примечание переводчика: Перевод первой статьи из блога «A Year of Productivity» был благосклонно встречен хабра-сообществом, и меня попросили перевести еще несколько статей из этого блога. Приведенная ниже статья — самая большая и самая близкая к практике, её перевод затянулся у меня на несколько месяцев. Как и прошлый раз рекомендую читать комфортными порциями, записывая (или копируя куда-нибудь) советы, которые хочется попробовать применить на практике.

«Хаки» времени


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

Управление временем – хороший источник вашей продуктивности, но все три ингредиента абсолютно важны, если вы хотите быть более продуктивными на ежедневной основе. Именно поэтому в статье вы найдете набор приемов из всех трех областей.

Для начала вот несколько моих любимых приемов по тому как:
-  получить больше времени;
-  тратить время на правильные вещи.
Читать дальше →

Quotient filter

Reading time5 min
Views16K
Quotient filter — это вероятностная структура данных, позволяющая проверить принадлежность элемента множеству. Она описана в 2011 г. как замена фильтру Блума. Ответ может быть:
— элемент точно не принадлежит множеству;
— элемент возможно принадлежит множеству.

Читать дальше →

Адреса памяти: физические, виртуальные, логические, линейные, эффективные, гостевые

Reading time6 min
Views112K
Мне периодически приходится объяснять разным людям некоторые аспекты архитектуры Intel® IA-32, в том числе замысловатость системы адресации данных в памяти, которая, похоже, реализовала почти все когда-то придуманные идеи. Я решил оформить развёрнутый ответ в этой статье. Надеюсь, что он будет полезен ещё кому-нибудь.
При исполнении машинных инструкций считываются и записываются данные, которые могут находиться в нескольких местах: в регистрах самого процессора, в виде констант, закодированных в инструкции, а также в оперативной памяти. Если данные находятся в памяти, то их положение определяется некоторым числом — адресом. По ряду причин, которые, я надеюсь, станут понятными в процессе чтения этой статьи, исходный адрес, закодированный в инструкции, проходит через несколько преобразований.



На рисунке — сегментация и страничное преобразование адреса, как они выглядели 27 лет назад. Иллюстрация из Intel 80386 Programmers's Reference Manual 1986 года. Забавно, что в описании рисунка есть аж две опечатки: «80306 Addressing Machanism». В наше время адрес подвергается более сложным преобразованиям, а иллюстрации больше не делают в псевдографике.
Читать дальше →

Перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures»

Reading time3 min
Views67K
imageПривет, Хабр!

Мы (@ali_aliev и avenat) с удовольствием представляем вашему вниманию перевод интерактивного учебника «Problem Solving with Algorithms and Data Structures» от Брэда Миллера (Brad Miller) и Дэвида Ранума (David Ranum) из Luther College, что в Айове, США.

О чём?

В учебнике подробно рассматриваются, объясняются и анализируются наиболее часто используемые структуры данных и алгоритмы. Изложение идёт от простого (что такое алгоритм, как оценить его производительность) к сложному (деревья, графы) с живыми примерами и кодом. В качестве языка программирования выбран Python, а для тех, кто с ним плохо знаком, в первой главе есть большой раздел с его концентрированным описанием.

Авторы рассказывают о таких структурах данных, как стеки, очереди (в том числе с приоритетом), деки, хэш-таблицы, списки, деревья и графы. Последним двум вообще посвящены весьма не маленькие главы. Изложение не просто описательное: для каждой структуры предлагается вариант (а иногда и не один) её реализации на Python. Упор, естественно, делается на объектно-ориентированное программирование: создаётся класс, к нему пишутся методы, некоторые из которых авторы оставляют читателям для самостоятельной доработки. Затем идут примеры использования рассмотренной структуры и описание алгоритмов с её участием.

Одна из глав учебника посвящена рекурсии, в том числе её графическому представлению (фракталы). Разбирается несколько известных рекурсивных задач, а в конце наглядно демонстрируется, что эта методика, несмотря на её элегантность, отнюдь не «серебряная пуля».

Не обделены вниманием и классические алгоритмы для сортировки и поиска. И, естественно, для каждого из них анализируются производительность и «подводные камни», а так же даются рекомендации по применению. В последних главах, посвящённых деревьям и графам, даётся много материала об их разновидностях и связанных с ними алгоритмах. Изложение тут становится более сжатым, многие моменты просто описываются с тем, чтобы после прочтения главы читатель реализовал их самостоятельно.
Читать дальше →

Лучшие плагины для Sublime Text

Reading time5 min
Views645K

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →

Краткое введение в boost::program_options

Reading time5 min
Views44K
Занимаясь разработкой алгоритмов, постоянно одергиваю себя, а вдруг изменения, которые работают на небольшом примере, привнесут разброд и шатание в результаты на других, больших данных. Тогда мне на помощь приходит командная строка. Самое ужасное, что каждый раз реализовывать парсер аргументов уже надоело, а значит, не последним средством для C++ программиста оказывается пакет program_options из библиотеки boost.
Читать дальше →

Интересно и познавательно: наблюдаем вехи истории космонавтики с Orbiter

Reading time10 min
Views120K


Животные и люди умеют обучаться, играя. В самом деле, что может быть лучше — и интересно, и познавательно. Компьютерные игры не являются исключением, с некоторыми из них можно учиться. Я очень удивился, когда, поискав по Хабру, узнал, что космический симулятор Orbiter всего пару раз мельком упоминался здесь. Бесплатный космический симулятор с открытой для аддонов архитектурой и честной ньютоновской физикой оказался незаслуженно обойдённым вниманием. Наверное, из-за своей требовательности к начинающему игроку.
Как мы будем с этим бороться, и чему учиться?

Если бы плотников нанимали так же, как программистов

Reading time3 min
Views297K

Интервьюер: Итак, вы считаете себя плотником?
Плотник: Всё верно. Это именно то, чем я занимаюсь.

Интервьюер: Как долго вы занимаетесь этим?
Плотник: Десять лет.

Интервьюер: Очень хорошо. А теперь я бы хотел задать вам несколько технических вопросов, чтобы оценить, насколько вы впишетесь в нашу команду. Договорились?
Плотник: Конечно, было бы неплохо.

Интервьюер: Должен вам сказать, что мы работаем в подразделении, занимающимся постройкой большого количества коричневых домов. Доводилось ли вам строить множество коричневых домов?
Плотник: Ну, я же плотник — я строю дома, а люди уже красят их так, как пожелают.

Интервьюер: Да, я понимаю, но не могли бы вы подсказать мне, сколько у вас опыта именно с коричневыми? Ну, плюс-минус.
Плотник: Я действительно понятия не имею. С того момента, как дом построен, меня не волнует, в какой цвет его покрасят. Может, шесть месяцев?
Читать дальше →

Неочевидный способ борьбы с прокрастинацией

Reading time3 min
Views32K
Наверняка, многие слышали о таком понятии, как “состояние потока”. Сейчас выходит много умных книжек и статей на эту тему. Но если не вдаваться в подробности и говорить простыми словами, то это такое состояние, в котором лучше всего работать. Концентрация и вовлеченность в таком состоянии максимальны, правильные решения приходят в голову быстро и естественно, ничто окружающее не отвлекает: ни захламленный рабочий стол, ни неудобное кресло, ни поздний час или голодный желудок.

Все это здорово, и каждый из нас, скорее всего, вспомнит что-то из своего опыта. Но проблема в том, что “перестроить” себя в такое состояние не просто, а вот “вывалиться” из него очень легко. Особенно, если речь идет о скучной или непонятной работе, в этом случае «инерция для входа” особенно высока. Размышляя недавно обо всем этом, я понял, что периодически неосознанно использовал один прием, которым и хочу поделиться.



Читать дальше →

Искусство мышления и MindMaps

Reading time3 min
Views15K
Интеллект-карты (Mind Maps) я начал использовать некоторое время назад, после этой публикации на Хабре. Казалось бы, штука нехитрая, но очень сильно помогает мне в работе и учёбе, позволяя структурировать полученные знания и эффективно планировать свою деятельность. Неплохо прижились карты и при коллективном «мозговом штурме», позволяя получить на выходе одну или несколько диаграмм-результатов, которые, безусловно, более наглядно отражают результат многочасовой дискуссии. Mind Maps — это одновременно и инструмент и методика, очень эффективная и интересная для изучения.

Теперь о главном — предлагаю Вашему вниманию несколько книг (и видео-презентацию), рассказывающих о философии Mind Maps, тонкостях работы с «интеллект-картами», их происхождении и применении в различных сферах нелёгкого умственного труда.

Тони и Барри Бьюзен
Супермышление — The Mind Map Book



image

Издательство: Попурри, 2007 г.
Мягкая обложка, 320 стр.
ISBN 985-483-509-Х, 0-563-53732-9,978-985-15-0017-4
Тираж: 7000 экз.
Формат: 84x108/32

Ссылки:
Купить на Озоне
Скачать PDF версию c torrents.ru

Интересовало ли вас когда-нибудь, как работает мозг? Хотели бы вы улучшить свою память, повысить творческие возможности, ясность и эффективность мышления, общий уровень интеллекта и быстроту мысли?
В книге «Супермышление», являющейся частью революционной интеллект-серии Тони Бьюзена, вы ознакомитесь с инструментом под названием интеллект-карта (Mind-Map), который позволит достигнуть всего этого, мобилизовав возможности, скрывающиеся в вашем мозгу.
«Супермышление» предоставляет полный программно-методологический комплект для вашего сверхмощного биокомпьютера — головного мозга!


Ещё книг...

Как создается операционная система

Reading time7 min
Views8.8K
По докладу Ивана Рузанова «Windows – как создается операционная система» с конференции «Платформа 2009».

Как уже писал antonms, стали доступны записи докладов с Платформы. Несколько из них я посмотрел и хочу поделиться наиболее понравившимся. Учитывая занятость рядового хабра-юзера и продолжительность исходной записи доклада (1 час 20 мин.), ниже привожу развернутое изложение материала.
  • История Windows
  • Windows сегодня
  • Разработка Windows
  • Изменения ядра Windows 7
  • Сопровождение Windows, обновления/исправления
Читать дальше →

Стадии решения проблемы

Reading time4 min
Views14K
image
Написать статью решил после прочтения этой. Вроде бы и правильного в ней было много, но с другой стороны, понимаешь что нельзя на баги и дедлайны реагировать эмоционально. Так в чём же проблема?
Читать дальше →

Руководство для маленьких, или как Василий Бубликов стал начальником

Reading time6 min
Views5.7K
Что из себя представляет руководство на самом деле, или каким оно должно быть?
К сожалению в наших реалиях хороший руководитель — большая редкость. Возможно, некоторые мысли помогут некоторым «свежеиспеченным» руководителям не наступить на старые ржавые грабли. Тем кто не связан с руководством — поможет понять в чем заключается работа руководителя. А, умудренные руководящим опытом, я надеюсь, выскажутся в комментариях, и поделятся своим опытом.

В этой статье не пойдет речи об организации процессов. Здесь будет затронута только тематика рабочих взаимоотношений.
Читать дальше →

Психологическая деформация программистов. Взгляд с обеих сторон баррикад

Reading time6 min
Views139K
Само наличие психологической деформации у какой-либо профессии, как правило, достаточно спорный момент ввиду того, что у разных людей она проявляется по-разному. Однако общую тенденцию можно выделить и, пожалуй, настало то время когда можно достаточно смело говорить, что программисты всё же имеют свой особенный психологический портрет который обусловлен их профессиональной деятельностью.

Я достаточно часто сталкивался с подобным мнением и не придавал ему особого значения, но когда женский коллектив нашей организации поздравил программистов с 23-м февраля по доброму назвав их «космическими войсками», решил всё же расставить определенные акценты в данном вопросе, т.к. одна из моих профессий связана напрямую с психоанализом. Да и баш уже не молчит.

И что же них такого деформированного?

Хакер-математик

Reading time8 min
Views47K
Перевод статьи Эвана Миллера — The Mathematiclal Hacker.

Профессия программиста благословенна большим числом одаренных авторов. Сегодня я остановлюсь на трех моих любимых – Эрике Реймонде, Поле Грэме и Стиве Йегге. Сделаю я это потому, что они, как мне кажется, не сходятся со мной во мнении о том, что математика имеет (и будет иметь) значение для программиста-практика.
Читать дальше →

Помнить все: Evernote и Anki

Reading time12 min
Views259K


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

Я хочу достичь следующих целей при использовании системы:

  • помнить все термины и слова, которые когда-либо решил запомнить;
  • свободно использовать факты в разговорах и дискуссиях;
  • сохранять накопленный опыт: иметь информацию обо всех текущих и законченных проектах, о важных встречах и разговорах, об изученных темах;
  • моментально находить любые статьи, которые когда-либо показались интересными;
  • держать сознание свободным от любой текучки;
  • тратить на это все не более 20 минут в день.

Ниже я напишу о методах и правилах, которые составляют данную систему. Статья будет состоять из нескольких разделов:

  • Мой опыт по описанному вопросу
  • Проблемы запоминания
  • Теоретическое разрешение проблем
  • Практическое разрешение проблем с Evernote
  • Практическое разрешение проблем с Anki
Читать дальше →

Случайность в автотестах

Reading time5 min
Views18K

Введение


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

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

Как совместить приятное с полезным (анонимность и приватность) в email-е

Reading time5 min
Views23K
В этой теме я хотел бы дать короткий конспект как настроить относительно анонимную и относительно приватную систему email-переписки. Наверняка большинству из вас будут известны как минимум некоторые моменты из того, что написано ниже, я всего лишь попытался «собрать всё воедино».

Сразу хочу сказать насчет слова «относительно» в первом абзаце: абсолютную/защиту/надежность/безопасность в этом мире никто дать не может. Можно подцепить keylogger, полиция и спецслужбы абсолютно свободных и демократических могут на вполне законных основания вставить «жучек» в компьютер если вы подозреваетесь в серьезных преступлениях и т.д.

Если интересно, то прошу под кат.
Читать дальше

Information

Rating
Does not participate
Location
Железнодорожный (Московск.), Москва и Московская обл., Россия
Date of birth
Registered
Activity