Pull to refresh
9
1
Дмитрий @khajiit

Программист, железячник.

Send message

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views163K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 105: ↑102 and ↓3+120
Comments114

FUSE: как написать свою файловую систему

Level of difficultyHard
Reading time21 min
Views11K

Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:

- зачем писать свою ФС;

- как написать свою ФС с помощью фреймворка FUSE;

- какие подводные камни есть у эксплуатации FUSE в production.

Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим. 

Заварить чай и читать
Total votes 60: ↑60 and ↓0+75
Comments15

Я проработал в IT больше 10 лет. Вот 5 вещей, которые я бы хотел знать, если бы начинал сейчас

Level of difficultyEasy
Reading time5 min
Views187K

Привет, дорогой Хабр. Душа просит выговориться, так что я пришел к тебе – заодно надеюсь поделиться чем-то полезным с молодыми айтишниками. За свою карьеру я прошел через фриланс, стажировки, корпорации, смену профессии и даже запуск собственного SaaS'а (об этом как-нибудь отдельно...). Я наделал кучу ошибок и набил болезненных шишек. Под катом я вспоминаю 5 важных уроков, которые я бы хотел получить 10 лет назад.

Под кат →
Total votes 161: ↑144 and ↓17+146
Comments217

Разбираем осьминога

Reading time17 min
Views56K
Осьминоги странные.

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

В общем, у вас 4 года. За это время можно с нуля развить разум — и как только вы что-то поймёте, уже пора будет размножаться.

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

Никакого наследия вы не оставите.



Если вам этого мало, ещё стоит знать, что в этой роли вы нюхаете ногами, видите кожей (но до мозга всё равно это не доходит), позволяете щупальцам самим решать некоторые вопросы, развили лучшую в галактике маскировку, научились светиться и оставлять объёмный след тела, можете редактировать свой собственный РНК-код (до 60%). Вместо цветного зрения — поляризованное (дико полезное на глубине), поэтому квадрат раскрывается в своём величии только при наклоне. Ну и ещё осьминоги едят задницей, какают головой (транзитом через мозг), у них синяя кровь и вообще немного нетрадиционная архитектура.

Сейчас объясню, почему осьминоги прекрасны.
Читать дальше →
Total votes 459: ↑454 and ↓5+532
Comments151

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

Level of difficultyHard
Reading time29 min
Views22K

Android-смартфон при подключении к компьютеру через USB может выглядеть как медиаустройство, модем или хранилище файлов. В этой статье мы научимся делать из него USB-клавиатуру, мышь и флешку.
Читать дальше →
Total votes 59: ↑59 and ↓0+82
Comments48

Запуск MacOS 13+ в VMware на процессорах AMD (OpenCore)

Reading time7 min
Views5.5K

Всем привет. Делюсь своими изысканиями по запуску виртуальных машин MacOS на процессорах AMD. Возможно кому-то будет полезным.

Предыстория: в наличии несколько виртуалок, с которыми долгое время не было никаких проблем. Версии - от Mojave до Monterey, они даже обновлялись штатно. Далее, при апдейте на Ventura/Sonoma ловим кернел панику - никакие рекомендации из интернета не помогли. Глаз пал в сторону хакинтоша, но как его конфигурировать под вмварь тоже оказалось не совсем понятным, поэтому и напишу этот гайд:
вводные - Ryzen 5950X, Windows 10, VMware Workstation 16.2 (была версия 16.0, пока не столкнулись в проблемой апдейта макоси).

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments2

TOTP без смартфона

Level of difficultyEasy
Reading time5 min
Views17K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

Читать далее
Total votes 68: ↑68 and ↓0+68
Comments88

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views110K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Total votes 385: ↑385 and ↓0+383
Comments390

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views157K

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

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

Читать далее
Total votes 446: ↑438 and ↓8+490
Comments358

Итак, вы думаете, что знаете Git? Часть вторая: новое в Git

Level of difficultyEasy
Reading time4 min
Views28K

Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.


Далее в нашей серии постов из трёх частей у нас новые фичи! Здесь я расскажу про пять относительно новых вещей в git, о которых вы могли не слышать, потому что ну почему вы?


Мы взглянем на:


Погружаемся!
Total votes 35: ↑34 and ↓1+40
Comments84

Когнитивные искажения, о которых стоит помнить

Reading time15 min
Views82K

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

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

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

Читать далее
Total votes 84: ↑76 and ↓8+79
Comments36

Итак, вы думаете, что знаете Git? Часть первая: старый добрый Git

Level of difficultyEasy
Reading time4 min
Views15K

Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.


В первом посте из этой короткой серии по Git я хотел начать с вещей, уже существующих какое-то время. При этом кажется, что многие люди о них не знают или не умеют ими пользоваться. В них нет ничего нового, но я нахожу их полезными и, возможно, не совсем освещёнными. Я просто хочу рассказать о:



Давайте покопаемся!
Total votes 22: ↑21 and ↓1+23
Comments6

Разбираемся с Bluetooth Low Energy на примере превращения USB-клавиатуры в беспроводную

Level of difficultyMedium
Reading time16 min
Views16K


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

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

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

Данная статья ставит целью на примере разработки собственной Bluetooth-клавиатуры помочь разобраться в базовых понятиях Bluetooth, так как чтение скучных спецификаций и статей с введением в технологию даёт мало пользы.
Читать дальше →
Total votes 55: ↑53 and ↓2+72
Comments76

Скрытые возможности элемента <input>

Level of difficultyMedium
Reading time8 min
Views18K

Элемент <input> в HTML самый интересный.

Большинство его собратьев вне зависимости от своих атрибутов ведут себя одинаково. При этом атрибут type элемента <input> может принимать 22 разных значения, которые не только меняют его поведение, но и влияют на внешний вид (зачастую в ущерб стилистике).

Элемент <input> отвечает за всё, начиная с текстового ввода и чекбоксов, заканчивая переключателями и кнопкой для сброса всех полей в форме. В этой статье я опишу не только различные типы <input>, но и сопутствующие атрибуты, о которых вы могли не знать, и которые делают этот элемент более удобным и применимым в различных ситуациях. Приступим!
Читать дальше →
Total votes 83: ↑82 and ↓1+101
Comments22

Курс «PostgreSQL для начинающих»: #3 — Сложные SELECT

Level of difficultyMedium
Reading time12 min
Views31K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции углубимся в расширенные возможности команды SELECT : как можно "сложить" и "вычесть" выборки (UNION/INTERSECT/EXCEPT), или запомнить и использовать в рекурсивных запросах (CTE), что дают оконные функции (WINDOW) и соединения (JOIN).

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись.

Читать далее
Total votes 32: ↑31 and ↓1+34
Comments7

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Level of difficultyHard
Reading time13 min
Views86K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Total votes 313: ↑312 and ↓1+368
Comments156

In RISC-V Rust

Level of difficultyMedium
Reading time16 min
Views10K

Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus.

Читать далее
Total votes 48: ↑48 and ↓0+48
Comments12

Графические оболочки FFmpeg

Level of difficultyEasy
Reading time6 min
Views30K


Считается, что работа в консоли эффективнее GUI по нескольким причинам. Во-первых, там быстрее набирать команды, чем двигать курсором. Во-вторых, на CPU, память и GPU не ложится лишнее бремя графической оболочки, так что любые процессы быстрее выполняются в консоли.

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

FFmpeg — изначально консольная утилита. Но её популярность крайне высока. Поэтому появляются всё новые варианты графических оболочек для FFmpeg, чтобы доступ к инструменту получили абсолютно все пользователи.
Читать дальше →
Total votes 107: ↑107 and ↓0+107
Comments76

Decky Notifications: как переизобрести KDE Connect и перенести уведомления в Steam Deck

Reading time12 min
Views3.4K

Недавно в мои руки попала портативная игровая консоль Steam Deck. Замечательное устройство, которое полностью поглощает внимание. В этом я вскоре нашел минус: телефон генерирует уведомления и приходится откладывать приставку, чтобы посмотреть сообщение.

Хочу играть и не проверять телефон, но при этом боюсь пропустить что-то важное. И я нашел способ решение этой задачи. В этой статье расскажу, как мне пришлось полностью перебрать протокол KDE Connect, чтобы написать плагин, который переносит уведомления в Steam Deck. Подробности под катом!
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments10

Zabbix, PostgreSQL и pg_stat_statements

Level of difficultyHard
Reading time43 min
Views11K

Я хочу поделиться своим опытом использования Zabbix для анализа проблем с производительностью PostgreSQL, используя расширение pg_stat_statements.

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments17
1
23 ...

Information

Rating
1,312-th
Location
Россия
Registered
Activity