Pull to refresh
0
0
Иван Кошелев @Koshelew

User

Send message

Достала избыточность С++

Reading time3 min
Views20K
imageПривет Хабр,
Меня вводит в ступор С++. Вот просто, зависаю над монитором, смотрю в окно, попиваю чай… И начинаю жалеть за бесценно проведенные годы за изучением стандарта С++, попытками написать свой фронт-энд компилер. Эти мудреные книжки С++ In Depth. Как же я негодовал, когда не понимал кода из книги Александреску. Как записывал все постулаты Страуструпа и иже с ними. Зачем? Вот спрашиваю себя, зачем я теперь все это знаю. Более, я хочу сказать, что этот язык нещаден для гуру, не с медицинской, не с экономической точки зрения! Он не оправдывает усилий, вложенных в его изучение — раз. На практике, он экономически не выгоден — два. И нервные клетки подтвердят, что сопровождать чужой плюснутый код — бывает опасно для здоровья -три. Пусть тут будут рандомно разбросаны метафоры, пишу как есть, из опыта.
Читать дальше →
Total votes 403: ↑339 and ↓64+275
Comments534

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

Reading time8 min
Views54K
Автоматизация системы управления купольной поворотной камеры (PTZ-камеры) – интересная и актуальная задача. По мере концентрации ситуационных центров и внедрения видеоаналитики возникает потребность в интеллектуальных алгоритмах, позволяющих не только анализировать видео со стационарных (неподвижных) камер, но и наводить роботизированную камеру на цель без участия оператора. Задержка, вносимая цифровой подсистемой кодирования и декодирования видео, ограничивает возможности дистанционного слежения за целью при помощи поворотной камеры и усиливает необходимость локальной автоматизации слежения. Наш пост Хабру содержит обзор основных задач по интеллектуализации PTZ-камер, подходов к их решению и предложений на рынке.
Экспериментальная установка для автономного PTZ-слежения: видеоаналитическое устройство MagicBox, PTZ-камера Pelco и обзорная камера CNB
Рис. 1. Экспериментальная установка для автономного PTZ-слежения: видеоаналитическое устройство MagicBox, PTZ-камера Pelco и обзорная камера CNB. Рис. 2.Предпозиции PTZ-камеры, управляемые зональным детектором движения.

Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments8

Дерево ван Эмде Боаса

Reading time6 min
Views18K
Всем доброго времени суток!

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

Дерево ван Эмде Боаса (van Emde Boas tree) — ассоциативный массив, который позволяет хранить целые числа в диапазоне [0; U), где U = 2k, проще говоря, числа, состоящие не более чем из k бит. Казалось бы, зачем нужно еще какое-то дерево, да еще позволяющее хранить только целые числа, когда существует множество различных сбалансриованных двоичных деревьев поиска, позволяющих выполнять операции вставки, удаления и прочие за O(log n), где n — количество элементов в дереве?

Главная особенность этой структуры — выполнение всех операций за время O(log(log(U))) независимо от количества хранящихся в ней элементов.

Что же там еще есть такого вкусного?
Total votes 192: ↑190 and ↓2+188
Comments39

Коротко о проекте

Reading time2 min
Views1.3K

«Сделки 24» — печатная машинка для малого бизнеса


Запущенный в конце 2009 года интернет-сервис "Сделки24" изначально позиционировался как инструмент для быстрого и удобного заполнения документов продаж: договоров, счетов на оплату, актов выполненных работ, накладных, счетов-фактур.

После 4 месяцев тестирования мы выпустили сервис в свободное плавание — официальное распространение началось в апреле 2010 года. А течение года сервис был для всех бесплатным — путем проб и ошибок несколько раз меняли дизайн, дали возможность вести расходные документы, сделали выгрузку в 1С (для тех случаев, когда компанию обслуживает удаленный бухгалтер), отчеты, импорт платежей из банковской выписки, и многое другое.

С апреля 2011 года мы распространяемся по модели freemium — базовые функции бесплатны, вкусности и большое количество контрагентов — 200 рублей в месяц.

Любимые конкуренты


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

Обзор e-Learning трекеров или Век живи — век учись!

Reading time3 min
Views29K
Все чаще можно услышать про универсальных трекеров-монстров типа ThePirateBay.org, torrents.ru или упоминания трекеров музыкальной либо игровой тематики. Но помимо них давно существуют торрент-трекеры обучающей направленности, о которых мало что известно рядовому пользователю. В основном, это закрытые сообщества образованных людей с регистрацией по приглашениям, которые обмениваются обучающими материалами, будь-то электронные книги, обучающее видео, CBT (computer based trainings), аудио-книги, презентации с конференций или софт для обучения. Преобладающая часть материалов связана с ИТ-технологиями и поэтому будет особенно полезна ИТ-специалистам, от студента, изучающего Linux, PHP или C# и до гуру, который готовится к сдаче CCIE. Также присутствует материал, посвященный изучению иностранных языков, психологии, саморазвитию, соблазнению, развитию бизнес-навыков. Если ты подумываешь сдать на CCNA, MCSE, RHCE, CISSP, Network+, PMP, IELTS/TOEFL и так далее — то здесь можно найти все необходимое и даже больше. Под катом находится обзор англоязычных ресурсов обучающей направленности.
Поехали!
Total votes 74: ↑73 and ↓1+72
Comments224

Обзор e-Learning трекеров (часть II)

Reading time3 min
Views12K
В век всеобщей компьютеризации образование становится все доступнее. Онлайн можно посмотреть лекции именитых профессоров, поучаствовать в вебинарах, получить образование в Оксфорде или Кембридже. В этом топике я хотел бы коснуться образовательных трекеров, предоставляющих на бесплатной основе подчас неоценимые материалы. BitMe.org, BitSpyder.net, LearnBits.me, Elbitz.net уже подробно рассмотрены. Итак, новые участники обзора:

Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments24

Введение в OpenCL

Reading time11 min
Views61K
Эта статья посвящена основам программирования на OpenCl. OpenCl -это язык программирования на GPU/CPU, по своей структуре близкий к стандарту c99. Его развитием занимается Khronos Group, где на их сайте доступна полная документация. Во избежание полемики на тему «ну это же всё тривиально, достаточно покопаться в инете» сразу оговорюсь: в рунете информация на эту тематику практически полностью отсутствует, а в западном инете доступна весьма в разрозненном состоянии на десятке сайтов. Здесь будет приведена некоторая компиляция базовых принципов, максимально упрощающая начинающему программисту жизнь, а так же позволяющая с самого первого проекта максимально задействовать вычислительные мощности видеокарты. Людям написавшим 2-3 серьёзных программы на OpenCl это будет уже неинтересно. Статья в некотором смысле является продолжением моей прошлой статьи.
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments26

Почему я не использую платёжный агрегатор…

Reading time7 min
Views65K
Оплата покупки на сайте — необходимый атрибут любого хорошего интернет-магазина. Это не просто правило хорошего тона, это значительное повышение оборотов. Способов оплаты в рунете много — электронные валюты Яндекс.Деньги, Киви, WebMoney, RBK Money, а также банковские карты, счета мобильных телефонов, смс микроплатежи и т.д. Как дать покупателям возможность оплачивать покупки любимым способом?
Для своего сервиса мы решили не заморачиваться и воспользовались услугами одного платежного агрегатора. Но по мере роста накопилось большое количество замечаний. Стало понятно, что агрегатор — временное решение, и рано или поздно от него придётся отказаться.

Тогда мы попытались подойти к задаче независимо и понять, в каких случаях стоит использовать платежные агрегаторы, а в каких — имеет смысл отказаться от их услуг.
Читать дальше →
Total votes 88: ↑76 and ↓12+64
Comments166

Алгоритм нахождения N первых простых чисел

Reading time9 min
Views30K
В процессе обучения программированию я столкнулся с задачей поиска 1M первых простых чисел.

На Хабре уже не раз писали об этом. Но, чаще всего, речь шла о поиске всех простых чисел до числа N. Я же расскажу о том, как решал задачу нахождения N первых простых чисел.

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

В результате проведенной работы на поиск 1 миллиона простых чисел у меня уходит всего 0,262 секунды, что, конечно же, не предел, но уже впечатляет. Алгоритм реализован на C++.

Читать дальше →
Total votes 27: ↑16 and ↓11+5
Comments29

Обзор систем онлайн-консультирования (часть 2)

Reading time5 min
Views3.2K
Здесь можно прочесть часть №1

Окна чата – лицо онлайн консультанта…

Эта часть обзора, посвящена, на мой взгляд, важнейшему моменту в системах веб-консультирования (далее ВК), а именно окну чата и кнопке вызова онлайн консультанта. Ни для кого не секрет, что сайт стал для многих компаний визитной карточкой, а для кого-то и прямым источником дохода. Поэтому все то, что отвечает за дизайн и удобство работы с сайтом, должно быть пристально изучено. ВК – являются неотъемлемой частью современного сайта и их дизайн и удобство невозможно переоценить для формирования положительного имиджа компании-владельца сайта. Неправильный подбор окна чата/приглашения радикально сказывается на частоте использования ВК. Поэтому чем более гибкие настройки окна есть в системе – тем лучше.

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

Жизнь в черной дыре или как взаимодействовать с крупными российскими компаниями

Reading time4 min
Views1.3K
Крупная российская компания (КРК) в рамках данной статьи (если получится цикла статей) — это компания имеющая тысячи работников, филиалы или центры по всей России, историю идущую со времен СССР и де-факто монопольное положение на рынке. Лакомый кусок, вечная кормушка и страшнейший кошмар в одном лице. Один менеджер которого я знал за год работы с такой корпорацией заработал седую голову, другой от той же корпорации получил постоянный поток заказов и денег.

Как же получить второе не получив первого?
Читать дальше →
Total votes 43: ↑29 and ↓14+15
Comments32

Алгоритм нахождения простых чисел

Reading time3 min
Views468K

Оптимизация алгоритма нахождения простых чисел


2 3 5 7 11 13 17 19 23 29 31… $250.000…

Дело было давно, в университете, когда мы начали изучать язык программирования Pascal и домашним заданием стало создание алгоритма нахождения простых чисел.

Алгоритм был придуман и тутже реализован на изучаемом языке. Программа запрашивала у пользователя число N и искала все простые числа до N включительно. После первого успешного теста сразу же возникло непреодолимое желание ввести N = «много». Программа работала, но не так быстро как хотелось бы. Естественно, дело было в многочисленных проверках (порядка N*N/2), поэтому пришлось избавиться от лишних. В итоге получилось 5 похожих алгоритмов каждый из которых работал быстре предыдущего. Недавно захотелось их вспомнить и реализовать, но на этот раз на Python.
Читать дальше →
Total votes 88: ↑58 and ↓30+28
Comments64

Как мы внедряли бизнес-процессы и зачем оно вообще надо

Reading time6 min
Views47K
Когда компания маленькая и все всех знают (примерно до 30 человек) никакие формализованные бизнес-процессы, по идее, не нужны. Когда компания большая, географически раздёлённая или же задачи стоят нетривиальные, количество бардака начинает стремительно увеличиваться. С этим надо бороться. Например, мы решили внедрять бизнес-процессы в тот момент, когда перестали узнавать в лицо некоторых собственных сотрудников.

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

Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments29

IPO for dummies. Часть I: акции, мажоритарии, контроль над компанией

Reading time5 min
Views16K
Во время недавнего обсуждения IPO Яндекса в комментариях прошла дискуссия на тему того, как торгуются акции на бирже, как проходит IPO, кто и какую от него получает пользу. По совету других участников обсуждения выношу в отдельную тему — а точнее, в серию тем — небольшой рассказ, который был рассредоточен по нескольким комментариям. Если вы тогда внимательно следили за темой, основная часть рассказа вам уже известна, но тем не менее… Если нет, вы наверняка найдете что-то интересное.

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

  • Часть I: акции, мажоритарии, контроль над компанией.
  • Часть II: стоимость акций, биржа, самый лучший способ торговать картошкой, и кого же можно встретить на рынке бирже.
  • Часть III: процесс IPO, его польза для компании, основателей и владельцев, а также почему у руководства компании при открытии торгов такой замученный вид.
  • Часть IV: влияние IPO на доход от адулт-партнёрок.
  • Часть V: жизнь после IPO.
  • Часть VI: сложности выбора — два Lamborghini Gallardo или один Aventador?
  • Часть VII: про инсайд.
  • Часть VIII: о мотивации.


Итак, часть I: акции, мажоритарии, контроль над компанией.

Что такое акции, и для чего они нужны?

Читать дальше →
Total votes 231: ↑224 and ↓7+217
Comments80

Как устанавливать дополнительные пакеты во freenas 0.8

Reading time1 min
Views3.1K
Собственно попался в руки freenas 0.8 встала проблема установить iperf, простым гуглением нахожу команду pkg_add -r iperf, где -r указывает ставить iperf с репозитория, но во фринасе корень промонтирован только на чтение:
freenas2# mount
/dev/ufs/FreeNASs1a on / (ufs, local, soft-updates)
devfs on /dev (devfs, local, multilabel)
/dev/md0 on /etc (ufs, local)
/dev/md1 on /mnt (ufs, local)
/dev/md2 on /var (ufs, local)
/dev/ufs/FreeNASs4 on /data (ufs, local, soft-updates)
data on /mnt/data (zfs, local)


Существующие решения найденные мною основываются на всяких chroot и unionfs и были довольно напряжны.

Собственно лечится командой:
mount -o rw /dev/ufs/FreeNASs1a /

И вуаля любой софт можно ставить pkg_add -r.
Total votes 14: ↑5 and ↓9-4
Comments5

CUDA: аспекты производительности при решении типичных задач

Reading time7 min
Views27K
Перед тем как начать переносить реализацию вычислительного алгоритма на видеокарту стоит задуматься — получим ли мы желаемый прирост производительности или только потеряем время. И несмотря на обещания производителей о сотнях GFLOPS, у современного поколения карт есть свои проблемы, о которых лучше знать заранее. Я не буду глубоко уходить в теорию и рассмотрю несколько существенных практических моментов и сформулирую некоторые полезные выводы.
Читать дальше →
Total votes 86: ↑84 and ↓2+82
Comments67

Популярные вопросы на собеседовании по C++ и ответы на них

Reading time9 min
Views328K
Здравствуйте!

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

О том, что спрашивают на собеседовании у C++ программистов, а также об ответах на эти вопросы и пойдет речь в данном посте.
Читать дальше →
Total votes 199: ↑196 and ↓3+193
Comments174

Новая подборка indie-игр «The Humble Frozenbyte Bundle»

Reading time1 min
Views1.7K

Теперь доступна для покупки новая подборка indie-игр под кодовым названием «The Humble Frozenbyte Bundle» (а это значит, купить её можно за любую указанную вами сумму).
Читать дальше →
Total votes 91: ↑81 and ↓10+71
Comments61

Очнитесь, на дворе XXI век

Reading time5 min
Views32K


Начать статью я хотел бы с констатации того факта, что прямо за окном находится 2011 год (пруфлинк), середина апреля. Напоминаю я это в первую очередь себе, поскольку меня периодически посещают в этом сомнения. Дело в том, что как по работе, так и ради хобби я часто читаю код на С++, написанный лет 10-20 назад (но поддерживаемый и поныне) или код написанный совсем недавно, но людьми, которые учились программировать на С++ те же 20 лет назад. И вот после этого у меня и возникает ощущение, что никакого прогресса за эти годы не было, ничего не менялось и не развивалось, а по Земле до сих пор бродят мамонты.
Читать дальше →
Total votes 401: ↑370 and ↓31+339
Comments411

Автоматическое сканирование в сетевую папку по нажатию кнопки «Scan»

Reading time3 min
Views52K
Стояла следующая задача:
реализовать автоматическое сканирование при нажатии кнопки на сканере. Полученный материал должен попадать в сетевую папку и иметь уникальное имя. Сканер подключен к рабочей машине, все процедуры по сканированию не должны отвлекать человека работающего за этим компьютером под управлением Windows.
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments51

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity