Архив за 31 июля 2013 - 6

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

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

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

Первое что сделал это запарсил с сайтов маршруты транспорта. Далее принялся за граф.
Это оказалась не сложная задача, берем каждую остановку маршрута и смотрим, нет ли остановок любого другого маршрута в заданном нами радиусе. Радиус взял 600м (в последней версии 400м) – предполагаемое расстояние, которое человек может пройти безболезненно пешком от одной остановки до другой в случае необходимости пересадки. Вероятно, это расстояние можно сократить, скажем, до 200м, так как расстояние от одной остановки до другой на перекрестке не превышает эту дистанцию.

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

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

Качество видео ужас, но как сделать получше я так и не обнаружил.

Усредненное время, затрачиваемое на выполнение шагов:

gpt — 0.009с, найти ближайшие остановки к точке клика
grt — 0.001с, найти кратчайший путь от маршрута к маршруту
apt — 0.0001с, добавляем остановки и точки поворота к нашему маршруту
all — 0.01c, суммарное время выполнения поиска пути
Читать полностью »

Дыхание Земли

Американский дизайнер, занимающийся визуализацией данных, Джон Нельсон (John Nelson) создал интересную анимацию «Дышащая Земля» («A Breathing Earth»), которая наглядно демонстрирует климатические изменения на нашей планете. За основу взяты данные NASA из проекта Visible Earth archive. Всего использовано по 12 изображений Земли (по одному на каждый месяц года), которые собраны в анимированные GIF-файлы.Читать полностью »

Build 2013 для разработчиков под Windows Phone и дополнительные новости

Продолжаем серию обзорных статей по материалам конференции Build, сегодня мы расскажем про новинки и полезные доклады про Windows Phone.

Ранее в серии:
* Материалы для дизайнеров и проектировщиков
* Материалы для XAML/C#-разработчиков и обновления в Windows 8.1

Общие новости по состоянию рынка Windows Phone с момента запуска WP8:

  • 52k+ новых приложений на WP8 SDK
  • 102k+ новых зарегистрированных разработчиков
  • В 2.5 раза в среднем выросла дневная выручка на приложение
  • 200M ежемесячных загрузок приложений
  • 160k+ приложений доступны в магазине, магазин открыт на 50 языках и 191 рынке.
  • Покупки Windows Phone: 42% переключается с «feature»-телефонов, 23% c телефонов на Android. Windows Phone растет в 6 раз быстрее, чем рынок смартфонов в целом.

Кстати, мы также обновили иконки для промо ваших приложений: Windows Phone Store Badge.
Читать полностью »

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

В последнее время наше государство, к счастью или не к счастью, принялась за интернет и его содержимое.
Многие, несомненно, скажут что нарушаются права, свободы и т.п. Конечно, думаю мало у кого возникнуть сомнения по поводу того, что то что придуманные законы сделаны мало понимающими людьми в деле интернетов, да и основная их цель это не защита нас от того, что там есть. Будучи ответственным человеком да подгоняемый и прокурорами в некоторых учреждениях, встаёт вопрос ограничения поступающей информации. К таким учреждениям, к примеру, относятся школы, детсады, университеты и т.п. им учреждения. Да и бизнесу то-же надо заботится об информационной безопасности.
И первый наш пункт на пути к локальному контент фильтру-это
Читать полностью »

Принципы организации портфолио дизайнера
Рисунок найден в сети (автор неизвестен) и доработан напильником...

Большинство портфолио демонстрируют работы, но отнюдь не продают дизайнера и его услуги. С точки зрения далекого от дизайна клиента – они все одинаковые, и при таких условиях выбор идет исключительно через собственную субъективную оценку «нравится / не нравится».

Можно ли как-то повлиять на мнение заказчика? – Да, можно, и даже более того – необходимо!

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

IP телефония: от медных проводов до цифровой обработки сигнала

Если в один прекрасный день вам придется на скорую руку разобраться, что есть VoIP (voice over IP) и что значат все эти дикие аббревиатуры, надеюсь, эта методичка поможет. Сразу замечу, что вопросы конфигурирования дополнительных видов обслуживания телефонии (такие как перевод вызова, голосовая почта, конференц-связь и т.п.) здесь не рассматриваются.

Итак, с чем мы будем разбираться под катом:

  1. Базовые понятия телефонии: типы аппаратов, схемы подключения
  2. Связка SIP/SDP/RTP-протоколов: как это работает
  3. Как передается информации о нажатых кнопках
  4. Как происходит передача голоса и факсов
  5. Цифровая обработка сигналов и обеспечение качества звука в IP-телефонии

Читать полностью »

Не успел фонд Лайф.Среда похоронить SmartMarket называемый первым крауд-инвестинговым проектом в России, как на его место приходят новые игроки. Крауд-инвестинг, по идее, много круче крауд-фандинга - прошлой "золотой лихорадки" стартаперской истории России: ведь если стартап, профинансированный толпой, взлетает, то крауд-инвесторы могут обогатиться. Чисто теоретически. 

Крауд-фандинг в России зверь уже знакомый - родилось и умерло два десятка сервисов на эту тему, а некоторые даже остались в живых - через start.planeta.ruЧитать полностью »

в 7:32, , рубрики: Без рубрики

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

Доброго времени суток, Вам, жители Хабра.
Случилось так, что я прошел курс дистанционного обучения по теме «Информационная Безопасность», по завершению которого необходимо было защитить выпускную работу. Темой для данной работы я выбрал «Безопасность Asterisk», касательно данной темы написано очень много статей и публикаций, но на мой взгляд они либо не полны, либо целиком не раскрывают данную тему, либо нет указаний на актуальность данного вопроса. Взял на себя смелость собрать «все» в один документ, что и вылилось в выпускную работу. Защитился успешно, диплом получен — решил поделится с сообществом данной работой.
Читать полностью »

Roses are red
Violets are blue
All of my base
Are belong to you

Локализация игр — крайне благодатная тема для IT-юмора, один из хрестоматийных примеров которого представлен в эпиграфе. Обычно это происходит, когда за дело берутся недобросовестные переводчики, неграмотные любители или пираты. А иногда и сами разработчики в целях экономии берут на себя несвойственные функции, в результате чего появляются мемы вроде вынесенного в заголовок.

У нас в Alconost Translations локализацию делают не программисты, а профессиональные переводчики, носители языка. Однако за 8 лет работы мы убедились, что качественный переводчик — это только одна из составляющих успешной локализации. Если продукт не подготовлен к локализации, работа переводчика усложняется, что может вести к недопониманию смысла, ошибкам, потере времени на дополнительные вопросы, перепроверку и внесение исправлений в тексты.

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

Переведено профессиональными программистами, или Трудности игровой локализации
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js