Как стать автором
Обновить
27
Cherniaev Andrei @DungeonLordsread⁠-⁠only

Пользователь

Отправить сообщение

Простой способ переноса больших файлов по частям

Время на прочтение1 мин
Количество просмотров30K
Бывает, что необходимо перенести большой файл, например, на flash с файловой системой FAT16/32 или загрузить на сервер по частям. На помощь придут две программы, которые, как правило, присутствуют в любом дистрибутиве Linux и Mac OS.

Команда split

$ split -a 1 -d -b 4000M sample.iso sample.iso.part

разобьет исходный файл sample.iso на части по 4 Гбайта (максимальный размер файла в FAT), каждая из которых будет именоваться как sample.iso.partN, где N = 0, 1, 2,… .
Собрать части воедино на целевой системе поможет команда cat:

$ cat sample.iso.part* > sample.iso

Применение маски приведет к тому, что утилита cat переберет все файлы по порядку, начиная с sample.iso.part0.

Этот наглядный пример показывает, как можно перенести большой файл. Более подробную информацию по использованию cat и split можно получить в справке (--help) и руководствам (man) к программам.
Всего голосов 82: ↑59 и ↓23+36
Комментарии69

Сбор и анализ логов в Linux

Время на прочтение8 мин
Количество просмотров41K

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

В этой статье мы будем говорить о том, как устроено логирование событий в ОС Linux. В качестве примера будет рассматриваться Ubuntu Linux 22.04, однако в других дистрибутивах основные элементы будут сходными.   

Читать далее
Всего голосов 11: ↑9 и ↓2+8
Комментарии4

Пчела на работе, разработка игр на SFML C++

Время на прочтение4 мин
Количество просмотров11K

Предыдущая тема

Обзор игры на SFML С++. Как клонировать репозиторий и собрать проект с помощью СMake. Обзор классов игры "Пчела на работе".

Читать далее
Всего голосов 3: ↑2 и ↓1+2
Комментарии0

Сборка ядра Linux с LTO оптимизацией

Время на прочтение25 мин
Количество просмотров31K


Технический прогресс не стоит на месте, появляются новые компьютерные архитектуры, компиляторы становятся умнее и генерируют более быстрый машинный код. Современные задачи требуют все более креативного и эффективного решения. В данной статье пойдет речь, на мой взгляд, про один из самых прогрессивных тулчейнов LLVM и компиляторы на его основе Clang и Clang++, для языков программирования С и C++ соответственно. Хоть GCC — конкурент Clang, может агрессивнее оптимизировать циклы и рекурсию, Clang дает на выходе более корректный машинный код, и чаще всего не ломает поведение приложений. Плюс оптимизация программ не заканчивается только оптимизацией циклов, поэтому Clang местами дает лучшую производительность. В GCC же за счет переоптимизации вероятность получить unpredictable behavior значительно выше. По этой причине на многих ресурсах не рекомендуют использовать -O3 и LTO(Link Time Optimization) оптимизации для сборки программ. Плюс в случае агрессивной оптимизации, размер исполняемых файлов может сильно увеличиться и программы на практике будут работать даже медленнее. Поэтому мы остановились на Clang не просто так и опции компиляции -O3 и LTO работают в нем более корректно. Плюс современные компиляторы более зрелые, и сейчас уже нет тех детских болячек переоптимизации и LTO.
Узнать подробности
Всего голосов 59: ↑48 и ↓11+59
Комментарии55

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

Время на прочтение6 мин
Количество просмотров52K

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее
Всего голосов 100: ↑93 и ↓7+100
Комментарии83

Пишем драйвер ядра Linux для неизвестного USB-устройства

Время на прочтение15 мин
Количество просмотров17K
image

В этой статье объяснен весь процесс, на выходе которого получается рабочий драйвер ядра Linux для недокументированного USB-устройства. Выполнив обратную разработку коммуникационного протокола USB, я покажу архитектуру драйвера ядра для USB. Кроме драйвера ядра в этой статье будет рассказано о простом инструменте для пользовательского пространства; при помощи этого инструмента можно управлять таким устройством. Конечно, придется углубиться в подробности, касающиеся конкретного прибора, но не сомневайтесь – описанный процесс с тем же успехом применим и к другим USB-устройствам.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+57
Комментарии9

Точка, точка… запятая?

Время на прочтение4 мин
Количество просмотров9.7K

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


Вот, например, у меня на компьютере сегодняшняя дата пишется так — 06.01.2023, а на одном из моих серверов в уголке экрана светится 01/06/23. Это американский формат, и я каждый раз мучительно вспоминаю, 01/06 это первое июня или всё таки шестое января.


Ещё одно национальное отличие — символ отделения целой и дробной части в числах. В России по традиции и в соответствии со стандартами надо отделять дробную часть запятой (Пи = 3,14), а американцы (и вслед за ними программисты) используют десятичную точку (Pi = 3.14). Из-за этого различия иногда случаются разные казусы.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+21
Комментарии51

Ночью спит спокойно мама — мы собираем OpenCV для Raspbian'a

Время на прочтение8 мин
Количество просмотров18K

Последние пару недель были непростыми для нашей команды. Выпускали OpenCV 4, а вместе с ним готовились к Intel's OpenVINO toolkit R4, в состав которого входит OpenCV. Думаешь, отвлекусь на время, посмотрю, как обычно, форумы про OpenCV, да комментарии пользователей, и тут на тебе, модно стало говорить что OpenCV не IoT, что под Raspberry Pi собрать — припоя не хватает, что на ночь make -j2 ставить — утром будет готово, если повезёт.


Поэтому предлагаю дружно взяться за руки и посмотреть, как же можно собирать библиотеку OpenCV для 32-битной операционной системы, исполняемой на ARM процессоре, используя ресурсы машины с 64-битной OS, движимой отличной архитектурой CPU. Колдовство Кросс-компиляция, не иначе!

Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии13

Как Data Scientist переехал в Германию в разгар мобилизации

Время на прочтение13 мин
Количество просмотров30K

Под катом я расскажу о своем опыте поиска работы в Германии после начала войны военной операции, а также о переезде после объявления частичной мобилизации.

Разрушим стереотипы по поводу немецкой бюрократии и педантичности.

Ну и конечно посчитаем сколько денег, времени и седых волос на это ушло.

Запрыгнуть на трактор
Всего голосов 59: ↑43 и ↓16+35
Комментарии58

Самодельный кремниевый диод

Время на прочтение2 мин
Количество просмотров28K

У меня есть паяльник, проволока и кусок кремния. Как сделать проце… Хотя, нет. Как сделать диод?

Читать далее
Всего голосов 124: ↑123 и ↓1+162
Комментарии59

58 байтов CSS, которые выглядят красиво почти где угодно

Время на прочтение2 мин
Количество просмотров31K

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

main {
  max-width: 38rem;
  padding: 2rem;
  margin: auto;
}

Давайте их разберём.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+37
Комментарии11

Микрон: Чуть детальнее о производстве 65нм микросхем в России

Время на прочтение3 мин
Количество просмотров88K
Вчера все отечественные сайты облетела новость о том, что в России Микроном разработана технология производства микросхем по нормам 65нм (или даже «В России выпущены первые 65-нм микросхемы»). Ранее Микрон имел лицензированную у STMicroelectronics технологию 90нм. Попробуем чуть детальнее разобраться, как там обстоят дела.

Микрон на этот раз на удивление опубликовал достаточно много информации. На фотографиях — разметка одного тестового транзистора и фотографии сделанные электронным микроскопом. Под катом — посмотрим, как это можно было сделать и сравним с Intel 65nm.
Читать дальше →
Всего голосов 104: ↑102 и ↓2+100
Комментарии55

Метапрограммирование в C++

Время на прочтение5 мин
Количество просмотров40K
Метапрограммирование — это «программирование программ», то есть написание некой промежуточной программы, результатом которой будет некая часть другой программы. Самый простой пример метапрограммирования — это шаблоны C++. Вместо написания десяти одинаковых функций для разных типов, мы пишем шаблон, и компилятор сам соберет нам эти десять функций.
Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии55

Изучаем миниатюрный шаговый двигатель

Время на прочтение16 мин
Количество просмотров52K
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помощи обратной связи и точным измерениям.

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


Всего голосов 44: ↑44 и ↓0+44
Комментарии37

Чем интересуется западная молодежь (в микроэлектронике)

Время на прочтение5 мин
Количество просмотров12K

Design Automation Conference (DAC) - главная выставка софтверных компаний, которые создают средства проектирования чипов. Именно на ней появляются стартапы, которые определяют проектирование через 10-15 лет (например появление Synopsys на рубеже 1980-1990-х привело к появлению iPhone в середине 2000-х).

На DAC помимо выставки и официальных докладов есть также и poster session - молодые исследователи из университетов вывешивают в виде плакатов, чем они занимаются. Я методически сфотографировал все постеры во время последней конференции DAC в Сан-Франциско, и вот перед вами картина маслом:

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

Больше про нейросети и трояны,но не только
Всего голосов 29: ↑27 и ↓2+32
Комментарии30

Программируем Arduino Uno на Rust: настраиваем среду и моргаем светодиодом

Время на прочтение8 мин
Количество просмотров16K

Кто-то из вас наверняка задавался вопросом: а нельзя ли программировать Arduino на чём-то более современном и удобном? Вот и я задавался. И нашёл Rust (не то, чтобы я о нём не знал). И на нём можно программировать микроконтроллеры AVR и платы Arduino, построенные на них. И здесь я расскажу о том, как настроить среду разработчика на Rust в Linux, GNU Emacs и Visual Studio Code и как запрограммировать Arduino Uno на моргание светодиодом.


#![no_std]
#![no_main]

use ruduino::Pin;
use ruduino::cores::current::{port};

#[no_mangle]
pub extern fn main() {
    port::B5::set_output();

    loop {
        port::B5::set_high();
        ruduino::delay::delay_ms(1000);
        port::B5::set_low();
        ruduino::delay::delay_ms(1000);
    }
}
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии25

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

Время на прочтение3 мин
Количество просмотров5.4K
Инженеры из Hitachi подготовили тысячи аудиозаписей, на которых запечатлена работа промышленного оборудования в боевых условиях. С помощью такой библиотеки машинные алгоритмы смогут выявлять нештатную работу систем и прогнозировать потенциальные поломки.

Рассказываем, что вошло в дата-сет и кто еще трудится над аналогичными проектами.

Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии18

Заблуждения программистов о картах

Время на прочтение12 мин
Количество просмотров54K


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

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

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Всего голосов 240: ↑236 и ↓4+306
Комментарии114

Как подключить LCD экран от кассового аппарата ЭКР-2102 к Ардуино

Время на прочтение7 мин
Количество просмотров30K
Как-то просматривая объявления на OLX, я наткнулся на распродажу старой электроники по очень низким ценам, в итоге было куплено три кассовых аппарата и один модем (на разбор с целью пополнения запасов). Цена вопроса 1500 тенге — примерно 250 рублей.

image

Разобрав это добро я стал обладателем трех ЖК дисплеев и трех чековых принтеров.

Как подключить дисплей к Ардуино? На плате ЖК дисплея было обнаружено несколько надписей. 5104219-01, 251 12, 251-Т2. Использована микросхема Holtek HT1621B, datasheet был скачан и изучен. К сожалению, тип используемого ЖКИ так и не был опознан.
Всего голосов 31: ↑31 и ↓0+31
Комментарии25

Штука для намотки трансформаторов. Без Arduino

Время на прочтение4 мин
Количество просмотров23K

В одном из проектов понадобилось намотать под сотню трансформаторов. Это стало поводом пересмотреть нелюбовь к моточным изделиям, которая тянулась ещё со школы, где, помогая в кабинете физики, вручную перематывал большую катушку для опытов Фарадея. Зелёную, как сейчас помню.

Поэтому вместо поиска трансформаторного завода меня манил ящик с деталями от старых проектов.

Читать далее
Всего голосов 69: ↑69 и ↓0+69
Комментарии38

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность