xaker
Конференция CyberCamp 2023 стартует уже сегодня

Сегодня, 20 сентября 2023 года, начинается конференция CyberCamp 2023, которая продлится три дня. Вас ждут: 25 докладов о практики и ИБ-инструментах, самые масштабные в России киберучения, многочисленные интерактивы и призы для зрителей.

  • четверг, 21 сентября 2023 г. в 00:00:44
xaker
Европол и финские власти закрыли маркетплейс PIILOPUOTI в даркнете

Финские правоохранители, Европол и ИБ-специалисты ликвидировали даркнет-маркетплейс под названием PIILOPUOTI. Согласно заявлениям властей, эта площадка способствовала контрабанде и продажам наркотиков в стране с мая 2022 года.

  • четверг, 21 сентября 2023 г. в 00:00:44
xaker
Тысячи устройств Juniper уязвимы перед удаленным выполнением кода

Новое исследование, проведенное специалистами VulnCheck, показало, что около 12 000 подключенных к интернету межсетевых экранов Juniper SRX и коммутаторов EX все еще уязвимы перед недавно обнаруженной RCE-уязвимостью.

  • четверг, 21 сентября 2023 г. в 00:00:40
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
golang
В Go меняется фундаментальная вещь — цикл

Если раньше в циклах были проблемы с замыканиями, так как переменная цикла имела скоуп всего цикла, а не одной его итерации, то в 1.22 это поведение поменяют. проще показать на примере: funcs := []func(){} for i := 0; i < 5; i++ { funcs = append(funcs, func() { fmt.Println(i) }) } funcs[0]() Последняя строка примера напечатает 5 в go 1.21, но в go 1.22 будет уже интуитивно понятный 0. С одной стороны, это нарушение обратной совместимости, но зато не надо писать пугающее новичко…

  • четверг, 21 сентября 2023 г. в 00:00:34