Как стать автором
Обновить
21
0
Игорь Бендруп @IBendrup

Разработчик

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

Бесстрашный гений: цифровая революция в силиконовой долине 1985-2000 (1-25)

Время на прочтение11 мин
Количество просмотров7.2K
Доброго времени суток!

В этом году у меня появилась возможность сходить на выставки в рамках Фотобиенале-2012, посмотрев афишу моё внимание привлек фотограф Даг Меньюз. Его проект в основном посвящен Стиву Джобсу в период 1986-2000гг., но постепенно работа вышла за рамки одной личности и серия фотографий превратилась в летопись компьютерных технологий.
Я не планировал писать статью когда шёл на выставку, потому что о ней можно почитать и посмотреть, но после неё мир перевернулся я был поражен историей рассказанной фотографом на столько, что решил пересказать её хабрасообществу. Проект представляет из себя 50 фотографий с аннотациями которые написал сам Даг Меньюз. Трафик ~3Мб и много текста.
С вашего позволения передаю слово автору
Всего голосов 113: ↑98 и ↓15+83
Комментарии30

Почему я не стану вас нанимать

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

Один мой товарищ недавно активно искал работу, и спрашивал меня, как себя подавать перед работодателем. Погуглив, мы пролистали с десяток статей о том, как надо и как не надо делать во время поиска, и одну из них я решил перевести для хабрасообщества, возможно кому-то это поможет избежать ошибок, которые в ней описаны. Манера статьи довольно провокационная, язык местами нецензурен, поэтому я постарался сгладить углы. Итак, поехали..
Читать дальше →
Всего голосов 230: ↑159 и ↓71+88
Комментарии262

Проверяемые выборы

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

baltinfo.ru

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

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

А вот механизм организации верифицируемого голосования, по-моему, более интересная для обсуждения тема. Под катом я изложу свою идею и вопросы, возникшие по ходу.

Читать дальше →
Всего голосов 52: ↑33 и ↓19+14
Комментарии115

Задачник.NET

Время на прочтение3 мин
Количество просмотров119K
Этот пост предназначается всем любителям платформы .NET и языка C#. Думаю, многие встречали на просторах сети разнообразные задачки на понимание тех или иных особенностей платформы или языка. Я большой любитель подобных задачек и головоломок. Они помогают глубже понять определённые области и повысить собственные программистские навыки. Однажды я решил сделать подборку подобных задачек, чтобы можно было показывать другим людям и обсуждать нюансы работы с .NET/C#. Когда задачек накопилось достаточное количество, появилась новая мысль — оформить мою подборку в виде книжки. Вашему вниманию предоставляется текущий вариант этого сочинения под названием «Задачник.NET».

Cover
Читать online
Скачать PDF-версию
Исходные коды на GitHub
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии23

За что ITшнику любить некоторых маркетологов или руководство по маркетингу для IТ-стартапа

Время на прочтение12 мин
Количество просмотров52K
«Я рекламист: да-да, это именно я загаживаю окружающую среду. Я — тот самый тип, что продает вам разное дерьмо. Тот, что заставляет вас мечтать о вещах, которых у вас никогда не будет. О вечно лазурных небесах, о неизменно соблазнительных красотках, об идеальном счастье, подкрашенном в PhotoShop'e… Сделать так, чтобы у вас постоянно слюнки текли, — вот она, моя наивысшая цель. В моей профессии никто не желает вам счастья. Ведь счастливые люди — не потребляют», — отрывок из романа «99 франков» Фредерика Бегбедера.



Да, из-за таких маркетологов как Октав, сложно произносить слова «я маркетолог» с гордостью. На нашем постсовестком пространстве маркетинг сплошь оброс негативными стереотипами… Кто-то сразу морщась вспоминает о сетевом маркетинге, кто-то о задалбывающей непорядочной рекламе и уловках.

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

Вот основные мысли:
  • Маркетинг — краеугольный камень для бизнеса и стратапа, в частности
  • Маркетинг — это не совсем то, что вы думаете
  • Можно заниматься маркетингом и не быть сволочью.


А еще, эта статья — наш ответ Чемберлену, то есть Хабравчанину, написавшему "За что конкретно я ненавижу некоторых отдельно взятых маркетологов…".
Читать дальше →
Всего голосов 55: ↑40 и ↓15+25
Комментарии24

Автоматическое выделение меток

Время на прочтение5 мин
Количество просмотров23K
В машинном зрении и робототехнике есть забавный класс задачек: обнаружение заранее известных меток. Сюда можно отнести всё: QR-коды, Augmented Reality ( AR, дополненная реальность), задачи позиционирования объектов (motion capture, определение местоположения), детектирование объектов по меткам, классификация объектов в робототехнике (например при автоматической сортировке), помощь автоматическим системам в позиционировании (роботизированные захваты), трекинг объектов, и.т.д.



В статье описаны основные методы захвата меток, их возможности, границы применимости.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии8

PassportVision — простой способ распознавать документы

Время на прочтение8 мин
Количество просмотров92K
Наверняка вам доводилось попадать в такую ситуацию: заходите в какое-нибудь учреждение (почта, банк, больница, кассы и т. п.), где для достижения ваших целей необходимо предъявить паспорт. И вроде очередь-то небольшая, всего 5 человек, но ждать придётся очень долго, ведь тётя Маша тратит по несколько минут на внесение данных с каждого паспорта в компьютер. Вам остаётся только наблюдать, как её указательный палец не спеша планирует над клавиатурой в поисках очередной клавиши.

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



Сегодня в выпуске:
  • Популярные заблуждения о паспортах
  • Немного об используемых технологиях
  • Наш подход к интерфейсу
  • Как лучше всего отдать данные пользователю
Читать дальше →
Всего голосов 118: ↑113 и ↓5+108
Комментарии124

Импортируем OpenStreetMap в MySQL

Время на прочтение25 мин
Количество просмотров9.2K
Однажды мне потребовалось узнать номера улиц и домов Минска. Каково же было мое разочарование, когда я узнал, что полных данных нигде нет, и что делать если появляются новые улицы и дома. Вот тут и пришел на выход OpenStreetMap с открытым кодом и постоянными обновлениями. Беда в том, что карты представляют собой xml документ, объёмом аж целых 2 Гб и информация о домах представлена в таком виде:

<way id="25324320" >
  <nd ref="275904968"/>
  <nd ref="275904882"/>
  <nd ref="275904881"/>
  <nd ref="275904969"/>
  <nd ref="275904968"/>
  <tag k="addr:housenumber" v="17"/>
  <tag k="addr:postcode" v="220013"/>
  <tag k="addr:street" v="улица Якуба Коласа"/>
  <tag k="building" v="yes"/>
 </way>  

Обрабатывать 1.5 Гб данных проще, когда данные упорядочены а не представлены в виде строк. Так мной было принято решения конвертировать данные в БД. Сказано – сделано, в качестве рабочего инструмента выбраны: Eclipse(Java SE) и джентельменски набор денвера.
Читать дальше →
Всего голосов 26: ↑14 и ↓12+2
Комментарии6

Загадочное объявление от IBM

Время на прочтение3 мин
Количество просмотров108K
Сегодня в пятницу на доске объявлений ИМКН матмеха УрФУ было обнаружено странное объявление с логотипом IBM.
Текст сразу бросился в глаза необычными словами; никто не смог узнать язык. Гугл-переводчик на разные предложения подсказывает разные языки: от эсперанто до каталонского. Под катом немного соображений о природе текста.

image
Тем, кто прочитает топик уже 1.04
Прошу обратить внимание, что проблема возникла уже в пятницу; статья была добавлена в песочницу тоже в пятницу. Не стоит плодить поздравления с первым апреля в комментариях.


Читать дальше →
Всего голосов 101: ↑93 и ↓8+85
Комментарии185

Сравнение сервисов для автодополнения адресов в форме

Время на прочтение3 мин
Количество просмотров93K
Автодополнение адреса


На Хабре не раз поднимался вопрос автодополнения адресов в форме (раз, два, три).

Но вот и перед мной появилась задача реализовать такое автодополнение для небольшого интернет магазина. Критерии были такие:
  • Автодополнение адресов только Москвы
  • Автодополнение адреса одной строкой
  • Решение должно быть бесплатно (лимит запросов не менее 1000 в сутки)
  • Возможность подключить без дополнительных JS библиотек. (Я использую AngularJS Bootstrap-UI, в котором есть директива Typeahead, реализующая автодополнение формы)
  • Стопроцентный uptime не обязателен


Но какой источник данных выбрать? Я выбрал целых четыре, и решил их сравнить: в одном углу ринга заморские Google Geocode и Google Autococomplete, а в другом отечественные КЛАДР в облаке и DaData подсказки.

DISCLAIMER: Автор никак не причастен к разработчикам ни одного из представленных сервисов.
Интересно? Тогда прошу под кат
Всего голосов 56: ↑53 и ↓3+50
Комментарии56

Что такое на самом деле Big Data и чем они прекрасны. Лекция Андрея Себранта в Яндексе

Время на прочтение3 мин
Количество просмотров106K
Директор по маркетингу сервисов Яндекса Андрей Себрант рассказал студентам Малого ШАДа о том, что такое большие данные, и о тех, зачастую неожиданных местах, где они находят своё применение.




Bid Data как понятие у всех на слуху уже не первый год. Но точное представление о том, что же представляет собой это понятие, есть далеко не у всех, особенно это касается людей за пределами IT-сферы. Проще всего несведущему человеку объяснить это на практическом примере.

Два года назад огромная сеть магазинов Target стала использовать машинное обучение при взаимодействии с покупателями. В качестве обучающей выборки использовались данные, накопленные компанией за несколько лет. В качестве маркеров конкретных покупателей использовались банковские и именные скидочные карты. Алгоритмы проанализировали, как и в каких условиях менялись предпочтения покупателей и делали прогнозы. А на основе этих прогнозов покупателям делались всевозможные специальные предложения. Весной 2012 года разразился скандал, когда отец двенадцатилетней школьницы пожаловался, что его дочери присылают буклеты с предложениями для беременных. Когда сеть Target уже приготовилась признавать ошибку и извиняться перед обиженными покупателями, выяснилось, что девочка действительно была беременна, хотя ни она, ни ее отец на момент жалобы не знали об этом. Алгоритм отловил изменения в поведении покупательницы, характерные для беременных женщин.
Конспект лекции
Всего голосов 92: ↑80 и ↓12+68
Комментарии11

То, что вы, возможно, не знали о словарях в лекции «Словари: мифы и реальность»

Время на прочтение6 мин
Количество просмотров33K
Словари – одно из самых древних и самых известных достижений мировой лингвистики. Но насколько распространённые представления о словарях соответствуют реальности? Кто составляет словари? Как это делалось прежде и что изменилось в новую, компьютерную эпоху? Всё ли знают словари – а если нет, то кто знает лучше их? Всегда ли стоит доверять словарям, можно ли обойтись совсем без них и что ждет словари в будущем?


Читает лекцию кандидат филологических наук Борис Леонидович Иомдин, старший научный сотрудник Института русского языка им. В. В. Виноградова РАН, доцент Института лингвистики РГГУ, доцент факультета филологии Высшей школы экономики.
Конспект лекции
Всего голосов 63: ↑58 и ↓5+53
Комментарии9

Пару слов о распознавании образов

Время на прочтение13 мин
Количество просмотров311K
Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
image

Какие-то статьи по Optical Recognition я пишу давненько, так что пару раз в месяц мне пишут различные люди с вопросами по этой тематике. Иногда создаётся ощущение, что живёшь с ними в разных мирах. С одной стороны понимаешь, что человек скорее всего профессионал в смежной теме, но в методах оптического распознавания знает очень мало. И самое обидное, что он пытается применить метод из близрасположенной области знаний, который логичен, но в Image Recognition полностью не работает, но не понимает этого и сильно обижается, если ему начать рассказывать что-нибудь с самых основ. А учитывая, что рассказывать с основ — много времени, которого часто нет, становится всё ещё печальнее.
Распознать
Всего голосов 130: ↑129 и ↓1+128
Комментарии52

Материалы летней школы по биоинформатике

Время на прочтение9 мин
Количество просмотров37K
Этим летом в Москве прошла первая летняя школа по биоинформатике. В ней приняло участие более 100 человек, которые приехали из различных уголков России и СНГ и были разделены на два потока: «информатики» и «биологи». Организовал мероприятие Институт биоинформатики в сотрудничестве с СПбАУ РАН, МГУ, ИППИ РАН и программой GameChangers.

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

Если вы впервые слышите про биоинформатику, то советую в первую очередь посмотреть вводную лекцию Аллы Лапидус, которая расставит всё на свои места. Сейчас Алла занимает ведущие позиции в центре геномной биоинформатики СПбГУ и в лаборатории алгоритмической биологии СПбАУ РАН, а ранее долгое время руководила геномными проектами в DOE Joint Genome Institute (Калифорния).



Под катом можно посмотреть список всех прошедших лекций, включая их краткие описания, которые помогут вам сориентироваться, а также полные видеозаписи на русском.
Читать дальше →
Всего голосов 44: ↑41 и ↓3+38
Комментарии4

Алгоритм обратного распространения ошибки с регуляризацией на c#

Время на прочтение14 мин
Количество просмотров85K
Привет. Я хочу продолжить тему реализации методов машинного обучения на c#, и в этой статье я расскажу про алгоритм обратного распространения ошибки для обучения нейронной сети прямого распространения, а также приведу его реализацию на языке C#. Особенность данной реализации в том, что реализация алгоритма абстрагирована от реализаций целевой функции (той, которую нейросеть пытается минимизировать) и функции активации нейронов. В итоге получится некий конструктор, с помощью которого можно поиграться с различными параметрами сети и алгоритма обучения, посмотреть и сравнить результат. Предполагается, что вы уже знакомы с тем, что такое искусственная нейросеть (если нет, то настоятельно рекомендую для начала изучить википедию или одну из подобных статей). Интересно? Лезем под кат.

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

Базы знаний. Часть 1 — введение

Время на прочтение5 мин
Количество просмотров67K
Одной из причин слабого использования Linked Data-баз знаний в обычных, ненаучных приложениях является то, что мы не привыкли придумывать юзкейсы, видя перед собой только данные. Трудно спорить с тем, что сейчас в России производится крайне мало взаимосвязанных данных. Однако это не значит, что разработчик, создающий приложение для русскоязычной аудитории совсем уж отрезан от мира семантического веба: кое-что всё-таки у нас есть.
image
Основными источниками данных для нас являются международные базы знаний, включающие русскоязычный контент: DBpedia, Freebase и Wikidata. В первую очередь это справочные, лингвистические и энциклопедические данные. Каждый раз когда вам в голову приходит мысль распарсить кусочек википедии или викисловаря — ущипните себя как следует и вспомните о том, что всё, что хранится в категориях, инфобоксах или таблицах, уже распарсено и доступно через API с помощью SPARQL или MQL-интерфейса.

Я попробую привести несколько примеров полезных энциклопедических данных, которые вы не найдете нигде, кроме Linked Data.

Эта статья — первая из цикла Базы знаний. Следите за обновлениями.


Читать дальше →
Всего голосов 69: ↑66 и ↓3+63
Комментарии29

Petrovich просклоняет русские имена

Время на прочтение3 мин
Количество просмотров64K
Вам часто приходится иметь дело со склонением имён пользователей на русском языке? При рассылке писем, при отображении страниц и упоминаний, при генерации рекламных объявлений? Скорее всего, приходится изворачиваться и писать все сообщения в именительном падеже — Иванов Пётр Сергеевич.

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

Для решения этой проблемы при использовании Ruby существует Petrovich — удобная легковесная библиотека для автомагического склонения русскоязычных имён, фамилий и отчеств.


Склоняй меня полностью!
Всего голосов 161: ↑155 и ↓6+149
Комментарии141

8 фактов, которые вы, возможно, не знали о C#

Время на прочтение7 мин
Количество просмотров195K
Вот несколько необычных фактов о языке C#, о которых знают лишь немногие разработчики.

1. Индексаторы могут использовать params параметры


Мы все знаем, как обычно выглядят индексаторы x = something["a"], а так же код необходимый для его реализации:

public string this[string key]
 {
   get { return internalDictionary[key]; }
 }

Но знали ли вы, что для доступа к элементам вы можете использовать params параметры x = something["a", "b", "c", "d"]?
Просто напишите ваш индексатор следующим образом:
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии66

Разбор адресов «нечёткими регулярными выражениями»

Время на прочтение7 мин
Количество просмотров31K
Краткое содержание: о библиотеке написанной мною для сопоставления с заданным словарём выражений на естественном языке — в частности, городских адресов.

На деревню дедушке


Сколько существует способов написать адрес — в смысле, географический?

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

Возьмём простой пример:
улица Цветочная — может быть обозначена с сокращением, как «ул. Цветочная» и «Цветочная ул.» — кроме того «ул.» можно пропустить (если Цветочной площади в городе нет), а «Цветочная» можно написать с ошибками «Цвяточная» или «Цвиточная», равно как и «Цветошная» — всё это будет выглядеть недурно!

Пример посложнее:
2-я Конно-армейская улица — здесь душе поэта есть где разгуляться. Номер можно выразить как «2-ая» или просто «2», а можно даже прописью «Вторая» или с сокращением «Втор.» — дефис же между «конной» и «армейской» будет встречаться примерно у 50% опрошенных. До кучи выяснится что «конно-армейская» кому-то показалась длинной и сократилась до «2 Конноарм. ул.»

Другие интересные примеры связаны с именами «ул. Матроса Железняка» (или просто «Железняка»?), «пр. Мориса Тореза» (или «Мариса Тереза»?) а также совсем эпические случаи «ул. 3-я линия второй половины», «дорога на деревню Рыбацкое», «ул. Левый берег реки Ижоры» — прошу простить если и сам я их не осилил написать правильно по памяти.
Читать дальше →
Всего голосов 65: ↑65 и ↓0+65
Комментарии33

Нечёткий поиск в тексте и словаре

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

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →
Всего голосов 171: ↑170 и ↓1+169
Комментарии33

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность