• Свободу байтам

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


      Вы видите меня хозяином Франции, но я бы не взялся править ею и три месяца при свободной прессе.
      Наполеон I

      Конечно гипотетически, на самом деле, такое с нами произойти не может. А то, что сейчас блокируют (как устроена блокировка в РФ и РБ), это же конечно "для нашего блага".


      Цель этой статьи: найти и проанализировать открытые или, как минимум, закрытые но бесплатные и удобные инструменты, которые позволяют получить доступ к информации в случае частичной или полной блокировки доступа к сети Интернет.


      Кому лень читать, буду краток: Tor и Bridgefy — это то, что должно стоять у каждого борца за свободу информации.

      Читать дальше →
    • Не надо учить Machine Learning

      • Translation

      Учитесь создавать софт, используя модели машинного обучения


      image

      Дисклеймер: статья основана исключительно на моих наблюдениях за командами разработчиков в области машинного обучения и не является результатом научного обзора отрасли. Для справки, я помогаю разрабатывать Cortex — платформу с открытым исходным кодом для запуска моделей в производство.

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

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

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

      Вы хотите создавать продукты или проводить исследования?


      До конца 2000-х годов машинное обучение было практически только исследовательской проблемой. Просто было не так много компаний, которые бы реально использовали машинное обучение в производстве.
      Читать дальше →
      • +20
      • 9.6k
      • 9
    • 5 вопросов по SQL, которые часто задают дата-сайентистам на собеседованиях

      • Translation
      Хотя составление SQL-запросов — это не самое интересное в работе дата-сайентистов, хорошее понимание SQL чрезвычайно важно для того, кто хочет преуспеть в любом занятии, связанном с обработкой данных. Дело тут в том, что SQL — это не только SELECT, FROM и WHERE. Чем больше SQL-конструкций знает специалист — тем легче ему будет создавать запросы на получение из баз данных всего, что ему может понадобиться.



      Автор статьи, перевод которой мы сегодня публикуем, говорит, что она направлена на решение двух задач:

      1. Изучение механизмов, которые выходят за пределы базового знания SQL.
      2. Рассмотрение нескольких практических задач по работе с SQL.

      В статье рассмотрено 5 вопросов по SQL, взятых с Leetcode. Они представляют собой практические задачи, которые часто встречаются на собеседованиях.
      Читать дальше →
    • Random Forest, метод главных компонент и оптимизация гиперпараметров: пример решения задачи классификации на Python

      • Translation
      У специалистов по обработке и анализу данных есть множество средств для создания классификационных моделей. Один из самых популярных и надёжных методов разработки таких моделей заключается в использовании алгоритма «случайный лес» (Random Forest, RF). Для того чтобы попытаться улучшить показатели модели, построенной с использованием алгоритма RF, можно воспользоваться оптимизацией гиперпараметров модели (Hyperparameter Tuning, HT).



      Кроме того, распространён подход, в соответствии с которым данные, перед их передачей в модель, обрабатывают с помощью метода главных компонент (Principal Component Analysis, PCA). Но стоит ли вообще этим пользоваться? Разве основная цель алгоритма RF заключается не в том, чтобы помочь аналитику интерпретировать важность признаков?
      Читать дальше →
      • +33
      • 12.4k
      • 5
    • 70 вопросов по JavaScript для подготовки к собеседованию

      • Translation
      Доброго времени суток, друзья!

      Надеюсь, эта статья будет полезна как начинающим разработчикам, так и опытным.

      В вопросах, которые показались мне сложнее прочих, приведены ссылки на дополнительную литературу.

      Буду признателен за развернутые комментарии. Все замечания будут учтены при редактировании статьи.

      Итак, поехали.
      Читать дальше →
    • Полезные советы по Python, которых вы ещё не встречали. Часть 2

      • Translation
      Недавно мы опубликовали перевод материала, в котором были приведены полезные советы для Python-программистов. У того материала есть продолжение, которое мы представляем вашему вниманию сегодня.


      Читать дальше →
    • Талант против удачи: роль случайности в успехе и провале



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

        Захотев перейти на Linux дома или на работе, люди обычно ставят Ubuntu, Mint, Fedora, порой даже Debian. И очень зря не пробуют Manjaro Linux — на мой взгляд, этот дистрибутив удобнее Убунты (которая уже де-факто — Default Linux), и даже удобнее Минта.

        Manjaro — производная от Arch Linux (так же как Ubuntu — производная от Debian), пилится европейской командой Manjaro Team. У Манжары почти такая же структура системы, как у Арча, но с некоторыми особенностями, которые делают его на 146% юзерфрендли.
        Читать дальше →
      • Генеалогические исследования — метрические книги, переписи, архивы, открытые базы

          Не один год я увлекаюсь генеалогией. Практической пользы в этом хобби нет, но интересного очень много. Здесь я хотел поделиться накопленным опытом, частью интересных сведений, не сильно погружаясь в персональные истории. Чтобы текст сильно не распухал, расскажу всего 2 кейса: поиск в военных архивах на основе данных онлайн-баз и продолжительный просмотр и анализ метрических книг одного села периода конца XIX — начала XX вв. вплоть до конца революции и гражданской войны.

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

          Осознаю, что некоторым тема публикации может показаться далекой от IT, но в процессе у меня было и программирование, VBA-скриптинг, SQL, и впереди, надеюсь, ML\DS\AI.


          Страница метрической книги, рождения в 1898 г. Еще в книгах записывались браки и смерти — до появления ЗАГСов в начале 1920х
          Читать дальше →
        • Письмо начинающему изучать Data Science

          Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.


          Нейронные сети – это...

          Читать дальше →
        • Почему Вы должны попробовать FastAPI?

          image Лого взято из Github репозитория FastAPI


          FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc


          FastAPI построен на базе Starlette и Pydantic.
          StarletteASGI микро-фреймворк для написания веб-приложений.
          Pydantic — библиотека для парсинга и валидации данных основанная на Python type-hints.

          Читать дальше →
        • 56 проектов на Python с открытым исходным кодом

          • Translation
          image

          1. Flask


          Это микро-фреймворк, написанный на Python. Он не имеет валидаций для форм и уровня абстракции базы данных, но позволяет вам использовать сторонние библиотеки для общих функций. И именно поэтому это микро-фреймворк. Flask предназначен для простого и быстрого создания приложений, а также является масштабируемым и легким. Он основан на проектах Werkzeug и Jinja2. Вы можете узнать больше о нем в последней статье DataFlair о Python Flask.

          2. Keras


          Keras — нейросетевая библиотека с открытым исходным кодом, написанная на Python. Она удобна для пользователя, модульная и расширяемая, а так же может работать поверх TensorFlow, Theano, PlaidML или Microsoft Cognitive Toolkit (CNTK). В Keras есть все: шаблоны, целевые и передаточные функции, оптимизаторы и многое другое. Он также поддерживает сверточные и рекуррентные нейронные сети.

          Работа над последним проектом с открытым исходным кодом на основе Keras — Классификация рака молочной железы.
          Читать дальше →
        • Как выучить иностранный язык

            Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


            Оглавление:


            1. Отступление про умных людей и прочих полиглотов
            2. Первый шаг
            3. Какой преподаватель нужен (уровень преподавателя)
            4. Где искать преподавателя
            5. Развитие навыков: слушание
            6. Развитие навыков: чтение
            7. Развитие навыков: письмо
            8. Развитие навыков: разговор: произношение
            9. Развитие навыков: разговор: языковой барьер
            10. Словарный запас
            11. Самое главное


            Итак, вопрос: “Как выучить английский язык?”.

            Читать дальше →
          • Python и быстрые HTTP-клиенты

            • Translation
            В наши дни, если вы пишете некое Python-приложение, то вам, скорее всего, придётся оснащать его функционалом HTTP-клиента, который способен общаться с HTTP-серверами. Повсеместное распространение REST API сделало HTTP-инструменты уважаемыми жителями бесчисленного множества программных проектов. Именно поэтому любому программисту необходимо владеть паттернами, направленными на организацию оптимальной работы с HTTP-соединениями.



            Существует множество HTTP-клиентов для Python. Самым распространённым среди них, и, к тому же, таким, с которым легко работать, можно назвать requests. Сегодня этот клиент является стандартом де-факто.
            Читать дальше →
            • +44
            • 21k
            • 3
          • Занимательная практика для разработчика

            • Translation
            Человек остается начинающим в течение 1000 дней. Он находит истину после 10000 дней практики.

            Это цитата Оямы Масутацу, которая довольно хорошо излагает суть статьи. Если вы хотите быть классным разработчиком — приложите усилия. В этом весь секрет. Проводите много часов за клавиатурой и не бойтесь практиковаться. Тогда вы вырастите как разработчик.

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

            (предыдущие списки заданий для тренировки: 1) 8 учебных проектов 2) Еще список проектов, на чем потренироваться)

            Проект 1: Pacman


            image

            Создайте свою версию Pacman. Это отличный способ получить представление о том, как разрабатываются игры, понять основы. Используйте JavaScript-фреймворк, React или Vue.

            Вы узнаете:

            • Как передвигаются элементы
            • Как определить какие клавиши нажимать
            • Как определить момент столкновения
            • Вы можете не останавливаться на достигнутом и добавить управление движением призраков

            Пример этого проекта вы найдете в репозитории GitHub

            «Мастер совершает больше ошибок, чем новичок — попыток»
            Читать дальше →
            • +16
            • 16.4k
            • 1
          • Линейная регрессия и градиентный спуск

            Пусть в некоторой предметной области исследуются показатели X и Y, которые имеют количественное выражение.

            При этом есть все основания полагать, что показатель Y зависит от показателя X. Это положение может быть как научной гипотезой, так и основываться на элементарном здравом смысле. К примеру, возьмем продовольственные магазины.

            Обозначим через:

            X — торговую площадь(кв. м.)

            Y — годовой товарооборот(млн. р.)

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

            Представим, что у нас есть данные о некоторых n магазинах(торговая площадь и годовой товарооборот) — наш датасет и k торговых площадей(X), для которых мы хотим предсказать годовой товарооборот(Y) — наша задача.

            Выдвинем гипотезу, что наше значение Y зависит от X в виде: Y = a + b * X

            Чтобы решить нашу задачу, мы должны подобрать коэффициенты a и b.
            Читать дальше →
          • Обзор методов отбора признаков

            • Translation


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

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

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

            Мы рассмотрим существующие методы отбора признаков для задач обучения с учителем и без. Каждый метод проиллюстрирован open source-реализацией на Python, чтобы вы могли быстро протестировать предложенные алгоритмы. Однако это не полная подборка: за последние 20 лет было создано множество алгоритмов, и здесь вы найдёте самые основные из них. Для более глубокого исследования ознакомьтесь с этим обзором.
            Читать дальше →
            • +33
            • 11k
            • 4
          • Нескучный туториал по NumPy

            • Tutorial
            Меня зовут Вячеслав, я хронический математик и уже несколько лет не использую циклы при работе с массивами…

            Ровно с тех пор, как открыл для себя векторные операции в NumPy. Я хочу познакомить вас с функциями NumPy, которые чаще всего использую для обработки массивов данных и изображений. В конце статьи я покажу, как можно использовать инструментарий NumPy, чтобы выполнить свертку изображений без итераций (= очень быстро).

            Не забываем про

            import numpy as np

            и поехали!
            Читать дальше →
          • Как выглядело бы Московское метро в трехмерном мире

            UPD: По просьбам в комментах добавляю ссылку на вращабельную схему на Javascript
            К сожалению, код javascript вставить в тело поста не удалось
            Добрый день! Недавно я читал блог одного урбаниста, который рассуждал о том, какая должна быть идеальная схема метро.Схему метро можно рисовать исходя из двух принципов:

            • Схема должна быть удобной и простой для запоминания и ориентирования
            • Схема должна соответствовать географии города

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

            Достаточно вспомнить, как выглядит схема Московского метро с красивыми кольцами и прямыми линиями:
            Читать дальше →
          • CAGR как проклятие специалистов, или ошибки прогнозирования экспоненциальных процессов


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

              • «У телефона слишком много недостатков, чтобы его можно было серьезно рассматривать, как средство коммуникации. Устройство не представляет для нас никакой ценности», — писали специалисты Western Union, тогда крупнейшей телеграфной компании в 1876 году. 
              • «У радио нет будущего. Летательные аппараты тяжелее воздуха невозможны. Рентгенография окажется обманом», — зажигал Уильям Томсон лорд Кельвин в 1899, и можно, конечно, шутить, что британские ученые зажигали еще в XIX веке, но мы еще долго будем измерять температуру в Кельвинах, и сомневаться в том, что многоуважаемый лорд был хорошим физиком, причин нет. 
              • «Кто, черт возьми, захочет слышать, как актеры говорят?», — говорил про звуковое кино Гарри Ворнер, основавший Warner Brothers в 1927, один из лучших экспертов по кино того времени. 
              • «Нет причин, по которым кому-то нужен домашний компьютер», — Кен Олсон, основатель корпорации Digital Equipment в 1977, незадолго до взлета домашних компьютеров…
              • В наше время ничего не поменялось: «Нет никаких шансов, что iPhone получит значительную долю рынка», — писал в USA Today гендиректор Microsoft Стив Балмер в апреле 2007 перед триумфальным взлетом смартфонов.

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