Category : habrahabr

habrahabr
VimPorn

На reddit большое комьюнити, которое посвящено vim: neovim, vim, vimplugins, vimporn. И чтобы не пропускать какие-то интересные вещи, которые случаются в мире vim, я накидал bash-скрипт. Скрипт выводит топ-5 лучших постов за год по каждому сабредиту. В статье будет сам скрипт, а также я своими словами расскажу о каждом посте, который попал в топ.Bash скриптНиже bash-скрипт, с помощью которого можно опросить все сабредиты (vim, neovim, vimplugins, vimporn) и получить самые лучшие посты за год…

  • пятница, 22 сентября 2023 г. в 00:00:18
habrahabr
Собственный строковый тип на Rust

Писать компиляторы — моё хобби, ничего не могу с собой поделать. Поэтому я пишу и много парсеров. В программировании систем обычно лучше попытаться сделать память общей, чем использовать её многократно, поэтому мои типы AST обычно выглядят так. pub enum Expr<'src> { Int(u32) Ident(&'src str), // ... } Когда мы парсим идентификатор, то вместо копирования его названия в новую String мы заимствуем его из входной исходной строки. Это позволяет избежать дополнительных расп…

  • четверг, 21 сентября 2023 г. в 00:00:39
habrahabr
История компьютерных стратегий. Часть 10. «Age of Mythology»: древние боги, шогготы и рептилоиды в …

Как несложно догадаться, успех первой «Age of Empires» сподвиг её создателей, Ensemble Studios, развивать тему исторических RTS дальше. Следом появилась посвящённая средневековью «Age of Empires II», ставшая главным хитом серии и по сей день имеющая массу поклонников и активных игроков. Однако параллельно в недрах студии возникло желание поэкспериментировать с концепцией, сделать что-то похожее, но при этом совсем иное. Это стремление не породило мегахитов и прорывов — но оставило в истории R…

  • четверг, 21 сентября 2023 г. в 00:00:39
habrahabr
Простые инструменты для пайплайнов: sqlite, pandas, gnuplot и другие

Почему мой любимый API — это zip-файл на сайте Европейского центрального банка?Когда доллар был самым высоким по отношению к евро?Вот небольшая программа, которая это вычисляет:curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip \ | gunzip \ | sqlite3 -csv ':memory:' '.import /dev/stdin stdin' \ "select Date from stdin order by USD asc limit 1;"Вывод: 26.10.2000. (Попробуйте запустить его самостоятельно.)Как это работает:сurl загружает официальные ист…

  • четверг, 21 сентября 2023 г. в 00:00:38
habrahabr
Вышла Java 21

Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь. Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода. Скачать JDK 21 можно по этим ссылкам: Oracle JDK (лицензия NFTC) OpenJDK (лицензия GPLv2 with Classpath Exception) Вот список JEP'ов, которые попали в Java 21. Язык Pattern Matching for switch (JEP 441) Паттерн-матчинг дл…

  • четверг, 21 сентября 2023 г. в 00:00:37
habrahabr
Существование треугольника Шарыгина — это настоящее математическое чудо

Сегодня я хочу рассказать об удивительном геометрическом объекте, впервые рассмотренным советским математиком Игорем Федоровичем Шарыгиным. Оригинал задачи (доступно через WebArchive) - здесьДля начала посмотрите на рисунок ниже. Что Вы на нём видите? Объясняю: слева заштрихован треугольник, вершины которого образованы основаниями медиан (делят сторону пополам), а справа - основаниями высот. Если большие треугольники не являются равнобедренными, то и заштрихованные равнобедренными быть не мо…

  • четверг, 21 сентября 2023 г. в 00:00:36
habrahabr
Металлы с памятью формы

Картинка Freepik Многие слышали об интересном эффекте, который показывают некоторые сплавы, называемые «сплавами с эффектом памяти». После деформации они демонстрируют каучукоподобное поведение: если деформация небольшая, сплавы восстанавливают прежнюю форму при одной и той же температуре, и полностью восстанавливают форму при изменении температуры. Что они собой представляют и чем интересны? История Сплавы с эффектом памяти стали известны не сегодня. Одним из первых опытов является наблюд…

  • среда, 20 сентября 2023 г. в 00:00:27
habrahabr
Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим …

  • среда, 20 сентября 2023 г. в 00:00:26
habrahabr
Альтер эго. Как создать виртуальную личность и распознать фейк

Я люблю общаться с ботами и владельцами фейковых аккаунтов в социальных сетях. В большинстве случаев они довольно милые и относительно безобидные. Порой даже интересно угадывать, что именно они попытаются впарить мне в очередной раз: тотализаторы, БАДы, лохотрон с криптой или недвижимость в Дубае? На днях я несколько часов обстоятельно общался с одной обаятельной девушкой, пока по ряду характерных признаков не убедился в том, что этот аккаунт — тоже фейковый. Признаюсь, раскусить подделку в …

  • среда, 20 сентября 2023 г. в 00:00:25