Pull to refresh
20
0
Лохас Пименаускас @crashdumper

User

Send message

Тест скорости сшивки панорам MS ICE vs Autopano Giga 2.0.3 и Hugin 0.7.0

Reading time 2 min
Views 3.7K
Небольшой тест по сравнению скорости сшивки панорам в только что вышедшей новой версии (писал об этом здесь) Microsoft Image Composite Editor 1.3.3 (скачать). Сравниваю с двумя популярными сшивалками — Hugin и Autopano Giga. Тесты — панорама 50 MPix (10 кадров) и панорама 81 MPix (18 кадров).

ScreenShot00182 ScreenShot00183
Читать дальше →
Total votes 34: ↑20 and ↓14 +6
Comments 76

Новая версия сшивалки панорам Microsoft Image Composite Editor (ICE), будущие фичи

Reading time 2 min
Views 15K
ScreenShot00156

Обновилась бесплатная сшивалка панорам ICE, о предыдущей версии которой я как-то писал. Технологическая база в этой программе весьма продвинутая, качество результата высокое, поэтому продукт заслуживает внимания.
Новые возможности и улучшения:
  • Улучшена поддержка многопоточности.
  • Поддержка 16-битной глубины цвета на входе и выходе.
  • Специальный шаблон для панорамы снятой рядами, оптимизирует подготовку гигапикcельных панорам и ускоряет получение предварительного результата.
  • Экспорт панорамы на сайт Photosynth.

Читать дальше →
Total votes 38: ↑23 and ↓15 +8
Comments 15

Обзор торговых роботов

Reading time 3 min
Views 26K
Привет, хабралюди! Все мы знаем про Forex, может даже кто-нибудь из Вас и пытался (или до сих пор пытается) на нём играть заработать на жизнь, пиво, телефон, машину, стартап (нужное подчеркнуть). Но в нашей жизни полностью уделить все время торговле на валютном рынке, практически не реально и в следствии чего появились автоматические торговые эксперты.
В данном посте я расскажу о некоторых платных советниках, которые я покупал и использовал на реальном счете. Все графики и цифры взяты из личного опыта и никаким образом не отношусь к разработчикам советников.
Так что предлагается выбрать «красную» или «синюю» таблетку :)

Синяя таблетка...
Total votes 165: ↑130 and ↓35 +95
Comments 183

Unity customization

Reading time 5 min
Views 35K
Доброго времени суток.

Сегодня я хочу рассказать вам о том, как можно изменить внешний вид графической оболочки Natty Narwhal — Unity.

Немного предыстории

Началось все с выпуска Ubuntu 11.04 Beta 2, очень уж мне захотелось попробовать в деле пакет Ayatana Scrollbars, однако установка его на 10.10 оказалась невозможной — версии в PPA начинаются с Natty.
Честно говоря, исходники то доступны, так что, теоретически, установить overlay-scrollbar на 10.10 можно, но для этого придется обновить libglib до версии 2.28, а в Synaptic'е Maverick'а наивысшая версия — 2.26. А переставлять libglib руками — это то еще удовольствие.
Читать дальше →
Total votes 56: ↑53 and ↓3 +50
Comments 54

Moles — Isolation Framework от Microsoft Research или как сделать юнит-тестирование удобнее

Reading time 3 min
Views 1.9K
Иногда случается, что стройную и продуманную систему юнит-тестов душит сильная связность компонентов — особенно этим грешит legacy код, изначально не предназначенный для тестирования. Рефакторинг, конечно, спасает — но не всегда можно рефакторить. Одной из проблем, возникающих при создании юнит-тестов может стать использование static методов или non-virtual методов, которые должны быть перегружены для успешного написания тестов. Поможет в этом проект от Microsoft Research — Moles.
Читать
Total votes 44: ↑30 and ↓14 +16
Comments 12

Руководство по отладке многопоточных приложений в Visual Studio 2010

Reading time 9 min
Views 19K
В этой статье я расскажу, как отлаживать многопоточные приложения в Visual Studio 2010, используя окна Parallel Tasks и Parallel Stacks. Эти окна помогут понять структуру выполнения многопоточных приложений и проверить правильность работы кода, который использует Task Parallel Library.

Мы научимся:
  • Как смотреть call stacks выполняемых потоков
  • Как посмотреть список заданий созданных в нашем приложении (System.Threading.Tasks.Task)
  • Как перемещаться в окнах отладки Parallel Tasks и Parallel Stacks
  • Узнаем интересные и полезные мелочи в отладки с vs2010


Осторожно, много картинок
Читать дальше →
Total votes 63: ↑47 and ↓16 +31
Comments 9

Книга MEF

Reading time 7 min
Views 36K
imageЭтой статьей я начинаю цикл, цель которого – создание наиболее полного руководства по Managed Extensibility Framework (MEF) на русском языке. Результатом цикла, в моих планах, станет создание бесплатной электронной книги о MEF. Если у вас есть соображения или предложения по этому поводу – дайте мне знать в комментариях. Я надеюсь, что совместными усилиями мы можем создать отличное руководство.

Эта статья составлена по материалам моих докладов про MEF на разных встречах, в том числе на конференции DevConf.

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

Читать дальше →
Total votes 85: ↑71 and ↓14 +57
Comments 36

Как применять IDisposable и финализаторы: 3 простых правила

Reading time 7 min
Views 61K

От переводчика


После рассказа об утечке памяти и правильной реализации событий размещаю еще один перевод понравившейся мне статьи на тему управления памятью. Я видел несколько разных реализаций Dispose паттерна, иногда они даже противоречили друг другу. В этой статье автор представил хорошее и четкое разъяснение, когда следует реализовывать интерфейс IDisposable, когда финализаторы, а когда — все вместе.
И когда же?
Total votes 45: ↑35 and ↓10 +25
Comments 24

Панацея ли Scrum — 2!

Reading time 7 min
Views 9.8K
Этот топик, есть продолжение вот этого топика: habrahabr.ru/blogs/pm/39308

Итак. Продолжим повествование на тему Скрама.

Перед тем, как описать саму методологию, чуть коснёмся классификации. Часто приходится слышать: у нас XP методология, а у нас Скрам, а у нас Agile девелопмент. Всё это имеет право на жизнь. Но, на мой взгляд, желательно правильно соотносить эти понятия.

XP — это набор принципов и подходов, меняющих традиционное отношение к разработке современного программного продукта.

Agile – это общее название группы гибких и достаточно успешных методик организации ведения проектов. Методик, которые, как правило, опираются на принципы XP и предполагают быструю итеративную разработку, тесное общение с заказчиком и, за счёт тесного общения членов команды, минимизацию создания дополнительных сущностей (артефактов/документов), которые традиционно создавались в процессе работы над проектом. Минимизацию всего того, что создаётся помимо самого программного кода.

Scrum – это одна из конкретных Agile-методик. То есть чёткий шаблон (каркас) организации управления проектом. Со своими терминами и понятиями. Если вы близко следуете именно этому шаблону, то можно сказать, что вы ведёте разработку по Скрам.

Я часто сталкиваюсь с другой классификацией, когда XP называют Agile методологией. Сложно сказать…
Читать дальше →
Total votes 69: ↑63 and ↓6 +57
Comments 25

Два протокола управления проектами

Reading time 5 min
Views 5.1K
Доброго времени суток.

Я пришел в управление проектами из программирования. То есть, нет так давно, я еще писал код и мне это очень нравилось. Меня мало беспокоили волнения, происходящие где-то на верху — «у менеджеров». Все поменялось в 2004, когда меня назначили тим лидом.

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

Тогда я начал задумываться о причинах такой ситуации, начал читать посты и книги по менеджменту. Как программист, находящийся под впечатлением революционных архитектурных решений — таких, как MVC и паттерны Фоулера, я полагал, что есть *техническое* решение наших проблем с менеджментом — нужно его только отыскать и применить.

Следующие несколько лет я искал *супер фреймворк* для управления проектами. Но только недавно понял, что его нет и быть не может. Проблема заключается в том, что в разработке ПО одновременно используются 2 конфликтующих протокола общения между участниками Процесса.

Сейчас я расскажу о моем текущем видении проблемы, а также опишу одну из возможных стратегий совместного использования этих двух протоколов.
Читать дальше →
Total votes 84: ↑77 and ↓7 +70
Comments 39

Паттерн проектирования «Приспособленец» / «Flyweight»

Reading time 6 min
Views 30K
Почитать описание других паттернов.

Проблема


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

Описание


Как уже отмечалось, существует большое количество программных систем, предназначением которых, является конструирование сложных составных объектов из большого числа более мелких и простых объектов. При этом, гибкость и универсальность подобных систем, достигается за счет предоставления пользователю полного набора инструментов и примитивов. Важно понимать, что примитивами, в данном контексте являются элементарные объекты, из которых в последствии конструируются составные. Причем, уровень на котором, объект считается примитивным, на самом деле, определяет применимость и эффективность данной системы. Однако, не всегда существует возможность спроектировать систему вплоть до самых низких уровней абстракции. Затраты на память и низкая производительности системы, при прямом подходе, не позволяют этого сделать. Поэтому, при проектировании подобных систем, зачастую применяют паттерн «Приспособленец».
Читать дальше →
Total votes 58: ↑37 and ↓21 +16
Comments 21

Scrum'd — система управления проектов в стиле Agile

Reading time 1 min
Views 5.1K
Не так давно, я открыл для себя, систему управления проектами на базе методологии Scrum Описания Scrum'd на Хабре я не разыскал, в связи с этим, под катом мое краткое описание.
Читать дальше →
Total votes 9: ↑5 and ↓4 +1
Comments 2

20 причин проводить обзоры кода

Reading time 6 min
Views 5.2K
(прим. перев. Перевод немного вольный, но я попытался максимально точно сохранить смысл текста, в то же время отыгравшись на некоторых некритичных моментах, просьба не судить строго :)
Должен также отметить, что я не по всем пунктам согласен с автором (в конце он уже начинает зарываться) и, разумеется, обзоры кода — это не серебряная пуля, но, тем не менее, очень и очень полезная практика.)

Я затвитил эту статью о 5 причинах проводить обзоры кода на CIO.com на прошлой неделе и понял, что на самом деле причин гораздо больше, чем те пять, о которых там написано. Так что к концу дня у меня их было уже больше 20. Это коллекция тех твитов с некоторыми подробностями, описанными здесь.

Причина №1. Достаточно быстрая ответная реакция, чтобы подстегнуть разработчика.
Так как обзор кода производится после кодирования и перед интеграционными и системными тестами, разработчикам не надо ждать столько же, сколько и ответа от отдела по качеству кода (QA). Обеспечив конкретный, своевременный ответ, разработчики могут подстраивать свои навыки кодирования для избежания общих ошибок.
Читать дальше →
Total votes 48: ↑44 and ↓4 +40
Comments 29

Зачем нужны «бесполезные конференции»

Reading time 3 min
Views 4.1K
imageМне бы хотелось поднять вопрос о том, для чего же все-таки люди ездят на конференции разработчиков, тратят деньги на проезд, гостиницу, саму конференцию, да еще и работа простаивает.
Данная статья рассматривает причины, помимо «новых знаний» и «обмена опытом», которые часто игнорируется руководством, либо нами, под предлогом «там ничего нового, все есть в интернете».
Итак вот мои аргументы:
Читать дальше →
Total votes 53: ↑38 and ↓15 +23
Comments 31

.NET и работа с неуправляемым кодом. Часть 1

Reading time 4 min
Views 30K
.NET и работа с неуправляемым кодом. Часть 1

.NET и работа с неуправляемым кодом

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

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

Мне не хотелось бы полностью описывать всю структуру взаимодействия, т.к. это заняло бы значительную часть статьи. В этой статье я опишу принцип взаимодействия на конкретных примерах, опишу способы выделения и очистки выделенной памяти.
Читать дальше →
Total votes 53: ↑38 and ↓15 +23
Comments 24

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered