Pull to refresh
14
0
Сергей @ivsedm

User

Send message

Алгоритм сортировки Timsort

Reading time6 min
Views150K
Timsort, в отличии от всяких там «пузырьков» и «вставок», штука относительно новая — изобретен был в 2002 году Тимом Петерсом (в честь него и назван). С тех пор он уже стал стандартным алгоритмом сортировки в Python, OpenJDK 7 и Android JDK 1.5. А чтобы понять почему — достаточно взглянуть на вот эту табличку из Википедии.



Среди, на первый взгляд, огромного выбора в таблице есть всего 7 адекватных алгоритмов (со сложностью O(n logn) в среднем и худшем случае), среди которых только 2 могут похвастаться стабильностью и сложностью O(n) в лучшем случае. Один из этих двух — это давно и хорошо всем известная «Сортировка с помощью двоичного дерева». А вот второй как-раз таки Timsort.

Алгоритм построен на той идее, что в реальном мире сортируемый массив данных часто содержат в себе упорядоченные (не важно, по возрастанию или по убыванию) подмассивы. Это и вправду часто так. На таких данных Timsort рвёт в клочья все остальные алгоритмы.
Читать дальше →
Total votes 293: ↑286 and ↓7+279
Comments63

Делаем приватный монитор из старого LCD монитора

Reading time2 min
Views971K


Вы наконец-то можете сделать кое-что со своим старым LCD монитором, который завалялся у Вас в гараже. Превратите его в шпионский монитор! Для всех вокруг он будет выглядеть просто белым экраном, но не для Вас, потому что у Вас будут специальные «волшебные» очки.

Всё что Вам нужно – это пара старых очков, нож для бумаги и растворитель для краски.

Читать дальше →
Total votes 1486: ↑1468 and ↓18+1450
Comments327

Решение задачи «Яндекс интернет математика — 2011». Определение визуальной схожести изображений

Reading time12 min
Views20K
В апреле-мае 2011 года компания Яндекс проводила очередной тур конкурса Яндекс интернет математика. Тема тура: «Определение визуальной схожести изображений».
Я публиковал новость про объявление победителей и обещал в скором времени описать решение поставленной задачи нашей командой — LookLikeIt, которая заняла 12-е место в финальном рейтинге.

И вот, не совсем скорое время наступило!
Читать дальше →
Total votes 89: ↑86 and ↓3+83
Comments14

Модель расчёта вероятности преступлений

Reading time3 min
Views7.3K
В фантастическом фильме «Особое мнение» (Minority Report) действие происходит в 2054 году в отделе по предотвращению преступлений. Сотрудники отдела получают информацию от трёх «провидцев», чьи видения выводятся на экран. Будущих преступников арестовывают ещё до того, как он задумались об осуществлении своих планов.

В наши дни этот фантастический сюжет частично воплощается в реальность, с одним важным отличием: вместо «провидцев» информацию для полицейских патрулей поставляет математическая модель, которая обсчитывает статистику преступлений в разных районах города. Газета NY Times описывает работу полицейских патрулей в городе Санта-Крус (Калифорния), где подобная программа предотвращения преступлений работает в экспериментальном режиме.
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments68

Стоит ли быть «успешным»?

Reading time6 min
Views48K
Как надоели эти тематические статьи о повышении результативности, мотивации и прочей чепухе. Зачем люди их пишут? Чтобы помочь тем, кто запутался в себе? Для тех, кому тяжело сосредоточиться? Вряд-ли это так.

Современная жизнь диктует нам, что все нужно делать быстро, добиваться максимальной эффективности. Непременно нужно быть очень успешным. Нужно двигаться к цели, каждый день, каждый час, ежеминутно. Оставив все лишнее, бросить все силы на достижение результата. Иначе нет смысла жить.
Читать дальше →
Total votes 325: ↑293 and ↓32+261
Comments253

Снова используем Unmanaged С++ код в .NET программах

Reading time7 min
Views4.7K
.NET C++

Около года назад я писал статью о том, как можно вызывать методы классов написанных на чистом Си++ из любой .NET программы не прибегая к регистрации COM библиотек, C++/CLI и т.п.

Сегодня я расскажу об еще одном оригинальном и весьма удобном подходе, а, кроме того, этот топик будет интересен всем хаброчитателям которые хотят побольше узнать о замечательном инструменте Reflection.Emit (на мой взгляд эта тема на хабре недостаточно хорошо освещена).

Читать дальше →
Total votes 70: ↑61 and ↓9+52
Comments7

Синтез точка всё. Хабрахабр в прямом эфире

Reading time2 min
Views1.3K

Представляем бесплатное мобильное приложение Radio RSS для iPhone и iPad, читающее в прямом эфире новости Хабрахабра, Яндекса, Спортбокса, Сноба и Коммерсанта.

И другие сервисы синтеза русской речи...
Total votes 92: ↑84 and ↓8+76
Comments72

FreeArc — современный архиватор

Reading time4 min
Views34K
Столько всего хочется хранить на жестком диске: фильмы, музыку, программы, документы… Но, к сожалению, винчестер – не резиновый. Заставить данные потесниться смогут программы-архиваторы. Сейчас довольно сильно распространены 7Zip и WinRAR, но в данный момент по эффективности все же лидирует FreeArc. По результатам одного из самых авторитетных тестов FreeArc занял три первых места, причём c большим отрывом от соперников:


Читать дальше →
Total votes 104: ↑93 and ↓11+82
Comments196

Интерфейс глазами программиста

Reading time4 min
Views3.5K
Почему-то, у нас в стране принято считать, что дизайнер — это художник, человек, который подберет цвета, нарисует рюшечки. Редко можно услышать «дизайнер интерфейсов». Специализация, конечно, есть, но название профессий совершенно не различаются. Такое ощущение, что если ты ландшафтный дизайнер, то ты можешь сделать прекрасный интерфейс для сайта. В лучшем случае, дизайнер — это человек, который разбирается в типографике и знает, чем капитель отличается от прописных букв.

Для меня дизайн — это устройство, внешнее устройство. Никто же не додумался доверить Пикассо разработку руля для гоночного автомобиля. Почему же сайты рисуют все, кому не лень? Слово дизайн, прежде всего, должно ассоциироваться с удобством. Функциональность — это первая задача дизайна.
Читать дальше →
Total votes 136: ↑119 and ↓17+102
Comments178

Точное выделение контуров на изображениях

Reading time2 min
Views15K
Хочу описать, один из нелинейных алгоритмов выделения контуров на изображениях.

Классика

Почти все известные алгоритмы выделения контуров подходя к изображению как матрице чисел с значениями 0..255, целыми числами в пределах одного машинного байта (16 бит вариант рассмотрим посже). Потом, делается свертка с матрицей коэфициентов.

А если так не делать?
Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments14

Молодым программистам на заметку: Как правильно писать «Помоги»

Reading time3 min
Views9K
За те 9 лет, что я занимаюсь программированием, в мою асю пришло несколько сотен просьб о помощи, от менее опытных, начинающих программистов. И вот, когда сегодня, в очередной раз, незнакомый человек попросил помочь ему написать плагин для вордпресс (код которого, честно говоря, я в глаза ни разу не видел), я решил написать небольшой гайд, который бы помог начинающим программистам правильно обращаться за советом к более опытным.
Читать дальше →
Total votes 218: ↑202 and ↓16+186
Comments89

Удобная отладка Windows служб

Reading time2 min
Views15K
Отладка Windows Service приложений не такая тривиальная задача как кажется. Проблема в том, что при отладке этого типа приложений нельзя воспользоваться стандартными средствами Visual Studio такими как точки останова (breakpoints) и прочими полезными инструментами. Всё из-за того, что Windows Service приложение не может быть зыпущено по F5 прямо из Visual Studio. Всё же, MSDN предлагает нам несколько способов для их отладки. Скорее всего многие разработчики даже и не сталкивались с ними до тех пор, пока не стали создавать свою первую службу. Это использование записей в журнал событий и подключение к процессу. Оба этих метода хорошо описаны в MSDN, но они позволяют произовдить отладку только уже запущенной службы. Из-за этого код, который производит сам запуск службы, в методе OnStart(), нельзя протестировать.

Ниже я хочу рассказать о способе которым можно обойти это ограничение, и тестировать свой сервис как обычное консольное приложение. И, следовательно, воспользоваться всем тем, что предлагает нам для этого Visual Studio.
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments13

Почему рушатся IT-компании

Reading time5 min
Views5.2K
Рабочий — это источник идей, а не просто пара действующих рабочих рук.
Биант.


IT-компании отличаются высокой гибкостью, способностью в короткие сроки подстраиваться под изменяющие условия рынка, недавний мировой кризис явно показал это. В условиях, которые для компаний других секторов экономики обернулись причиной значительного падения, IT-компании смогли устоять и даже продемонстрировать некоторый рост. И это не смотря на то, что бюджеты на IT, многих участников рынка, в кризисное время, были существенно пересмотрены. Важным фактором, обеспечивающим возможность не только выживать, но и расти, на мой взгляд, является центральное положение специалиста в производственной структуре IT-компании. Основные затраты и получаемая прибыль зависят в большей мере не от технической оснащённости производства, а от людей непосредственно вовлеченных в процесс создания продукта. Так, к примеру, компания-разработчик ПО, способна нарастить свой потенциал, привлекая к разработке большее число специалистов и повышая их профессиональный уровень, в то время как для компаний других секторов, рост, в значительной мере, будет связан с развитием материально-технической базы. В изменяющихся условиях рынка IT-компании гораздо эффективнее могут реализовывать свой потенциал в новых перспективных областях, без существенного увеличения затрат.

Что же может надломить эту гибкую структуру и явиться причиной разрушения IT-компании? Стоит отметить, что в данном контексте под разрушением следует понимать не только и не столько непосредственную ликвидацию бизнеса компании, сколько уверенный отрицательный рост, приводящий к закономерному итогу. Давайте посмотрим, в чём основная особенность таких компаний. IT-компания — в первом приближении менеджеры и непосредственно специалисты производящие продукт или услугу — различные программисты, архитекторы, тестировщики, сетевые инженеры, администраторы и прочие люди от которых зависит бизнес компании. Вот с последних и начнём.
Читать дальше →
Total votes 63: ↑56 and ↓7+49
Comments73

20 бесплатных дополнений для Visual Studio

Reading time4 min
Views39K
Для Visual Studio 2010 создано уже около 900 дополнений. Многие из них позволяют облегчить решение рутинных задач, добавить удобства. Ниже представлено двадцать популярных дополнений, которые вы возможно найдете полезными для вашей работы.
Читать дальше →
Total votes 146: ↑135 and ↓11+124
Comments55

Поговорим о словарном запасе иностранного языка

Reading time4 min
Views262K
Сколько слов в английском языке? Oxford English Dictionary содержит около 500 000 словарных статей, не учитывая специфические научные слова и выражения (которых насчитывается еще порядка 500 000). А как вы думаете, какой средний словарный запас иностранного языка дает вам средняя школа за время обучения? Правильный ответ – около 2500 слов. Мало ли этого набора? Тут уже надо исходить из ваших целей. Для общения с иностранцами на деловые темы – однозначно мало. Для чтения несложных текстов в интернете – более чем достаточно. Если быть точнее:

400–500 слов – активный словарный запас для владения языком на базовом (пороговом) уровне.
800–1000 слов – активный словарный запас для того, чтобы объясниться; или пассивный словарный запас для чтения на базовом уровне.
1500–2000 слов – активный словарный запас, которого вполне хватит для того, чтобы обеспечить повседневное общение в течение всего дня: или пассивный словарный запас, достаточный для уверенного чтения.
3000–4000 слов – в общем, достаточно для практически свободного чтения газет или литературы по специальности.
Около 8000 слов – обеспечивают полноценное общение для среднего европейца. Практически не нужно знать больше слов для того, чтобы свободно общаться как устно, так и письменно, а также читать литературу любого рода.

К этим данным пришел известный шведский полиглот Эрик Гуннемарк, основатель Международной ассоциации `Amici Linguarum` (`Друзья языков`). Более того, он составил набор минимального количества слов и выражений, которые необходимо знать, для порогового уровня владения языком, назвав их Минилекс и Минифраз.

Интересно, а какой средний уровень словарного запаса у рядового пользователя сети и у вас лично? Об этом расскажу дальше.
image

Читать дальше →
Total votes 108: ↑100 and ↓8+92
Comments145

Что делать, если вы застряли с Большой и Сложной Программистской Задачей?

Reading time5 min
Views8.4K
image

Иногда, решая непростую задачу, я застреваю с ней. Я понимаю это, когда начинаю заниматься пустячными делами, раздавать советы другим людям, пить много кофе, постоянно искать что бы перекусить и работать над низкоприоритетными вещами. Время идет, а сделано мало.

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

Со временем я выработал способ, позволяющий вернуть мне продуктивность в такой ситуации и суметь закончить непростую задачу. Этим опытом я и хочу поделиться.
Читать дальше →
Total votes 158: ↑145 and ↓13+132
Comments38

Что дает обычному человеку Федеральный Закон №152 О персональных данных?

Reading time5 min
Views122K
Об операторах персональных данных написано довольно много статей.
Операторы очень расстроены, что им приходится тратить средства на защиту персональной информации, что им всем тяжело живется и вообще все очень плохо.
С другой стороны есть сами владельцы персональных данных, и я предлагаю рассмотреть тему именно с этой стороны. Что же дает владельцу персональных данных ФЗ № 152 и каким способом он может защитить свои законные интересы?
В данном случае разговор пойдет о коммерческих организациях, вопрос относительно государственных органов – тема отдельной статьи.

Читать дальше →
Total votes 84: ↑79 and ↓5+74
Comments142

Дистанционное образование в LSE

Reading time2 min
Views10K
— Sir Humphrey gets very upset. He doesn't regard Chief Scientific Advisor as one of us.
— I thought he won the DSO at Arnhem!
— That doesn't make up for speaking with an Austrian accent. And he certainly didn't go to Oxford or Cambridge. He didn't even go to the LSE.


Yes, Prime Minister


На фоне именитых британских Оксфорда и Кембриджа London School of Economics and Political Science известна куда менее, но именно об этом вузе можно сказать «широко известен в узких кругах». За более чем сто лет существования школы – семнадцать нобелевских лауреатов, четвертое место в списке лучших экономических школ мира и одна из наиболее развитых сетей дистанционного образования.
Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments34

Создание простой финансовой модели вашего стартапа

Reading time7 min
Views8.2K

Для чего


Мой друг, занимающийся поиском финансирования для IT стартапов, часто жалуется на то, что приходящие с идеей люди даже приблизительно не могут рассказать или оценить финансовую составляющую своего проекта. Это вполне логично, учитывая, что даже основы финансов в Российских университетах как правило не преподаются ни на одном факультете кроме менеджмента и экономики. В этой статье я хочу вкратце рассказать о самых базовых принципах составления простой финансовой модели. Надеюсь, эта информация поможет многим коллегам – предпринимателям при оценке идеи для реализации и составления презентации для инвесторов.

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

Information

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