[{"data":1,"prerenderedAt":432},["Reactive",2],{"content-query-crBoDlsOHH":3},[4,134,305],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"date":11,"tags":12,"cover":15,"layout":16,"body":17,"_type":129,"_id":130,"_source":131,"_file":132,"_extension":133},"/articles/260414-reflexion-publicar-ia","articles",false,"","Un año publicando con ayuda de la IA: reflexión honesta","Un año publicando mensualmente con ayuda de la IA. Reflexión honesta sobre qué ha aportado, qué no puede reemplazar y el riesgo de perder la propia voz.","2026-04-14",[13,14],"personal","ai","/articles/260414-reflexion-publicar-ia/cover.webp","article",{"type":18,"children":19,"toc":126},"root",[20,30,36,43,56,68,80,86,98,104,116,121],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25],{"type":21,"tag":26,"props":27,"children":29},"img",{"alt":28,"src":15,"title":9},"Mariano Fernández",[],{"type":21,"tag":22,"props":31,"children":32},{},[33],{"type":34,"value":35},"text","Hace justo un año me propuse retomar la publicación regular en el blog después de un silencio largo. Lo hice apoyándome en herramientas de IA de una forma que no había hecho antes, y ahora que han pasado doce meses con publicación mensual constante, creo que merece una reflexión honesta.",{"type":21,"tag":37,"props":38,"children":40},"h4",{"id":39},"qué-ha-ayudado-la-ia-y-qué-no",[41],{"type":34,"value":42},"Qué ha ayudado la IA y qué no",{"type":21,"tag":22,"props":44,"children":45},{},[46,48,54],{"type":34,"value":47},"La IA ha sido útil para ",{"type":21,"tag":49,"props":50,"children":51},"strong",{},[52],{"type":34,"value":53},"superar el bloqueo de la página en blanco",{"type":34,"value":55},". Tener una estructura inicial, un primer borrador sobre el que trabajar, hace que el proceso sea mucho menos intimidante. El coste de arrancar es menor.",{"type":21,"tag":22,"props":57,"children":58},{},[59,61,66],{"type":34,"value":60},"También ha sido útil para la ",{"type":21,"tag":49,"props":62,"children":63},{},[64],{"type":34,"value":65},"consistencia de formato",{"type":34,"value":67},": frontmatter correcto, estructura de secciones, coherencia en el tono. Cosas mecánicas que antes me frustraban.",{"type":21,"tag":22,"props":69,"children":70},{},[71,73,78],{"type":34,"value":72},"Lo que la IA ",{"type":21,"tag":49,"props":74,"children":75},{},[76],{"type":34,"value":77},"no puede darte",{"type":34,"value":79}," es el punto de vista. Los artículos que más resonancia han tenido son los que tienen una posición clara, una experiencia personal, algo que yo he vivido o pensado de verdad. El modelo puede escribir sobre Gaussian Splatting de forma técnicamente correcta, pero no puede reemplazar la experiencia real detrás de cada tema: haber capturado un monumento durante horas con el móvil, haber debuggeado un componente hasta las tantas o haber perdido cien partidas de ajedrez antes de entender un patrón.",{"type":21,"tag":37,"props":81,"children":83},{"id":82},"el-riesgo-del-que-hay-que-ser-consciente",[84],{"type":34,"value":85},"El riesgo del que hay que ser consciente",{"type":21,"tag":22,"props":87,"children":88},{},[89,91,96],{"type":34,"value":90},"El riesgo principal es la ",{"type":21,"tag":49,"props":92,"children":93},{},[94],{"type":34,"value":95},"homogeneización del tono",{"type":34,"value":97},". Si delegas demasiado en el modelo, todos los artículos acaban sonando igual, con el mismo ritmo, las mismas estructuras, el mismo vocabulario. He tenido que hacer un esfuerzo activo por editar hacia mi voz, añadir anécdotas personales, opinar de verdad aunque el modelo no lo hiciera.",{"type":21,"tag":37,"props":99,"children":101},{"id":100},"la-ia-como-amplificador-no-como-autor",[102],{"type":34,"value":103},"La IA como amplificador, no como autor",{"type":21,"tag":22,"props":105,"children":106},{},[107,109,114],{"type":34,"value":108},"Mi conclusión después de un año: la IA es un ",{"type":21,"tag":49,"props":110,"children":111},{},[112],{"type":34,"value":113},"amplificador de lo que ya traes",{"type":34,"value":115},". Si tienes ideas claras, criterio y experiencia, la IA te ayuda a expresarlos más rápido y con menos fricción. Si no tienes nada que decir, la IA te ayuda a decirlo de forma muy bien escrita. La diferencia entre los dos casos la nota el lector.",{"type":21,"tag":22,"props":117,"children":118},{},[119],{"type":34,"value":120},"Seguiré publicando. Con o sin IA.",{"type":21,"tag":22,"props":122,"children":123},{},[124],{"type":34,"value":125},"Salu2.",{"title":8,"searchDepth":127,"depth":127,"links":128},2,[],"markdown","content:articles:260414-reflexion-publicar-ia.md","content","articles/260414-reflexion-publicar-ia.md","md",{"_path":135,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":136,"description":137,"date":138,"tags":139,"cover":141,"layout":16,"body":142,"_type":129,"_id":303,"_source":131,"_file":304,"_extension":133},"/articles/260309-fotogrametria-avanzada","Fotogrametría avanzada: del móvil al modelo profesional","Dos años escaneando objetos y monumentos con el móvil. Pipeline completo de fotogrametría avanzada: captura, Metashape, Gaussian Splatting y postprocesado.","2026-03-09",[140],"3d","/articles/260309-fotogrametria-avanzada/cover.webp",{"type":18,"children":143,"toc":301},[144,150,167,173,190,199,228,245,255,261,273,292,297],{"type":21,"tag":22,"props":145,"children":146},{},[147],{"type":21,"tag":26,"props":148,"children":149},{"alt":28,"src":141,"title":136},[],{"type":21,"tag":22,"props":151,"children":152},{},[153,155,165],{"type":34,"value":154},"Publiqué mi primer artículo sobre ",{"type":21,"tag":156,"props":157,"children":159},"a",{"href":158},"/articles/240115-fotogrametria",[160],{"type":21,"tag":49,"props":161,"children":162},{},[163],{"type":34,"value":164},"fotogrametría con Metashape",{"type":34,"value":166}," hace ya un tiempo, donde documenté el proceso de digitalización de la Fuente de Santa María de Baeza. Desde entonces he completado varios proyectos más y mi pipeline ha evolucionado considerablemente. En este artículo comparto lo que he aprendido: desde la captura con móvil hasta la entrega de un modelo listo para producción.",{"type":21,"tag":37,"props":168,"children":170},{"id":169},"el-pipeline-que-uso-actualmente",[171],{"type":34,"value":172},"El pipeline que uso actualmente",{"type":21,"tag":22,"props":174,"children":175},{},[176,181,183,188],{"type":21,"tag":49,"props":177,"children":178},{},[179],{"type":34,"value":180},"Captura",{"type":34,"value":182},": sigo usando el móvil para la mayoría de proyectos (Google Pixel en modo RAW cuando el objeto lo merece). Para objetos pequeños con detalle fino, una cámara compacta con buena macrofoto marca la diferencia. La regla de los ",{"type":21,"tag":49,"props":184,"children":185},{},[186],{"type":34,"value":187},"mínimo 80 fotos con 60-70% de solapamiento",{"type":34,"value":189}," sigue siendo el punto de partida.",{"type":21,"tag":22,"props":191,"children":192},{},[193],{"type":21,"tag":26,"props":194,"children":198},{"alt":195,"src":196,"title":197},"Proceso de fotogrametría con móvil","https://images.unsplash.com/photo-1558618666-fcd25c85cd64?w=1200&q=80","Captura de fotogrametría con móvil",[],{"type":21,"tag":22,"props":200,"children":201},{},[202,207,209,219,221,226],{"type":21,"tag":49,"props":203,"children":204},{},[205],{"type":34,"value":206},"Procesado",{"type":34,"value":208},": ",{"type":21,"tag":156,"props":210,"children":213},{"href":211,"target":212},"https://www.agisoft.com","_blank",[214],{"type":21,"tag":49,"props":215,"children":216},{},[217],{"type":34,"value":218},"Agisoft Metashape",{"type":34,"value":220}," sigue siendo mi herramienta principal para proyectos serios. Para exploraciones rápidas y objetos simples, ",{"type":21,"tag":49,"props":222,"children":223},{},[224],{"type":34,"value":225},"RealityCapture",{"type":34,"value":227}," (ahora de acceso más accesible con su modelo de precios por créditos) ofrece resultados más rápidos.",{"type":21,"tag":22,"props":229,"children":230},{},[231,236,238,243],{"type":21,"tag":49,"props":232,"children":233},{},[234],{"type":34,"value":235},"Integración con Gaussian Splatting",{"type":34,"value":237},": para escenas con materiales complejos (vegetación, superficies reflectantes, translúcidas), proceso en paralelo con ",{"type":21,"tag":49,"props":239,"children":240},{},[241],{"type":34,"value":242},"3DGS",{"type":34,"value":244}," y combino ambas representaciones según el caso de uso final.",{"type":21,"tag":22,"props":246,"children":247},{},[248,253],{"type":21,"tag":49,"props":249,"children":250},{},[251],{"type":34,"value":252},"Postprocesado en Blender",{"type":34,"value":254},": limpieza de malla, retopología cuando se necesita, bake de texturas de alta a baja resolución para exportación optimizada.",{"type":21,"tag":37,"props":256,"children":258},{"id":257},"lo-que-la-ia-ha-añadido-al-workflow",[259],{"type":34,"value":260},"Lo que la IA ha añadido al workflow",{"type":21,"tag":22,"props":262,"children":263},{},[264,266,271],{"type":34,"value":265},"Las herramientas de ",{"type":21,"tag":49,"props":267,"children":268},{},[269],{"type":34,"value":270},"inpainting 3D",{"type":34,"value":272}," están madurando: puedo completar zonas de oclusión (partes del objeto que la cámara no pudo capturar) con geometría generada por IA que integra razonablemente bien con el modelo escaneado.",{"type":21,"tag":22,"props":274,"children":275},{},[276,278,283,285,290],{"type":34,"value":277},"La ",{"type":21,"tag":49,"props":279,"children":280},{},[281],{"type":34,"value":282},"reconstrucción automática de calidad",{"type":34,"value":284}," de herramientas como ",{"type":21,"tag":49,"props":286,"children":287},{},[288],{"type":34,"value":289},"Luma AI",{"type":34,"value":291}," ha mejorado hasta el punto de que para objetos cotidianos el resultado es directamente usable.",{"type":21,"tag":22,"props":293,"children":294},{},[295],{"type":34,"value":296},"La fotogrametría sigue siendo uno de los proyectos que más satisfacción me da.",{"type":21,"tag":22,"props":298,"children":299},{},[300],{"type":34,"value":125},{"title":8,"searchDepth":127,"depth":127,"links":302},[],"content:articles:260309-fotogrametria-avanzada.md","articles/260309-fotogrametria-avanzada.md",{"_path":306,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":307,"description":308,"date":309,"tags":310,"cover":312,"layout":16,"body":313,"_type":129,"_id":430,"_source":131,"_file":431,"_extension":133},"/articles/260209-claude-code-terminal","Claude Code: programar desde el terminal con IA","Claude Code es un agente de codificación que vive en tu terminal, lee tu codebase y ejecuta cambios directamente. Así ha cambiado mi forma de programar.","2026-02-09",[311,14],"develop","/articles/260209-claude-code-terminal/cover.webp",{"type":18,"children":314,"toc":428},[315,321,337,343,367,379,385,396,408,414,419,424],{"type":21,"tag":22,"props":316,"children":317},{},[318],{"type":21,"tag":26,"props":319,"children":320},{"alt":28,"src":312,"title":307},[],{"type":21,"tag":22,"props":322,"children":323},{},[324,326,335],{"type":34,"value":325},"Llevo varias semanas usando ",{"type":21,"tag":156,"props":327,"children":329},{"href":328,"target":212},"https://claude.ai/code",[330],{"type":21,"tag":49,"props":331,"children":332},{},[333],{"type":34,"value":334},"Claude Code",{"type":34,"value":336},", la herramienta de Anthropic para programación agéntica desde el terminal, y ha cambiado lo suficiente mi workflow como para dedicarle un artículo. No es Cursor, no es un plugin de editor: es algo diferente que complementa ambos.",{"type":21,"tag":37,"props":338,"children":340},{"id":339},"qué-es-claude-code-exactamente",[341],{"type":34,"value":342},"¿Qué es Claude Code exactamente?",{"type":21,"tag":22,"props":344,"children":345},{},[346,350,352,358,360,365],{"type":21,"tag":49,"props":347,"children":348},{},[349],{"type":34,"value":334},{"type":34,"value":351}," es un agente de codificación que vive en tu terminal. Lo instalas globalmente, navegas a tu proyecto con ",{"type":21,"tag":353,"props":354,"children":355},"code",{"className":8},[356],{"type":34,"value":357},"cd",{"type":34,"value":359}," y escribes ",{"type":21,"tag":353,"props":361,"children":362},{"className":8},[363],{"type":34,"value":364},"claude",{"type":34,"value":366},". A partir de ahí puedes darle instrucciones en lenguaje natural: \"analiza este componente y refactorízalo para separar la lógica de negocio de la presentación\", \"escribe los tests para esta función\", \"encuentra todos los lugares donde usamos esta API deprecada y migra a la nueva\".",{"type":21,"tag":22,"props":368,"children":369},{},[370,372,377],{"type":34,"value":371},"Lo que lo diferencia de un chatbot de código es que ",{"type":21,"tag":49,"props":373,"children":374},{},[375],{"type":34,"value":376},"actúa directamente",{"type":34,"value":378},": lee ficheros, escribe cambios, ejecuta comandos del sistema, corre tests. No te muestra código para copiar: hace los cambios en tu proyecto.",{"type":21,"tag":37,"props":380,"children":382},{"id":381},"lo-que-más-me-ha-impresionado",[383],{"type":34,"value":384},"Lo que más me ha impresionado",{"type":21,"tag":22,"props":386,"children":387},{},[388,389,394],{"type":34,"value":277},{"type":21,"tag":49,"props":390,"children":391},{},[392],{"type":34,"value":393},"comprensión del contexto completo del proyecto",{"type":34,"value":395}," es su mayor ventaja. No le tienes que explicar la arquitectura ni pegar código: lee tu repositorio y lo entiende. Cuando le pido que añada una funcionalidad, la implementa siguiendo los patrones que ya existen en el proyecto de forma natural.",{"type":21,"tag":22,"props":397,"children":398},{},[399,401,406],{"type":34,"value":400},"El ",{"type":21,"tag":49,"props":402,"children":403},{},[404],{"type":34,"value":405},"ciclo de feedback con tests",{"type":34,"value":407}," es brutal: puede ejecutar los tests, ver qué falla, corregir el código y repetir hasta que todo pasa. Sin intervención manual.",{"type":21,"tag":37,"props":409,"children":411},{"id":410},"los-límites-actuales",[412],{"type":34,"value":413},"Los límites actuales",{"type":21,"tag":22,"props":415,"children":416},{},[417],{"type":34,"value":418},"Para proyectos grandes, a veces pierde contexto de decisiones tomadas en pasos anteriores de una sesión larga. Y en tareas muy abiertas tiende a tomar decisiones de arquitectura que no siempre coinciden con las mías.",{"type":21,"tag":22,"props":420,"children":421},{},[422],{"type":34,"value":423},"La solución: instrucciones más específicas y sesiones más cortas y focalizadas. Claude Code como ejecutor preciso de tareas bien definidas, no como arquitecto autónomo.",{"type":21,"tag":22,"props":425,"children":426},{},[427],{"type":34,"value":125},{"title":8,"searchDepth":127,"depth":127,"links":429},[],"content:articles:260209-claude-code-terminal.md","articles/260209-claude-code-terminal.md",1776954512185]