Saber la huella digital con la que se firmó una apk

Cito desde https://www.flipandroid.com/cmo-puedo-saber-qu-keystore-se-utiliz-para-firmar-una-aplicacin.html (muchas gracias por esa info, FlipAndroid … descomprima el APK y extraiga el archivo /META-INF/ANDROID_.RSA (este archivo también puede ser CERT.RSA, pero sólo debe haber un archivo .RSA). Entonces emita este comando: Obtendrá huellas dactilares de certificados como estas: MD5: B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB SHA1: 16:59:E7:E3:0C:AA:7A:0D:F2:0D:05:20:12:A8:85:0B:32:C5:4F:68 Signature algorithm name: SHA1withRSA A continuación, utilice el keytool… Seguir leyendo Saber la huella digital con la que se firmó una apk

Publicada el
Categorizado como General

Procesar archivos CSV grandes. MUY grandes.

Esto no es algo que se use todos los días, pero en algún proyecto puedes necesitar /por lo que sea/ procesar un fichero de casi 200 MB que relaciona autores con su producción científica. https://www.splitcsv.com/ es tu solución. Y a procesar por lotes, poquito a poco. Actualización 11/06/2021: Gracias al simpar Cálix Sierra descubro un… Seguir leyendo Procesar archivos CSV grandes. MUY grandes.

Publicada el
Categorizado como Recursos

Servicios AI de los grandes para proyectos más modestos

En determinados proyectos podemos encontrar la necesidad de realizar un análisis de lenguaje natural como datos estructurados (https://wit.ai/), utilizar algoritmos de inteligencia artificial para realizar «smart matching» entre miembros de una red social propia, como un club de antiguos estudiantes o posibles partners de negocios… Todo ello hasta hace poco tiempo era inaccesible para pequeños… Seguir leyendo Servicios AI de los grandes para proyectos más modestos

Publicada el
Categorizado como AI, General, UX

Herramientas de futuro: Solidity

Blockchain, Smart Contracts,… Palabras que suenan a «brujería». Pero estamos mirando mucho ese asunto aquí en Si2. Todo nos lleva a ello. https://solidity-es.readthedocs.io/es/latest/ Cualquier tecnología lo suficientemente avanzada es totalmente indistinguible de la magia. Arthur C. Clarke

Publicada el
Categorizado como General

Herramientas de validación de accesibilidad

Si bien la accesibilidad web no se limita (o no debería) a realizar tests automáticos, sino a la incorporación de buenas prácticas desde el inicio de la vida de un proyecto (en la fase de evaluación de viabilidad, toma de requisitos…), hay herramientas que permiten ayudar en proyectos ya construidos para tomar decisiones. Quizá WAVE… Seguir leyendo Herramientas de validación de accesibilidad

Publicada el
Categorizado como General

Videoconferencias seguras y libres

https://jitsi.org/ Multiplataforma, mantenido por la comunidad. Puedes crear una sala aquí: https://meet.jit.si/ o usar las Apps móviles. Es el sustituto perfecto para Skype, Hangouts, incluso appear.in, por su simplicidad (no requiere registro) Además, para desarrolladores, tiene un API que puedes usar para embeber la vídeo en tu web o App… ¿Qué más?

From Data to Viz

Un excelente recurso para llegar a ejemplos reales y representar datos con D3.JS , ayudantote a elegir el gráfico apropiado para tus datos. https://www.data-to-viz.com/ Tras la elección y navegación, te lleva a https://www.d3-graph-gallery.com/ para el código.

Optimizar imágenes en WordPress

Vale que hoy día hay como una obsesión por el WPO (Web Performance Optimization), porque la gente tiene que vender su película y eso. Y sí, está bien que una página cargue los más rápido posible, pero sin obsesionarse… Sin embargo, hay casos clarísimos en los que hay que hacer algo: si por ejemplo tienes… Seguir leyendo Optimizar imágenes en WordPress

Publicada el
Categorizado como WordPress

Wooprice Calculator Pro

Creo que es la primera vez que recomiendo un plugin de pago para WordPress, pero es que este me resultó casi magia cuando entendí como funciona. Hay versión free, pero no es nada espectacular, lo increíble es la versión pro (unos 50$ para 3 sites, que es decente): tienes un producto con tarifas megacomplejas en… Seguir leyendo Wooprice Calculator Pro

Pequeñas cosas con WP-CLI: llamandolo desde php en línea de comandos para scrapear datos

WP-CLI es la caña, y muy útil para casos como éste: tenemos unos 11.000 usuarios en una instalación WordPress, sin avatar. Este caso es un poco particular, porque el avatar lo vamos a sacar de una plataforma privada, sin API… pero el mismo modelo es aplicable, por ejemplo, si tenemos usuarios de twitter para cada… Seguir leyendo Pequeñas cosas con WP-CLI: llamandolo desde php en línea de comandos para scrapear datos

¡No hagas esto! Borrados masivos en WordPress directamente desde la BD

No lo hagas,.. pero alguna vez puede ser necesario (por ejemplo, una importación fallida de algunos cientos de miles de registros). Este ejemplo elimina los posts que están en la papelera. Con cambiar el WHERE a post_type=’tu_post_type’ ya puedes liarla parda :) DELETE wp_posts,wp_term_relationships,wp_postmeta,wp_term_taxonomy FROM wp_posts LEFT JOIN wp_term_relationships ON ( wp_posts.ID = wp_term_relationships.object_id )… Seguir leyendo ¡No hagas esto! Borrados masivos en WordPress directamente desde la BD

Publicada el
Categorizado como WordPress

Instalar WP-CLI sin sudo

WP-CLI es una potentísima herramienta para trabajar con WordPress desde línea de comandos, sin usar el navegador web. Esto es especialmente útil para realizar procesos por lotes o que podrían consumir mucho tiempo, evitando una carga innecesaria para el servidor web y, en general, haciendo las cosas mucho más rápidas. Aquí está toda la información… Seguir leyendo Instalar WP-CLI sin sudo

Publicada el
Categorizado como WordPress

Microformatos / Datos estructurados

Algunas referencias útiles para enriquecer la info de una web con JSON-LD https://technicalseo.com/seo-tools/schema-markup-generator/ http://schema.org/Corporation https://search.google.com/structured-data/testing-tool/u/0/ https://developers.google.com/search/docs/guides/search-gallery

Publicada el
Categorizado como General

Netiquette en #Slack

Y, generalizando, en conversaciones (semi)públicas / «virtuales»; social-media related. https://www.fastcompany.com/3054413/everything-you-are-afraid-to-ask-about-slack-etiquette Parece bastante sentido-común. Y sonreir un poco, si es posible, sumando en lugar de restando :)

Publicada el
Categorizado como General

Electron.js

Un apunte para el futuro (aunque hace siglos que no desarrollamos Apps desktop):  https://electronjs.org/ es la solución para desarrollo en escritorio (Atom, Slack,…)

Publicada el
Categorizado como General

Expresiones regulares

Dos aproximaciones distintas a un mismo problema: dar con esa expresión regular que te va a quitar cien líneas de código. Potente; elegante. http://regexr.com/ https://regex101.com/

Publicada el
Categorizado como General

Debugging API’s y HTTP connections

Cuando trabajamos con APIs desde Apps móviles a veces aparecen «brujas»: se supone que el API de servidor funciona, se supone que estamos haciendo las llamadas correctas desde nuestro código, pero la respuesta no es la esperada. Ante estos casos, lo mejor es simplificar (siempre KISS), y no dar nada por supuesto: Realizar llamadas manuales… Seguir leyendo Debugging API’s y HTTP connections

Android Experiments

Para la edición de este año no llegamos, pero para el que viene tenemos Buenos Propósitos… ;-) https://www.androidexperiments.com/

Publicada el
Categorizado como Android, UX

Youtube Data API – Code Samples

Recuperar lista de vídeos subidos por uno mismo, usando oAuth, es un buen ejemplo de uso del API de Youtube (v3). Aquí tenemos un ejemplo (en Google Developers, otra referencia para tener siempre a mano): https://developers.google.com/youtube/v3/code_samples/java#retrieve_my_uploads Esta referencia es interesante, paso a paso: http://lookthiscode.blogspot.com.es/2013/01/utilizando-youtube-data-api-v3-desde.html

Take a breath…

A veces desarrollamos cosas solo por aprender por el camino, por demostrar que sabemos hacerlo. Algo así debieron pensar los chicos de Polona, Librería Nacional de Polonia, cuando fabricaron esta herramienta tan útil como inútil (salvo que seas un secuestrador en potencia). Pero merece la pena ver lo bien que trabajan su interfaz.. Y pronto… Seguir leyendo Take a breath…

Publicada el
Categorizado como UX

Imagen principal del sitio para OpenGraph / Facebook

WordPress está cada vez más vinculado a Jetpack (no es obligatorio, pero empieza a dar cositas tan chulas como Photon que cuesta trabajo no instalarlo en casi todas las webs que sacamos). Una de las cosas que hace bien es gestionar el opengraph (resumiendo mucho, lo que se ve en Facebook cuando compartimos). Suele pasar… Seguir leyendo Imagen principal del sitio para OpenGraph / Facebook

Publicada el
Categorizado como General

Que llega… AMP (Accelerated Mobile Pages)

Lo explica perfectamente Fernando Plaza en Ayuda WP, con este plugin «imprescindible»: http://ayudawp.com/personalizar-amp/ Y para ampliar: http://ayudawp.com/amp-wordpress/ http://ayudawp.com/amp-seo-wordpress/ Por cierto, claro: Datos del dominio ampproject.org Domain Name: AMPPROJECT.ORG Domain ID: D177248413-LROR WHOIS Server: Referral URL: http://www.markmonitor.com Updated Date: 2015-10-31T03:45:45Z Creation Date: 2015-08-31T16:13:25Z … Registrant ID: mmr-87489 Registrant Name: DNS Admin Registrant Organization: Google Inc. Registrant… Seguir leyendo Que llega… AMP (Accelerated Mobile Pages)

Mobile First (y httpS omnipresente)

Solo un recordatorio a un par de enlaces que solemos tener en cuenta por aquí: – https://design.google.com/ – (su nuevo «Resizer», que parece funcionar solo con https, hay que ponerse las pilas con https://letsencrypt.org/ , de paso): http://design.google.com/resizer/ — Editado tras el comentario de Dani: De hecho, lo curioso de esta historia es que hay… Seguir leyendo Mobile First (y httpS omnipresente)

Clockwise framework

Algunos recursos muy interesantes de usTwo, útiles para diseñar y programar watch faces para Android Wear. Incluye guías de diseño y desarrollo, algunas plantillas útiles en Illustrator, skectches… http://wear.ustwo.com/resources/

Profundizando en D3.js con ejemplos

Algunos sitios con ejemplos interesantes utilizando D3.js, o sólo como inspirtación, o para ver cosas bonitas: – http://christopheviau.com/d3list/gallery.html – https://github.com/mbostock/d3/wiki/Gallery – http://bost.ocks.org/mike/ – http://blog.udacity.com/2015/01/15-data-visualizations-will-blow-mind.html Continuará…

Publicada el
Categorizado como UX, WordPress

Jugando con los permalinks de WordPress: pasar parametros en la URL

Una de las funcionalidades de Mostrosity, nuestro juego GPL, es la de compartir el personaje que el jugador va personalizando (vía Twitter, Facebook,…). Ya que tenemos una tabla en una base de datos donde vamos almacenando qué opción tiene seleccionada el usuario para cada parte del cuerpo (Brazo nº 3, Pies nº2, sonido nº5,…) nos… Seguir leyendo Jugando con los permalinks de WordPress: pasar parametros en la URL

Publicada el
Categorizado como General

Android Experiments

Como ellos mismos dicen: creatividad y código (abierto) en Android. Proyectos Android revisados por Google que tienen «algo» especial, probablemente inútil, pero que pueden servidor para aprender a hacer determinadas cosas (todos con repositorio abierto). https://www.androidexperiments.com/

Publicada el
Categorizado como Android

Temas WP sectoriales y de directorios

Unos apuntes rápidos para un proyecto futuro: http://www.wpemy.com/top-10-business-directory-and-listing-wordpress-themes/ http://www.premiumpress.com/ Continuará…  

Publicada el
Categorizado como WordPress

Permalinks en WordPress Multisite (sin /blog)

WordPress en su versión multisite añade el slug /blog a los singles de posts (y custom post types), resultando permalinks del tipo www.whatever.com/blog/categoria/nombre-de-la-entrada En el 99% de los casos no querremos ver ahí ese /blog. Gestionar la estructura de permalinks es fácil, pero es importante tener en cuenta el orden. 1. En el admin de… Seguir leyendo Permalinks en WordPress Multisite (sin /blog)

Diseño de prototipos para Android Wear y Apple Watch

Prototipar una App siempre ahorra tiempo y alinea las expectativas del cliente con el trabajo a realizar. Para ello, hay que estudiar bien las directirces de diseño que Sr. Google y Sr. Apple nos facilitan. Aquí están. Recursos Android Wear: http://blog.fluidui.com/design-resources-for-android-wear/ Apple Watch: http://blog.fluidui.com/design-resources-for-apple-watch/

Publicada el
Categorizado como General

Receta para optimizar el rendimiento de un sitio web con WordPress en 5 minutos. O 10.

No es magia, y no sustituye un trabajo más serio de optimización de tiempos de carga de una web, pero esta chuleta dará resultados muy rápidos: Habilitar compresión gzip Siempre que esté configurado en el servidor. Añadir al .htaccess: # BEGIN GZIP <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript </ifmodule> #… Seguir leyendo Receta para optimizar el rendimiento de un sitio web con WordPress en 5 minutos. O 10.

Comunicación Android App con Wear

Wear es tan bonito que muestra las notificaciones casi sin hacer nada de trabajo, por lo que tener una App Wereable es casi trivial… Pero no tendría mucho sentido, no aprovecharíamos las posibilidades del wereable como «segunda pantalla» si mostramos exactamente la misma información que ya recibimos en el terminal que llevamos en el bolsillo.… Seguir leyendo Comunicación Android App con Wear

Repositorio de cosas útiles para desarrolladores iOS (y otros)

75 Essential Tools for iOS Developers Las listas «curadas» molan, dan como para pasar una tarde probando e incorporar 1 o 2 herramientas a tu flujo de trabajo habitual: 75 Essential Tools for iOS Developers Clasificadas en Inspiración, Diseño, Control de Fuentes, Inspección de Apps, Editores, Documentación, Control de Dependencias, Debug, Imágenes, Core Data, Servicios… Seguir leyendo Repositorio de cosas útiles para desarrolladores iOS (y otros)

UX Android: Interfaces de usuario usables a la par que bonitas y distintas

Android no es iOS (ni iOS es Android). Parece obvio, pero a veces el cliente, o nosotros mismos, caemos en la tentación de iPhonizar una App. Para aprovechar las bondades de cada sistema, que las tienen, es muy conveniente seguir las recomendaciones de diseño. Los principios de diseño en Android son Encántame, Simplifica mi vida,… Seguir leyendo UX Android: Interfaces de usuario usables a la par que bonitas y distintas

Este repositorio nace como iniciativa de Antonio González y José Miguel Migorance de SI2, de momento como un proyecto interno para guardar determinadas ideas, formas de hacer las cosas, fragmentos de código o whatever pueda resultar de especial interés en el futuro.

Empezamos con tips de programación par Android, veremos donde termina.