Как стать автором
Обновить
111
0
Victor Shcherb @vics001

Разработчик OsmAnd

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

Google Must Split

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

В середине 90-х все помнят лозунг «WindowsMustDie». Сначала это был лозунг, дальше это превратилось в обыденное приветствие, а потом и вовсе начало выходить из оборота. Microsotf с ее Windows была первой IT компанией, которая столкнулась с глобальной консьюмерской монополией: IBM не берем в расчет, так как он работал в B2B сегменте. Конец 90-х это было рождение Google и, конечно же, этот лозунг против-монополий и сделаем мир лучше они использовали по полной. Я думаю, все кто интересовался IT-сферой в то время, помнят ту старую «компанию добра», и не случайно сотрудники Google, которые пришли работать ради этой миссии, устраивают стихийные бунты против решений менеджмента (1, 2).

В 90-х нападки государств на Microsoft обошли стороной Google, но сейчас они усиливаются и грозят нашему комфорту.
Что же делать? Как говорится, надо резать.
Всего голосов 36: ↑31 и ↓5+26
Комментарии74

Написать Telegram клиент — легко

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


Чем отличается Telegram от других популярных мессенджеров? Он — открытый!
Другие мессенджеры тоже имеют API, но почему-то именно телеграм известен как наиболее открытый из самых популярных?


Начнем с того, что у Telegram действительно полностью открытый клиентский
код. К сожалению, мы не видим комиты каждый день прямо на GitHub, но у нас есть код под открытой лицензией. Архитектура Telegram подразумевает, что и Bot и API имеет практически такие же методы — https://core.telegram.org/methods.


На самом деле, Telegram представляет не просто чат-мессенджер, а социальную платформу, доступ к которой открыт для разного рода приложений. Они могут предоставлять дополнительные фишки пользователям, взамен используя готовую сеть пользователей и сервера для доставки сообщений. Звучит настолько привлекательно, что нам захотелось попробовать написать своего "клиента" для Телеграм.

Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Комментарии11

Google заблокирован Роскомнадзором

Время на прочтение1 мин
Количество просмотров113K
К сожалению, оперативно следить за актуальной информацией и дезинформацией получается все труднее. Интернет уже давно не устроен по принципу один ресурс — один IP, один сервис — одна проверка.



На сегодняшний день поступает большой поток жалоб, что не работают Google закладки, менеджер паролей, поиск; но работает при включенном VPN. Почитать комментарии можно тут downdetector.ru.

P.S. Эта статья написана с целью получения оперативной информации через комментарии и, надеюсь, будет дополняться.
Всего голосов 96: ↑87 и ↓9+78
Комментарии547

Время Bitcoin банков?

Время на прочтение6 мин
Количество просмотров25K
Недавно в мире Bitcoin произошло довольно примечательное событие. Был добыт блок, в котором премиальные 12.5 BTC за блок оказались меньше, чем премиальные за транзакции 13.4 BTC. Конечно, такие ситуации случались и раньше в результате ошибок, щедрости или разных экспериментов на Blockchain, но впервые такая ситуация стала результатом тренда на стоимость транзакций.



Возможно Bitcoin требуются банки или их аналоги?
Читать дальше →
Всего голосов 26: ↑20 и ↓6+14
Комментарии84

Энергия и человек. Ряд случайных сравнений

Время на прочтение3 мин
Количество просмотров92K
В физике для решения задач иногда применяется полунаучный «метод размерностей», когда зная размерность искомой величины, мы можем догадаться, что на что поделить, сложить, умножить, чтобы получить правильный ответ. Я решил взять размерность «энергия» и сравнить «яблоки с бананами», а именно человека как энергетическую систему с другими системами.

image

В чем измеряется, энергия?

$ 1\ Дж = 2.78·10^{-7}\ кВт\cdotч = 1\ Вт\cdotс = 0.239\ Калория = 6.241·10^{18}\ Электрон\cdotвольт $
$ 1\ кВт\cdotч = 3.6·10^{6}\ Дж = 3.6·10^{6}\ Вт\cdotс = 8.60·10^5\ Калория $
$ 1\ Ккалория = 1.163·10^{-3}\ кВт\cdotч$
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии52

Bitcoin Cash. А был ли форк?

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

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

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

Краткое содержание


  • Bitcoin — общество любителей математики
  • Что такое форк? Почему не так страшна атака 51%
  • Segwit. С чего все началось
  • Bitcoin Cash — как заработать и как дать другим заработать
  • Перспективы
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии22

Как мы рисовали road shields на карте

Время на прочтение4 мин
Количество просмотров5.8K
В начале 20-го века на главных дорогах общего пользования начали появляться таблички (далее shield) с номерами. Отображение их на карте не является обязательным атрибутом, но является важным с точки зрения удобства использования. Людям, которые видят таблички в реальности, проще сориентироваться на местности. Также это придает карте “местный колорит”. Стоит отметить, что одна и та же дорога может иметь несколько табличек одновременно. Это связано с тем, что дорожные маршруты могут накладываться друг на друга.


В OsmAnd мы решили нарисовать максимально приближенные к реальности shield, используя данные OpenStreetMap.


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

Тест производительности: удивительно и просто

Время на прочтение15 мин
Количество просмотров37K
Так сложилось, что последние полгода я активно занимался тестами производительности и мне кажется, что в этой области IT царит абсолютное непонимание происходящего. В наше время, когда рост вычислительных мощностей снизился (vertical scalability), а объем задач растет с прежней скоростью, проблема производительности становится всё острее. Но прежде, чем броситься на борьбу с производительностью, необходимо получить количественную характеристику.

Краткое содержание статьи:

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии5

Открытое электронное голосование (доказательство от противного)

Время на прочтение4 мин
Количество просмотров16K
Идя по следам хабратопика и многочисленных других про анонимное, открытое, честное голосование, хочется провести независимое расследование и придти к простому и понятному решению, что достижимо, а что нет, и при каких условиях.

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

В общем, чтобы быть объективным, а не голословным, воспользуемся методом исключенного третьего (методом от противного). Надеюсь, представители интуиционистской логики не будут против.

Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии143

Prolog — грамматический разбор и языковые проблемы

Время на прочтение10 мин
Количество просмотров14K
Грамматический разбор — тема, которую должен знать и ориентироваться каждый программист. Именно, потому что применяем ее каждый день. Да мы не пишем новые языки или не правим грамматики каждый день, но мы пользуемся регулярными выражениями, задумываемся о сложности и вычислимости, думаем о количестве строк кода, что имеет непосредственное отношение к грамматикам.

Целью этой статьи является попытка показать связи в различных областях знаний, как программирование и математика, философия и логика, а так же продемонстрировать в действии одну из наиболее удачных областей применения языка Prolog — грамматический разбор.

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

Prolog — примеры использования (Часть 2)

Время на прочтение14 мин
Количество просмотров102K
В первой части статьи о Prolog рассказывалось о структуре, синтаксисе и интерпретации языка. Конечно же научно-популярная литература интересна для программиста, но гораздо более интересно что-то интерактивное, живое, запускаемое. Поэтому в этой статье я предлагаю вооружиться SWI-Prolog и рассмотреть решения простейших задач на Прологе.

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

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

— Почему нет сообщества Пролога?
— Оно есть. Такова специфика языка, что он очень полюбился в академической среде (большинство Prolog систем пишутся в различных университетах и наоборот практически любой университет пишет свой Пролог), из-за этого можно сказать страдает и применимость языка. Стоит отметить, что сообщество небольшое, но очень лояльное: практически все известные языки нашли свое отражение в современных языках (Lisp, ML -> F#, Scala; Smalltalk -> Java, Scala (агенты), скриптовые -> Ruby), в отличие от Пролог.

Думаю на этом хватит философских рассуждений и можно приступить к реальным примерам :)

В конце как обычно ожидает задача на приз.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии62

Prolog — удивительный язык программирования

Время на прочтение10 мин
Количество просмотров205K
— Чем же он удивительный? Я знаю пару десятков языков и для меня не проблема изучить еще один новый, я просто уже не вижу необходимости.

Пролог — уникален. Это единственный язык представляющий парадигму декларативного программирования; это язык, который имеет сотни различных имплементаций, но они все равно называются Prolog, добавляя лишь префиксы и суффиксы к названию; это живой язык в котором не происходит никаких существенных изменений более 20 лет; это, наверное, единственный настолько популярный язык программирования, который не имеет применения в реальном программировании. Почему же Prolog?

Пролог — уникален по своей природе, он появился благодаря счастливому совпадению (таинственному устройству мира). Когда-то в 60-х годах очень бурно развивалась теория автоматического доказательства теорем и Робинсоном был предложен алгоритм резолюций, который позволял доказать любую верную теорему (вывести из аксиом) за конечное время (за какое не известно). Как оказалось позже, это наилучшее решение общей задачи, невозможно доказать теорему за ограниченное число операций. Простыми словами, алгоритм представляет собой обход (в общем случае бесконечного) графа в ширину, естественно, что предсказуемость работы алгоритма практически равно 0, соответственно для Языка Программирования — это абсолютно не подходит. И в этот момент Кальмэроу нашел блестящее сужение задачи, благодаря которому доказательство некоторых теорем выглядело как процедурное исполнение программы. Стоит отметить, что класс доказуемых теорем достаточно широк и очень хорошо применим для класса программируемых задач. Вот так в 1972 появился Prolog.

В этой статье я попытаюсь рассказать о Prolog как инструменте решения общих логических задач. Этот топик будет интересен тем, кто уже владеет синтаксисом Prolog и хочет понять его изнутри, а также тем, кто абсолютно не владеет синтаксисом языка, но хочет понять его «изюминку» не тратя лишнее время на изучение синтаксических конструкций.

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

Osmand — Руководство пользователя

Время на прочтение8 мин
Количество просмотров228K
Osmand — программа для Android, которая позволяет работать с офлайн картами OpenStreetMap и не только, использовать голосовую навигацию, запись, отображение и навигацией GPX треков, а также ряд возможностей по редактированию OSM. Судя по предыдущему топику , среди хабровчан достаточно большое число пользователей данной программы, которые бы хотели узнать тонкости работы данной программы.

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

Osmand, как и большинство Linux приложений, предназначен, для всех, поэтому конкретную целевую аудиторию даже сложно назвать. Это является и плюсом и минусом приложения. В принципе все open source развиваются по этому сценарию, потому как сообщество постоянно добавляет маленькие и нужные патчи и редко добавляет большие и нужные. Так и получаются приложения с кучей настроек, кучей перекрывающихся функций и тысячами сценариев использования.

Кратко темы, раскрытые ниже:
  • Карта — векторные и растровые карты, различные настройки
  • Экран Карты — индикаторы на главном экране приложения и контекстное меню
  • Настройки приложения — профили настроек и обзор базовых настроек
  • Фоновый сервис — работа приложения с выключенным экраном и с заданным периодом включения
  • Мониторинг — запись GPX треков
  • Навигация — онлайн и офлайн навигация
  • Поиск — поиск POI, транспорта, адреса
  • OSM редактирование — POI и Osm bugs

Читать дальше →
Всего голосов 76: ↑66 и ↓10+56
Комментарии67

Офлайн карты/навигация Android

Время на прочтение6 мин
Количество просмотров18K
OsmAnd screenshot
В этой статье я хочу рассказать о том, как создавая светлое, доброе, вечное opensource приложение, можно не только увеличить свою карму, но и заработать немного денег.

Чуть более года назад у меня появился Android телефон и сразу же передо мной встал вопрос, что использовать для путешествий, навигации. Как ни крути, но телефон с GPS и интернетом — очень удобен, особенно в незнакомых местах. Просмотрев все существовашие тогда приложения, был немного разочарован. Одно не работает без интернета, другое не поддерживает навигации, третье не ищет POI, четвертое не имеет векторных карт и т.д. Были конечно и бесплатные коммерческие аналоги, но у одних карты подкачали, у других отзывы, а все-таки когда платишь — хочется получить что-то, за что платишь.
Стоит отметить, что в поисках приложений, открыл совершенно замечательный проект OpenStreetMap с отличной детализацией для Беларуси. Поэтому, собрав все силы и желание сделать что-то бесплатное, доступное и нужное, открыл на googlecode проект OsmAnd.
Читать дальше →
Всего голосов 155: ↑148 и ↓7+141
Комментарии118

Информация

В рейтинге
5 098-й
Откуда
Антильские о-ва
Дата рождения
Зарегистрирован
Активность