Pull to refresh
1
0
Александр Холодович @kholodovitch

Lead Java backend developer

Send message

Полет квадрокоптера на высоте 1км

Reading time2 min
Views231K
Всегда было интересно как мир выглядит с высоты. Что видят птицы, чего не видно на картах googleEarth. Так пришло увлечение мультикоптерами, летать под облаками, фотографировать, снимать видео.


Подробности полета
Total votes 160: ↑157 and ↓3+154
Comments113

Астрофотография в каждый дом

Reading time6 min
Views126K
Думаю у любого человека, интересующегося космосом — возникала идея купить телескоп, чтобы лично все посмотреть.

Однако суровая реальность вечно портит всю малину: в пределах города – все небо засвечено уличным освещением и турбулентность воздуха высокая. Это означает, что либо придется ограничится самыми крупными и яркими объектами (вроде Луны и Юпитера), либо возить телескоп далеко за город.

Возможное решение проблемы — удаленно-управляемые телескопы большого размера и расположенные в горах. Конечно, возможность видеть все своими глазами это не заменит — но астрофотографии полученные таким образом будет трудно превзойти. Именно на этом способе я и хочу остановиться в этой статье.

Пример того, что получилось: галактика Андромеда, M31 на телескопе Т20
Читать дальше →
Total votes 216: ↑215 and ↓1+214
Comments60

История создания стартапа и последующая его трансформация в аутсорсинговую контору

Reading time7 min
Views15K
Приветствую, хаброжители!
В свете события анонимных дедов морозов пришло время и для моей первой статьи.
К счастью думать о чем написать долго не пришлось. Полагаю, Хабр готов для еще одного поста про постсоветский стартап и хороший опыт с друзьями в бизнесе.
Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments10

Внутриканальные наушники: все о них

Reading time16 min
Views294K

1. Что такое IEMs?


Внутриканальные наушники (англ. In-Ear-Canalphone), еще именуемые как затычки, реже ухо-мониторы или (правильное) IEMs (в дальнейшем в статье будет именно это название, т.к. оно очень лаконичное и нравится автору) — это наушники, внешне очень похожие на вкладыши, но разработанные для максимальной звукоизоляции ушного канала слушателя. Ее (звукоизоляцию) еще называют, звуковая «герметизация», — она имеет две функции: блокировка лишних шумов и формирование звуковой площади (камеры) для достижения полноты звучания. Создает такую герметизацию насадка, надетая на сопло наушника и вложенная в переднюю часть ушного канала. Существуют также наушники, где насадка создана по слепкам ушей владельца, — они называются (у русскоговорящей аудитории) кастомами (англ. Custom molded earplugs), — подобные вещи служат для достижения максимального качества звука и комфорта от прослушивания.

Почему выбирают IEMs? Из-за высокой портативности, качественного звука и способности к блокировке лишних шумов. Некоторые модели уже давно используют аудио-инженеры; музыканты, выступая на сцене. Затычки (в России это название прижилось больше), являются разновидностью IEMs. Когда производители внутриканальных наушников начали клепать их для общего потребителя (поколение iPod), аббревиатура IEMs стала более популярна (не в России), заменив выражение «затычек».  Техническим языком правильно «затычки» называть — IEMs. Реже аббревиатура IEMs используется для обозначения внутриканальных наушников высокого качества.
Читать дальше →
Total votes 74: ↑70 and ↓4+66
Comments70

О том, как я доверился своей интуиции и был очень упорным

Reading time5 min
Views62K
Бывало ли у вас ускользающее чувство как будто вы на правильном пути? Возможно, вы что-то делали, подсознательно понимая что двигаетесь в правильном направлении, вы ощущали то неуловимое состояние когда «я понятия не имею что сейчас делаю, но мне кажется я на правильном пути». У меня часто бывает такое состояние. Вашему вниманию предлагается скромная история, произошедшая со мной несколько лет назад. Заранее прошу прощения если я где-то неправильно использую технические термины, поправьте меня в комментариях, спасибо.

Собственно, началось все со звонка моей любимой сестры и описания насущной проблемы, которая встала перед ней. А случилось следующее — организация, в которой она работала, год назад заказала создание сайта с 15 виртуальными турами (это там, где используя встроенный flash-плеер вы можете крутить во все стороны и изучать пространство вокруг себя, например, номер в гостинице). В какой-то определенный момент, как вы уже, наверное, догадались, все виртуальные туры на сайте вместо красочных картинок стали показывать ошибку: «Error 20» на красивом белом фоне. С этим и предстояло мне разобраться.
Читать дальше →
Total votes 169: ↑146 and ↓23+123
Comments74

Налетай, подешевело: как смартфоны и планшеты теряют в цене при перепродаже

Reading time3 min
Views64K


Настоящий гик веяниям моды не подвержен, но против технического прогресса не попрешь: софт и требования к гаджетам меняются так стремительно, что даже топовые модели устаревают максимум за пару лет. Отсюда следует насущная необходимость периодически обновлять парк железок, особенно если речь идет о мобильных устройствах. А что делать с уже ненужным гаджетом? Можно забыть в дальнем ящике стола, можно подарить, а можно и продать. Пройдя этот путь неоднократно, я уже давно при выборе и покупке новой техники задумываюсь о том, как буду ее впоследствии продавать. Специально для своего хабраблога портал «Из рук в руки» подготовил небольшую занимательную аналитику: как быстро и сколько теряют в цене гаджеты – смартфоны и планшеты – и как делать покупки так, чтобы меньше терять на перепродаже.
Читать дальше →
Total votes 75: ↑55 and ↓20+35
Comments49

Неистовые быки: как Wall Street попала в зависимость от «скоростных» торгов. Часть 2

Reading time4 min
Views50K

Фотография: Bantersnaps (Unsplash.com)

Продолжение первой части, опубликованной ранее в блоге ITinvest. Рассказываем, как развивалась ситуация, когда Wall Street в какой-то момент своего развития решила сделать ставку на технологии высокоскоростных торговых операций. Журналисты Wired в своем расследовании подчеркивают, что в этой области критичными становятся все аспекты ИТ-инфраструктуры, хранения и передачи данных. И если крупнейшие трейдинговые центры США разделает всего несколько сотен миль, в процессе принятия и исполнения решений HFT-трейдерами играет роль каждая десятая миллисекунды.
Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments34

Используем 32битные библиотеки в 64битных программах

Reading time2 min
Views9.5K
Можно ли использовать 32битные библиотеки в 64битных программах? Скорее нет. А если очень нужно? Тогда скорее да!

Для одного проекта мне нужно работать с 32битными проприетарными библиотеками. Под виндой нет проблем — компилируем все в 32 бита и вперед. Но под линуксом дела обстоят хуже. Собирать все в 32 бита и цеплять в RPM 32битные версии свободных библиотек некрасиво, более того у меня есть API для плагинов. Совсем не хочется заставлять юзеров ставить ради несчастного плагина 32битный компилятор. Поэтому я решил сделать переходник из кота в мышь, который будет вызывать функции из 32битных библиотеке в отдельном процессе. Сначала я хотел сделать его на питоне, но скомпилировать питон в бинарник у меня не получилось. Потом добрые люди на IRC канале PyPy подсказали мне, что можно использовать libffi прямо из C! Дальше дело за малым.
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments17

Система наблюдения в автомобиле за ним же на Raspberry Pi. Часть 1

Reading time4 min
Views53K

Введение


Добрый день.
Однажды я приобрёл Raspberry Pi без каких-то на то целей — как только начались упоминания о нём на хабре. Начал бесцельно запускать фтп-сервера, пробовать Node.js и прочие мелкие серверные дела, пока не приобрёл новый автомобиль. Конечно, заниматься тем, что можно найти на просторах интернета вроде дистанционного открытия гаража я не стал — в силу нормального не знания системы Linux и серверных языков программирования. Автомобиль стал мне дорог и возникла идея — поставить малинку в автомобиль с прикрученными к ней USB девайсами: GPS, Web-камера, 3G-модем — для чего и был куплен 2-ой Raspberry.
В этой статье я опишу подготовку: установку Node.JS, настройку OpenVPN и 3G.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments28

Проблемы снятия регулярных помех в формах с рукопечатным заполнением

Reading time9 min
Views4.8K

Привет, Хабр)



Этой статьей мы начинаем серию публикаций о технологиях оптического распознавания (OCR, ICR) и понимания документов, разработанных специалистами компании Cognitive Technologies. Многие из этих решений более 10 лет успешно функционируют в разных организациях и помогают оптимизировать процессы обработки бланков Пенсионного фонда, анкет на получение загранпаспорта, платежных поручений Сбербанка РФ, результатов голосования акционеров Газпрома и десятки других документов.
Сегодня наш рассказ об одной из наиболее сложных и интересных с научной точки зрения проблем, которую приходится решать при распознавании деловых документов, это снятие помех или отделение полезной информации от «мусора».
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments7

Как работает автоматическое выделение документа на изображении в программе ABBYY FineScanner?

Reading time5 min
Views16K
image
Что такое ABBYY FineScanner
ABBYY FineScanner – программа для iOS-устройств, которая может фотографировать документы и обрабатывать снимки так, чтобы получившиеся электронные копии (по сути – сканы) были удобны для работы – чтения, печати или хранения/пересылки в удобочитаемом виде. О выходе первой версии мы писали здесь.

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

Весь процесс можно разделить на несколько основных этапов:

1) Уменьшение исходного изображения
2) Выбор наиболее информативного канала
3) Предобработка изображения, выделение контуров
4) Детектирование границ и определение углов документа
5) Проверка полученных гипотез
6) Уточнение координат углов документа

Рассмотрим каждый из этапов подробнее.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments11

Как мы тестируем поиск в Яндексе. Screenshot-based тестирование блоков результатов

Reading time5 min
Views41K
Чем крупнее и сложнее становится сервис, тем больше времени приходится уделять тестированию. Поэтому желание автоматизировать и формализовать этот процесс вполне законно.

Чаще всего для автоматизации тестирования веб-сервисов применяется Selenium WebDriver. Как правило, с его помощью пишут функциональные тесты. Но, как всем хорошо известно, функциональные тесты не могут решить задачу тестирования верстки сервиса, что требует проведения дополнительных ручных, зачастую кроссбраузерных, проверок. Как тест может оценить корректность верстки? Чтобы обнаружить регрессионные ошибки верстки, тесту потребуется некоторый эталон, в качестве которого может выступать изображение корректной верстки, взятой, например, с продакшен-версии сервиса. Этот подход носит название screenshot-based testing. Подход этот применяется достаточно редко, и чаще всего верстку все же тестируют вручную. Причина этому – ряд достаточно строгих требований к сервису, к среде выполнения тестов и к самим тестам.

Расширенные ответы сервисов Яндекса в результатах поиска — мы у себя внутри по старой традиции называем их «колдунщиками» — дополнительное звено, в котором что-то может сломаться.

На примере тестирования колдунщиков в поиске мы расскажем, какими особенностями должен обладать тестируемый сервис, какие проблемы возникают у нас при использовании screenshot-based testing, и как мы их решаем.

image
Читать дальше →
Total votes 78: ↑71 and ↓7+64
Comments17

Eleven — сервис автоматического перевода речи в текст

Reading time1 min
Views12K
Привет. Мы, Боря и Полина, расскажем о нашем проекте Eleven.

Мы разрабатываем Eleven — сервис автоматического перевода речи в текст и плагин для Skype. Сервис связывается со Skype во время звонка, обрабатывает голосовой разговор и возвращает пользователю в текстовом виде в течение 5-7 секунд. Текстовый лог разбит на привычные блоки: ваши слова и слова вашего собеседника. Связь со Skype нужна для определения начала и конца разговора.

image

Идея распознавания речи не нова, и в мире ведётся интенсивная разработка сервисов по голосовому набору с весьма разнообразным функционалом. Наш же продукт предназначен для фрилансеров — разработчиков и дизайнеров — и направлен на повышения удобства в их работе.
Читать дальше →
Total votes 29: ↑15 and ↓14+1
Comments31

Целимся из пушки

Reading time3 min
Views31K

В статье описан простой алгоритм наведения пушки, когда оси вращения не пересекаются с осью ствола. Быстро найти готовый не получилось – пришлось вспоминать школьные времена. Ну а раз вспомнил – грех не поделиться с остальными. А кто-то где-то, сэкономив время, использует его на создание еще чего-то полезного…

Результат приведенных расчетов используется в аркадной игре. За месяц промахов не было. Если вы разрабатываете симулятор, скорее всего, понадобится что-то более изощренное.
Читать дальше →
Total votes 51: ↑42 and ↓9+33
Comments20

Ускоряем Nginx за 5 минут

Reading time5 min
Views290K
image
Попытайтесь повторить это сами

Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

Минутка банальности.

yum -y install nginx

На всякий пожарный, создадим бэкап исходного конфига.

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
vim /etc/nginx/nginx.conf

А теперь можно и похимичить!
Бдыжь-бдыжь
Total votes 203: ↑138 and ↓65+73
Comments128

Vuforia: немного магии в нашей реальности

Reading time5 min
Views61K
Современный мир не перестает радовать нас достижениями технологий, кому как не хабражителям это известно. Я до сих пор отношу всякие шлемы виртуальной реальности к чему-то скорее научно-фантастическому, нежели реальному, несмотря на то, что они уже вполне существуют (достаточно поискать по хабру Oculus Rift). Помимо, если так можно выразится, “чистой” виртуальной реальности все более интересными кажутся проекты по дополнению реальности нашей (Augmented Reality). Нашумевший на Kickstarter проект castAR тому живое доказательство, да и Google Glass хоть и не совсем то, но вполне умещается в термин augmentation.

Одно только НО, Oculus Rift – на сегодня это версия для разработчиков, castAR – вообще только концепт, ну а Google Glass достался только счастливчикам и возможности его сильно ограничены. В общем об охвате широкой аудитории пока говорить не приходится. Зато смартфоны всех сортов поселились в нашей жизни уже повсеместно. Они все замечательные, имеют камеру и достаточно умны, чтобы стать тем самым окошком в реальность дополненную.

В этой статье я расскажу о Vuforia — фреймворке, который позволяет сделать с вашим телефоном нечто подобное. Пост скорее обзорный, чтобы разобраться в терминологии и понять, как все это делается.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments8

Confederate Express — игра про выживание в тонах сурового ретро, «написанная» мастерами современного пиксель-арта (Kickstarter Campaign)

Reading time11 min
Views63K


Страница проекта на Кикстартер — (Kickstarter link)
Страничка проекта на Фейсбуке — (Facebook link)
Официальный сайт разработчика Kilobite
Твиттер Максима Пашанина Twitter-link
Дебютный трейлер KS кампании Trailer Link

Честно, как на духу, не собирался писать что-либо до завершения еще одного туториала, ибо лучше моей болтовни — хорошая, добрая помощь, вы ясно мне дали это понять (смеется). Но сегодня под вечер увидел эту игру на Kickstarter, и как в случае с SpinTires не удержался. И вовсе не потому, что ее также делают наши соотечественники, и даже не потому, что ролик естественен как пение птиц по утру, но потому, что она… сказочная. И одновременно настоящая. Это не закос (да простят мне подобные формулировки) под ретро, это именно следование заветам, уважение традиций, и одновременно оригинальная подача того чтобы мы знали когда-то и того что мы никак не можем забыть. Предположу, что и не хотим забывать.



Все упомянутое до, пока что мои слова. Чтобы добавить им веса мне пришлось взять у разработчиков небольшое интервью. Чем больше граней имеет камень, тем он лучше играет на свету. Возьмете ли вы на себя труд помочь мне откопать нашу находку?


Back to the Future
Total votes 126: ↑116 and ↓10+106
Comments116

Разработка нечеткой нейронной сети NEFClass M

Reading time4 min
Views14K
Анализ недостатков системы NEFClass показывает, что их причиной является несовершенство алгоритма обучения нечетких множеств NEFClass. Для того что бы исправить это, необходимо заменить эмпирический алгоритм обучения на строгий алгоритм численной оптимизации. Как и оригинальная, так и модифицированная модель NEFClass основывается на архитектуре нечеткого персептрона. Архитектурные различия оригинальной и модифицированной моделей состоит в виде функций принадлежности нечетких множеств, функции t-нормы для вычисления активаций нейронов правил, а также в виде агрегирующей функции (t-конормы), определяющей активации выходных нейронов. Применение численных методов оптимизации требует дифференцируемости функций принадлежности нечетких множеств – условие, которому треугольные функции принадлежности не удовлетворяют. Поэтому в модифицированной модели нечеткие множества имеют гауссовскую функцию принадлежности.

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

Основное изменение, касается алгоритма обучения нечетких множеств. Целевой функцией в модифицированной системе NEFClass выступает минимизация среднеквадратичной ошибки на обучающей выборке по аналогии с классическими нейросетями
Читать дальше →
Total votes 24: ↑20 and ↓4+16
Comments33

RevealApp — Firebug для iOS приложений

Reading time1 min
Views8.1K
Два дня назад вышел RevealApp. RevealApp это MacOS приложение. Он показывает иерархию UI-компонентов приложения в понятном и мощном 3D-представлении и позволяет менять UI на лету. Идея похожа на Firebug или Web Inspector для сайтов.

Возможные применения:
— отладка UI, визуальный поиск непонятных багов в layout и тд;
— знакомство с приложением, написанным другим разработчиком, открываете Reveal и быстро анализируете структуру экранов (отображаются в том числе элементы созданные в runtime);
— дизайнеры (или разработчики под их присмотром) могут тестировать дизайн без перекомпиляции приложения (а давайте подвинем иконку выхода на три пикселя влево).

Reveal используют Flipboard, Artsy, Xamarin и другие.


Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments16

Настройка I2P Out Proxy

Reading time2 min
Views29K
image

Добрый день уважаемые хабраюзеры.


Сегодня я вам предлагаю обсудить создание единого прокси сервера способного в пургу, жару и блокировку оставаться не преклонным и свято блюсти принципы свободы информации, единения и мира во всём мире. Да, да речь пойдет опять об i2p, но уже с позиции серверных настроек.

Представим, что существует добрый самаритянин за границей у которого постоянно включен i2p роутер и он готов нести радость людям создав нам proxy.antizapret.i2p

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

Information

Rating
5,403-rd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead
From 300,000 ₽
Java
Spring Boot
Hibernate
Apache Kafka
RabbitMQ
C#
MySQL
Redis