Why I'm teaching kids to hack computers 🔥 Горячее
Пол Хадсон создал приложение Hacktivate, чтобы научить детей 13+ основам кибербезопасности через формат игры "захвати флаг". В отличие от современных компьютеров, которые слишком защищены для экспериментов, приложение предлагает 240 уникальных заданий по SQL-инъекциям, взлому хэшей, стеганографии и другим практическим навыкам. "Я хочу вернуть тот же опыт, который был у меня, новому поколению", — объясняет автор, стремясь сделать обучение одновременно увлекательным и структурированным.
Приложение использует безопасную песочницу, где все действия происходят внутри игры, не затрагивая реальные системы. Задания варьируются от базовых вопросов о представлении данных (hex, binary, ASCII) до сложных криптографических задач с современными алгоритмами. "Моя цель — не превратить всех в опытных пентестеров за один день, а вдохновить новое поколение хактеров на эксперименты и обучение в безопасной среде", — подчеркивает Хадсон. Приложение уже доступно на iPhone, iPad и Mac.
Комментарии (107)
- Пользователи обсуждают, как раннее влияние нехватки ресурсов в странах третьего мира сформировало их навыки и мотивацию к самообучению и творческому подходу к решению проблем.
- Поднят вопрос о том, что микротранзакции в приложениях могут быть неэтичными, особенно для детей, и что существует альтернативная версия приложения без них.
- Упомянуто, что разработчик приложения, Paul Hudson, ранее преподавал автору Swift и UIKit, что подчеркивает его вклад в обучении сообщества разработчиков.
- Участники обсуждают, что важно сохранять баланс между монетизацией и доступностью образования, и что существует версия приложения без микротранзакций.
Комментарии (60)
- В iOS Clock много мелких, но раздражающих проблем: «AM/PM» не успевает зафиксироваться при быстром свайпе, кнопки «Отложить/Стоп» расположены по-разному в будильнике и таймере, а таймер иногда не звонит.
- Пользователи жалуются на неудобное вертикальное колесо: длинный линейный список вместо кругового, нет быстрого перехода к 00, сложно попасть точно.
- Обнаружен «хак» в UIPickerView: чтобы имитировать бесконечный скролл, Apple просто делает очень длинный список строк; реального кольцевого буфера нет.
- Некоторые просят добавить «пропустить завтра» для повторяющихся будильников, календарные будильники и нормальное числовое поле ввода.
- Часть проблем решается переходом на 24-часовой формат или Siri, но общий консенсус: дефолтное приложение давно требует переработки.
TextKit 2 – The Promised Land
TextKit 2 (NSTextLayoutManager) появился на WWDC21, но уже 4 года не оправдывает надежд. Архитектура продумана: NSTextContentManager, NSTextElement, NSTextLayoutManager. На практике работает только NSTextContentStorage → NSTextStorage, а элементы должны наследовать NSTextParagraph. UITextView/NSTextView не принимает альтернатив.
Баги многочисленны: «extra line fragment», регрессии между версиями, часть отчётов без ответа.
Viewport — главная боль. Он лениво раскладывает только видимую область, поэтому высота документа постоянно пересчитывается и «прыгает» при прокрутке. Постоянные инвалидации и кэширование усложняют код.
Комментарии (26)
- TextKit 2 выглядит «сырым»: демо работает, но стоит отойти от happy path — всплывают баги, плохая документация и отсутствие публичного списка проблем.
- Основной способ использования — кастомизация UITextView/NSTextView; попытки полностью заменить их приводят к боли.
- На macOS TextKit 2 сломал даже TextEdit: появились глюки прокрутки и повреждение текста.
- «Дрожание» скроллбара из-за lazy layout и оценок высоты считается «как задумано», но выглядит неприемлемо; решения есть (Flutter, эвристики), но не встроены.
- Apple, судя по всему, не додогфудила API: внутренние приложения не отловили острые углы, поэтому теперь каждый разработчик получает синяки.