{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Я что-то сделал",
    "_rss_description": "Я — делаю, вы — смотрите",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/repushko.com\/tags\/projects\/",
    "feed_url": "https:\/\/repushko.com\/tags\/projects\/json\/",
    "icon": "https:\/\/repushko.com\/user\/userpic@2x.jpg?1608852798",
    "author": {
        "name": "Антон Репушко",
        "url": "https:\/\/repushko.com\/",
        "avatar": "https:\/\/repushko.com\/user\/userpic@2x.jpg?1608852798"
    },
    "items": [
        {
            "id": "57",
            "url": "https:\/\/repushko.com\/all\/newprojectname-dev\/",
            "title": "newprojectname.dev",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/readme_image.jpeg\" width=\"1280\" height=\"729\" alt=\"\" \/>\n<\/div>\n<p><a href=\"newprojectname.dev\"><a href=\"https:\/\/newprojectname.dev\">https:\/\/newprojectname.dev<\/a><\/a><\/p>\n<p>Есть забавная традиция называть проекты\/библиотеки именами различных мифических существ и божеств. И у меня давно лежала идея хелпера по подбору таких названий, но реализовал её только сейчас.<\/p>\n<p>Я напарсил <a href=\"https:\/\/github.com\/repushko\/mythology_names_dataset\">самый большой список названий божеств<\/a> из 43 пантеонов, что дало 4096 уникальных имён (и 9000 если считать все алиасы). Ну а чтобы избежать коллизий, проект на лету ищет эти имена в названиях репозиториев на Гитхабе и показывает топ-результаты.<\/p>\n<p>Из интересной инженерии: проект на <a href=\"https:\/\/svelte.dev\/\">Svelte<\/a>, имеются <a href=\"https:\/\/github.com\/repushko\/newprojectname.dev\">исходники<\/a>. Внутри есть база на 1Мб сырого json’a, которая затаскивается в общий бандл приложения и ужимается до 150кб. И из-за этого хака всё успешно хостится как статика на Digital Ocean’e за 0.00$ в месяц. Дизайн тоже корявенько делал я. Запросы к Гитхабу — клиентские, лимиты запросов — тоже на клиенте. Легчайшая поддержка.<\/p>\n",
            "date_published": "2021-01-08T23:47:43+03:00",
            "date_modified": "2021-01-08T23:48:13+03:00",
            "image": "https:\/\/repushko.com\/pictures\/readme_image.jpeg",
            "_date_published_rfc2822": "Fri, 08 Jan 2021 23:47:43 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "57",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/readme_image.jpeg"
                ]
            }
        },
        {
            "id": "46",
            "url": "https:\/\/repushko.com\/all\/street-types-tula\/",
            "title": "Типы улиц Тулы",
            "content_html": "<p>Раз уж пошла такая мода (<a href=\"https:\/\/erdavis.com\/2019\/09\/20\/the-beautiful-hidden-logic-of-cities-worldwide\/\">оригинальная идея Эрина Дэвиса<\/a>, <a href=\"https:\/\/t.me\/pathetic_low_freq\/319\">Москва<\/a>, <a href=\"https:\/\/vk.com\/astr.city.data?w=wall-51262629_141\">Астрахань<\/a>), то и я нарисовал карту типов улиц Тулы.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/map.png\" width=\"2560\" height=\"2560\" alt=\"\" \/>\n<\/div>\n<p>Интересно выглядят плотные участки, состоящие только из проездов. Вроде как согласно СНиП (Строительные нормы и правила), к проездам меньше требований по ширине полос, допустимым углам поворота, наибольшему допустимому уклону, ширине пешеходной части.<\/p>\n<p>А ещё в Туле есть особенный тип: «обвод». Он всего один (<a href=\"https:\/\/yandex.ru\/maps\/15\/tula\/search\/%D0%92%D0%BE%D1%81%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9%20%D0%BE%D0%B1%D0%B2%D0%BE%D0%B4\/?ll=37.662604%2C54.185500&z=14.64\">Восточной обвод<\/a>), но всё таки существует. И целых два проспекта.<\/p>\n",
            "date_published": "2020-06-07T23:54:35+03:00",
            "date_modified": "2020-06-08T17:40:20+03:00",
            "image": "https:\/\/repushko.com\/pictures\/map.png",
            "_date_published_rfc2822": "Sun, 07 Jun 2020 23:54:35 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "46",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/map.png"
                ]
            }
        },
        {
            "id": "44",
            "url": "https:\/\/repushko.com\/all\/dataset-struktury-seti-lightning\/",
            "title": "Датасет структуры сети Lightning",
            "content_html": "<p>Ковыряю в свободное время интересную тему и задачу, которую курирует <a href=\"https:\/\/cs.hse.ru\/en\/lambda\/\">LAMBDA<\/a>.<\/p>\n<h2>Вводная<\/h2>\n<p>Есть сеть <a href=\"https:\/\/lightning.network\/\">Лайтнинг<\/a>, которая является надстройкой над майннетом Биткоина. Придумывалась для более мелких транзакций, которые не позволял делать Биткоин. Например, тебе нужно заплатить за кофе или совершить какую-то маленькую операцию.<\/p>\n<p>Основная терминология:<\/p>\n<ul>\n<li>нода — узел сети. Получатель денег в общем,<\/li>\n<li>канал — ребро сети. Общий кошелёк в майннете Биткоина между двумя нодами.<\/li>\n<\/ul>\n<p>В Лайтнинге интересный механизм поиска пути транзакции. Eсли тебе надо перевести деньги из <i>А<\/i> в <i>С<\/i>, то не обязательно открывать новый общий кошелёк в майннете Биткоина.<\/p>\n<p>Предположим у тебя уже есть канал <i>А<->B<\/i> и есть канал <i>B<->C<\/i>. В таком случае ты можешь сделать перевод <i>A->B->C<\/i>, где <i>B<\/i> за проход транзакции через себя возьмёт какую-то комиссию. А можно перевести и предположим по пути <i>A>D->B->C<\/i>, если такой существует.<\/p>\n<p>Но не всё так просто. Помимо комиссии, на транзакцию накладываются дополнительные условия. У канала есть «ёмкость»: сколько можно переслать денег между двумя нодами без создания нового общего кошелька в майннете. И «ёмкость» <i>А->B<\/i> и <i>B->A<\/i> не одно и то же.<\/p>\n<p>Подробнее и больше можно почитать <a href=\"https:\/\/lightning.network\/\"> в документации<\/a>.<\/p>\n<h2>Цель<\/h2>\n<p>Основная идея ресёча — заменить глупый перебор результатов DFS для проведения транзакции на что-то более умное. Кажется, что это можно сделать, имея статистику «прошедших» транзакций и варианты альтернативных путей. Получиться должно что-то вроде статистического роутинга на основе прошлых транзакций.<br \/>\nДля этого нужно собирать датасет таких транзакций и их альтернатив, но это упирается в некоторые технические сложности и проблемы. Я собственно сейчас пытаюсь их решить, проверяя вообще работоспособность идеи сбора таких данных. Если получится, то будет очень классное и необычное решение.<\/p>\n<h2>Датасет<\/h2>\n<p>До этого этапа хотелось посмотреть (и посмотрели) просто на динамику сети, как она меняется и насколько стабильна. Написал простенький парсер и в итоге получился <a href=\"https:\/\/www.kaggle.com\/grisme\/hourly-snapshots-of-lightning-network\">датасет на 10 Gb<\/a> «слепков» сети: рёбра графа и всякая метаинфа нод (ip-адрес, алиас в сети и гео-координаты).<\/p>\n<p>Парсилось каждый час с 10.12.2019 до 04.03.2020 (84 дня), всего 2022 записи. Каждый результат в отдельном файле со своим временем.<\/p>\n<p>На этом датасете можно построить интересные визуализации динамики графа и прочие клёвые штуки. Почему бы собственно им не поделиться, да?<\/p>\n",
            "date_published": "2020-05-22T02:02:05+03:00",
            "date_modified": "2020-05-22T17:08:05+03:00",
            "_date_published_rfc2822": "Fri, 22 May 2020 02:02:05 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "44",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "41",
            "url": "https:\/\/repushko.com\/all\/srednenko-poc\/",
            "title": "«Средненько». Проверка гипотезы",
            "content_html": "<h2>Мотивация<\/h2>\n<p>Я 3-4 года назад услышал про исследование <a href=\"https:\/\/strelka-kb.com\/\">КБ «Стрелка»<\/a>, в котором они скрапили фото из социальных сетей (Инстаграм и ВК) и рисовали хитмапы на картах по ним. Оказывается, это называется <a href=\"https:\/\/strelkamag.com\/ru\/article\/est-takaya-professiya-cifrovoi-antropolog\">цифровой антропологией<\/a>.<\/p>\n<p>Идея кейса, который вдохновил меня, в том, что такое исследование помогло в каком-то там городе РФ выбрать лучшую точку для открытия общественного пространства. Гипотеза такая: если люди где-то делают фото, значит уже проводят там время, а значит там и так всё хорошо с социальной жизнью. В итоге администрации посоветовали открыть новую точку интереса на противоположном конце города от существующей.<\/p>\n<p>Загорелся идеей сделать нечто похожее, но в сферу каких-то постоянных событий идея оставалась идеей без реализации.<\/p>\n<p>Закрывая гештальт (как Инстаграм своё API для доступа к гео-информации о фотографиях в 2016-ом) достиг успеха.<\/p>\n<h2>Реализация<\/h2>\n<p>Т. к. API Инстаграма оказалось закрытым, решил воспользоваться <a href=\"https:\/\/www.flickr.com\/\">Flickr’ом<\/a>.<br \/>\nСуть идеи:<\/p>\n<ul>\n<li>берем 2019ый год,<\/li>\n<li>cкрапим фотографии с Flickr для конкретной локации (т.e. города),<\/li>\n<li>аккуратно накладываем на карту,<\/li>\n<li>видим места, где люди много фотографируют,<\/li>\n<li>делаем какие-то выводы.<\/li>\n<\/ul>\n<p><b>Например<\/b>: люди фотографируют -> там что-то интересное -> логично поселиться во время поездки.<\/p>\n<p><b>Другой например<\/b>: можно увидеть места, которые недостаточно освещены туристически (с точки зрения наличия фотографий) и можно выбрать наоборот район, где живут местные. На примере Берлина эта теория вроде как работает.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/berlin_flickr_project_2019.jpg\" width=\"1280\" height=\"684\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Фотографии в Берлине за 2019ый год<\/div>\n<\/div>\n<p>Найденные подводные камни:<\/p>\n<ul>\n<li>API Flickr’a частично не завелось из python-обертки, которую я нашёл,<\/li>\n<li>фотографий не так много (250к за год), как в Инстаграме. С геопозицией — еще меньше. За 2019ый год только 44к для Берлина,<\/li>\n<li>на карте прямыми линиями из фотографий заметны фотопрогулки, когда один человек шел и фотографировал всё, что видел. Так получается много фотографий одного места, хотя это всего лишь от одного человека. В планах написать кастомную функцию хитмапа, которая бы давала больший вес участкам, где фотографии от разных людей. Так получится сильно честнее.<\/li>\n<\/ul>\n<h2>«Средненько»<\/h2>\n<p>В процессе возникла идея — сопоставить кучу фотографий одной достопримечательности для получения её «усреднённого» вида. Итог получился сильно лучше, чем я ожидал.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/ansgar-scheffold-cyUf9E_mhFc-unsplash.jpg\" width=\"2560\" height=\"1701\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Оригинальные Бранденбургские ворота<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/average_brandenburg_gates.jpg\" width=\"1280\" height=\"774\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Усреднённые 55 фотографий Бранденбургских ворот<\/div>\n<\/div>\n<p>Когда-то вероятно продолжу и сделаю для других городов.<\/p>\n",
            "date_published": "2020-04-26T01:05:52+03:00",
            "date_modified": "2020-04-26T01:05:49+03:00",
            "image": "https:\/\/repushko.com\/pictures\/berlin_flickr_project_2019.jpg",
            "_date_published_rfc2822": "Sun, 26 Apr 2020 01:05:52 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "41",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/berlin_flickr_project_2019.jpg",
                    "https:\/\/repushko.com\/pictures\/ansgar-scheffold-cyUf9E_mhFc-unsplash.jpg",
                    "https:\/\/repushko.com\/pictures\/average_brandenburg_gates.jpg"
                ]
            }
        },
        {
            "id": "37",
            "url": "https:\/\/repushko.com\/all\/barkody-seriala-tales-from-the-loop\/",
            "title": "Баркоды сериала «Tales from the Loop»",
            "content_html": "<p>Сделал баркоды, как и с <a href=\"https:\/\/repushko.com\/all\/barkody-seriala-chernobyl\/\">сериалом «Чернобыль»<\/a>. Каждая полоса — средний цвет кадра в этот момент времени.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E1.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Loop»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E2.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Transpose»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E3.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Stasis»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E4.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Echo Sphere»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E5.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Control»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E6.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Parallel»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E7.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Enemies»<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/S1E8.jpg\" width=\"1700\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">«Home»<\/div>\n<\/div>\n",
            "date_published": "2020-04-21T15:24:26+03:00",
            "date_modified": "2020-04-21T18:15:37+03:00",
            "image": "https:\/\/repushko.com\/pictures\/S1E1.jpg",
            "_date_published_rfc2822": "Tue, 21 Apr 2020 15:24:26 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "37",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/S1E1.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E2.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E3.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E4.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E5.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E6.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E7.jpg",
                    "https:\/\/repushko.com\/pictures\/S1E8.jpg"
                ]
            }
        },
        {
            "id": "29",
            "url": "https:\/\/repushko.com\/all\/malenkiy-resech-v-epidemiologii\/",
            "title": "Маленькое исследование в эпидемиологии",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/picture1.jpg\" width=\"1280\" height=\"483\" alt=\"\" \/>\n<\/div>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/ods\/blog\/493200\/\">Написали на Хабре<\/a> вместе с заинтересовавшимися из ODS про модель распространения абстрактного вируса по РФ. Опирались на датасет перевозок за апрель 2019ого, которые дали <a href=\"https:\/\/tutu.ru\">tutu.ru<\/a>. Огромное спасибо Сергею (<a href=\"https:\/\/t.me\/red_spades\">Milfgard<\/a>) за это, без его инициативы ничего бы не было.<\/p>\n<p>Полезное действие — показать, что изоляция и ограничение перемещения действительно помогают снизить темпы распространения.<\/p>\n<p>В статье немножко технических подробностей, но лично мне захотелось теперь лучше разобраться в эпидемиологии и их моделях.<\/p>\n<p>Я тут отвечал за получение полезного и осмысливаемого результата за короткий срок, саму статью и красивые видосы, которые удобнее всего смотреть на скорости 0.25.<\/p>\n<p>На видео симуляция на полгода вперёд. Легенда карты:<\/p>\n<ul>\n<li>размер метки зависит от населения города. Больше населения — больше метка,<\/li>\n<li>цвет метки зависит от числа инфицированных (<span style=\"color:#19994d\">зеленый<\/span> — мало, <span style=\"color:#e12a21\">красный<\/span> — очень много),<\/li>\n<li>если в городе нет инфицированных — он не показывается на карте. Так легко увидеть первые случаи и путь распространения.<\/li>\n<\/ul>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/nhtFZo2e59k\" frameborder=\"0\" allowfullscreen><\/iframe><div class=\"e2-text-caption\">Полный пассажиропоток, нет никакой изоляции<\/div>\n<\/div>\n<div class=\"e2-text-video\">\n<iframe src=\"https:\/\/www.youtube.com\/embed\/SC7hrwh_nC0\" frameborder=\"0\" allowfullscreen><\/iframe><div class=\"e2-text-caption\">10% от пассажиропотока, есть небольшая социальная изоляция<\/div>\n<\/div>\n",
            "date_published": "2020-03-30T11:31:31+03:00",
            "date_modified": "2020-03-30T03:25:56+03:00",
            "image": "https:\/\/repushko.com\/pictures\/picture1.jpg",
            "_date_published_rfc2822": "Mon, 30 Mar 2020 11:31:31 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "29",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/picture1.jpg"
                ]
            }
        },
        {
            "id": "21",
            "url": "https:\/\/repushko.com\/all\/auto-concert-playlist\/",
            "title": "[Идея] Авто-плейлист Spotify\/AppleMusic из ближайших концертов в твоём городе",
            "content_html": "<p>Хочу следующий флоу:<\/p>\n<ul>\n<li>сервис парсит артистов и их концерты в <your-city-name> с заданного списка сайтов и формирует тебе плейлист,<\/li>\n<li>ты слушаешь плейлист и если тебе понравилась группа\/трек, то идёшь на веб-страницу, смотришь концерт этой группы и покупаешь билеты,<\/li>\n<li>когда концерт прошёл — трек удаляется из плейлиста.<\/li>\n<\/ul>\n<p>Выглядит как автоматический мониторинг ближайших концертов прямо в ушах.<\/p>\n<p>Возможность потыкать API Spotify\/AppleMusic\/GooglePlayMusic.<\/p>\n",
            "date_published": "2019-11-25T14:24:46+03:00",
            "date_modified": "2020-04-14T15:13:43+03:00",
            "_date_published_rfc2822": "Mon, 25 Nov 2019 14:24:46 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "21",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "20",
            "url": "https:\/\/repushko.com\/all\/junction-2019\/",
            "title": "Junction 2019 — русские, русские, русские, VK",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-41-05.png\" width=\"732\" height=\"173\" alt=\"\" \/>\n<\/div>\n<p>Был на выходных на Junction-2019 (топовый европейский хакатон в Хельсинки), а это заметка фактами по свежим следам.<\/p>\n<h2>Выжимка<\/h2>\n<p>Русские, русские, автобусы из Питера, иностранцы придумывают, как интегрировать VK с AliExpress 🤯, ещё русские, детская безопасность в интернете, клёвое название нашего проекта, купленные шрифты, Люси в восторге, треки не очень, старость.<\/p>\n<h2>Чуть более развёрнуто<\/h2>\n<p>Похоже Junction окончательно стал главной выездной площадкой для IT-шников в СНГ. Русскоговорящих было по ощущениям больше половины. Приглашения для визы генерил скриптик на сайте, это ли не победа над бюрократией?<\/p>\n<p>Вспомнил, что он же в 2016 был моим первым выездным IT-мероприятием и атмосфера была совсем другой: пиццабургеры, Yousician с укулеле, на которых можно было играть ночью, лазерный луч через всё пространство мероприятия. Тогда это чувствовалось как что-то близкое, организованное такими же как и ты. Сейчас — построенный бизнес, который (видимо успешно) штампует мероприятия для студентов и ищет спонсоров. Ну и призы подросли.<\/p>\n<p>Чувствовалась старость и лень: зачем не спать всю ночь, когда после сна ты сможешь что-то пофиксить за 20 минут? Зачем не спать, когда в понедельник на работу?<\/p>\n<h2>Победители<\/h2>\n<ol start=\"1\">\n<li>Приложение для авторизации детей, которые ещё не умеют читать и писать (а потреблять контент хочется) в соцсетях. Суть в том, что ты придумываешь историю с вымышленными персонажами, и вот эта твоя история и становится паролем.<\/li>\n<li>Симуляция потоков людей на мероприятии. Создали комнатку в игровом движке, наплодили агентов, хакнули A* алгоритм и ПОБЕЖАЛИ ВСЕ НА ВЫХОД ПОЖАРНАЯ ТРЕВОГА УПС, ТЫ СГОРЕЛ И НЕ ДОБЕЖАЛ. Демка выглядела классно.<\/li>\n<li>Оказывается, фины очень много тратят на гэмблинг. Ребята сделали рулетку на телефоне, где проигранные деньги отправляются тебе на банковский счёт и вернутся к тебе только через год.<\/li>\n<\/ol>\n<h2>sad but true<\/h2>\n<p>В итоге мы с Дашей набросали вдвоём маленькое демо приложения для личного контроля финансов, собрав в кучку все лучшие идеи, которые нашлись в других приложениях (типа burnout-char’a для отслеживания твоего ежедневного бюджета). Сервер я уже грохнул, так что есть только скрины. Возможно как-то допилим и сделаем интеграцию со своими банковскими аккаунтами. Оказывается в Европе это сильно проще, чем с российскими банками.<\/p>\n<p>Называется sad but true, потому что в миллениальном настоящем денег у тебя сильно меньше, чем приходит с ЗП на карту: это на квартирку, это на Netflix, а за Spotify кто заплатит, Пушкин? Вот и хочется, чтобы оно там само где-то считалось, списывалось, советовало как сэкономить, а ты повиновался бы бездушным if-else и средним по окнам в временных рядах.<\/p>\n<p>Фронтендик на Svelte оказался удобным. Мне как глупому `if err!= nil ` бэкендеру прям самое то.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"603\" data-ratio=\"0.64561027837259\">\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-31-28.png\" width=\"603\" height=\"934\" alt=\"\" \/>\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-31-41.png\" width=\"869\" height=\"938\" alt=\"\" \/>\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-31-55.png\" width=\"680\" height=\"923\" alt=\"\" \/>\n<\/div>\n<\/div>\n",
            "date_published": "2019-11-18T16:11:17+03:00",
            "date_modified": "2020-02-03T14:01:50+03:00",
            "image": "https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-41-05.png",
            "_date_published_rfc2822": "Mon, 18 Nov 2019 16:11:17 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "20",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/jquery\/jquery.js",
                    "system\/library\/fotorama\/fotorama.css",
                    "system\/library\/fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-41-05.png",
                    "https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-31-28.png",
                    "https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-31-41.png",
                    "https:\/\/repushko.com\/pictures\/Screenshot-from-2019-11-17-07-31-55.png"
                ]
            }
        },
        {
            "id": "17",
            "url": "https:\/\/repushko.com\/all\/schastlivy-konec-moyseverozapad-rf\/",
            "title": "Счастливый конец мойсеверозапад.рф",
            "content_html": "<p>Мы в <a href=\"https:\/\/corgilab.ru\">КоргиЛаб<\/a> успешно запустили <a href=\"https:\/\/repushko.com\/all\/moyseverozapad-rf\/\">мойсеверозапад.рф<\/a> 5 месяцев назад и сейчас готовы сообщить о результатах исследований и полученных данных.<\/p>\n<p>Основная цель запуска — помочь магистрантке архитектурного ВУЗа успешно написать и защитить диплом об открытом проектировании в формировании общественных пространств жилого района. Диплом успешно написано и сдан на отлично, время подводить результаты.<\/p>\n<p>Отфильтровав некорректные данные (например больше 5 отметок одного типа с одной анкеты), получили 263 предложения по категориям:<\/p>\n<ul>\n<li>65 «Досуг»,<\/li>\n<li>64 «Спорт»,<\/li>\n<li>44 «События»,<\/li>\n<li>43 «Дети»,<\/li>\n<li>47 собственных идей жителей.<\/li>\n<\/ul>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-2019-07-24-at-02.14.58.png\" width=\"1918\" height=\"1017\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Финальное состояние карты<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-2019-07-24-at-02.11.53.png\" width=\"661\" height=\"499\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Статистика посещений<\/div>\n<\/div>\n",
            "date_published": "2019-07-24T02:16:34+03:00",
            "date_modified": "2019-07-24T02:16:52+03:00",
            "image": "https:\/\/repushko.com\/pictures\/Screenshot-2019-07-24-at-02.14.58.png",
            "_date_published_rfc2822": "Wed, 24 Jul 2019 02:16:34 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "17",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/Screenshot-2019-07-24-at-02.14.58.png",
                    "https:\/\/repushko.com\/pictures\/Screenshot-2019-07-24-at-02.11.53.png"
                ]
            }
        },
        {
            "id": "15",
            "url": "https:\/\/repushko.com\/all\/barkody-seriala-chernobyl\/",
            "title": "Баркоды сериала «Чернобыль»",
            "content_html": "<p>Вспомнил про идею <a href=\"https:\/\/moviebarcode.tumblr.com\/\">moviebarcode<\/a> и сделал тоже самое для сериала «Чернобыль» от HBO.<br \/>\nДля каждого кадра серии посчитал средний цвет и выстроил по таймлайну. Сделал всё через OpenCV и Python.<br \/>\nПолучилась такая красота:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/chernobyl_1_resized.jpg\" width=\"1693\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">1:23:45<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/chernobyl_2_resized.jpg\" width=\"1867\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Пожалуйста, сохраняйте спокойствие<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/chernobyl_3_resized.jpg\" width=\"1776\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Откройся широко, о Земля!<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/chernobyl_4_resized.jpg\" width=\"1868\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Счастье всего человечества<\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/chernobyl_5_resized.jpg\" width=\"2057\" height=\"400\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Вечная память<\/div>\n<\/div>\n",
            "date_published": "2019-06-18T22:22:22+03:00",
            "date_modified": "2020-04-19T14:45:51+03:00",
            "image": "https:\/\/repushko.com\/pictures\/chernobyl_1_resized.jpg",
            "_date_published_rfc2822": "Tue, 18 Jun 2019 22:22:22 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "15",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/chernobyl_1_resized.jpg",
                    "https:\/\/repushko.com\/pictures\/chernobyl_2_resized.jpg",
                    "https:\/\/repushko.com\/pictures\/chernobyl_3_resized.jpg",
                    "https:\/\/repushko.com\/pictures\/chernobyl_4_resized.jpg",
                    "https:\/\/repushko.com\/pictures\/chernobyl_5_resized.jpg"
                ]
            }
        },
        {
            "id": "9",
            "url": "https:\/\/repushko.com\/all\/pretty-json-bot\/",
            "title": "pretty_json_bot: вжух и красиво",
            "content_html": "<p>Всё чаще нужно посмотреть на какое-то поле в json-ответе, а искать в строке глазами лень. Поэтому написал бота в Телеграм, который выравнивает отправленный ему json. Работает через команду \/pretty, можно добавлять  в группы.<\/p>\n<p>Поля сортирует по алфавиту, понимает только двойные кавычки.<\/p>\n<p>Попробовать: <a href=\"https:\/\/t.me\/pretty_json_bot\">@pretty_json_bot<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/pretty_json_bot.png\" width=\"640\" height=\"625\" alt=\"\" \/>\n<\/div>\n",
            "date_published": "2019-03-02T17:14:43+03:00",
            "date_modified": "2019-03-09T12:26:29+03:00",
            "image": "https:\/\/repushko.com\/pictures\/pretty_json_bot.png",
            "_date_published_rfc2822": "Sat, 02 Mar 2019 17:14:43 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "9",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/pretty_json_bot.png"
                ]
            }
        },
        {
            "id": "8",
            "url": "https:\/\/repushko.com\/all\/moyseverozapad-rf\/",
            "title": "мойсеверозапад.рф",
            "content_html": "<p>UPD: проект <a href=\"https:\/\/repushko.com\/all\/schastlivy-konec-moyseverozapad-rf\/\">успешно закончен<\/a>.<\/p>\n<p>Мы в <a href=\"https:\/\/corgilab.ru\">КоргиЛаб<\/a> закончили наш первый проект: <a href=\"http:\/\/мойсеверозапад.рф\">мойсеверозапад.рф<\/a>.<\/p>\n<p>Это интерактивный портал по сбору идей для формирования комфортных общественных пространств Северо-Западного района города Курска. Пользователь могут кликнуть на глобальной карте в какую-то точку и отметить, что хотел бы там видеть (детская площадка, сцена, спортивная площадка).<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/repushko.com\/pictures\/Screenshot-2019-02-26-at-14.06.06.png\" width=\"2560\" height=\"1357\" alt=\"\" \/>\n<\/div>\n<p>Этот проект — часть магистерского диплома студентки архитектурного вуза:<\/p>\n<blockquote>\n<p>Моё диссертационное исследование посвящено формированию общественных пространств в жилых районах с использованием методов открытого проектирования.<br \/>\nОткрытость подразумевает возможность рядовых жителей принимать участие в формировании среды, которая их непосредственно окружает.<br \/>\nТакже открытое проектирование можно рассматривать с точки зрения «open architecture», понятия, используемого в программировании, когда созданный продукт, будь то сайт или приложение, постоянно улучшается за счет взаимодействия с пользователями, их мнениями, и другими специалистами.<br \/>\nИнформационно-компьютерные технологии позволяют сегодня не только провести различные виды архитектурного анализа. Они позволяют дистанционно взаимодействовать с теми людьми, среду для которых мы хотим создать.<br \/>\nТак и зародилась идея создания платформы мойсеверозапад.рф, где жители и те люди, которые часто посещают этот район, могут выбрать из предложенного перечня объектов тот, который они хотят видеть в своем районе, или же предложить что-то свое.<\/p>\n<\/blockquote>\n<p>Весь сервис — React-приложение и <a href=\"https:\/\/firebase.google.com\">Firebase<\/a> в качестве БД.<\/p>\n",
            "date_published": "2019-02-26T14:09:08+03:00",
            "date_modified": "2020-04-01T22:54:48+03:00",
            "image": "https:\/\/repushko.com\/pictures\/Screenshot-2019-02-26-at-14.06.06.png",
            "_date_published_rfc2822": "Tue, 26 Feb 2019 14:09:08 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "8",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/repushko.com\/pictures\/Screenshot-2019-02-26-at-14.06.06.png"
                ]
            }
        },
        {
            "id": "4",
            "url": "https:\/\/repushko.com\/all\/dtp-stat-helpers\/",
            "title": "Скрипты для очистки данных со stat.gibdd.ru",
            "content_html": "<p>Написал <a href=\"https:\/\/github.com\/repushko\/dtp_stat_helpers\">пару скриптов<\/a> для исправления координат ДТП.<\/p>\n<p>Процесс состоит из двух шагов:<\/p>\n<ul>\n<li>привязка координат ДТП к адресу (он обычно заполняется правильно),<\/li>\n<li>проекция координат адреса на ближайшую улицу. Скрипт может не работать в России без VPN.<\/li>\n<\/ul>\n<p>Не вынес отдельно конфигурацию, поэтому лучше всё запускать по шагам у себя в тетрадках и настраивать под себя.<\/p>\n",
            "date_published": "2019-02-04T15:16:09+03:00",
            "date_modified": "2019-02-14T01:07:07+03:00",
            "_date_published_rfc2822": "Mon, 04 Feb 2019 15:16:09 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "4",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3565,
    "_e2_ua_string": "E2 (v3565; Aegea)"
}