• Поработать в Швеции

      Несколько лет назад я внезапно получил звонок от рекрутера с предложением поработать в Швеции в “хорошо финансируемом стартапе” (забавно, что моё резюме он нашёл на Odesk, где у меня давно был профиль, но ни одного завершённого проекта). Надо вам сказать, что в этой стране мне уже приходилось работать ранее, правда, находясь в затяжной командировке, как работник российской компании, потому неплохое представление о жизни в Швеции у меня уже было. С тех пор я обзавёлся детьми, и потому многие реалии шведской жизни мне предстояло открывать для себя впервые.

      Читать дальше →
    • Как я писал предложение к стандарту С++

        Это будет история младшего разработчика из Яндекс.Паспорта о появлении предложения в стандарт С++, разработанного в соавторстве с Антоном antoshkka Полухиным. Как часто бывает в жизни, что-то новое началось с боли, а точнее — с желания её прекратить.


        Жила-была библиотека у меня на поддержке. Всё у неё было хорошо: собиралась под Linux, работала, не падала. Однажды пришли люди с просьбой (требованием) собрать её под Windows. Почему бы и нет? Но с первого раза не получилось. Корнем зла оказалась рукописная криптография, которая в какой-то момент умножала два 64-битных целых числа. Для сохранения результата такого умножения потребуется число на 128 бит, и в библиотеке использовался тип __int128. Он прекрасен: имеет естественный интерфейс, поддерживается несколькими компиляторами (gcc, clang), работает без аллокации памяти, но главное — он есть.

        Читать дальше →
      • Kaggle: Британские спутниковые снимки. Как мы взяли третье место


          Сразу оговорюсь, что данный текст — это не сухая выжимка основных идей с красивыми графиками и обилием технических терминов (такой текст называется научной статьей и я его обязательно напишу, но потом, когда нам заплатят призовые $20000, а то, не дай бог, начнутся разговоры про лицензию, авторские права и прочее.) (UPD: https://arxiv.org/abs/1706.06169). К моему сожалению, пока устаканиваются все детали, мы не можем поделиться кодом, который написали под эту задачу, так как хотим получить деньги. Как всё утрясётся — обязательно займемся этим вопросом. (UPD: https://github.com/ternaus/kaggle_dstl_submission)

          Так вот, данный текст — это скорее байки по мотивам, в которых, с одной стороны, всё — правда, а с другой, обилие лирических отступлений и прочей отсебятины не позволяет рассматривать его как что-то наукоемкое, а скорее просто как полезное и увлекательное чтиво, цель которого показать, как может происходить процесс работы над задачами в дисциплине соревновательного машинного обучения. Кроме того, в тексте достаточно много лексикона, который специфичен для Kaggle и что-то я буду по ходу объяснять, а что-то оставлю так, например, вопрос про гусей раскрыт не будет.
          Читать дальше →
        • НДС и фрилансеры, работающие с Upwork

          • Tutorial
          Статья изложенная ниже — рассматривает лишь один из аспектов касающихся уплаты налогов при работе с Upwork. В данный момент существует более полное руководство — Легальный вывод средств с Upwork в РФ.



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

          Прореагировав на шквал возмущений, на неопределенный срок Upwork вернулся к старому документообороту. Напряженное ожидание, когда же Upwork прекратит работу со старыми договорами закончилось неожиданно — 3 июля 2016 года были внесены изменения в Налоговый кодекс, вступившие в силу с 1 января 2017 года. Отныне закону до лампочки, какие договора используются — НДС теперь надо платить всем. Подробнее проблема описана в статье Налоговый cуслик — 2.

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

          image
          Читать дальше →
        • Еще про внедрение таймзон в долгоживущий проект

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

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


              Читать дальше →
              • +19
              • 6,9k
              • 5
            • Немного о приватности реальных Git-репозиториев

                logo

                Введение


                Здравствуйте, уважаемые читатели. Сегодня на повестке дня у нас небольшое тестирование —
                первых ≈100 тысяч по популярности сайтов в интернете (ранжирование на основе статистики посещаемости с Alexa Rank). Стоит отметить, что оное тестирование будет достаточно узконаправленным, а именно — проверим каждый сайт на предмет существования и открытости Git-репозитория без аутентификации прямо из веба по url-адресу искомого. Напомню, что такая брешь в безопасности зачастую позволяет прочитать актуальные исходные коды на сервере, получить чувствительную информацию (файлы конфигов, структуру системы и т.д.) и, в последствии, получить определенного рода права на сервере. Рай для различного рода негодяев, да и только :)
                Совершенно аналогичную проверку я делал для себя порядка 100 дней назад, и сегодня мы сделаем это ещё раз, посмотрим что изменилось и что с этим делать.
                Разумеется, использовать будем список сайтов, полученный в рамках первого тестирования.
                Для заинтересовавшихся милости прошу под кат.
                Читать дальше →
              • Особенности протокола в IO-играх

                  Допустим, вы хотите создать IO-игру. Что-то похожее на agar.io, slither.io и тысячи их.

                  Что такое IO -игры
                  Такое название закрепилось за браузерными, клиент-серверными многопользовательскими играми в реальном времени.

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

                  Родоначальником жанра является agar.io

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

                  Сейчас я так не думаю.
                  Расскажу почему
                • Самая простая в мире lock-free хеш-таблица

                  • Перевод
                  image

                  Безблокировочная хеш-таблица — это медаль о двух сторонах. В некоторых случаях они позволяют достигать такой производительности, которой не получить другими способами. С другой стороны, они довольно сложны.
                  Читать дальше →
                  • +28
                  • 16,3k
                  • 4
                • Переход от Google Analytics к Firebase

                  Статья о впечатлениях перехода с Google Analytics (GA) на Firebase в контексте аналитики для мобильных приложений, а именно игр.

                  Итак, последовательно по пунктам:

                  1. Мотив перехода

                  Google активно продвигает Firebase, как замену GA и в своих апдейтах для Android Studio Firebase становиться неотъемлемой частью среды. Если переходить на последнее SDK, то там по умолчанию есть Firebase (как и Play Services а также и последняя Admob с новейшими функциями нативной и ревардер рекламы), а GA как отдельного пакета уже нет.

                  Таким образом, обновить старый Андроид проект, например, на последнее рекламное SDK(Admob) от Google без отказа от GA уже не получится.

                  Вопрос изучения Firebase стал ребром.
                  Читать дальше →
                  • +19
                  • 9,1k
                  • 6