CleanMyOwn
Un cleaner para macOS construido como pretexto para aprender Swift 6 a fondo: SwiftUI, Authorization Services y lecturas de memoria vía Mach syscalls — sin Electron, sin daemons, sin telemetría.
Por qué
Casi todos los cleaners populares para macOS son apps en Electron con un daemon en background y telemetría enviando datos a quién sabe dónde. Me molesta, sobre todo en una app que se vende como herramienta de "limpieza".
CleanMyOwn es mi respuesta: una app nativa, una sola binaria, sin servicios persistentes, sin red salvo lo que el usuario inicia. Construirla también fue mi excusa para meterme de verdad en Swift 6 y en internals de macOS.
Lo que hace por dentro
Escaneo en 11 categorías de basura: cachés, logs, instaladores viejos, soportes de apps desinstaladas, contenedores huérfanos, etc. Cada categoría tiene su propio detector con criterios explícitos — nada de "limpiar todo" sin saber qué se limpia.
Detección de huérfanos por bundle ID. Cruza los directorios de Application Support, Containers y Preferences contra las apps efectivamente instaladas. Lo que sobra es un huérfano — y se muestra al usuario antes de tocarlo.
Pipeline de duplicados en tres pasos. Primero agrupa por tamaño (barato), luego hash de los primeros 1MB (rápido para descartar negativos), y sólo entonces SHA-256 completo para confirmar. Procesa cientos de miles de archivos sin colapsar la máquina.
Sesión admin persistente vía Authorization Services. El usuario autoriza una vez, no en cada operación que necesita permisos.
Lectura de memoria por Mach syscalls. host_statistics64 directo, no parseando la salida de vm_stat. Es más rápido, más correcto, y deja claro que estamos jugando con las APIs de verdad.
Lo que aprendí
Que el ecosistema nativo de Apple sigue siendo radicalmente mejor para apps de escritorio que cualquier cosa híbrida. SwiftUI cerró la mayor parte de la brecha de productividad respecto a React; la diferencia ahora son los milisegundos y los megabytes.
Y que aprender un lenguaje nuevo construyendo algo concreto que tú mismo usarías es 10× mejor que cualquier tutorial. Mi máquina hoy está más limpia y yo entiendo Swift 6.