Обновить
61
5

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

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

Команда awk – примеры использования в Linux и Unix

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

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

Спин-оффы, что популярнее оригиналов

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

В современном мире мало кто незнаком с понятием «спин-офф». Ответвления от основной серии того или иного произведения это частое явление для любой креативной сферы. От создания спин-оффа к полюбившемуся франчайзу выигрывают все: у писателей развязываются руки, ведь можно отойти от привычной сюжетной канвы и поэкспериментировать как с формой, так и с содержанием; спонсоры с помощью меньших затрат (по своей природе, на подобные проекты тратят меньше) поддерживают интерес к продукту, а поклонники получают что-то имеющее отношение к своим любимым вселенным между выходом основных частей.

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

Используем клиентский процессор по максимуму. Часть 1: Rust + WebAssembly

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

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

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

Прирост производительности при использовании всех техник оптимизации по сравнению с реализацией на чистом JS может составлять ~1000%: от 8–9 до 100–110 фпс. Это можно проверить на интерактивном онлайн-демо, позволяющем также поиграться с числом потоков, способом вычислений и формой фрактала.
Читать дальше →

Mesh: 29 лет с появления первого общедоступного браузера

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

30 апреля 1993 года интернет-браузер под названием WorldWideWeb стал общедоступным, а его код — открытым. Его «отцом» стал знаменитый британский программист и разработчик Тимоти Бёрнерс-Ли: создатель идеи всемирной сети.

За четыре года до того, в марте 1989 года, Тим Бёрнерс-Ли представил руководству CERN, расположенной в Швейцарии Европейской организации ядерных исследований, доклад о необходимости создания распределённой гипертекстовой системы для улучшения работы организации.

К тому времени компьютерные сети вообще, и прямые предки нашего Интернета в частности (ARPANet и NSFNet) в частности, существовали уже два десятка лет — но функционировали они совершенно не так, как привычно нам в XXI веке. Если изрядно упрощать, то Интернет в эпоху своей предыстории функционировал в основном как канал для пересылки сообщений электронной почты. В нём не было ни страниц, доступных с любого подключённого к сети компьютеру, ни их адресов, ни инструмента для их просмотра.
Читать дальше →

KeybJr – универсальное подключение клавиатуры к PCjr

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

В качестве продолжения своей предыдущей статьи об IBM PC и его особенностях я решил реализовать KeybJr – небольшой открытый проект, позволяющий подключать к PCjr клавиатуру через проводное соединение или ИК-порт. Натолкнуло меня на это отсутствие в системе возможности для подключения нормальной клавиатуры за исключением редких и дорогостоящих сторонних решений.
Читать дальше →

Всемирный день пароля: как цифровая информация обзавелась защитой?

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

Каждый первый четверг мая в IT-мире отмечается World Password Day: всемирный день паролей. Его предложил ввести в 2005 году Марк Бернетт как напоминание о важности паролей — и выразил пожелание, чтобы хотя бы в этот день пользователи вспоминали о необходимости их периодически обновлять. По предложению Intel Security, с 2013 года он получил своё место в календаре: в 2022 году он пришёлся на четверг 5-го мая.
Читать дальше →

Нецелевое использование assert-функций в TypeScript

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

Это ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить assert-функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.
Читать дальше →

Pulsar на KubeSphere. Установка платформы распределённого обмена сообщениями и потоковой передачи данных

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

Apache Pulsar и KubeSphere — мощные инструменты для нативных облачных приложений. В этом посте мы покажем, как развернуть Pulsar на KubeSphere с нуля.

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

Агломерация Мехико: воды, дайте нам воды

Время на прочтение19 мин
Количество просмотров35K
Что мы знаем о современной Мексике? Помимо бежавшего туда Льва Троцкого и его романа с Фридой Кало, мексиканской революции, ступенчатых пирамид, авокадо да обжигающей уличной еды с тако и буррито? Между тем, это крупнейшая страна испаноязычного мира, а её столица — агломерация Мехико с 22 млн населением, являет собой яркий пример «моста» между развитым миром северных соседей и оставшейся Латинской Америкой. Однако трудно было представить более неудачного места расположения столь крупного антропогенного образования — дно высохшего озера, постоянные наводнения и угроза землетрясений. А ещё добрая половина населения этой агломерации живёт в неформальном жилье без центрального водоснабжения, полагаясь на автоцистерны (pipas). Давайте разбираться в этом городе-парадоксе, построенном когда-то на воде, а сегодня так остро в ней нуждающемся.

Районы неформального жилья в Naucalpan de Juárez, северо-западном пригороде агломерации Мехико. Источник: Iwan Baan, National Geographic
Читать дальше →

День Нептуна. Вспоминаем загадочную Windows Neptune

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

Представление о том, что в Microsoft создают операционные системы последовательно, одну за одной, как эпизоды в телесериале (да и те далеко не всегда снимают по порядку) — не совсем верно. Работа над следующей версией Windows порой стартует едва ли не одновременно с началом разработки текущей, просто занимаются этими проектами разные команды. Так произошло и в самом конце 90-х: ещё не вышла легендарная Windows 2000, а в Microsoft уже вовсю проектировали ОС, которая должна была прийти ей на смену. Так появился проект Neptune — самая загадочная версия Windows, которую всё ещё можно отыскать на торрентах, установить и протестировать на своём компьютере.
Читать дальше →

Безопасность в компании: хоть в лоб, хоть по лбу

Время на прочтение8 мин
Количество просмотров10K
Когда-нибудь ты станешь немощен и слаб —
Делай бэкап, давай делай бэкап,
На случай, если укусит радиоактивный краб —
Делай бэкап, давай делай бэкап!
НТР


Только не так!

31 марта весь айтишный мир готовится к 1 апреля. Нет, в компаниях не разрисовывают красным кетчупом пол, не обводят мелом контуры тел, не перетыкают мышки и даже уже не заклеивают лазеры. Всё в прошлом — ну почти. Все готовятся к ненормальному дню атак и таким образом отмечают день бэкапа. И можно каждый год (месяц, день) писать про резервное копирование на Хабре, развешивать плакаты о необходимости бэкапов и инфобеза, но под клавиатурой коллеги всегда найдётся листочек с хитрым паролем qwerty123, в браузере — куча незащищённых платёжных средств, а пароль на вход в CRM и вовсе будет пустым (логин, конечно, admin). Всё потому что компаниям, особенно в секторе малого и среднего бизнеса, затраты на безопасность кажутся роскошью, а не средством выживания. А зря. Как показали панельные беседы на ЦИПР-2021, для современных злоумышленников практически нет преград, они в своём развитии могут основательно опережать средства защиты информации и IT-инфраструктуры: им даже воздушный зазор не помеха. Так вы хоть бэкап-то сделайте, а?
Читать дальше →

Кунг-фу стиля Linux: простые конвейеры

Время на прочтение9 мин
Количество просмотров16K
В былые времена компьютеры делали по одному делу за раз. В буквальном смысле. В компьютер загружали перфокарты, или перфоленту, или что-нибудь другое, и нажимали на кнопку. Компьютер читал программу, выполнял её и выдавал результаты. Потом он «засыпал», пребывая в таком состоянии до тех пор, пока ему не дадут новых входных данных.



Проблема тут в том, что компьютеры, особенно — тогда, были дорогим удовольствием. И, в случае с обработкой типичной программы, компьютеры тратят много времени, ожидая чего-то вроде помещения в них следующей перфокарты, или момента, когда магнитная лента дойдёт до нужного места. В таких случаях компьютер, фигурально выражаясь, в нетерпении стучит ногами, ожидая следующего события.
Читать дальше →

Обработка данных криптовалютного рынка в RavenDB с использованием временных рядов

Время на прочтение10 мин
Количество просмотров4.7K
Что если можно было бы хранить данные временных рядов вместе с «обычными» данными, избавившись от затрат времени, сил и ресурсов, связанных с использованием отдельной СУБД?

RavenDB — это документо-ориентированная NoSQL-база данных, оснащённая стандартной поддержкой работы с временными рядами. То есть — получается нечто вроде MongoDB со встроенной InfluxDB. Это позволяет применять RavenDB для хранения и обработки данных, получаемых с финансовых рынков. В частности — строить графики цены Bitcoin с использованием C# и TypeScript.

Вот 5-минутное видео, в котором приведено сравнение поддержки временных рядов в RavenDB с их поддержкой в других подобных системах.

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

Сам себе РКН или родительский контроль с MikroTik (ч.3)

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


В конце 2021 года был опубликован цикл статей, посвящённый родительскому контролю на оборудовании MikroTik. Ранее были подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control, возможности маркировки трафика посредством Firewall Mangle для решения указанной задачи. Представленные предложения базировались на факте неизменности MAC адресов детских беспроводных устройств. Это позволяло осуществить статическую привязку IP адресов. Однако современные мобильные операционные системы рандомизируют MAC, тем самым делая предложенные алгоритмы нежизнеспособными. Вследствие этого подготовлена третья часть из цикла статей, в которой к представленному ранее решению прикручен протокол Radius. Его применение нивелирует озвученную проблему.

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

Георадар — как способ увидеть «подземный мир»

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

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

Хостинги в 2030: мечты, прогнозы и суровая реальность

Время на прочтение6 мин
Количество просмотров6.9K
1 марта — день хостинга. Это день, когда мы обматываемся оптоволокном, чокаемся с серверными стойками, танцуем с бубнами, отбиваем DDoS-атаки и прочие проникновения, желаем друг другу 100% аптайм и адекватный SLA, а вечером падаем без сил: кто на ночное дежурство в дата-центрах, кто в скрипты, администрирование и прочую суету. В общем, самый обычный день хостера. Потому что в любой момент мы работаем для тех, кто нам доверяет и не имеем права выбирать один выходной из 365 дней. Почти весь февраль мы думали, какими могут быть хостинги в 2030, что там, за новым десятилетием? Получилось по-разному. 


Кстати, «зелёные» хостинги — одна из задач будущего. Все бы проблемы вот так решать! 
Читать дальше →

Скоростная съёмка процессов

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

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

Ученые пытаются «заглянуть» в черную дыру

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

Энрико Ринальди, физик-исследователь из Мичиганского университета, использует квантовые вычисления и глубокое обучение для решения квантовых матричных моделей, которые могут описать гравитацию внутри черной дыры. Эти два метода моделирования проиллюстрированы изображением выше. Глубокое обучение представлено в виде графов из точек (нейронная сеть), а квантовая цепь в виде линий, квадратов и кругов (кубиты и вентили). Эти модели сливаются с каждой стороной искривленного пространства-времени, отражая тот факт, что из них возникают свойства гравитации. В данный момент Ринальди трудится в лаборатории теоретической квантовой физики при Институте физико-химических исследований RIKEN в Токио.
Читать дальше →

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8

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


В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использовать в своих проектах на KC868-A8.

Мне нравится и Kincony KC868-A4 и KC868-A8, но наш сегодняшний подопытный с его 8-ю цифровыми входами, 8-ю реле на борту, I2C разъёмом и Ethernet интерфейсом смотрится значительно более внушительно и так и просится в какой-нибудь проект по домашней автоматизации. Поэтому мне было интересно разобраться, что там и как устроено, и как всем этим можно управлять.

Разбор программирования KC868-A8 мы начнём с распиновки ESP32 и выяснения, что и как к нему подключено инженерами компании Kincony.
Читать дальше →

Экспериментальная разработка эксплойта для Use-After-Free

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

Пошаговая реализация эксплойта для уязвимости CVE-2021-23134, включая описание используемых для этого инструментов. Это мой первый опыт разработки эксплойта для ядра – так что здесь вы вполне можете заметить некоторые ошибки, за которые я заранее извиняюсь.
Читать дальше →

Информация

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