Архив за 15 июня 2019

image

8.1 Творческий подход

«Хотя такая машина многое могла бы сделать так же хорошо и, возможно, лучше, чем мы, в другом она непременно оказалась бы несостоятельной, и обнаружилось бы, что она действует не сознательно, а лишь благодаря расположению своих органов».
— Декарт. Рассуждения о методе. 1637 г.

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

«Ибо в то время как разум — универсальное орудие, могущее служить при самых разных обстоятельствах, органы машины нуждаются в особом расположении для каждого отдельного действия. Отсюда немыслимо, чтобы в машине было столько различных расположений, чтобы она могла действовать во всех случаях жизни так, как нас заставляет действовать наш разум». — Декарт. Рассуждения о методе. 1637 г.
Читать полностью »

Установлена метеостанция на рекордной высоте 8 430 метров

Установлена метеостанция на рекордной высоте 8 430 метровPixabay

Читать полностью »

В NASA рассказали, сколько денег нужно для возвращения на Луну

Реализация программы Artemis и создание условий для постоянного присутствия человека на Луне потребует примерно $20–30 млрд. Причём речь идёт не о бюджете NASA, а о дополнительных расходах, которые будут распределены на следующие пять лет. Об этом в одном из недавних интервью заявил руководитель американского космического агентства NASA Джим Брайденстайн (Jim Bridenstine).

Читать полностью »

Быть шестипалым не так уж плохо: ученые о полидактилии

Человеческие дети рождаются с дополнительными пальцами рук и ног намного чаще, чем может показаться со стороны. Эта мутация называется полидактилией и встречается в среднем 1 раз на 500 детей. Появившиеся таким путем пальцы обычно считают бесполезными и ампутируют вскоре после рождения. Однако новые исследования показали, что на самом деле «бонусные» конечности могут оказаться весьма полезными.

Читать полностью »

Antec A30 и C400 Glacial: башенные системы охлаждения начального и среднего уровня

Компания Antec представила две новые системы воздушного охлаждения башенного типа для процессоров, которые называются Antec A30 и C400 Glacial. Первая модель относится к решениям начального уровня, тогда как другую можно назвать кулером среднего уровня.

Читать полностью »

Шпаргалка по структурам данных в Go - 1


Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных дают примеры или на псевдокоде, или на С++. Ещё эталонные решения задач написаны зачастую на С++. Готовясь к собеседованию, составил шпаргалку библиотек — аналогов контейнеров STL, что бы не тратить драгоценное время на поиск.
Читать полностью »

Генная инженерия эмбрионов человека станет безопасной и эффективной в течение двух лет - 1

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

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

История

Гильберт в 1900 году на II Международном конгрессе математиков в Париже отметил практическую важность теории чисел. Решение абстрактных задач часто приводило к появлению нового математического аппарата. Ярким примером служит Великая Теорема Ферма, в ходе доказательства которой в конце XX-ого века были исследованы мероморфные функции, применяющиеся современными инженерами-конструкторами на авто- и авиазаводах, а также IT-специалистами в рамках имитационного моделирования. Задачи о "красивых числах" — простых близнецах и совершенных числах, считавшиеся в Древней Греции практически бесполезными, теперь обеспечивают современную криптографию устойчивыми алгоритмами генерации ключей.

В 1913 году Рамануджан популяризирует неопределённое уравнение:

$n!+1=m^2 (1)$

Ранее оно фигурировало в работах Анри Брокара. Как утверждают историки, два математика занялись изучением указанного уравнения независимо друг от друга. Очевидно, факториал растёт быстрее квадрата, поэтому первые решения можно быстро получить перебором значений n. Читать полностью »

Зачем нужен __init__.py знает, наверное, любой питонист, но что насчёт __main__.py? Я видел немало проектов либо рабочих, либо на Github, которые не используют это магический файл, хотя могли бы сделать свою жизнь проще. На мой взгляд, __main__.py это лучший способ для взаимодействия с питоновскими модулями, состоящими из нескольких файлов.

Но давайте сначала разберёмся: как большинство людей запускают свои скрипты на Python?

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

if __name__ == '__main__':
    main(sys.argv)

Когда вы скармливаете скрипт интерпретатору, магическая глобальная переменная __name__ получает значение __main__. Таким образом мы узнаём, что это не импорт, а именно запуск. Например:

python myapp.py

И это прекрасно работает для одиночного файла.

Проблема

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

.
├── README.me
├── requirements.txt
├── setup.py
└── src
    ├── __init__.py
    ├── client.py
    ├── logic.py
    ├── models.py
    └── run.py

Но пользователю, который склонировал проект из репозитория будет не понятно — какой из этих файлов главный? Неужели run.py? А может client.py? Где же искать знакомую строку if __name__ == '__main__'? Вот здесь-то __main__.py и способен проявить себя.

Читать полностью »

В предустановленных на многих дистрибутивах Linux версиях Vim и NeoVim найдена критическая уязвимость, которая позволяет злоумышленнику получить контроль над компьютером жертвы, если она откроет заражённый текстовый файл. Проблема так же касается и последней версии macOS, хотя атака сработает только если была включена опция `modelines`.

Как пояснил Armin Razmjou — исследователь, открывший уязвимость, хотя режим `modelines` и должен запускать команды исключительно в песочнице, команда :source! полностью обходит это ограничение и, таким образом, способна исполнить произвольные команды, как если бы они были вводились вручную.

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

В Vim и NeoVim найдена критическая уязвимость, пора обновляться - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js