Как стать автором
Обновить
55
0
Илья Попов @encyclopedist

Численное моделирование

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

Галерея эффектов кэшей процессоров

Время на прочтение10 мин
Количество просмотров25K
Ядро PenrynПочти все разработчики знают, что кэш процессора — это такая маленькая, но быстрая память, в которой хранятся данные из недавно посещённых областей памяти — определение краткое и довольно точное. Тем не менее, знание «скучных» подробностей относительно механизмов работы кэша необходимо для понимания факторов влияющих на производительность кода.

В этой статье мы рассмотрим ряд примеров иллюстрирующих различные особенности работы кэшей и их влияние на производительность. Примеры будут на C#, выбор языка и платформы не так сильно влияет на оценку производительности и конечные выводы. Естественно, в разумных пределах, если вы выберите язык, в котором чтение значения из массива равносильно обращению к хеш-таблице, никаких результатов пригодных к интерпретации вы не получите. Курсивом идут примечания переводчика.
Читать дальше
Всего голосов 181: ↑177 и ↓4+173
Комментарии47

Как написать пост с формулами: markdown + LaTeX

Время на прочтение3 мин
Количество просмотров24K
Привет! На Хабре периодически появляются статьи, где авторы хотят вставить математические формулы: inline_formula, inline_formula или даже


У некоторых это получается, у некоторых — с трудом. parpalak сделал web-сервис для вставки svg формул, и это очень круто. Я хочу дополнить его небольшим скриптом, с которым вставка многих формул сведется к одной команде.

Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии20

Скрипт Automator, загружающий изображения на Habrastorage: второе пришествие

Время на прочтение2 мин
Количество просмотров7.8K
Некоторое время назад я сделал скрипт, который загружает изображения на Habrastorage прямо из файлового менеджера. Но вот беда: после обновления он перестал работать.

image

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

Итак, как теперь загружать изображения?
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии16

7 правил создания красивых интерфейсов. Часть 2

Время на прочтение9 мин
Количество просмотров104K


Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Сегодня мы публикуем вторую часть перевода. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

Мы говорили о правилах создания чистых и красивых интерфейсов.

Вот эти правила:
  1. Свет падает сверху (Часть 1)
  2. Сначала черное и белое (Часть 1)
  3. Увеличьте белое пространство (Часть 1)
  4. Научитесь накладывать текст на изображения
  5. Научитесь выделять и утапливать текст
  6. Используйте только хорошие шрифты
  7. Крадите как художник

Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии15

Как красиво оформить публикацию на Хабре

Время на прочтение7 мин
Количество просмотров45K
Публикация – основная единица связи автора с читателем. Практика показывает, что на Хабре можно разместить почти любой формат: небольшой анонс и лонгрид-обзор, интервью, фотоотчёт, трансляцию события, урок и многое-многое другое. Нередко успех публикации зависит и от её оформления – приятно оформленный материал читать одно удовольствие. В этой статье мы постараемся предоставить вам много полезных советов по хорошему оформлению материала.

И первый лайфхак – кликабельная картинка до ката, которая ведёт сразу внутрь публикации:


Читать дальше →
Всего голосов 140: ↑121 и ↓19+102
Комментарии112

Субъективный хит-парад англоязычных космических мемуаров

Время на прочтение6 мин
Количество просмотров12K

Весной этого года в русском переводе вышла книга Криса Хэдфилда «Руководство астронавта по жизни на Земле». Она стала достаточно заметной, в самых различных изданиях появились рецензии. Выход оригинальной книги в 2013 году как-то прошел мимо меня, но сейчас я решил ее прочитать. Писать очередной отзыв на одну эту книгу уже неинтересно, поэтому я решил составить хит-парад англоязычных космических мемуаров. Определение мест, конечно же, субъективное, как говорили на Absolute Games, «на наше мнение можно положить(ся)».
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии2

О бедной рекурсии замолвите слово, или всё, что вы не знали и не хотите о ней знать

Время на прочтение8 мин
Количество просмотров78K
Рекурсия: см. рекурсия.

Все программисты делятся на 112 категорий: кто не понимает рекурсию, кто уже понял, и кто научился ею пользоваться. В общем, гурилка из меня исключительно картонный, так что постигать Дао Рекурсии тебе, читатель, всё равно придётся самостоятельно, я лишь постараюсь выдать несколько волшебных пенделей в нужном направлении.

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

— Как она сложена?
— Превосходно! Только рука немного торчит из чемодана.

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

  def fib(n):
    if n<0: raise Exception("fib(n) defined for n>=0")
    if n>1: return fib(n-1) + fib(n-2)
    return n

приходится городить всевозможные грязные хаки, начиная от:

  @memoized
  def fib(n):
    if n<0: raise Exception("fib(n) defined for n>=0")
    if n>1: return fib(n-1) + fib(n-2)
    return n

И заканчивая вообще:

  def fib(n):
    if n<0: raise Exception("fib(n) defined for n>=0")
    n0 = 0
    n1 = 1
    for k in range(n):
      n0, n1 = n1, n0+n1
    return n0

Читать дальше →
Всего голосов 55: ↑44 и ↓11+33
Комментарии63

Линейная алгебра: пробный заезд

Время на прочтение7 мин
Количество просмотров145K
Привет, Хабр!

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

Часто первое знакомство с линейной алгеброй выглядит как-то так:

image

Не очень вдохновляет, правда? Сразу возникает два вопроса: откуда это все взялось и зачем оно нужно.

Начнем с практики


Когда я занимался вычислительной гидродинамикой (CFD), один из коллег говорил: «Мы не решаем уравнения Навье-Стокса. Мы обращаем матрицы.» И действительно, линейная алгебра — «рабочая лошадка» вычислительной математики:


Читаем дальше...
Всего голосов 36: ↑35 и ↓1+34
Комментарии15

Почему от 3D болит голова / Часть 2: Дискомфорт из-за качества видео

Время на прочтение14 мин
Количество просмотров27K

Why 3D is so painful?




Это вторая статья из серии «Почему от 3D болит голова». В первой части речь шла в основном про проблемы кинооборудования. Во второй части речь пойдет про общие проблемы контента. Что такое «вырви глаз»-сцены? Какими они бывают? Почему они попадают даже в блокбастеры? Также очень важный аспект субъективное восприятие. В набравшем наибольшее количество плюсов комментарии к первой статье серии, автор пишет: «Фильм «в триде» чаще всего имеет 2-3 сцены, где это самое «триде» заметно, обычно именно для этого и снятые, а в остальном отличается только мутной темной картинкой через заляпанные очки...» Почему картинка мутная и темная, и когда могут закончиться «темные времена 3D» было подробно рассказано в первой части, а вот почему про одни и те же фильмы одни говорят, что там «слишком трехмерные сцены, аж глаза ломит», а другие «3D эффекта в фильме совершенно не видно» будет рассказано ниже.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии48

Форматирование Python-кода

Время на прочтение4 мин
Количество просмотров68K

Введение


Python, точнее его самый известный представитель CPython, не очень предназначен для каких-либо быстрых расчетов. Иначе говоря, производительность у него не такая уж хорошая. А вот скорость разработки и читаемости отличная.

О читаемости и пойдет речь, а точнее как ее увеличить.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии33

Философия системы Asana. 4 принципа работы в системе

Время на прочтение4 мин
Количество просмотров15K
Наверняка многие слышали о системе управления проектами Asana. Дастин Московиц, ранее известный как соучредитель Facebook, привлёк многомиллионные инвестиции для своего проекта.

В начале 2013 года, когда мы всем агентством в очередной раз лихорадочно пытались сбежать из неповоротливых «Битрикс 24» и «Мегаплан». Я протестировал Asana и сказал: «ну что инвесторы нашли в этом проекте? Здесь же ничего нет!» Однако со временем понял: как и любая легендарная система, Asana имеет свою философию, своё ДАО, без знания которых ларчик не откроется.

Сегодня я расскажу о четырёх основных принципах работы в Asana, которые заставят взглянуть на этот инструмент по-новому и сделать его тайным оружием вашей эффективной работы.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии20

О переборе на примере генерации кроссвордов

Время на прочтение5 мин
Количество просмотров11K
С статье "Алгоритм формирования кроссвордов" были предложены несколько эвристик, которые были реализованы в программе автоматической генерации кроссвордов. Несмотря на то, что предложенные эвристики хорошо проработаны, даже они не позволили за разумное время сгенерировать кроссворд для самой сложной из приведенных сеток:

image
Этот и все последующие рисунки взяты из исходной статьи

В этой статье, я бы хотел обсудить гораздо более простое решение, которое позволяет решить эту задачу.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии18

15 европейских стартапов, меняющих музыкальную индустрию

Время на прочтение5 мин
Количество просмотров22K


Число музыкальных стартапов все возрастает, поэтому мы решили, что пришло время [оригинальная статья опубликована в сентябре 2014 года – прим. перев.] рассказать о 15 европейских компаниях, которые меняют музыкальную индустрию.
Читать дальше →
Всего голосов 21: ↑19 и ↓2+17
Комментарии18

Недорогие, маленькие, сетевые компьютеры — небольшой обзор

Время на прочтение6 мин
Количество просмотров96K
«Чтоб ты жил в интересные времена!» — якобы старинное китайское проклятие.
Да, нам с вами повезло или «повезло» жить в действительно интересные времена (вариант — «в эпоху перемен»). Возможно, это на самом деле проклятие, особенно с точки зрения мифических древних китайцев. Однако факт остается фактом: то, что еще пара десятков лет назад казалось невозможным, сейчас доступно практически каждому. Особенно это заметно в нашей отрасли — информационные технологии и цифровая электроника развиваются просто какими-то совершенно фантастическими темпами. Функциональные возможности, быстродействие, миниатюрность и (относительная) дешевизна современных цифровых решений поражает воображение.
Еще совсем недавно сетевой компьютер размером меньше кредитки и стоимостью в несколько сотен рублей, пригодный для создания на его базе интересных самостоятельных проектов энтузиастами-одиночками с относительно невысоким уровнем знаний в области электроники и программирования, казался весьма отдаленной перспективой. И вот уже мы можем смело выбирать из десятка (как минимум) альтернатив! Давайте посмотрим, что сейчас можно приобрести буквально за несколько десятков долларов, чтобы построить вокруг этого нечто впечатляющее и даже, может быть, полезное.
Итак, поехали.
Всего голосов 65: ↑60 и ↓5+55
Комментарии124

Доклады конференции CppCon 2014

Время на прочтение6 мин
Количество просмотров13K
Недавно в городе Белвью (штат Вашингтон) прошла одна из самых больших конференций С++ разработчиков — CppCon 2014. В течение пяти дней ведущие программисты таких компаний как Microsoft, Google, Dropbox, Citrix, Embarcadero, Ubisoft, разработчики стандарта языка, создатели компиляторов С++ и члены комьюнити opensource-продуктов представляли свои доклады, делились мнениями о будущем языка, предлагали новые идеи. Ниже я представлю выборку наиболее понравившихся мне видео с небольшими комментариями от себя. Хочется отметить, что вся конференция просто пропитана духом возрождения С++ в виду распространения стандартов С++11\14, люди рассказывают почему выбор С++ оказался для них верным, как они успешно мигрировали с C#\Java\Objective-C на С++ и не пожалели об этом и т.д.

Удачного просмотра!

Докладчики из Dropbox рассказывают о том, как они разрабатывают на С++ кроссплатформенные мобильные приложения.
Когда-то у Дропбокса были классические мобильные приложения: Java-код для Android и Objetive-C для iOs. Однако со временем команде разработчиков надоело писать одно и то же по 2 раза на разных языках и они пришли к выводу о необходимости создания общей кодовой базы на С++. Со временем оказалось, что какую бы архитектуру не имело приложение (MVC, MVVM или что-нибудь другое), фактически весь код кроме вьюх может быть вынесен в С++. Действительно, на С++ можно реализовать модель данных, контроллеры, бизнес-логику, вспомогательные библиотеки для работы с сетью, базами данных, парсингу и т.д. Всё, что остаётся на долю Java и Objective-C — нарисовать «родные» для данной платформы кнопки\списки\лейбы на вьюхах. И этот подход существенно более прагматичен, чем писать всё дважды.

Первое видео более обзорное, второе более практическое:


Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии7

20 самых популярных выступлений всех времен на конференции TED

Время на прочтение3 мин
Количество просмотров354K
Привет, Хабр. Я знаю, что здесь уважают и любят выступления TED. Поэтому я не мог пройти мимо новости о том, что сайт ted.com после редизайна обновил плейлист «20 самых популярных выступлений на TED всех времен». Это яркий пример того, как путем послабления копирайта (все лекции TED находятся в открытом доступе, распространяются по лицензии CC, согласно которой разрешено все, кроме коммерческого использования) и организации краудсорсинга (все переводы выполняют волонтеры) можно добиться впечатляющих результатов…



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

Рейтинг составлен по количеству просмотров (в статистике учитывались данные с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.)

Большинство лекций переведены на русский язык, с субтитрами или в озвучке. Не буду много писать, это нужно смотреть. Остальное под катом.
Читать дальше →
Всего голосов 117: ↑109 и ↓8+101
Комментарии22

Вам календарик 2013

Время на прочтение1 мин
Количество просмотров110K


Добрые традиции — это здорово! Календарик!

В карман (100×70мм):
pdf, eps, svg или png (1185×829, 300dpi)

На стенку (A4):
pdf, eps, svg или png (3512×2457, 300dpi)

Сделай сам:
Генератор календариков (Python, CC-BY)

Читать дальше →
Всего голосов 197: ↑176 и ↓21+155
Комментарии34

Расписание выхода статей на Хабре (на любую неделю)

Время на прочтение2 мин
Количество просмотров22K
Понедельник
  • Новости: ученые изобрели машину времени, вышел новый ноутбук толщиной 80 нанометров, Google покупает Microsoft, Facebook увольняет 1000 программистов.
  • Вылез стартап. Попиарился, лёг под хабраэффектом, встал, собрал замечания, поблагодарил, пропал навсегда.
  • Вышла новая версия третьего слева линукса. Качать срочно.
  • Я негодую — счет за телефон оператор округлил до кратности числу Пи.

Вторник
  • Опровержение новостей: ученые изобрели всего-лишь более точные часы, 80 нанометров — это техпроцесс, а не толщина ноутбука, Google покупает какой-то стартап, который отказался купить Microsoft, Facebook набирает 5000 программистов.
  • Начало холивара, модного на этой неделе (чай vs кофе, бинокль vs подзорная труба, черное vs белое)
  • Очень важный технический ресурс (ЖЖ, порнолаб, Sony Network) взломан (заДДОСен, конфискован УБОПом). Паника и отчаяние.

Читать дальше →
Всего голосов 432: ↑418 и ↓14+404
Комментарии57

Поиск и получение работы в Норвегии

Время на прочтение9 мин
Количество просмотров55K
И снова здравствуйте!

Итак, я приехал в Норвегию, мне предстояло проучиться два года в магистратуре. Как я уже сообщил, финансирование у меня было только на полгода, потом продлили ещё на полгода, а потом пришлись финансировать себя самому. Поэтому кроме поиска работы по специальности был актуален вопрос поиска работы во время учёбы. О своём опыте поиска различных работ я и расскажу.
Читать дальше →
Всего голосов 49: ↑46 и ↓3+43
Комментарии42

Перестаньте называть себя программистом и другие карьерные советы

Время на прочтение19 мин
Количество просмотров258K
Есть один курс, который я бы добавил в программу обучения по всякой инженерной специальности, и он не о компиляторах или сложности алгоритмов. Это “Введение в реальность индустрии”, ибо об этом не говорят и это приводит к никому не нужным обломам. Эта статья претендует стать README.txt для молодого инженера в деле построения карьеры. Ее цель — сделать вас счастливее, заполнив пробелы в образовании относительно того, как работает реальный мир. Я не призываю следовать написанному как подробному руководству, но я надеюсь, что эта информация окажется для вас более ценной, чем то ничто, что вам рассказали об этом в университете.
Читать дальше →
Всего голосов 251: ↑212 и ↓39+173
Комментарии175

Информация

В рейтинге
Не участвует
Откуда
Delft, Zuid-Holland, Нидерланды
Дата рождения
Зарегистрирован
Активность