Архив июня 2019

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

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

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

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

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

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

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


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

Зачем нужен __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

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

Африканский слон затоптал фермера в Ботсване

Как сообщает РИА Новости, 67-летний фермер выстрелил в животное из ружья. О ранениях, возможно полученных слоном, ничего не сообщается и нет уверенности в том, что они были. Во всяком случае слон разозлился и постоял за себя.

По словам местного полицейского Азхани Мококомани (Azhani Mokokomani), инцидент произошел на скотоводческой ферме рядом с деревней Дукви, которая расположена примерно в 530 километрах к северо-востоку от столицы Ботсваны Габороне.

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

Honda рассказала о платформе для компактных электромобилей

В феврале нынешнего года Honda представила компактный городской электромобиль под названием e Prototype. Теперь компания раскрыла детали о силовой платформе этой машины.

Сообщается, что платформа разработана с чистого листа с прицелом на автомобили, предназначенные преимущественно для передвижения в городе. Питание обеспечивает блок литий-ионных аккумуляторов ёмкостью 35,5 кВт·ч.

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

Темы и стили в Android без магии. И как их готовить с SwitchCompat - 1
В предыдущей статье мы рассмотрели как использовать темы и стили на уровне кода, на примере кастомной view. В этой статье давайте разберем несколько способов стилизации стандартного ui элемента, а в частности SwitchCompat.Читать полностью »

Как устроен и стреляет многозарядный арбалет чо-ко-ну

Благодарим за видео пользователя YouTube JaycubL

Источник

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

Китайские антимонопольные органы уже приступили к рассмотрению сделки NVIDIA и Mellanox

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