Инженер
Полезные консольные Linux утилиты
В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.
Осторожно много скриншотов. Добавил до ката утилиту binenv.
binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.
Корреляция между временными рядами: что может быть проще?
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/a91/d7b/2fb/a91d7b2fb6cea39843c2d1ae544f113f.jpg)
Все чаще объектами статистического анализа становятся не массивы (таблицы) значений, а временные ряды. Такие ряды формируются при наблюдениях за природными процессами и явлениями, изучении социологических или макроэкономических показателей, при промышленном производстве и сбыте продукции. Главное, что отличает временной ряд от других типов данных – это то, что номер (время) наблюдения имеет значение. То есть, важен не только результат измерения, но и тот момент времени, когда оно выполнено. К сожалению, при применении статистических методов на этот нюанс часто не обращают внимания. Однако, именно эта "мелочь" приводит к очень серьезным и нетривиальным следствиям с точки зрения обработки таких сигналов. Самые обычные формулы, описанные во всех учебниках, внезапно отказываются работать. А попытки их применения "в лоб" иногда дают, мягко говоря, весьма неожиданные результаты. Например, статистическая связь между числом пиратов и глобальным потеплением оказывается не просто "значимой", а "практически достоверной". Что удивительно, столкнувшись с такой ситуацией, даже достаточно грамотные исследователи не всегда понимают, где же тут "порылась собака" . Данные вроде бы правильные, математика (как и жена Цезаря) – точно вне подозрений. А результат – ни в какие ворота... А Вы твердо уверены, что всегда правильно оцениваете значимость таких корреляций?
Как находить проблемы с интернетом и кто виноват ч.2 — домашняя работа
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/147/2ca/026/1472ca026cc1c53b23c72fb02455093b.png)
Перед тем, как обращаться к провайдеру, необходимо разобраться - а всё ли хорошо в доме. Без этой проверки есть риск превратиться в мальчика, который постоянно кричал "у меня потери пакетов" "волки".
Проверь свои клеммники
![](https://habrastorage.org/webt/ei/1v/6c/ei1v6cxnm8upoqxx4cwgn5yzx5w.jpeg)
Поиск научных публикаций в Интернете. Часть 2. Где и как искать
1.3. Поисковые системы – специализированные и не очень
В общем случае результаты поиска в первую очередь зависят от поставленной задачи и корректности запроса. Но эти результаты чаще всего, с одной стороны,
а) избыточны
и с другой стороны — б) неполны.
К счастью, и авторы и издатели, как правило, заинтересованы в том, чтобы информация о публикациях индексировалась поисковиками, но тут есть нюансы: не всегда разрешается индексация содержимого pdf-файлов, и в некоторых случаях разрешена индексация сайтов только определёнными поисковиками (например, крупнейшая отечественная электронная библиотека elibrary.ru одно время запрещала для google индексацию большинства файлов).
Кроме всего прочего, результаты запроса зависят от порядка слов и от IP-адреса, с которого осуществляется поиск.
Если говорить о поиске публикаций, то вопрос «какой поисковой системой пользоваться» имеет один ответ – Google (это если не считать специализированные библиографические поисковые системы, о них ниже).
Во-первых, google достаточно полно индексирует содержимое Сети. Во-вторых, большое количество настроек расширенного поиска (в т.ч. с использование операторов) сильно облегчают работу. В третьих, как я уже указывал, содержимое пдф-файлов googl’ом индексируется даже в том случае, когда пдф состоит из изображений и текстовый слой в файле отсутствует.
![](https://habrastorage.org/webt/ud/_n/fo/ud_nfocm2loouqbupznf_unafpo.jpeg)
Ка известно, в гугле любят пошутить. Вот такой у меня однажды вылез результат при попытке найти книгу Pander, C. H. (1830). Beiträge zur Geognosie des Russischen Reiches. St.Petersburg, Karl Kray. 150 S.
Как я написал диплом по химии с (Xe)LaTeX
Как писать книгу по физике в LaTeX. Cтатья 1
Глава 1. Введение
1.1 Позвольте представиться и почему я это пишу
Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по ее содержимому. Она отняла у меня очень много времени, что естественно. Что не естественно — это то, что громадная часть потраченного времени ушла на оформление, то есть на изучение языка Латех. И это при том, что я на Латехе пишу всю жизнь, лично написал и опубликовал около 50 статей в разных издательствах.
В этой статье (планируется продолжение, но это как пойдёт) я хотел бы поделиться с читателями своими, с большими затратами полученными знаниями. Если читатель пишет только статьи, то моя статья ему не очень нужна — в ней собрано то, что требуется авторам больших книг.
После публикации книги (пока, увы, только на русском языке) у меня возникло громадное желание написать ещё книгу "Как написать книгу по физике в Латехе"
Малиновый киноцентр или как сделать неубиваемый смарт-ТВ
Самая полная инструкция по созданию из Raspberry Pi домашнего киноцентра с минимальными затратами и подробной настройкой приложений.
Знаю, что скажут 90% читателей: "Зачем тебе магнитофон? Смарт-ТВ купи и счастье". Я отвечу. Проблема в том, что ещё в 90-ых был куплен шикарный телевизор с 5.1 звуком и Full-HD монитором, правда не стандартного разрешения (не 4:3 и не 16:9). Менять телевизор и попадать минимум на 40 тысяч из-за дивидюшника за 3 тысячи - как-то не разумно. В планах сделать экран с проектором и звуком, но вот покупать смарт-ТВ, который не поковыряешь - для меня слишком больно. Купил Sony - мучайся с их смартом и так с любой фирмой.
В моём распоряжении был старый комп-башня и куча старых деталей, который валялись по квартире и офису. Тестил всё на этом железе в разных конфигурациях: от сборки с интегрированной видюхой от интел с 1 ГБ оперативы и пентиумом на борту, до GTX 660 с 8 ГБ оперативы и i5 во главе. Разница есть, но только в загрузке файлов - то есть не критичная. Картинка в FullHD выдаётся ровно без крашей всю дорогу. Имея задумку повесить экран с проектором, делать громоздкую станцию - не вариант.
Пульсоксиметр своими руками
Во время самоизоляции я попытался сделать пульсоксиметр из того, что уже есть у меня в закромах
![](https://habrastorage.org/webt/z8/fq/yt/z8fqytm_ffb9gebirhqjxyamyx0.jpeg)
Я бы хотел измерить уровень насыщения крови кислородом в процентах в моей крови при помощи самостоятельно изготовленного пульсоксиметра. Я не эксперт в медицине, поэтому данный проект не имеет диагностической ценности. Это просто образовательный проект, подходящий для изучения принципов работы прибора.
Компоненты:
- Arduino Uno.
- Датчик KY-039 – его можно собрать из двух резисторов и фотодиода.
- Красный светодиод.
- Резистор на 330 Ом – 2 шт.
- Дисплей LCD 16x2 I2C.
Какой ракетный двигатель самый лучший?
![](https://habrastorage.org/files/63e/318/637/63e3186373894abf9123d6894c0db72a.jpg)
Ракетные двигатели — одна из вершин технического прогресса. Работающие на пределе материалы, сотни атмосфер, тысячи градусов и сотни тонн тяги — это не может не восхищать. Но разных двигателей много, какие же из них самые лучшие? Чьи инженеры поднимутся на пьедестал почета? Пришло, наконец, время со всей прямотой ответить на этот вопрос.
Загрузка контроллеров без использования консоли Arduino IDE
При работе с контроллерами распределенной системы довольно часто приходится перезагружать контроллеры. Использование консоли Arduino IDE для перезагрузки заказчиком не очень удобно, поскольку для каждого типа контроллеров необходимо настраивать (или проверять) тип платы и номера СОМ портов, эту работу должен выполнять персонал, знакомый с IDE, да и не каждый заказчик желает знать, что система построена на контроллерах Arduino.
В этой работе рассматриваются варианты загрузки контроллеров (Arduino на Atmega328 и Atmega32u4 и совместимого контроллера Teensy) отдельными командами и через командный файл, без использования среды IDE.
Начинаем изучать микроконтроллеры на примере STM32F030f4p6
![](https://habrastorage.org/webt/ex/dh/0-/exdh0-6tdd7sj-4usxbip9chsz0.jpeg)
0. Перед прочтением статьи
Данная статья преследует следующие цели:
- показать, как работать конкретно с этой платой;
- показать подход, с помощью которого можно написать программу мигания светодиодом, опираясь исключительно на документацию и логику;
- изложить материал языком, понятным человеку, слабо знакомому с микроконтроллерами.
Код получится минималистичным с точки зрения использования дополнительных файлов — мы не будем подключать ни один файл, кроме тех, что нужны для сборки пустой, но валидной, прошивки. Т.е. на базе кода прошивки, которая работает, но ничего полезного не делает.
«Магическая константа» 0x5f3759df
Вот полная реализация этого алгоритма:
float FastInvSqrt(float x) {
float xhalf = 0.5f * x;
int i = *(int*)&x; // представим биты float в виде целого числа
i = 0x5f3759df - (i >> 1); // какого черта здесь происходит ?
x = *(float*)&i;
x = x*(1.5f-(xhalf*x*x));
return x;
}
Этот код вычисляет некоторое (достаточно неплохое) приближение для формулы
![image](https://habrastorage.org/getpro/habr/post_images/460/bc7/d55/460bc7d55c4920d2de99f2086fdd06b9.png)
Сегодня данная реализация уже хорошо известна, и стала она такой после появления в коде игры Quake III Arena в 2005 году. Её создание когда-то приписывали Джону Кармаку, но выяснилось, что корни уходят намного дальше – к Ardent Computer, где в середине 80-ых её написал Грег Уолш. Конкретно та версия кода, которая показана выше (с забавными комментариями), действительно из кода Quake.
В этой статье мы попробуем разобраться с данным хаком, математически вывести эту самую константу и попробовать обобщить данный метод для вычисления произвольных степеней от -1 до 1.
Да, понадобится немного математики, но школьного курса будет более, чем достаточно.
10 приёмов работы в терминале Linux, о которых мало кто знает
![](https://habrastorage.org/getpro/habr/post_images/6ea/62c/2b7/6ea62c2b7a1783c614d87c567eb4ed3d.jpg)
Побеждаем GPRS модуль от Амперки
![image](https://habrastorage.org/files/f8d/d05/ce9/f8dd05ce94d24dc283d1abcbffdb5906.jpg)
Не успели мы победить шину CAN, как пришлось побеждать очередную железку, а именно, GPRS модуль. Такова она жизнь разработчика — всё время приходится кого-нибудь побеждать (тут должен стоять запрещённый смайл).
Для одного из заказных проектов мне понадобилось добавить возможность управления и получения телеметрии по GSM при помощи SMS. Посмотрел я на список доступных вариантов и остановился на GPRS Shield от Амперки. Почему нет? Прилично выглядит, выпускается известной компанией, имеет техподдержку, по цене не особо отличается от конкурентов и вообще производит очень приятное впечатление.
Но не тут-то было. О том квесте и невероятных курсах повышения квалификации которые мне пришлось пройти, интегрируя этот GPRS модуль с Arduino Mega Server вы можете узнать, нажав на кнопочку ниже.
О книге Саймона Монка «Программируем Arduino. Профессиональная работа со скетчами»
Книга довольно интересная и может быть рекомендована всем, кто, так сказать, «продолжает» работу с Arduino. Совсем начинающим она довольно бесполезна, а вот для расширения представления о том, как со всем этим хозяйством обращаться, подходит вполне. Но целевая аудитория не настолько разбирается в предмете, чтобы воспринять критично некоторые утверждения автора и расшифровать многочисленные ляпы переводчика в сговоре с редакторами. Причем автору промахи простительнее, так как он явно программист, а не электронщик, и не может разбираться в предмете досконально. А вот редакторы обязаны были такие места прокомментировать.
Все написанное далее не имеет цели как-то задеть автора и издательство, которые сделали хорошее дело. Я пишу это с надеждой облегчить жизнь читателю, которому посчастливится наткнуться на эти мои измышлизмы. Книга, повторяю, полезная и содержательная, и отдельные промахи не меняют этого моего отношения.
Работа с Народным Мониторингом на Python с Raspberry Pi
![](https://habrastorage.org/files/070/703/162/0707031628c543d68a6fa8928769d2ab.jpg)
Метод рекурсивной координатной бисекции для декомпозиции расчетных сеток
![](https://habrastorage.org/files/0a6/8e3/7b9/0a68e37b99d849bd92f7539d5818d3fe.png)
Введение
Расчетные сетки широко применяются при решении численных задач с помощью методов конечных разностей. Качество построения такой сетки в значительной степени определяет успех в решении, поэтому иногда сетки достигают огромных размеров. В этом случае на помощь приходят многопроцессорные системы, ведь они позволяют решить сразу 2 задачи:
- Повысить скорость работы программы.
- Работать с сетками такого размера, который не помещается в оперативной памяти одного процессора.
При таком подходе сетка, покрывающая расчетную область, разбивается на множество доменов, каждый из которых обрабатывается отдельным процессором. Основная проблема здесь заключается в «честности» разбиения: нужно выбрать такую декомпозицию, при которой вычислительная нагрузка распределена равномерно между процессорами, а накладные расходы, вызванные дублированием вычислений и необходимостью передачи данных между процессорами, малы.
Характерный пример двумерной расчетной сетки приведен на первой картинке. Она описывает пространство вокруг крыла и закрылка самолета, узлы сетки сгущаются к мелким деталям. Несмотря на визуальное различие в размерах разноцветных зон, каждая из них содержит примерно одинаковое число узлов, т.е. можно говорить о хорошей декомпозиции. Именно эту задачу мы и будем решать.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity