• Как создать тёмную тему и не навредить. Опыт команды Яндекс.Почты


      Меня зовут Владимир, я занимаюсь мобильным фронтендом в Яндекс.Почте. В нашем приложении уже была тёмная тема, но недожатая: мы умели перекрашивать интерфейс и простые письма. Но письма с форматированием оставались светлыми и контрастировали с тёмным интерфейсом, из-за чего глаза ночью могли уставать.


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

      Читать дальше →
    • Word2vec в картинках

      • Перевод


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

      Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

      Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
      Читать дальше →
    • Как согласовать полёт зонда в стратосферу (с чем мы столкнёмся на практике при запуске)

        12 апреля мы собираемся запустить стратосферный зонд с небольшим сервером, откуда на CDN внизу будет передаваться наша страница. Входящий канал — низкоорбитальные спутники связи, исходящий — радиопоток на частотах любительского диапазона (телеметрия и управление) и Wi-Fi (видео и данные).


        Проблема с запуском в том, что это неуправляемый летательный аппарат. В смысле, это просто шар с гелием, к которому прицеплено несколько килограммов железа. И это важно, потому что это железо может стукнуться о чей-нибудь самолёт или упасть на чью-нибудь территорию. Муниципалитетам, например, не очень нравится, когда на территорию его объектов такое падает. Заповедникам тоже. А Росатому уж вообще очень не нравится.

        На борту будет камера, то есть это получится аэрофотосъёмка. Разрешение на неё надо получать у Федеральной службы безопасности.

        Это пиковый полёт, то есть мы поднимаемся до рабочей высоты, быстро выполняем миссию и спускаемся на посадку. Зонд обычно уносит на 100-150 километров от точки старта по направлению ветра, дующего на высоте от земли до 30 километров. Выше 20 км как правило пропадает турбулентность, да и плотность воздуха там в 100 раз меньше (на съёмке видно характерную границу атмосферы), поэтому полёт там становится более плавным. Лететь мы можем хоть до Владивостока, но чем больше траектория тем сложнее получить официальное согласование полёта, что заставляет нас максимально сокращать полёт.
        Читать дальше →
      • Шутки и отсылки из «Симпсонов» на английском, которые нужно объяснять



          Сегодня поговорим о мультиках. А конкретно — о самом длинном мультсериале в истории человечества — «Симпсонах».

          Авторы сериала не стесняются затрагивать самые злободневные и спорные темы вроде религии, политкорректности, однополых браков, феминизма. Собственно, это одна из причин, почему «Симпсоны» настолько знамениты.

          Еще одна причина — это великолепный юмор и разнообразные отсылки. При переводе на другие языки часть из них теряет смысл, поэтому мы рассмотрим оригинальные шутки и отсылки, которые действительно стоят внимания. Поехали!
          Читать дальше →
        • Полезные и не очень государственные услуги

            Как похорошел интернет при… или какие полезные (и не очень) госуслуги можно получить онлайн.


            Наркоман ли я? Бабушкин суд у подъезда думает, что да (на самом деле нет — я всегда с ними здоровался, а теперь и справка есть!). Был ли я зеком? Сведений не имеется, гласит другая справка. Проходил ли я диспансеризацию? Однозначно да, хотя я этого и не помню, но это не повод не заплатить 1400 рублей за такую «услугу» государству в адрес медучреждения. Какой размер моего ИПК? Государство говорит, что он у меня большой и с возрастом будет становиться только больше и лучше, но мы-то знаем (ц).



            Американские хакеры решили повлиять на результаты выборов в России, но пока просто не могут зарегистрироваться на сайте Госуслуг.
            (с) интернет

            О статье


            Под катом я расскажу с нотариально незаверенными скриншотами про полезные и не очень государственные услуги, полученные мной (либо не полученные вовсе). Опишу как они упрощают жизнь, либо наоборот её усложняют. Пост будет больше ироничным, т.к. большинство услуг всё же бесполезны, либо работают не так как надо, а те что работают — используются нечасто.
            Читать дальше →
          • Как создать игру, если ты ни разу не художник


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

            И не надо…
            Читать дальше →
          • Анализ статистики группы ВКонтакте через API с помощью Python: часть 1

            • Tutorial

            image


            Хабр, привет!


            В этой статье мы разберем довольно интересную и, на мой взгляд, востребованную тему — проведение простого анализ статистики группы Вконтакте через API с помощью Python. Свою статью я разделю на две части — в первой части анализ группы Вконтакте через Python, во второй напишу бота для Telegram, который будет делать анализ сам, по вводным данным.


            Итак, давайте начнем.


            В самом начале нам необходимо определиться с группой, которую будем анализировать, и целями, которые сразу определим. Я выбрал одну из популярных групп с большой, накопленной статистикой — vk.com/evil_incorparate.


            Цели поставим следующие:


            • Понять масштабы выборки (сколько записей на стене, сколько лайков максимально и минимально собирал пост в группе, среднее значение лайков и разделить эти все данные по годам);
            • Определить долю комментариев, репостов и лайков в общем количестве всех записей;
            • Найти соотношение количества записей на стене и количества лайков;
            • Определить зависимость времени и дня недели с количеством записей в группе;
            • Подвести итоги и сделать выводы по всем данным.

            Теперь мы поняли свои цели и приступаем собственно к анализу данных. После того, как мы выберем нужную нам дату из API (авторизируемся через oauth.vk.com, выбираем метод, как итог — прикрепляю свой файл с кодом), подождем когда загрузятся все данные и мы прочитаем содержимое файла.

            Читать дальше →
          • Чего мне никогда не говорили о CSS

            • Перевод

            Фото Джантин Дурнбос на Unsplash

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

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

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

            • Перевод


            Вот палитра нашего сервиса Envoy. Как и многие цветовые схемы в вебе, она включает фирменный цвет (красный), информационный цвет (синий), цвет успешной операции (зелёный), цвет предупреждений (жёлтый) и разные оттенки серого.

            Хотя эти цвета кажутся прекрасной палитрой, со временем мы поняли, что они недостаточно гибки для всех потребностей нашего пользовательского интерфейса. В отзывах постоянно всплывал один и тот же комментарий: «Текст недостаточного контрастный».
            Читать дальше →
            • +31
            • 9,3k
            • 9
          • Хабрарейтинг: построение облака русскоязычных слов на примере заголовков Хабра

              Привет, Хабр.

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

              Разберемся, как строить такую картинку:



              Также посмотрим облако статей Хабра за все годы.

              Кому интересно, что получилось, прошу под кат.
              Читать дальше →
              • +18
              • 1,8k
              • 4
            • Гадание на нейросетях: отметился ли в комментариях к посту сам автор



              Поделюсь рассказом о небольшом проекте: как найти в комментариях ответы автора, заведомо не зная кто автор поста.

              Свой проект я начинал с минимальными знаниями по машинному обучению и думаю для специалистов тут не будет ничего нового. Этот материал в некотором смысле компиляция разных статей, в нем расскажу, как подходил к задаче, в коде можно найти полезные мелочи и приемы с обработкой естественного языка.
              Читать дальше →
              • +34
              • 5,5k
              • 2
            • Web Security Testing Starter Kit

                Всем привет!

                Меня зовут Андрей. Уже 10 лет я занимаюсь поиском уязвимостей в различных веб-сервисах. и готов поделиться своими знаниями с вами. В мае прошлого года я выступал с докладом про это на конференции Heisenbug, а теперь готов поделиться своими знаниями еще и здесь, на просторах Хабра. Итак, начнем.

                Однажды я нашел уязвимость на серверах небезызвестной компании Facebook. Ребята забыли обновить ImageMagick (библиотеку по обработке изображений) и поплатились за это:) Этим примером я хотел показать, что все мы люди, и все можем допускать ошибки, неважно, в каких компаниях и на каких должностях мы работаем. Проблема только в том, что эти ошибки могут приводить к разного рода рискам.
                Чем сложнее у вас приложение/сайт/инструмент, тем больше вероятность того, что что-то может пойти не так.
                Проверять на уязвимости нужно. Глупо не делать этого совсем.
                Читать дальше →
                • +24
                • 13k
                • 8
              • Роскомнадзор и Телеграм боты через прокси

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

                Читать дальше →
              • Как рекомендовать музыку, которую почти никто не слушал. Доклад Яндекса

                  Почти у всех рекомендательных систем есть трудности с новым или редким контентом — поскольку с ним взаимодействовала лишь незначительная часть пользователей. В своём докладе на встрече «Яндекс изнутри» Даниил Бурлаков поделился набором трюков, которые используются в рекомендациях Музыки, и подробно разобрал популярную модель Singular Value Decomposition (SVD).


                  Плюс у нас есть такие исполнители, которые называются композиторами и обычно проставляются правообладателями просто веером. Только у одного Моцарта было «записано» более миллиона композиций.

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

                  Читать дальше →
                • 10 навыков и знаний необходимых начинающему iOS разработчику

                    image

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

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

                    В этой заметке я поделюсь информацией про то, какие навыки и знания я считаю важными для начинающего iOS разработчика, попробую объяснить зачем они нужны и дам ссылки на материалы для их изучения. 
                    Читать дальше →
                  • Получение разрешения на полет дрона (БВС, БПЛА) в Российской Федерации в 2019 году

                    Получение разрешения на полет дрона (БВС, БПЛА) в Российской Федерации.
                    На примере Калининградской области



                    image
                    Читать дальше →
                  • Беспроводной программируемый по Wi-Fi комнатный термостат с монитором качества воздуха и другими полезными функциями

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


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


                    Что в результате получилось – читайте дальше. Надеюсь, кроме меня проект будет интересен другим.

                    Читать дальше →
                  • Карта ДТП

                    image

                    Расскажу вам о проекте “Карта ДТП” – интерактивной карте аварий в России. Карта упрощает анализ ДТП и помогает найти реальные причины происшествий. Как пришла идея, где брали данные и зачем открыли исходный код.

                    За 2018 год в ДТП на дорогах России погибли 19088 человек


                    Читать дальше →
                  • Регистрируем сделку с недвижимостью онлайн

                    • Tutorial
                    Здравствуй, читатель!

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

                    3,5 года прошло с момента анонса возможности государственной регистрации прав онлайн, а до сих пор в Рунете нет ни одной хоть сколь-либо подробной инструкции к этому довольно неочевидному процессу.
                    Читать дальше →
                  • Заметки фитохимика. Картофель («бульба»). Часть первая, или Трудный путь к нашему столу

                    • Tutorial
                    Если бы Адам соблазнился не яблоком, а картошкой, Бог бы понял и простил.
                    Рефат Шакир-Алиев

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


                    Читать дальше →