Search
Write a publication
Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

Как Эйнштейн «опроверг» Ньютона

Reading time7 min
Views27K
Перевод статьи физика и популяризатора науки Мэтта Страсслера

К тому времени, как Эйнштейн в 1905 году вывел свою специальную теорию относительности (СТО), прошло уже больше 200 лет с тех пор, как Ньютон записал свои законы движения. Его последователи развивали его идеи, усложняли их и уточняли. Два столетия научных экспериментов, инженерных изделий и технологий, основанных на этих законах, подтверждали их правильность прямо и косвенно с большой точностью. В жизни людей XVIII и XIX веков уравнения Ньютона работали. Вряд ли бы они перестали работать в XX веке, и так и случилось – часы, двигатели, суда, мельницы, холодильники, гироскопы и пушки продолжали прекрасно работать и после того, как СТО Эйнштейна появилась в 1905 году. Так как же мог Эйнштейн «опровергнуть» Ньютона? Как Ньютон мог оказаться «неправым»?

Легко просто написать набор уравнений и заявить: «Я думаю, что общепринятые уравнения неверны, а мои новые – верны». Это каждый может сделать. Ежегодно я получаю десятки работ, выполненных начинающими физиками (или слышу о таких работах), содержащих ровно такие заявления. У большинства из них ошибку можно найти на первой странице, поскольку существует эксперимент или технология, которые не смогли бы работать, если бы новые уравнения были верны. Чрезвычайно сложно изобрести уравнения, соответствующие всем проделанным экспериментам и изобретённым технологиям. Таков высокий стандарт науки и природы.
Читать дальше →

Linux & Desktop — как жить и выжить

Reading time11 min
Views52K

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

Читать далее

6 известных научных теорий, которые оказались ошибочными

Reading time6 min
Views46K

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

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

Читать далее

Регрессионное тестирование на Scrum-проектах: руководство по проведению

Reading time5 min
Views36K

С ростом проекта и функциональности ПО неизбежно увеличивается объем регрессионного тестирования, хотя сроки зачастую остаются прежними. Как при этом грамотно преодолеть сложности на Scrum-проектах? Читайте в нашей статье.  

Читать далее

Архитектура контейнеров, часть 1. Почему важно понимать разницу между пространством пользователя и пространством ядра

Reading time5 min
Views13K

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

Читать далее

Бесплатный персональный OpenVPN-сервер на базе Oracle Cloud

Reading time6 min
Views102K

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

Oracle, придя на рынок облачных сервисов, активно привлекает новых клиентов. И одним из инструментов такого привлечения являются Always Free сервисы - зарегистрировавшийся клиент может пользоваться каким-то достаточно ограниченным набором ресурсов, как это следует из названия, бесплатно и неограниченно во времени. В список этих ресурсов входит два compute инстанса (каждый 2 ядра, 1GB RAM, 45GB HDD), которые можно использовать подо что угодно, но в нашем случае мы можем построить на них полностью бесплатный OpenVPN-сервер, буквально не умея практически ничего, кроме тыкания в кнопку Next. Чем мы и займемся.

Читать далее

Регулярные выражения. Всё проще, чем кажется

Reading time7 min
Views127K

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

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

Читать далее

5 разных библиотек Python, которые сэкономят ваше время

Reading time5 min
Views22K

В этой подборке, переводом которой мы решили поделиться к старту курса о машинном и глубоком обучении, по мнению автора, каждая библиотека заслуживает отдельной статьи. Всё начинается с самого начала: предлагается библиотека, которая сокращает шаблонный код импортирования; заканчивается статья пакетом удобной визуализации данных для исследовательского анализа. Автор также касается работы с картами Google, ускорения и упрощения работы с моделями ML и библиотеки, которая может повысить качество вашего проекта в области обработки естественного языка. Посвящённый подборке блокнот Jupyter вы найдёте в конце.

Читать далее

Оптимизация при помощи линейного поиска на Python

Reading time10 min
Views16K

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

Читать далее

USB over IP в домашних условиях

Reading time4 min
Views57K
Иногда возникает желание работать с устройством, подключенным по USB, не держа его на столе рядом с ноутбуком. У меня таким устройством является китайский гравёр с лазером на 500 мВт, штука довольно неприятная при близком контакте. Помимо непосредственной опасности для глаз, в процессе работы лазера выделяются токсичные продукты горения, поэтому устройство должно находится в хорошо проветриваемом помещении, и желательно изолированно от людей. А как же таким устройством управлять? Ответ на данный вопрос я случайно нашел, просматривая репозиторий OpenWRT в надежде найти достойное применение старенькому роутеру D-Link DIR-320 A2. Для подключения решил использовать описываемый на Хабре ранее USB over IP tunnel, однако все инструкции по его установке успели потерять актуальность, поэтому пишу свою.
Читать дальше →

oVirt за 2 часа. Часть 3. Дополнительные настройки

Reading time8 min
Views16K
В этой статье мы рассмотрим ряд необязательных, но полезных настроек:


Эта статья — продолжение, начало см. oVirt за 2 часа Часть 1 и часть 2.

Статьи


  1. Введение
  2. Установка менеджера (ovirt-engine) и гипервизоров (hosts)
  3. Дополнительные настройки — Мы здесь
  4. Базовые операции
Читать дальше →

В AWS представили Firecracker — «микровиртуализацию» для Linux

Reading time4 min
Views28K


На AWS re:Invent 2018, что проходит в эти дни в Лас-Вегасе, состоялся анонс Firecracker — новой технологии виртуализации с открытым кодом, основанной на Linux KVM. Авторы обещают, что с ней «в доли секунды можно запускать легковесные микровиртуальные машины (microVMs) в невиртуализированной среде, получив преимущества и традиционных ВМ — в виде безопасности и изоляции рабочих нагрузок, и контейнеров — в виде эффективного использования ресурсов».
Читать дальше →

Мок-сервер для автоматизации мобильного тестирования

Reading time9 min
Views31K
Работая над последним проектом, столкнулся с тестированием мобильного приложения, связанного на уровне бизнес-логики с различными сторонними сервисами. Тестирование этих сервисов не входило в мою задачу, однако проблемы с их API блокировали работу по самому приложению – тесты падали не из-за проблем внутри, а из-за неработоспособности API, даже не доходя до проверки нужной функциональности.

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

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

Clustergram: визуализация кластерного анализа на Python

Reading time6 min
Views12K

В этой статье, переводом которой мы решили поделиться специально к старту курса о Data Science, автор представляет новый пакет Python для генерации кластерограмм из решений кластеризации. Библиотека была разработана в рамках исследовательского проекта Urban Grammar и совместима со scikit-learn и библиотеками с поддержкой GPU, такими как cuML или cuDF в рамках RAPIDS.AI.

Читать далее

Изучаем машинное обучение на примере данных, полученных телескопом «Кеплер»

Reading time8 min
Views3.5K

Представьте, что вы смотрите фильм с проектора. Если через луч проектора проходит человек, он создаёт тень, закрывая часть света. Зрители видят, что часть света от проектора закрывается, и понимают, что закрывает его какой-то человек (обычно это их раздражает). Зрители в данном случае повторяют действия телескопа «Кеплер», который обнаруживает вращающиеся вокруг звёзд планеты (экзопланеты), выявляя мельчайшие изменения в количестве света, поступающего от звезды, если планета проходит перед звездой. Такое явление называется транзитом. На основе данных о транзитных свойствах объектов при помощи машинного обучения возможно прогнозировать расположение экзопланет, в том числе похожих на Землю. К старту курса о машинном и глубоком обучении делимся немного реорганизованным переводом статьи о том, как тип модели ML может повлиять на качество прогнозирования. В конце статьи вы найдёте ссылку на репозиторий проекта с блокнотами Jupyter.

Читать далее

Спектрометр своими руками за 5 долларов и немного OpenCV

Reading time6 min
Views27K

В освоении физики лабораторные эксперименты проясняют понятия гораздо лучше лекций. Но из-за пандемии у автора статьи, переводом которой мы делимся к старту флагманского курса о Data Science, уже больше года не было лабораторных занятий; при этом большинство экспериментов последнего курса физики требуют сложных, дорогих приборов. Но автору бросились в глаза эксперименты со спектроскопом, и он решил из подручных материалов сделать свой, недорогой цифровой спектрометр, а для анализа вывода прибора написал программу на Python.

Читать далее

Альтернатива ML-Agents: интегрируем нейросети в Unity-проект с помощью PyTorch C++ API

Reading time9 min
Views6.6K


Кратко объясню, что будет происходить в этой статье:

  • покажу, как использовать PyTorch C++ API для интеграции нейросети в проект на движке Unity;
  • сам проект я подробно описывать не буду, это не имеет значения для данной статьи;
  • использую готовую модель нейросети, преобразовав её трассировку в бинарник, который будет подгружаться в рантайме;
  • покажу, что такой подход существенно облегчает деплой сложных проектов (например, нет проблем с синхронизацией сред Unity и Python).

Добро пожаловать в реальный мир


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

Другими словами, мне нужно превратить исследовательский проект на PyTorch в готовое решение, способное вместе с движком Unity работать в боевых условиях.
Читать дальше →

Учимся читать код, изучая стандартную библиотеку Python

Reading time5 min
Views42K


Итак, вы уже продвинутый новичок — вы изучили основы Python и способны решать реальные задачи.

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

Наверно, вы слышали, что нужно нарабатывать понимание чтением и написанием больших объёмов кода. Это правда.

Но какой же код нужно читать?

«Просто читай то, что нравится». А если вы не знаете, что вам нравится? А если вам не нравится что-то правильное?

Или хуже того — если вам нравится что-то неправильное и из-за этого у вас выработаются вредные привычки?

В конечном итоге, для этого ведь необходимо понимание… Но именно его мы и стремимся обрести.

«На GitHub куча проектов — выберите понравившийся и изучайте, как его реализовали разработчики». Однако самые успешные проекты довольно объёмны — с чего начинать?

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

Да, вы видите код своими глазами, но он не говорит вам о том, почему разработчики написали его так, чего они не делали и как они рассуждали о проекте в целом.

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

В этой статье мы рассмотрим некоторые модули стандартной библиотеки Python.
Читать дальше →

Как прошить Xiaomi Redmi 4 Pro (Prime, Premium) на Android 10

Reading time5 min
Views51K
Если Вы изредка прошиваете свой телефон, или вообще никогда не делали этого, но при этом желаете вдохнуть в старую, но вполне рабочую «лошадку» Xiaomi Redmi 4 Prime/Pro/Premium новую жизнь, то эта статья Вам поможет.

По данной инструкции автор статьи перепрошил свой телефон Xiaomi Redmi 4 Prime с оригинальной (заводской) прошивки (MIUI10, Android 6) на кастомную, то есть выпущенную не разработчиком телефона, но построенную уже на Android 10. Да, да, Android 10. И это для телефона, выпущенного ещё в 2016 году.

В статье приведен один из самых простых (но далеко не единственных) способов прошивки телефона. Для получения лучшего результата, рекомендуется сохранить все данные с телефона и полностью очистить память телефона во время прошивки (пункт 3.2). Конечно, можно и не делать этого. Но разработчики кастомных прошивок и опытные пользователи рекомендуют делать полную очистку, чтобы минимизировать возможные баги после такой установки.
Читать дальше →

Information

Rating
8,451-st
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity