Как стать автором
Обновить
0
0
Георгий @IAmGeorgee

Системный инженер

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

Go scheduler. Простыми словами

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров28K

В данной статье расскажу о планировщике Go. Основу материала взял из книги Уильяма Кеннеди Ultimate Go. Вначале поговорим о планировщике OS, после перейдем к планировщику Go и сравним их.

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

Магия SSH

Время на прочтение11 мин
Количество просмотров510K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →
Всего голосов 115: ↑106 и ↓9+97
Комментарии75

Эффективная работа с битами при помощи Go

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров14K

Это статья познакомит вас с использованием возможностей Go для выполнения манипуляций с битами. Здесь мы разберём установку, очистку, инвертирование, сдвиг битов, использование техники SWAR, эффективную обработку Юникода и прочие приёмы, позволяющие повысить продуктивность программирования.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+39
Комментарии8

Запускаем на телефоне нейронку LLaMa 7B -13B 4 bit от фейсбука с настройкой Alpaca-LoRA

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров16K

Удалось запустить на телефоне пиксель 6 лингво нейронку LLaMa ужатую до 7 (альпака лора была настроена пока именно на 7 миллиардов параметров, и ответы могут быть удачнее именно на ней ) или 13 миллиардов параметров и 4 битных зависимостей. До установки её можно опробовать в гугл колаб.

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

Bittorrent с нуля на Go

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


BitTorrent — протокол загрузки и распространения файлов через Интернет. В отличие от традиционных отношений клиент/сервер, когда загрузчики подключаются к центральному серверу (например, для просмотра фильма на Netflix или загрузки веб-страницы), участники сети BitTorrent, называемые одноранговыми узлами, загружают фрагменты файлов друг с друга. Это то, что делает BitTorrent одноранговым протоколом. Исследуем, как он работает, и создадим собственный клиент, который сможет находить одноранговые узлы и обмениваться с ними данными.

Читать дальше →
Всего голосов 50: ↑47 и ↓3+53
Комментарии9

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Время на прочтение13 мин
Количество просмотров81K
Вот таких тирекс-тянок выдает нейросеть

Текст про Midjourney привлек внимание, и в комментариях наметилась дискуссия про Stable Diffusion. Аргументы убедили меня попробовать SD самостоятельно, но вскоре я понял, что это не самая простая задача. Сообщество любителей Stable Diffusion произвело на свет множество удобных инструментов, которые своим количеством и сложностью могут отпугнуть новичков.

Всю неделю, что я экспериментировал с нейросетью, я боролся с желанием SD добавлять вторичные гендерные признаки по моим запросам и грустил, смотря на результаты генерации котиков. О своих страданиях частично писал в личном Telegram-канале — подписывайтесь! В этом же тексте — собрал основные советы по работе со Stable Diffusion и подвел итог, сравнив эту нейросеть с Midjourney.
Читать дальше →
Всего голосов 84: ↑83 и ↓1+104
Комментарии53

Пишем и отлаживаем приложения для Flipper Zero

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

Недавно я получил свой флиппер и, решив написать первое приложение, столкнулся с проблемой отсутствия информации по отладке программного кода. Есть несколько статей по разработке приложений для флиппера (первое приложение и приложение HewViewer). Однако, когда я приступил к разработке и отладке приложения, опираясь на информацию из указанных статей, то столкнулся с трудностями, которые я опишу далее и укажу способы их решения.

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

Часть 1. Управление знаниями в Obsidian. Обработка информации. Рабочий процесс. Источники информации. Работа с заметками

Уровень сложностиСложный
Время на прочтение40 мин
Количество просмотров229K

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

Начнём долгий путь
Всего голосов 34: ↑31 и ↓3+37
Комментарии77

Моя попытка сделать Wi-Fi-флешку и что из этого получилось (а что нет)

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

Что такое WiFi-флешка? Это флешка, которая опознается, как флешка, пахнет, как флешка, крякает, как флешка, но на самом деле никакая она не флешка, она эмулирует файловую систему, а данные берет по WiFi с сервера.

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

Как красиво избавиться от switch-case посредством перечисления

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

Привет, хабр! Применение switch-case в коде - давняя тема холиваров на форумах на предмет чистоты кода. Лично я склоняюсь к простому мнению: инструмент необходимо использовать по назначению.

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

Читать далее
Всего голосов 21: ↑18 и ↓3+20
Комментарии27

Генерация лабиринтов: алгоритм Эллера

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

Привет, Хабр!

Сегодня я хотел бы рассказать о генерации идеального лабиринта - алгоритмом Эллера. Статья подойдёт всем любителям алгоритмов.

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

Pineapple Nano своими руками Часть 1. Сборка платформы

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

Pineapple Nano - это хакерское устройство от команды Hak5 для атак на беспроводные сети. Купить его не так просто, поэтому я решил собрать его сам. И эта статья будет как раз о том, как я прошел сквозь огонь и воду, чтобы воссоздать точную копию (ну почти) этого устройства. Поехали!

Читать далее
Всего голосов 36: ↑35 и ↓1+44
Комментарии23

Простые антенны для раций, ISM-диапазонов и др. приложений. Максимально просто о сложном. Часть 1. Теория

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

Сегодня понятие «радиосвязь» прочно вошла в нашу жизнь. Ещё 20...30 лет назад радиосвязь, в нынешнем её понимании — была уделом профессионалов, а «магия антенной техники» и вовсе являлась чем-то, вроде, закрытым знанием небольшой группы людей, закончившими профессиональные учебные заведения и потратившими на изучение отдельных направлений антенной тематики десятки лет.

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

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

Теория антенн - просто о сложном
Всего голосов 33: ↑33 и ↓0+33
Комментарии17

Разработка под Flipper Zero: быстрый старт и первое приложение

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

Итак, это случилось. Я добыл Flipper Zero в бою (ну, на самом деле мне его выдали на хакатоне), и естественно, что интереснее всего не играть в него, используя уже сделанные кем-то функции, а писать что-то новое. Примерно так же я развлекался с Pebble. Тут, кстати, все очень похоже — МК, RTOS, небольшой монохромный экранчик, си.

Поэтому давайте попробуем что-нибудь под него написать. Для начала, что-то совсем простое, чтобы освоиться с SDK, не закапываясь в отладку и сложности RTOS, но функциональное. Есть кнопки, есть экранчик, давайте напишем счетчик-кликер. Нажимаете кнопку — число увеличивается. Подойдет считать посетителей, круги на стадионе, взломанные домофоны или сообщения в чате русскоязычного комьюнити флиппера (по утрам, в особенно активное время там их бывает до 2к, так что я бы на вашем месте подумал, прежде чем нажимать кнопку Join).

Читать далее
Всего голосов 88: ↑85 и ↓3+112
Комментарии74

DIY наушники: тяга к совершенству

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

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

Проект, как и всегда, доступен на Thingiverse и уже включает в себя все доработки из этой статьи.

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

Создание собственных драйверов под Linux

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


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →
Всего голосов 323: ↑318 и ↓5+313
Комментарии107

Как устроен AES

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

О чём эта статья



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

В этой статье я напишу как устроен алгоритм шифрования AES (которого иногда называют Rijndael) и напишу его на JavaScript. Почему на JavaScript? Чтобы запустить программу на этом языке, нужен только браузер в котором вы читаете эту статью. Чтобы запустить программу, скажем, на C, нужен компилятор и найдётся совсем мало желающих, готовых потратить время на компиляцию кода из какой то статьи. В конце есть ссылка по которой можно скачать архив с html страницей и несколькими js файлами — это пример реализации AES на JavaScript.

Читать дальше →
Всего голосов 120: ↑115 и ↓5+110
Комментарии45

Смарт-карты для входа на Ubuntu

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

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

Одно из самых популярных применений смарт-карт — контроль доступа в здания и к компьютерным системам. Таким образом они используются, например, в правительстве США. Государственные учреждения обязаны соблюдать строгие правила безопасности, которые требуют надежную аутентификацию для доступа к конфиденциальным или ценным данным, хранящимся в ИТ-системах. Компании, которые работают с такими учреждениями, тоже должны соблюдать эти требования. Смарт-карты могут содержать сертификаты, пары открытого и закрытого ключей, PIN-коды и биометрические данные, например отпечатки пальцев и фотографию. Они действуют как уникальные идентификаторы при входе в здания или на компьютеры. Чипы на некоторых смарт-картах даже обеспечивают шифрование по стандарту FIPS 140-2.

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

Определяем направление на аэропорт с помощью RTL-SDR и GNU Radio

Время на прочтение4 мин
Количество просмотров18K
Привет, Хабр!

В настоящее время существует не так уж много стандартов связи, которые с одной стороны, любопытны и интересны, с другой стороны, их описание не занимает 500 страниц в формате PDF. Одним из таких, несложных для декодирования, является сигнал VHF Omni-directional Radio Beacon (VOR), используемый в аэронавигации.


VOR Beacon (с) wikimedia.org

Для начала вопрос читателям — как сформировать сигнал так, чтобы с помощью ненаправленной приемной антенны можно было определять направление? Ответ под катом.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии49

Аппаратный ключ шифрования за 3$ — возможно ли это?

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

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Всего голосов 151: ↑151 и ↓0+151
Комментарии151
1

Информация

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

Специализация

System Administration, Security Administrator
Junior
Linux
Virtualization systems
Mikrotik
*NIX administration