Как стать автором
Обновить
13
0.5
Александр Соловец @mbait

Пользователь

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

Сложение двух чисел с плавающей запятой без потери точности

Время на прочтение9 мин
Количество просмотров78K
Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

s = a+b;
z = s-a;
t = b-z;

то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

Всего голосов 139: ↑137 и ↓2+135
Комментарии172

Разблокируем интернет с помощью Mikrotik и VPN: подробный туториал

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

В этом пошаговом руководстве я расскажу, как настроить Mikrotik, чтобы запрещённые сайты автоматом открывались через этот VPN и вы могли избежать танцев с бубнами: один раз настроил и все работает.

В качестве VPN я выбрал SoftEther: он настолько же прост в настройке как и RRAS и такой же быстрый. На стороне VPN сервера включил Secure NAT, других настроек не проводилось.

В качестве альтернативы рассматривал RRAS, но Mikrotik не умеет с ним работать.  Соединение устанавливается, VPN работает, но поддерживать соединение без постоянных реконнектов и ошибок в логе Mikrotik не умеет.

Настройка производилась на примере RB3011UiAS-RM на прошивке версии 6.46.11.
Теперь по порядку, что и зачем.
Читать дальше →
Всего голосов 71: ↑67 и ↓4+63
Комментарии75

Как я добился обещанного гигабита, использовав Mikrotik + мозг

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

100 мегабит в секунду от предыдущего провайдера начал сильно замедлять рабочий процесс, поэтому я начал искать провайдера с нормальной скоростью. В моем доме, из быстрых был только МГТС, на чем я и остановился. Провели интернет быстро, два дня между заявкой и кабелем в квартире, оставили большую бухту оптики, за что спасибо…
Читать дальше →
Всего голосов 87: ↑85 и ↓2+83
Комментарии108

SQLite — не игрушка

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

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее
Всего голосов 239: ↑237 и ↓2+235
Комментарии89

Минимальное PWA

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

Какие характеристики должны быть у web-приложения, чтобы соответствовать критерию "прогрессивное"? Понятно, что, как и обычные web-приложения, прогрессивные строятся на базе "большой тройки" web-технологий - HTML/CSS/JS. Но что именно делает web-приложения прогрессивными?

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

Читать далее
Всего голосов 31: ↑29 и ↓2+27
Комментарии11

Детекторы углов

Время на прочтение18 мин
Количество просмотров109K
Мне интересна обработка изображений, в особенности работа с особыми точками. Ища информацию по детекторам углов, я не нашел достаточно большого обзора этих алгоритмов на русском языке. Поэтому я решил исправить ситуацию, написав эту статью. План статьи следующий:

  • Введение
  • Свойства особых точек
  • Детекторы углов
    • Moravec
    • Harris
    • Shi-Tomasi
    • Förstner
    • SUSAN
    • Trajkovic
    • FAST
    • CSS
    • Детектор, основанный на глобальных и локальных свойствах кривизны
    • CPDA
  • Выводы



Читать дальше →
Всего голосов 118: ↑116 и ↓2+114
Комментарии28

Зрение для робота на Raspberry Pi: карта глубин

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

Нынче все технологии «дроностроительства» активно дешевеют. Кроме одной: получение карты окружающего пространства. Тут есть две крайности: либо дорогие лидары (тысячи долларов) и оптические решения для построения карты глубин (много сотен долларов), либо совсем копеечные решения типа ультразвуковых дальномеров.
Поэтому возникла идея на базе недорогой Raspberry Pi с одной камерой сделать решение, которое окажется в пустующей нише и позволит получать карту глубин «за недорого». Причем сделать это на простом языке программирования типа Python, чтобы это было доступно новичкам для экспериментов. Собственно, о своих результатах я и хотел рассказать. Получившиеся скрипты с примерами фоток можно запускать и на десктопе.

Читать дальше
Всего голосов 43: ↑42 и ↓1+41
Комментарии23

Опубликован код алгоритма Predator

Время на прочтение1 мин
Количество просмотров11K
Хотя сам Зденек Катал был против, но исходные коды его алгоритма отслеживания объектов в видеопотоке Tracking-Learning-Detection (aka Predator) всё-таки попали в открытый доступ. Судя по всему, они были какое-то время выложены на сайте автора и кто-то успел сделать копию. А поскольку код публиковался под лицензией GPL 2.0, то не осталось никаких препятствий для его дальнейшего распространения.

Проект TLD на github: 1, 2, 3, 4, 5

Основная часть сделана на Matlab и его относительно легко можно транслировать в C за пару дней.

Сам трекинг осуществляется методом Лукаса-Канаде и с помощью OpenCV.
Всего голосов 71: ↑69 и ↓2+67
Комментарии51

Памятка по базовой верстке статьи для Хабра без использования Markdown-разметки

Время на прочтение5 мин
Количество просмотров46K
На Хабре, по меркам старожилов, я совсем недавно, всего два года, но пишу активно, по возможности каждый день. Так вот, читая статьи, да и просто прокручивая ленту свежих публикаций как на Хабре, так и на GT, я понял, что многие просто не могут совладать с версткой текста и, как следствие, достаточно часто годные публикации хоронятся их же авторами из-за нечитабельности текста. Или отпугивает кривая КДПВ, или еще что произойдет.

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

Картинка Для Привлечения Внимания и выравнивание по левому краю


Так уж сложилось, что вся лента Хабрахабра выровнена по левому краю. По этой причине опытные авторы небольшие изображения оставляют слева или используют картинки шириной в 800-1000 px. Отдельно хочется заметить, что чуть ли не лучшим является соотношение КДПВ 2 к 1, т.е. изображения 800х400 px. Подобная пропорция позволяет SMM-щику соц. сетей не изгаляться с вашей картинкой (а то и вовсе искать что-то другое, более подходящее по размерам), а использовать оригинал, не нарушая задумки автора.
Читать дальше →
Всего голосов 67: ↑61 и ↓6+55
Комментарии44

Как масштабировать Ruby-приложения

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

Пара примеров:


Сегодня мы решили взглянуть на западный опыт и кратко проанализировать тему масштабирования приложений. Нас привлекло руководство Нейта Беркопека (Nate Berkopec), эксперта по Ruby.

Читать дальше →
Всего голосов 26: ↑18 и ↓8+10
Комментарии14

Google Cloud Endpoints на Java: Руководство. ч. 1

Время на прочтение15 мин
Количество просмотров23K
Google Cloud Endpoints — это надстройка над Google App Engine (GAE) для создания API для веб и мобильных приложений, делающая разработку проще и включающую в себя «из коробки» защиту от DoS-атак, OAuth 2.0 аторизацию, веб-интерфейс для тестирования API, SSL, атоматическую масштабируемость (сайт не упадет под хабра-эффектом), а также возможность использования сервисов доступных в Google App Engine (отсылка и прием электронной почты и XMPP-сообщений, загрузка данных из Интернет (URL Fetch service), задачи по расписанию (Task Queues and Scheduled Tasks) и др.)

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

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

Фреймворк Objectify предоставляет удобные стредства для работы со базой данных встроенной в GAE, а модуль angular-google-gapi для подключения веб-приложения на AngularJS c авторизацией пользователей.

Под катом много картинок и текста, и предполагается, что читатель знаком с Java Servlets.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии3

Google Cloud Endpoints на Java: Руководство. ч. 2 (Frontend)

Время на прочтение26 мин
Количество просмотров8.4K
Часть первая: Google Cloud Endpoints на Java: Руководство. ч. 1
Часть третья: Google Cloud Endpoints на Java: Руководство. ч. 3
Часть четвертая: Работа с базой данных в Google App Engine/Google Cloud Endpoints на Java: фреймворк Objectify
Часть пятая: Google Cloud Storage c Java: изображения и другие файлы в облаках

В первой части мы рассмотрели создание проекта на Google Cloud Endpoints с Java, в этой статье речь пойдет о создании фронтенда к нашему API.

В дополнение к инструментам, использовавшимся в первой части, нам понадобится:

AngularJS, и начальное общее представление о том как он работает, опционально Bootstrap или Foundation.

Простейший веб-сервер на локальной машине для тестирования, и сервер для деплоя приложения.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии2

Google Cloud Endpoints на Java: Руководство. ч. 3

Время на прочтение4 мин
Количество просмотров7K
предыдущие части:
Google Cloud Endpoints на Java: Руководство. ч. 1
Google Cloud Endpoints на Java: Руководство. ч. 2 (Frontend)

Работа с версиями


Google App Engine предоставляет возможность загрузить до 10 различных версий приложения.
Одна из них (по умолчанию — первая загруженная) является основной (default) и доступна по основному адресу приложения, и соответственно по адресу собственного домена(ов).
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Кинетическая скульптура «Сизиф» из LEGO Technics

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

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

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


Ролик о скульптуре и подробное пояснение схемы работы
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии4

От первого электровелосипеда своими руками – до перспективного стартапа. Истории сотрудников REG.RU

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


Технический директор REG.RU Валерий Студенников попытался решить транспортную проблему лично для себя, а затем превратил своё хобби в интересный стартап.

Представляем вашему вниманию рассказ основателя Electron Bikes о том, как сделать мощный электровелосипед своими руками, почему любителей скорости не устраивают существующие модели байков и до какой скорости может разгоняться обычный с виду велосипед.
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии50

Модель прогнозирования временных рядов по выборке максимального подобия: пояснение и пример

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

Предисловие


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


Файлы с реализованным примером можно скачать в архиве.


UPD 07.03.2019: Доступна обновленная версия примера для MATLAB 2015b с комментариями на английском языке.

Определим вопросы и ответы
Всего голосов 16: ↑15 и ↓1+14
Комментарии20

OTRS 4.0.10. Ставим на Ubuntu + AD + Kerberos + SSO (Часть первая)

Время на прочтение18 мин
Количество просмотров58K
Вииду того, что статья и так получилась слишком большая, а к тому же хочеться добавить к ней её пару нюансов разбиваю её на несколько частей, и дальнейшие дополнения буду публиковать как отдельные части.

Часть первая: подготовка системы
Часть вторая: установка и настройка OTRS
Часть третья: исправляем косяки прикручиваем плюшки

Вместо введения


Любая достаточно крупная организация рано или поздно сталкивается с необходимостью внедрения системы тикетов или helpdesk. И наша организация не исключение, в связи с чем руководством была поставлена задача выбрать и внедрить систему.

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

На самом деле проблема всех этих мануалов в том, что всё вроде бы так же как у тебя, но где-то чуть-чуть не та версия пакета, чуть чуть не такая структура AD и т. д. Вот из-за всех этих чуть чуть и не складывается цветок каменный. Одним словом методом проб и ошибок, чтений документации и анализа мануалов был выработан свой, вполне рабочий метод, который я и хотел бы изложить.
Для тех кому интересно, добро пожаловать под кат
Всего голосов 16: ↑15 и ↓1+14
Комментарии8

Генерация классической музыки с помощью рекуррентной нейросети

Время на прочтение3 мин
Количество просмотров31K
В наше время обучаемые нейросети творят удивительные вещи, но эксперименты в этой области продолжают открывать нечто новое. Например, программист Даниэль Джонсон (Daniel Johnson) опубликовал результаты своих экспериментов по применению нейросетей для генерации классической музыки.

К сожалению, на GT нельзя встроить аудиофайл, поэтому приходится давать прямую ссылку, чтобы послушать один из результатов: http://hexahedria.com/files/nnet_music_2.mp3.

Как у него это получилось?
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии46

Акции: первый серьезный опыт

Время на прочтение7 мин
Количество просмотров41K
Мой первый опыт инвестирования случился еще в школе, у нас уже появился dial-up, а спустя некоторое время и первые компании, предлагающие торговать на Forex. Отношение в тот момент ко всей этой торговле было исключительно игровое – я совершал сделки без особого анализа, используя самые простые индикаторы уровней на графике цены. Спустя годы я пришел «взрослую биржу».

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

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

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


Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии67

Спектры расстояний простых наборов и их объединений (часть 2)

Время на прочтение7 мин
Количество просмотров7.1K
В первой части мы взяли в руки молоток (спектр матрицы Грина) и опробовали его на паре гвоздей (наборе из трех точек). Пока я возился с этими спектрами, возникло предложение к производителям строительных рулеток. Надо с обратной стороны измерительной ленты добавить параболическую шкалу (сантиметры в квадрате). Поскольку квадраты расстояний здесь просто кишат, а обычные (линейные) расстояния выглядят жалким частным случаем. При строительстве дачи такой рулеткой можно будет проверять прямоугольность углов, ну и прочие инварианты для расстояний между точками в пространстве и на плоскости.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Информация

В рейтинге
1 586-й
Откуда
Владивосток, Приморский край, Россия
Зарегистрирован
Активность