• Компьютеры, какими я их любил

    • Перевод
    image

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

    Я попробовал Syncthing, бесплатную альтернативу с открытым исходным кодом. И знаете, что? Это стало освобождением. Разумность, простота, надежность, различные функции. Это приносит радость от использования и заставляет поверить в то, что распад цивилизации можно немного замедлить.

    Синхронизация — это все, что я любил в компьютерах.

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

    • Tutorial

    Продолжаем строить домашний медиа-комбайн на Kubuntu с KODI на борту. Сегодня научим его запускать ретро-игры и позволим себе немного поностальгировать по Darkwing Duck на SEGA и Grand Theft Auto или Gran Turismo на Playstation 1.

    О том, как разворачивался сам медиацентр, как его настраивали и какими дополнительными возможностями он оброс читайте в предыдущих публикациях - часть 1, часть 2.

    Читать дальше →
  • 8 бесплатных инструментов для создания интерактивных визуализаций данных без необходимости написания кода

    • Перевод
    Когда тот, кто работает в сфере Data Science, собирается показать результаты своей деятельности другим людям, оказывается, что таблиц и отчётов, полных текстов, недостаточно для того чтобы представить всё наглядно и понятно. Именно в таких ситуациях возникает нужда в визуализации данных, в такой их обработке, которая позволит всем желающим в них разобраться и ухватить суть тех сложных процессов, которые они описывают.

    В этом материале я расскажу о лучших бесплатных инструментах, позволяющих без особых сложностей создавать впечатляющие визуальные представления данных. При этом тут я не буду говорить о сложных системах вроде Power BI и Google Studio. Я выбрал те 8 инструментов, о которых пойдёт речь, из-за того, что ими легко пользоваться, из-за их приятного внешнего вида, из-за того, что работать с ними можно, не написав ни единой строчки программного кода и из-за того, что они бесплатны. Кроме того, они позволяют создавать интерактивные визуализации. А это значит, что графики, представляющие некие данные, могут содержать в себе больше сведений об этих данных, чем обычные изображения. Да и работать с такими графиками интереснее.



    Так как инструменты для визуализации данных то появляются, то исчезают, я включил в этот материал только те из них, которые, вероятнее всего, ещё долго будут пребывать в добром здравии. А это значит, что вполне разумным шагом будет вложение некоторого времени в их изучение. Как уже было сказано, пользоваться этими инструментам можно без написания кода. Но если вас интересует визуализация данных именно через код — взгляните на этот материал.
    Читать дальше →
    • +35
    • 19,2k
    • 8
  • 6 способов значительно ускорить pandas с помощью пары строк кода. Часть 2

    • Перевод
    • Tutorial
    В предыдущей статье мы с вами рассмотрели несколько несложных способов ускорить Pandas через jit-компиляцию и использование нескольких ядер с помощью таких инструментов как Numba и Pandarallel. В этот раз мы поговорим о более мощных инструментах, с помощью которых можно не только ускорить pandas, но и кластеризовать его, таким образом позволив обрабатывать большие данные.



    Часть 1

    • Numba
    • Multiprocessing
    • Pandarallel

    Часть 2

    • Swifter
    • Modin
    • Dask
    Читать дальше →
    • +14
    • 3,9k
    • 4
  • Формат таблиц в pandas

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


    Например, в excel для этого используется условное форматирование и спарклайны. А в этой статье мы посмотрим как визуализировать данные с помощью Python и библиотеки pandas: будем использовать свойства DataFrame.style и Options and settings.

    Читать дальше →
  • PyTrace — Time Travel Debugger для Python

      Мне часто приходится сталкиваться с отладкой.

      Иногда я ставлю точку останова, но понимаю что уже слишком поздно, и надо начинать все сначала.

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

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

      Возможно ли лучше понимать запутанный код? А что, если мы сможем понимать такой код, быстрее чем тот, кто его написал?

      Встречайте,

      PyTrace — это трейсер с возможностями Time-Travel Debugging-а

      image
      Читать дальше →
    • Корпоративный жаргон в США: почему «Good job» в американских компаниях иногда означает «Все фигня, переделывай»

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

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


        Читать дальше →
      • Основы deep learning на примере дебага автоэнкодера, часть №1

        Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:


        Their main claim to fame comes from being featured in many introductory machine learning classes available online. As a result, a lot of newcomers to the field absolutely love autoencoders and can't get enough of them. This is the reason why this tutorial exists!


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


        На просторах интернетов есть очень много туториалов по автоэнкодерам, нафига писать еще один? Ну, если честно, тому было несколько причин:


        • Сложилось ощущение, что на самом деле туториалов примерно 3 или 4, все остальные их переписывали своими словами;
        • Практически все — на многострадальном MNIST'е с картинками 28х28;
        • На мой скромный взгляд — они не вырабатывают интуицию о том, как это все должно работать, а просто предлагают повторить;
        • И самый главный фактор — лично у меня при замене MNIST'а на свой датасет — оно все тупо переставало работать.

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


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

        Читать дальше →
      • Игровая агрессия, или как кооператив превращается в кровавую баню и что делать, чтобы он этого не делал



          В прошлый раз мы остановились на том феномене, что игра, которая изначально задумывалась как кооператив (например, D&D или многопользовательская песочница типа Space Station 13), почему-то может использоваться игроками совершенно по другому назначению, становясь пространством насилия и травли. Сегодня, соответственно, будем разбираться в том, как устроена детская (и не только детская) агрессия, как работает формат песочницы, что делает агрессия в песочнице (и вообще в игре) и как можно ей управлять.

          Физика эмоции


          В дальнейшем изложении мы будем использовать гидродинамическую модель эмоции. Представим себе, что, например, гнев – это жидкость. Чем больше накапливается гнева, тем сильнее становится напор жидкости в трубе – отдельно взятом индивидууме. На выходе есть два вентиля. Один соответствует внутреннему тормозу – представлению, например, о том, что обижать других людей дурно, некрасиво, недостойно… Второй соответствует внешнему тормозу – страху перед наказанием или какими-то другими негативными последствиями. Что будет, если давление жидкости нарастает, а вентили (хотя бы какой-то один из них) намертво закручены?
          Читать дальше →
        • Микроструктура рынка и неблагоприятный отбор


            Джотто ди Бондоне. Изгнание менял из храма. ок. 1305 г. Капелла Скровеньи, Падуя.


            В предыдущей статье мы выяснили, как работает внебиржевой валютный рынок. Крупные инвестиционные банки, которые называются дилерами или маркет-мейкерами, предлагают клиентам курсы покупки и продажи. Клиент покупает валюту дороже рыночного мид-курса, а продаёт дешевле мид-курса, поэтому на каждой транзакции он неявно платит дилеру половину спреда. У критично настроенного читателя могли возникнуть вопросы. Зачем вообще нужны эти маркет-мейкеры? За какую такую услугу компании реального сектора платят банкам?

            Читать дальше →
          • Обзор методов отбора признаков

            • Перевод


            Правильный отбор признаков для анализа данных позволяет:

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

            Оценка важности признаков необходима для интерпретации результатов модели.

            Мы рассмотрим существующие методы отбора признаков для задач обучения с учителем и без. Каждый метод проиллюстрирован open source-реализацией на Python, чтобы вы могли быстро протестировать предложенные алгоритмы. Однако это не полная подборка: за последние 20 лет было создано множество алгоритмов, и здесь вы найдёте самые основные из них. Для более глубокого исследования ознакомьтесь с этим обзором.
            Читать дальше →
            • +33
            • 14,9k
            • 4
          • 50 оттенков matplotlib — The Master Plots (с полным кодом на Python)

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



            Встретимся «внутри»!
            Читать дальше →
          • Проще, чем кажется. Перелом

              «Проще, чем кажется» — бизнес-роман о том, на что еще способны программисты.


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

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

              — Да, Сергей, ты у нас человек относительно новый, — подхватил Курчатов. — и мне очень интересно, какое впечатление о нашей компании у тебя сложилось за время работы. Не хочу тебя ограничивать конкретными темами, говори все, что посчитаешь нужным.
              Читать дальше →
            • Как написать смарт-контракт для ICO за 5 минут



                Всем привет! В этой статье я расскажу вам, как за 5 минут и несколько команд в терминале запустить смарт-контракт сбора денег для своего ICO на Ethereum. Этот очерк потенциально сэкономит вам десятки тысяч американских долларов, так как любой программист — да и не программист тоже — сможет запустить проаудированный и безопасный смарт-контракт (вместо того, чтобы платить $15,000 – $75,000 за разработку). Вкратце, на этот смарт-контракт можно будет отправить денег и получить за это ERC20 токены. Можно сказать, эта статья — сборник всего опыта, который я получил, запуская ICO для своего проекта.

                В Интернетах этих ваших и так полно статьей про смарт-контракты, но как только начинаешь писать оный, сталкиваешься с тем, что информация везде повторяется, а туториалов, как запулить свой ERC20 попросту либо нет, либо они устарели что аж донельзя. К слову, чтобы эта статья оставалась актуальной, постараюсь указать потенциальные места, где она может устареть (и как это поправить). Поехали!
                Читать дальше →
              • Однажды в HFT-компании…

                Моя личная история трейдинга, все совпадения случайны.
                image
                Я начал свою карьеру в HFT в австралийском филиале одной из крупнейших американских трейдерских компаний в качестве программиста на C++. В первый день меня встретил офис с огромными окнами с видом на сиднейскую гавань, на одном из которых было написано фломастером “< 2ms”. Это было главной задачей для дюжины разработчиков, но, пока что, не для меня. Итак…

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