feeneek

Feeneek — простая открытая библиотека для совместного картирования

Изначально Feeneek разрабатывалась как простой инструмент для создания гео-вики приложений («Википедия» про объекты с географической привязкой). В текущей версии эта концепция отринута в пользу табличного представления информации и акценте на удобстве ввода и администрирования данных.

Библиотека написана на JavaScript (нативная версия) с небольшой серверной частью на PHP. Для отображения тайлов использована библиотека leaflet.js, для вывода графиков — Chart.js.

Для установки достаточно скопировать архив и распаковать его на своем сервере. По всем вопросам и замечаниям рекомендую писать в телеграм (@openstreetmapper), почту (schwejk-rpnt@rambler.ru) или в комментарии к этому посту.

Обзор библиотеки

Старые версии библиотеки

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

Дата сборкиСсылка на скачиваниеДемо-версия
22_02_2016 (Butko Sonne)СкачатьДемо-версия
03_02_2016 («McClane Lichtgestalt»)СкачатьДемо-версия
03_06_2015 («McClane Lichtgestalt»)СкачатьДемо-версия

Берцы

Берцы

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

Порой хватает мимолетного взгляда, чтобы сказать человеку твердое «нет» и не объяснять причин отказа. А как объяснить? Потому что шнурки плохо завязаны?

Если обоснование решений звучит глупо, это не значит, что решения ошибочны, а человек, который их принял — идиот.

Реформирование высшей школы

Реформирование высшей школы

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

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

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

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

Даже если я неправ, результатом моих реформ станет уменьшение количества спама. А это уже неплохо.

Об огурцах и программировании

Об огурцах и программировании

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

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

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

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

Единственный нормальный язык — Brainfuck. Остальные — полная дрянь. C++ почти идеален, но внешний вид текста «воид фасткалл» меня бесит. Питон хорош, но не поставить фигурную скобку столь же мучительно, как закрыть дверной замок, а после этого не подергать за ручку двери. Ходишь потом весь день и не понимаешь: закрыл ты дверь или нет. PHP прекрасен своей доступностью, но я скорее соглашусь огурцы в задницу пихать, чем использовать в программе знак доллара и конкатенировать через точку. Я смирился бы с JS, но он в одних браузерах работает так, в других эдак. Если бы не требовалась работа с объектной моделью, то все было бы норм, но тогда и JS был бы не нужен. А самое главное — джаваскрипт безальтернативен, а я ненавижу всякое проявление тоталитаризма которое не возглавляю.

Пишите документацию и юнит-тесты. Кем бы вы ни были, открыв исходник через месяц вы удивитесь. Код — полная хрень и как оно работает никому неизвестно.

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

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

Единственная достойная методология разработки — это KISS. Все остальное лишь способ циркуляции идиотизма. Способность укладываться в оговоренный срок и стоимость — первый признак деградации. А еще, лучше быть проституткой, чем сотрудником на аутстаффе.

Ненавижу чужой код в своих проектах. Будь моя воля — я бы даже лефлет выбросил. Встраивать чужие библиотеки — это как покупать машину ради прикуривателя. Если программа не умещается на дискету — значит это не программа, а фигня. Все джиквери, реакты, ангуляры, будстрапы и прочие либы в гробу видал. Велосипед едет? Едет. Вот вам if, а вот вам for и не выпендривайтесь.

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

Территория

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

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

Особенно бесит как легко геологи уходят в одиночные многодневные маршруты. Даже если допустить, что образцы отбирать не надо, все-равно выглядит наивно. У меня к концу дня одни пробы на атомно-абсорбционный анализ (тоже золото искал) весили несколько килограмм. А еще надо пробы на шлиф добавить, еду и походный инвентарь. Груз получается слишком тяжелый.

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

Вся полевая специфика показана в фильме удручающе плохо. Такое чувство, будто технологический прогресс дает индульгенцию на съемку всякой дряни. Для сравнения вспомните кадр из «Злого духа Ямбуя» где Федосеев ртом дотягивается до чернички.

Фильм «Территория» хорош только в одном: макарошки под него чудесно зашли.

Валежник

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

Комментарий о том, как феодальное государство запрещает холопам валежник собирать: https://youtu.be/7jDAYmQC1oU

Картографическая шутка от Шелдона Купера

Картографическая шутка от Шелдона Купера

В одной из серий «Теории большого взрыва» на Шелдоне футболка с принтом карты в проекции Миллера. Сцена настолько возмутительна, что сразу ощущаешь подвох. И не зря.

Для принта какую проекцию не возьми — все плохи. Либо Чукотка с Аляской в подмышки залезают, либо выглядит так, словно рисовали проекцией Штаба-Вернера. Невольно размышляешь о методе проецирования сферы на одежду, а лучше в обобщенном случае: на произвольную ограниченную плоскость.

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

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

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

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

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

Как в Европе

Как в Европе

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

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

Наверняка не одну сотню раз вы слышали фразу «Жить как в Европе». В ответ я раньше советовал поехать туда и лично убедиться, в глупости сказанного. Одно дело — негроидный Париж, другое — арабские кварталы Кельна, третье — пустота ночного Бергамо, четвертое — меланхолия вечернего Йоэнсуу. А еще есть венгерский соцреализм, иберийская Россия и Афины, которые больше напоминают Индию. Европа вся разная.

Произнося «как в Европе», обычно представляют Швейцарию, но ведь можно и Косово. Ехать самому для доказательства крайне полезно, но уж больно долго и дорого. Пока не снимут карантин, можно заняться картированием. Из Сербии в Австрию, затем погулять по Албании и заскочить в чешскую деревушку. В бывшей Югославии прекрасно почти как в сибирской тайге: всегда найдется, что замапить. Но и в окрестностях Германии можно наскрести по сусекам недостающие домики.

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

Невнятная рассылка

Всем, кто поддержал выпуск книги «Невнятное время«, отправил на почту письмо с прикрепленным файлом. Большущее вам спасибо!

Советую не давать ее детям, верующим, проповедникам здорового образа жизни, блюстителям нравственности, феминисткам, меньшинствам разного толка и людям с нестабильной психикой. Хотя все-равно кто-нибудь, да оскорбится. Ну и ладно.

Если письмо не пришло или возникли иные вопросы, смело пишите мне в личку телеграмма: @openstreetmapper или на почту: schwejk-rpnt@rambler.ru. И да прибудет с вами в новом времени неиссякаемый позитив.

Травяной чай

Травяной чай

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

Заварил смесь и стал готовить себя к «нормализации нервной системы» и «улучшению самочувствия». Дождался насыщения. Перелил из заварной кружки в свою обычную.

В результате весь стол в чае, пол в чае, руки мокрые. Но при этом, все-равно полный рот каких-то веток. Пока вытирал со стола, все остыло. В завершении еще и увидел на пачке упоминание академии народной медицины. С таким же успехом можно спички заваривать.

Теперь я в гневе и точно нужно восстанавливаться. Хорошо еще, что с праздников треть бутылки джина осталась.