Обновить
61
0

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

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

Магия ssh

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

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

Поскольку я программист, то инструментарий ssh часто нужен мне в разработке и для личных нужд. Самые частые задачи, которые я выполняю с его помощью (по частоте использования):

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →

Сравнение реализаций БПФ для .NET

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

В этой небольшой статье мы сравним следующие реализации быстрого преобразования Фурье (БПФ) для платформы .NET:
  Accord Exocortex Math.NET NWaves NAudio Lomont DSPLib FFTW
Версия: 3.8.0 1.2 5.0 0.9.6 2.1 1.1 (2017) 3.3.9
Лицензия: LGPL BSD MIT MIT MIT - MIT GPL
Сборки: 3 1 1 1 1 - - 1+1
Размер: 3.6 MB - 1.6 MB 0.3 MB 0.2 MB - - 2.3 MB
NuGet: да нет да да да нет нет нет
Читать дальше →

Защита данных супершифратором Cipherbox

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

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

Создание Aimbot для Half-Life 2

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

В этом посте мы расскажем о процессе создания aimbot — программы, автоматически прицеливающейся во врагов в игре жанра «шутер от первого лица» (FPS). Создавать будем aimbot для игры Half-Life 2, работающей на движке Source. Aimbot будет работать внутри процесса игры и использовать для своей работы внутренние функции игры, подвергнутые реверс-инжинирингу (в отличие от других систем, работающих снаружи игры и сканирующих экран).
Читать дальше →

Первый дата-центр на Луне. Хостинг в лавовых туннелях, канал 15 Гбит/с на Землю

Время на прочтение7 мин
Количество просмотров11K
© Джейсон Райли (студия Artificial Lens), по заказу Lonestar Data Holdings

Несмотря на все проблемы, программа «Артемида» неуклонно продвигается вперёд. С каждым годом наше возвращение на Луну становится всё ближе, появляются новые интересные детали.

Из необычных новостей — контракт частной компании Lonestar Data Holdings с подрядчиками Intuitive Machines и Skycorp на постройку нескольких ЦОДов под поверхностью Луны.
Читать дальше →

Создание HTTP-запросов на C++

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

В этой статье я покажу вам, как создавать HTTP-запросы к REST-серверу с помощью библиотеки C++ Request, написанной Ху Нгуеном. При её написании мистер Нгуен во многом ориентировался на принципы проектирования из Python Requests, поэтому для тех, кто использовал или знаком с Python Requests, C++ Requests окажется вполне понятна.
Читать дальше →

Прагматичный набор модификаций для Windows 10 на старом железе

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

В статьях про раздувание софта часто упоминают лаги Windows 10/11. Главная причина — ожирение кода в новых версиях. Для работы ОС с каждым годом требуется всё больше ресурсов. После засорения системы приходится ждать 10–20 секунд, пока отрисуются пункты контекстного меню по правой кнопке…

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

Но что делать, если приходится поневоле сидеть под Win10/11? Тогда остаётся одно — бороться с ожирением софта хирургическим путём. А именно, отключить ненужные модули и компоненты, развестистый GUI, анимацию и спецэффекты, удалить лишний софт, почистить реестр. Другими словами, спустить жирок из системы. После мануальных процедур винда начинает шевелиться значительно бодрее.
Читать дальше →

Запускаем Julia на Arduino

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

У меня нет особого опыта работы с микроконтроллерами. Раньше я немного экспериментировал с Arduino, а главной точкой входа моей домашней сети является Raspberry Pi, но на этом мой недавний опыт заканчивается. Я прошёл один курс по микроконтроллерам несколько лет назад, и справлялся с ним ужасно, едва набрав проходной балл. Тем не менее они меня восхищают — это устройства с низким энергопотреблением, которые можно запрограммировать выполнять практически любые операции, если быть аккуратным с управлением ресурсами и не стрелять себе в ногу.

При обсуждении Julia всегда подразумевается обязательное наличие двух аспектов: среды исполнения и сборщика мусора. Чаще всего оптимизация Julia (да и любого другого кода) сводится к двум аспектам:

  1. минимизация времени, потраченного на выполнение кода, который вы не писали,
  2. иметь достаточно кода, который нужно запускать скомпилированным в нативные команды той системы, где он должен работать.

Требование 1 сводится к принципу «не обменивайтесь информацией со средой исполнения и GC, если это необязательно», а требование 2 — к принципу «убедитесь, что не выполняется ненужный код, например, интерпретатор», то есть статически компилируйте свой код и по возможности избегайте динамичности.
Читать дальше →

Российское ПО или каково пить сладкий чай без сахара

Время на прочтение7 мин
Количество просмотров56K
Этот велосипед формально на ходу, на нём можно приноровиться ездить. С потерями и ранами, но можно. А нужно?

Когда-то давно я решил пить чай и кофе без сахара. На первых порах было очень сложно и выручал дорогой сахарозаменитель в микротаблетках: 2 штуки и прямо сладко. Очень быстро я стал замечать, что вкус напитков испортился, появилась какая-то неприятная, неописуемая химозинка, которая потом долго держалась во рту и вызывала жажду. Попробовал другой — тот же эффект. В итоге после пары месяцев мучений, стевии и прочих сладких добавок я стал наслаждаться всеми видами чая без сахара, а кофе бросил и пью редко, но с обычным сахаром — вкусно! И если вы думаете, что статья про лишний вес или сахарный диабет, вы ошиблись. Статья про заменители. Точнее, про российское программное обеспечение. Как вы поняли, и сладко, и, похоже, но есть та самая химозинка. Из-за которой противно употреблять. Попробуем разгадать её формулу.

Я нашёл девять слагаемых этой формулы. И они меня, откровенно говоря, опечалили. Скажу сразу, я субъективен и не работал с ПО всех типов и не говорю, что все в чём-то нехороши — например, я видел удачные российские системы управления сервисом, ITSM, CRM, ERP, BPMS и т.д. Но и в эти добротные системы проникает особый дух отечественной разработки, отчасти связанный с пожеланиями пользователей. Впрочем, обо всём по порядку.
Читать дальше →

Создание демки специально для HABR — Часть 1

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

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

Здесь я хочу поделиться «прохождением» этой «игры», под названием Демка для ПЭВМ «Микроша». В процессе чтения статьи может показаться, что всё просто и очевидно. Это всё так, когда есть документация и описание всех подводных камней. Когда каждый подводный камень ищешь сам, то это всё превращается в невероятно сложный квест.
Читать дальше →

Создание REST API с помощью Feathers.js и SQLite

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

Вы ищете способ создать веб-приложение с такими функциями, как аутентификация, настройка базы данных и авторизация, без написания тонны кода и конфигураций? Когда-нибудь хотели создать готовое к выпуску в прод приложение за считаные дни?

Хотите — верьте, хотите — нет, но это возможно! Это руководство покажет вам, как использовать Feathers.js для создания REST API за считаные минуты. Мы изучим Feathers.js, реализуем пример API, а также поделимся некоторыми мыслями и соображениями.

Давайте узнаем, как создать REST API Feathers.js для быстрого прототипирования приложения.
Читать дальше →

RVO и NRVO в C++17

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

Предположим, что в программе на C++ вы возвращаете из функции локальную переменную. Что происходит при вызове оператора return: копирование, перемещение или ни то, ни другое? От этого зависит длительность вызова функции и эффективность наших программ. Я постарался разобраться с этим вопросом и дам рекомендации по написанию функций так, чтобы повысить шансы на применение этой оптимизации компиляторами. Ну, а сокращения в названии статьи — это Return Value Optimization (RVO) и Named Return Value Optimization (NRVO).

Читать далее

Как я открыл компанию по созданию детских наборов электроники – Часть 1

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


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

Гик != айтишник 

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

Я старательно покупаю всё, о чём даже боялся грезить,
чувствуя злорадство, но не восторг.

Вера Полозкова


Небрежная одежда, неухоженный вид, взлохмаченные волосы, полная интроверсия и неумение общаться — если вы так себе представляете программиста, то как вас занесло на Хабр? Любой человек, хоть как-то знакомый с IT-сферой, знает, что программисты, девопсы, тестировщики, инженеры, разработчики, — айтишники, — это умные, продвинутые, практичные ребята с хватким умом и умением общаться ровно так, как того требуют условия. Прежде всего потому что IT — это бизнес. Они не ходят обвешанные гаджетами, не скупают последние модели техники, не бегут менять двенадцатый на тринадцатый и вообще относятся к носимым устройствам и электронике не фетишистски, а весьма утилитарно. У них может быть хобби, связанное или не связанное с технологиями, но они не посвящают ему жизнь и всю зарплату (за редким исключением). Получается, они не гики?
Читать дальше →

Руководство по обеспечению высокой доступности в Kubernetes

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

Перед вами полноценный гайд по запуску приложений с высокой доступностью (HA) в Kubernetes. В его основу лёг мой многолетний опыт работы с этой системой, приправленный лучшими практиками из официальной документации OpenShift и Kubernetes.
Читать дальше →

Используем клиентский процессор по максимуму. Часть 2: SIMD + мультипоточность

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

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

В предыдущей части мы нарисовали фрактал Ньютона с помощью WebAssembly на Rust. В этой части мы задействуем SIMD команды и параллельные вычисления, чтобы добиться ещё большей производительности.

Вживую увидеть прирост скорости можно на онлайн-демо. На моём компьютере она составляет ~900% по сравнению с обычной реализацией на wasm.
Читать дальше →

Z-Uno Shield 2. Вторая попытка сделать дома «умными»

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


В своей работе часто делаю прототипы устройств для «умных» домов на базе Z-wave. Проект Z-Uno упрощает этот процесс до уровня работы с ардуино. Подключил совместимые датчики, установил готовую библиотеку для них и написал сотню строк кода. Получил сертифицированное устройство, которое совместимо с другими устройствами Z-Wave. Но главный недостаток – нестандартная печатная плата. И весь огромный парк плат расширений для ардуино можно использовать, только подключив его проводами. Поэтому появление устройства Z-Uno shield был вопросом времени. Проведя «тщательный анализ» работы за последние годы, выяснилось: практически для каждого устройства необходимо организовать питание, подключить датчик и исполняемое устройство, написать программу, в которой нужно настроить работу с подключённой периферией. Пусть эти типовые задачи решает Shield, а мне останется больше времени на творчество и радости жизни!
Читать дальше →

Как ускорить работу в командной оболочке Bash

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

Любому начинающему разработчику необходимо научиться пользоваться командной строкой. При этом для выполнения в ней команд требуется оболочка. В статье речь пойдёт об оболочке Bash, которая популярна в UNIX-подобных системах и в большинстве дистрибутивов Linux используется штатно.
Читать дальше →

HDMI OLED-дисплей в стиле стимпанк

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

Чёрт возьми! Я не мог оставить без внимания тот факт, что мой предыдущий дурацкий проект получил настолько живой отклик. Вряд ли мне когда-либо удастся превзойти такое соотношение приложенных усилий и полученных за них «интернет-очков». Дурацкий, глупый и бесцельный — похоже, это мои дежурные слова. А что станет наиглупейшим апгрейдом для глупейшего дисплея, как ни придание ему вида а-ля стимпанк? Но в моём представлении это никак не цепляние к шляпе покрашенных в золото шестерёнок. Если я говорю стимпанк, то подразумеваю фрезерованную латунь и накатку.
Читать дальше →

Культовые игры Dendy: три легенды девяностых

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

Для подавляющего большинства рождённых в конце 70-х и начале 80-х эра компьютерных игр началась в 90-е годы с приставок Dendy. Такое имя получил созданный по инициативе компании Steepler и идее Виктора Савюка не совсем легальный и официальный клон приставки третьего поколения Nintendo NES / Famicom, предназначенный для рынка России и других стран постсоветского пространства.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность