На reddit большое комьюнити, которое посвящено vim: neovim, vim, vimplugins, vimporn. И чтобы не пропускать какие-то интересные вещи, которые случаются в мире vim, я накидал bash-скрипт. Скрипт выводит топ-5 лучших постов за год по каждому сабредиту. В статье будет сам скрипт, а также я своими словами расскажу о каждом посте, который попал в топ.
Пользователь
Теория типов
Мы так привыкли к типам, что редко задаёмся вопросом, что же они такое на самом деле? А главное - почему возникла необходимость в их использовании? Этот поверхностный обзор сделан для того, чтобы продемонстрировать, как типы и другие связанные абстракции являются следствием из обобщения условий различных задач.
Что такое транскрибация: рост популярности, возможности заработка и программы
Далеко не каждый пользователь интернета сталкивался с понятием Транскрибация, но в тоже время фрилансеры успевают получать за это быстрые деньги. Спрос на услугу растет, поэтому разберем подробнее, о чем же речь, как это использовать и монетизировать.
Что такое Netcat? Bind Shell и Reverse Shell в действии
Друзья, всех приветствую!
В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.
Netcat
Netcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Netcat настолько универсален, что вполне оправдывает авторское название "швейцарский армейский нож" хакера. Самое четкое определение Netcat дают сами разработчики: "простая утилита, которая считывает и записывает данные через сетевые соединения, используя протоколы TCP или UDP".
Подключение к порту TCP/UDP
Как следует из описания, Netcat может работать как в режиме клиента, так и в режиме сервера. Для начала давайте рассмотрим клиентский режим. Мы можем использовать клиентский режим для подключения к любому порту TCP/UDP, что позволяет нам: Проверить, открыт или закрыт порт или подключиться к сетевой службе.
Давайте начнем с использования Netcat (nc), чтобы проверить, открыт ли порт 80 на тестируемой машине (в качестве тестируемой машины мы будем использовать основную машину на которой установлена ВМ !!!).
Мы введем несколько аргументов: опцию -n, чтобы отключить DNS и поиск номеров портов по /etc/services; -v для вывода информации о процессе работы; IP-адрес назначения; и номер порта назначения:
P.S. Чтобы узнать IP-адрес основной машины выполните команду ipconfig в командной строке если у вас основная машина Windows, и ifconfig если у вас Linux или MacOS.
Когда иммунитет мешает: маскировка полезных бактерий
Даже в абсолютно пустой комнате, где на первый взгляд никого нет, бурлит жизнь. Речь, конечно же, о микроорганизмах, которых не увидеть без специального оборудования. Но, как говорится, суслика не видно, а он есть. Микробы по распространенному мнению — это злобные мелкие существа, от которых добра не жди. И в этом есть смысл, так как огромное число разнообразных микроорганизмов (бактерий, вирусов и грибков) являются патогенами самых разных заболеваний. Однако даже в такой недружелюбной толпе имеются и весьма полезные индивиды. Мы (т.е. ученые и врачи) это можем прекрасно понимать, чего не скажешь про нашу иммунную систему. А потому ученые из Колумбийского университета (США) создали систему, которая маскирует полезные бактерии, главной функцией которых является обнаружение и ликвидация раковых клеток. На чем основана данная система, каков ее функционал, и насколько она эффективна? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Как создать своего бота: 4 способа для новичков и профи
Чем выше спрос на разговорные интерфейсы, тем больше решений на рынке для разработки ботов. Но не всегда понятно, какое выбрать — речь даже не про конкретный продукт или вендора, а про сам инструмент. Например, можно купить уже готового бота, заказать разработку, сделать все своими силами в конструкторе, с помощью фреймворка или диалоговой платформы. Мы подготовили подробнейший гайд по основным способам создания бота.
Cron — лучшие практики
Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.
Оптическое распознавание символов с помощью Rust и WebAssembly
После переписывания Cyberscore я захотел отправить на сайт какие-нибудь результаты. Последнее, во что я играл, это Pokémon Legends: Arceus, по которой на Cyberscore есть около 3000 таблиц результатов. Я не собирался отправлять столько рекордов вручную, поэтому начал придумывать инструмент для автоматизации этого процесса.
Эта статья посвящена двум вещам: процессу извлечения результатов из JPG с помощью Rust и встраиванию этого функционала во фронтенд Cyberscore.
Генерируем Rust обёртку для FMOD
Rust — хороший выбор для разработки игр. Хотя экосистема языка еще молода, с помощью FFI можно использовать готовые решения написанные на другом языке. Но написание и использование FFI может быть не тривиальной задачей, когда дело доходит до чего-то большего, чем вызов одной или двух функций.
Это руководство содержит общий обзор и конкретные приемы написания сложной Rust обёртки для звукового движка FMOD с помощью парсера pest и квази-цитирования.
Разбираем алгоритмы компьютерной графики. Часть 3 – анимация «Пламя»
Рассмотрим алгоритм рисования простейшего пламени. Придуман он довольно давно и использовался в огромном количестве демо и игр.
Scala: Гексагональная архитектура и DDD на Free Monad в функциональном программировании
Привет Хабр! Пятничного тру ФП хардкора с Free Monad, Таглес Финал, Монад трансформерами, Refined Types, Smart Constructors и прочим таким вам в ленту. Хардкор сам себя в ленту не принесет так что погнали.
Гексагональная архитектура делит наш код на три основные части.
1) Primary Adapters,
2) Secondary Adapter
3) Logic aka Domain.
Лямбда-исчисление в 397 байтах
Лямбда-исчисление — это язык программирования с единственным ключевым словом. Это асфальтовая топь Тьюринга, обнаруженная научным руководителем Тьюринга. В этом посте я расскажу о совершенно новой 397-байтной реализации двоичного лямбда-исчисления в виде Linux ELF для x86-64. Также в нём представлены удобно портируемый код на C и собранные двоичные файлы APE для других платформ.
Калькулятор на типах TypeScript
В последнее время TS стал де-факто стандартом во фронтенд-разработке. Его достаточно просто начать использовать, и он приносит неоценимую пользу в любых web-приложениях. Но используя его, мы часто даже не задумываемся, насколько на самом деле это мощный инструмент. В большинстве ситуаций нам хватает базовых возможностей TS-а. Но иногда нам случается определить узкий и нестандартный тип. В этом случае можно либо ослабить типы с помощью any
или unknown
, либо попробовать решить непростую порой головоломку. В этой статье мы решим несколько интересных головоломок с типами.
Первый древнейший: в чём уникальность языка программирования LISP
В этой статье мы поговорим об одном из самых старых языков программирования ― Lisp. Несмотря на свой внушающий уважение возраст, он всё ещё находится в строю и заставляет переосмысливать всю теорию программирования. Так что же это за язык и чем он примечателен?
Лисп, или LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков.
Существует альтернативная расшифровка названия LISP: Lots of Irritating Superfluous Parentheses («Много раздражающих лишних скобок») — намёк на особенности синтаксиса языка.
Шутливое «Десятое правило Гринспена» гласит: «Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp».
Основы Linux (обзор с практическим уклоном)
Привет, Хабр!
В последние несколько лет все больше и больше людей ищут возможность войти в ИТ или поглубже изучить Linux, повысив уровень своей квалификации. Вместе с тем полноценных обзоров с практическом уклоном по типу «все и сразу» написано не так уж и много (особенно на русском языке).
Главная задача данной статьи – указать начинающим специалистам направление развития, дать ключевые понятия для дальнейшего изучения и показать несколько простых практических приемов. По этой причине (а еще, безусловно, вследствие недостаточной квалификации автора) теоретический материал достаточно сильно упрощен.
Абстрактная алгебра в действии
В последнее время всё чаще я ощущаю математическое веяние в программировании. Нет, это не про интегралы с производными, а про что-то абстрактное, другое. Про то, что было всегда у нас под носом, но оставалось незамеченным. Наступит день - про это будут говорить на каждом углу. Но не сегодня. Сегодня мы с этим познакомимся.
Вы снова здесь, изменчивые тени. О поисках истинно четырехмерных объектов
Ранее в этом блоге я уже рассказывал о современных научных представлениях по поводу четвертого измерения. Особо упомяну статью «Большой взрыв и песочные часы, или куда на самом деле течет время», где я писал о математически смоделированной двухмерности времени. В рамках теорий, освещенных в той статье, стрела времени может быть направлена сразу в прошлое и в будущее. Такая трактовка позволила бы уточнить многомировую эвереттовскую интерпретацию квантовой механики (она превратилась бы из «бесконечномировой» в «конечномировую»). Но под этой статьей развернулась обширная дискуссия, в которой меня в особенности заинтересовали замечания уважаемых @SergioShpadi (тут) и @kauri_39 (тут) – о том, что не все, что можно смоделировать при помощи математики, на самом деле воплощается в реальности.
Сегодняшняя статья отчасти навеяна именно этими размышлениями, и в ней я расскажу о таких явлениях и структурах, которые логично трактовать как тени четырехмерных объектов, отбрасываемые на наше трехмерное пространство. Иными словами, под катом речь пойдет о ныне известных косвенных свидетельствах существования четвертого пространственного измерения.
Tcl/tk: интегрированная среда разработки TKproE-2.30
Что же принципиально нового появилось в новой версии по сравнению с версией 2.20 помимо нового логотипа?
Шесть уровней метавселенной математики
Когда я был маленький, я думал, что математика - это очень формальная наука. Как бы не так! Когда о нас, математиках, говорят как о сухарях — это ложь! (с) 17 мгновений весны.
Приглашаю вас в путешествие по 6 уровням вселенной математики - от полностью формального до философско-поэтического, и заодно мы ответим на вопрос, является ли теорема Геделя теоремой или мета-теоремой.
Базовые принципы Availability
О чем статья
В этой статье речь пойдет о БАЗОВЫХ подходах и принципах к такому quality attribute (QA) как Availability. Никаких сложных случаев, ничего слишком сложного, только теория с двумя примерами, скипайте, если искали что-то эдакое.
Вся информация основана на парах книг, статей, и моем опыте. В конце статьи я покажу, какие именно. Также, эта статья - по суть перевод моей же статьи, только написанной на английском.
Что такое Availability?
Перед тем, как рассматривать паттерны и техники для обеспечения availability мы должны определить сам термин.
Информация
- В рейтинге
- 3 859-й
- Зарегистрирован
- Активность