miércoles, 14 de octubre de 2026

Wordpress, menú admin requiere una actualización

 


Wordpress es la solución rápida para poner en línea un sitio web, bien sea algo sencillo o más elaborado, incluso sistema que requieran de una api.

Dentro de dicho mundo noto que a nivel de desarrollador falta mucho aún que mejorar, una de esos detalles es el menú principal del admin, por ejemplo la implementación de nuevo niveles a nivel de menú, y de banderas para determinar qué se debe mostrar o no de acuerdo a roles o permisos sin la necesidad de un plugin para ello.

¿Afectaría mucho dicho cambio?

Al parecer no es una propuesta que no se haya presentado, el equipo de desarrollo lo sabe, lo ha propuesto y aún sigue en debate, el tema es la filosofía de Wordpress respecto a la compatibilidad hacía atrás con miles de miles de plugins ya existentes.

Podría implementar algo muy complejo para soportar lo ya desarrollado?

Directamente sí, pero la palabra complejo es el tema, se trata de que sea sencillo, escalable, y que no cueste demasiado en términos de tiempo y desarrollo.

Entonces se hará o no?

Solo el tiempo lo dirá, mientras podemos realizar nuestros propios desarrollos bajo dicha limitaciones, o es que existe algo que aún no se del tema? Pues instrúyeme con toda confianza.


martes, 13 de octubre de 2026

Kimi K2, la fabulosa herramienta (IA) open source

He estado usando Kimi los últimos meses, y la versión gratuita para comprobar que tanto la podemos exprimir, y la verdad me dejó impresionado.

Estamos hablando del sector del desarrollo, ví algunos comentarios comparándolo con el modelo de GTP y debo estar en desacuerdo con ello, y es que incluso la gestión de archivos es más cómoda que Gemini.

Siempre he dicho que GTP no sirve para codear, es pésimo desde mi punto de vista, mientras DeepSeek da soluciones inexistentes, GPT le da muchas vueltas al asunto y comete muchos errores.

El caso es que Kimi te arma a detalle lo que le solicitas, dejemos claro que hablamos de dev senior, así que sabemos que queremos y cómo, me encantá la estructuración que proporciona y claro, comete errores, pero son manejables.

Lo veo como una excelente opción, pero honestamente nada supera a Gemini (Hasta ahora).

jueves, 24 de julio de 2025

KivStore: Biblioteca ligera de Kotlin que simplifica el trabajo con DataStore de Android



SharedPreferences no se recomienda usar por Google por ser bloqueante, no contar con type safety y disponer de un manejo de errores deficiente, en su lugar tenemos a DataStore, y bueno en tiempos donde lo que se tenía era SharedPreferences utilice la librería KotPref, la que proporcionaba un manejo práctico y además agregaba soporte para LiveData. Dicho esto y para proporcionar una migración super fácil me decidí por desarrollar lo que he llamado KivStore.

KivStore es una librería que envuelve a DataStore simplificando su uso, proporciona una api con seguridad de tipos basada en delegados, esto facilita la gestión de datos y observadores de tipo Flow y LiveData.

Todo es tan simple (Como con KotPref, ya que está inspirado en dicha librería), tan solo debemos crear nuestro modelo:


Y listo, ya podemos usarlo en nuestros proyectos:


Así mismo la reactividad, el observar valores es muy sencillo:

Con Flow:

Con LiveData:


Pero sobre todo hay que destacar que la librería mantiene en memoria los datos que se usa, así estos se mantienen actualizados y se sirven al instante, al mismo tiempo que se persisten.

Ya está perfecto, todo bonito, pero como lo instalo y configuro en mi proyecto?

También es sencillo, se instala a través de JitPack:


Y agregamos la dependencia:

implementation("com.github.darkzyrb.kivstore:kivstore:v1.8.1")
// Mirar en el repositorio la última versión

Luego se inicializa en el Application de tu proyecto:


Y listo, creas tus modelos y voila.

Más información en el repositorio: https://github.com/DarkzyRB/kivstore

viernes, 20 de junio de 2025

Soporte de tipos Double para SharedPreferences en Android Studio Kotlin (Y librería KotPref)

Hace poco implemente un flujo de datos de tipo Flow desde un source de datos (y consecuentes capas) hasta la vista de un composable en Android, y pues requería datos de tipo Double por su precisión en una de las propiedades del modelo, desde hace un tiempo vengo usando kotpref que es una excelente librería para el manejo de datos en local con SharedPreferences, el caso es que este no proporciona soporte para tipos Double, claro, porque directamente SharedPreferences no te da el soporte para ello, así que desarrolle la extensión para dicha librería.

Pero vamos por pasos, la raíz del tema es SharedPreferences, entonces debía soportar de forma limpia aquello, y pues la manera eficiente es usando bits, lo que guarda tal cual el contenido que es lo que deseamos, luego lo recuperamos como un double, peeeeeero como nos gusta la funcionalidad y usabilidad creamos la extensión para SharedPreferences primero:

De esta manera ya podemos y con confianza almacenar y recuperar de forma “nativa”:

preferences.putDouble(key, value)

preferences.getDouble(key, defaultValue)


Así que ya podemos continuar con el desarrollo de la extensión para Kotpref, comenzando con extender AbstractPref que es propia de la librería de Kotpref, y sobrescribimos sus métodos:

Y ahora los métodos de acceso:


Y voila, espero les sirva, dejo el link del repositorio de la extensión en cuestión:

https://github.com/darkzyrb/kotpref-extensions/tree/master/double-pref

domingo, 8 de junio de 2025

Ya era hora, WhatsApp para iPad oficial liberado

Era sumamente raro no encontrar la app nativa de WhatsApp en el iPad, pero después de tantos años, lama, nieve, sol y lluvía la han liberado, que me siento feliz? nah, bueno si un poco, (Uso más telegram pero igual me cae bien la noticia).

Como dije raro que una app diseñada específicamente para dispositivos móviles no dispusiera de una versión nativa para iPad, por ahí dicen las malas lenguas que Meta si cumple (Je je je), pero bien, que es lo que tenemos en esta versión:


  • Interfaz adaptada al iPad, con soporte para pantallas grandes y multitarea (Split View, Slide Over).  

  • Sincronización independiente: Funciona sin necesidad de tener el iPhone conectado.

  • Llamadas y videollamadas: Soporte para audio y video en alta calidad.  

  • Notificaciones en tiempo real: Igual que en el móvil.  

  • Cifrado de extremo a extremo: Lo mismo que en todos lados.  


La aplicación ya está disponible en la App Store y es compatible con iPads que ejecuten iPadOS 15 o superior. El proceso de configuración es sencillo, explicaría el tema de configuración y cómo descargarla pero eso ya lo saben.

Pero… Y por qué tardó tanto en liberarse? A diferencia de Telegram o Signal, que llevaban años con apps nativas para iPad, WhatsApp había priorizado su desarrollo en móviles y ordenadores, según fuentes internas el retraso se debió a desafíos técnicos en la sincronización multidispositivo (Pero, pero, pero...), que ahora han sido resueltos con la infraestructura mejorada de Meta.  

Cabe mencionar que aún no soporta temas personalizados ni accesos directos con el Apple Pencil, pero no se descarta que pronto lleguen incluidas en nuevas actualizaciones.

Por lo pronto a disfrutar de una versión que debió llegar hace mucho.