DISPLAY ‘HOLA MUNDO’
Espero que este no sea otro intento más de escribir un blog y pueda darle continuidad.
Llevo muchos años pensando en lo que podría escribir en un blog... tantos que hasta ahora no había escrito ninguno. Como últimamente estoy muy centrado en el tema de la programación para iOS y leo muchos blogs donde la gente cuenta cosas que ha aprendido o sabe hacer para ayudar al resto de la comunidad de desarrolladores (entre ellos a mi), he pensado que una buena idea para empezar sería devolver los favores escribiendo mis "avances". De eso es de lo que trata este blog... de como un triste programador de COBOL intenta hacer app´s para su iPhone.
Y para darle más cache a esta primera entrada, me voy a permitir el lujo de citar a Marcus Zarra que en su post "Why so serious?" hace una afirmación que ningún desarrollador debe olvidar jamás... o al menos eso pienso yo.
"We as developer must remember that we are not the target for 99% of the software that is written. We are not the final judge on what will or will not work. If anything, we are the last people that should have an opinion on what is good or bad. We should be the ones that step back and watch what the “normals” do with it. They determine the success or failure, not us"
No empezamos muy bien... es difícil sacar tiempo para escribir un blog.
De momento me conformo con dejar aquí un par de sitios web bastante interesantes que he encontrado últimamente:
MaaSive: Es un sitio web que ofrece persistencia en la nube. Lo encontré gracias a un tweet de Brandon Trebitowski y el video demostrativo deja claro lo que es: un framework que podríamos utilizar para sustituir (o complementar según se quiera) a Core Data y almacenar todos los datos en la nube. Soluciones como esta hay unas cuantas: amazon cloud services, google app engine, etc. La ventaja de este framework es la clara orientación a iOS. Está todavía en fase alfa.
Parse: Este es el que más impresionado me ha dejado. En algún momento pensarás en hacer una app que requiera notificaciones "push". Al margen de lo engorroso que pueda resultar montar todo el servicio de notificaciones, lo más probable es que la solución que encontremos tenga un coste económico ya que requiere de un servidor.
Parse encapsula todo el proceso de notificación en un framework para que sea sencillo de implementar en una app y además es gratuito para pocos usos (relativamente, que ya me gustaría a mí tener una app que hiciera más de un millón de push al mes).
Hasta aquí por hoy. Estoy trabajando en algunas cosillas que me gustaría compartir pero todavía no están terminadas. Espero no tardar tanto en escribir el siguiente.
Planificando la descarga de informes de iTunes Connect
Hace poco me puse con una tarea que tenía pendiente desde el verano: automatizar la descarga de informes del iTunes Connect.
El 30 de Agosto, en el Apple Developer Connection (en el iOS Developer News también) publicaron esto: Automatically Download iTunes Connect Reports. Lo que nos contaban ahí es que habían desarrollado una nueva herramienta para poder descargar los informes de ventas del iTunes Connect sin tener que acceder a dicho portal. Esto está muy bien, primero porque la descarga de varios informes es bastante tediosa, segundo porque es normal que no te acuerdes de entrar a descargarlos y puedes automatizar la descarga y tercero porque las herramientas para el seguimiento de las ventas brillan por su ausencia así que si empiezan a hacer alguna es una buena señal.
Cursores dinámicos y NSCompoundPredicate
Hace unos años, en un proyecto lleno de anécdotas y experiencias, el grupo de desarrolladores me contaba que habían creado servicios para cada una de las tablas del modelo de datos con el objetivo de centralizar los accesos a la tablas. La idea me pareció interesante: estaba harto de tocar programas que tenían la misma query y había cambiado algún criterio por lo que unificar las consultas en un único servicio era genial.
Les sugerí que, a la hora de montar los cursores, preparasen toda salida de datos de forma que fuera reutilizable. De esta forma, a medida que se fueran creando nuevas consultas, solo habría que incluir la nueva query. "No habrá que dar de alta nuevas consultas, hacemos cursores dinámicos..." dijo uno de ellos con gran orgullo.
Un "group by" con Core Data
Cuando se trabaja con bases de datos siempre llega un momento en el que hay que hacer algo más complejo que recuperar datos de forma directa y manipularlos. Saber cual es el registro que tiene el valor más alto o más bajo en una propiedad en concreto; identificar los valores diferentes que tienen una propiedad; etc, son situaciones que, aunque no sean cotidianas, vamos a tener que enfrentarnos con ellas.
Web y cliente iOS en 45min
El pasado 14 de Mayo tuve la suerte de poder dar una charla en el CIBALL sobre como hacer un sitio web con Ruby on Rails y una aplicación iOS que accediera a los datos almacenados en dicho sitio.
El contenido de esta charla lo preparamos entre Jorge Ortiz (aka @jdortiz) y yo. El resultado está grabado en formato screencast pero es lo suficientemente largo como para resultar tremendamente pesado. Aun así lo hemos colgado en Vimeo por si algún imprudente se anima a verlo.
Una web con Ruby on Rails
Seguro que en algún momento nos hemos planteado la necesidad de disponer de un servicio web propio para alimentar alguna de nuestras aplicaciones (actualización de datos, gestión de InApp Purchases, notificaciones, etc). Actualmente hay muchos servicios on-line que nos permiten gestionar estas necesidades con facilidad (Amazon Web Services, iCloud, Azure, Parse, MaaSive). Es conveniente, al menos, echar un vistazo a cada uno de ellos para saber que utilidad podemos sacar de ellos pero creo que también es conveniente hacer un acto de valentía y plantearnos el hacer nuestro propio servicio web.
Cliente iOS… explotando a NSURLConnection y NSJSONSerialization
En la entrada anterior vimos como hacer una web con su API Rest con muy poco esfuerzo. En esta vamos a ver como conectar con ese API Rest con muy poco esfuerzo también. Eso si, vamos a centrarnos solamente en la clase NSURLConnection; la creación de la aplicación, modificación del modelo y del storyboard lo damos por supuesto.
Pintando rutas con MapKit
Le tenía muchas ganas a MapKit. Es de esas cosas que sabes que en algún momento tendrás que toquetear pero por algún motivo ese momento no llega. Al final ha sido para hacer una aplicación que tiene la funcionalidad de "como llegar". Había oído a unos decir que esto era muy complicado y a otros que no era para tanto... Por lo que he podido comprobar, a partir de iOS 4 es bastante fácil de implementar. No he intentado bajar el código más allá de esta versión así que no puedo confirmar si es muy complicado en versiones anteriores.
¿Morirá Microsoft por daños colaterales?
Este fin de semana he estado leyendo un articulo bastante interesante sobre el desarrollo del sistema operativo WebOS contado de forma cronológica. El articulo es de The Verge y se llama Pre to postmortem: the inside story of the death of Palm and webOS. Lo tenía para leer en Pocket desde hacía unas semanas pero, quizá por el quinto cumpleaños del iPhone, ha estado circulando por twitter durante toda la semana.
Después de leerlo, de escuchar el último podcast de Puromac (uno de los mejores que he escuchado aunque a Fede no se le oía a penas), de ver un tweet y la replica de John Gruber, de ver las últimas noticias de Microsoft y las de Google, de compartir impresiones con amigos y juntar todo esto en mi cabeza, he estado reflexionando un poco sobre todo esto y me he animado a hacer un "articulo de opinión"...
Jugando con la App Store
El miércoles 26 de septiembre tuve la oportunidad de dar otra charla en la NSCoderMAD. Volvió a ser en el CIBALL un sitio que parece que visitaremos mucho en los próximos meses si todo va bien. En esta ocasión mi charla giró sobre la experiencia de usar los servicios de AppGratis, una aplicación que envía newsletter y hace notificaciones push cada día hablando de una aplicación que baja de precio o pasa a ser gratis. Creo que la charla es bastante interesante por la experiencia en si y porque aporta datos no muy habituales: las ganancias de una aplicación del Top 25 de pago.
Soporte Nysnö para MacBook Pro
No tenía pensado hablar de bricolaje en este blog pero una mención de @rubdottocom haciendo referencia a una entrada suya haciendo lo mismo pero con otro modelo me hizo plantearme una sección de "Macnitas" para este blog.
Le he pedido a los Reyes Magos una pantalla de 24 pulgadas para conectar al MacBook Pro y poder hacer storyboards de aplicaciones para el iPad sin volverme loco. El caso es que, cuando lo tenga, el portátil pasará a ser un "sobremesa" y para que no me quite mucho espacio he estado mirando soportes verticales. Obviamente son todos muy buenos y caros pero como la economía española no está para tirar cohetes y hay que hacer mucha contención del gasto decidí explorar otras opciones: atriles, sujetalibros, etc, hasta que mi mujer me dijo: "¿por qué no usas ese servilletero que compramos en Ikea y que nunca usamos?"
Y otro
Lo reconozco, soy un culo inquieto. Creo que he probado más sistemas de blogging que entradas he escrito.
Siendo usuario de Gmail, cuando te animas a escribir en un blog lo más fácil es hacerlo en Blogger... y así empece yo: AZCT Abend era la incursión de un Cobolero en el mundo del blogging y como de COBOL no había mucho que contar, la idea era ir contando mis avances en el aprendizaje de Objective-C y Cocoa Touch.
Como mola Octopress
Estoy disfrutando como un enano con Octopress. Como ya conté en el anterior post, he probado unos cuantos servicios para publicar blogs y a grandes rasgos todos me han parecido iguales: un menú de configuración en el que puedes tocar cuatro cosas, la promesa de que a través de CSS te lo puedes configurar a tu gusto y en ocasiones una oferta de plugins que nunca terminan de hacer lo que crees que deben hacer.
Si analizamos lo que ofrece Octopress, posiblemente Wordpress sea el que más se le parezca (no creo que el nombre sea casualidad). Se puede descargar toda el proyecto del blog desde la página de wordpress.org, se configura un MySQL, se tocan un par de ficheros, se sube a un hosting de php y a disfrutar del blog... todo un mundo de maravillosos plugins y temas está a tu disposición.
El problema es que php y yo no terminamos de llevarnos bien.
Como se hizo URLHunter
Vamos a demostrar que no hace falta ser un figura para hacer algo muy util y aparente. Vaya por delante que, si somos capaces de hacer esto es porque existen páginas como las de Railscasts.
Lo primero que hacemos después de crear nuestro nuevo proyecto Rails es instalar las gemas necesarias para trabajar con Twitter Bootstrap, del que somos fans.
Resacón en Heroku
Como era de esperar, el debut de URLHunter ha tenido alguna incidencia.
En un primer momento pensé que todo era provocado por unos cambios de ultima hora que tuve que hacer en los tipos de campo de la entidad Tweetlinks al pasar de SQLite a PostgreSQL pero no, el problema ha sido de programador despistado.
Send to kindle para Octopress
Cuando escribí la oda a Octopress comenté que me sentía más comodo con Ruby para tocar diversas partes del código del blog, como por ejemplo los plugins. En esta entrada voy a aprovechar la noticia del botón de enviar a kindle para que veáis lo fácil que es hacer un plugin.
Variables de entorno en Rails
Cuando terminé la primera versión de URLHunter, tenía claro que compartir el código fuente del proyecto era básico. Principalmente por dos razones:
Primero, porque que se aprende mucho viendo el código, quizá mas que siguiendo un tutorial.
Segundo, porque me encantaría que la gente clonara el proyecto, hiciera forks, pull requests y enriqueciera URLHunter con sus aportaciones individuales.
Cuando lo iba a subir a GitHub caí en la cuenta de que los tokens, consumer_keys, etc de Twitter los iba a poder ver cualquiera que echara un vistazo al fichero twitter.rb y no solo eso, si en el futuro decidía incluir un formulario de contacto, integrar New Relic o Google Analytics los usuarios, contraseñas, identificadores únicos serían visibles para todo el mundo. Fue entonces cuando vi la importancia de las variables de entorno a las que hacían referencia en la documentación de la gema de Twitter.
Una decada
Puede que no haya ido a donde quería ir, pero creo que he terminado donde tenía que estar.
Douglas Adams.
Hoy hace diez años que entré a trabajar como programador en una empresa de consultoría. Para algunos serán muchos, para otros serán pocos, para mi es una cantidad muy significativa que me permite echar la vista atrás y reflexionar sobre como han cambiado las cosas desde entonces.
Helios: el sol Vs. la 'iNube'
There's a lady who's sure all that glitters is gold And she's buying a stairway to heaven.
Son tiempos convulsos para la sincronización de datos entre aplicaciones. Si seguís al mismo tipo de personas que yo en Twitter habréis visto como el nivel de indignación con iCloud por la sincronización por Core Data ha llegado a niveles casi de disturbios. Este post de los desarrolladores de Yojimbo es un buen resumen. Para echar un poco más de leña al fuego, Brent Simmons escribía Why Developers Shouldn’t Use iCloud Syncing, Even If It Worked unos días después.
Helios I. Guardando datos
Tal y como anticipe que sucedería, durante estos días he estado probando Helios, el framework de @mattt que nos permite crear un backend para aplicaciones móviles.
Como ya hice un primer análisis del framework en conjunto, ahora me voy a ir centrando en las piezas que lo forman siguiendo el orden, para mi, de mayor a menor importancia. La idea es que en las próximas semanas pueda ir sacando artículos sobre cada una de ellas:
- Sincronización de datos. Core Data Buildpack + AFIncrementalStore
- Notificaciones Push. Rack::Push Notification + Orbiter
- In-App Purchases. Venice + Cargo Bay
- Passbook. Dubai/Rack::Passbook
Sigo teniendo sentimientos encontrados con este framework. Por un lado creo que supone un gran avance ya que simplifica enormemente el desarrollo propietario de una serie de servicios indispensables para una aplicación móvil actual. Por otro lado creo que frameworks de desarrollo web como Ruby on Rails o Sinatra no son mucho más complicados y las posibilidades que ofrecen son infinitamente mayores.
Empezemos...
Helios II. Houston, tenemos un problema.
- Okay, Houston, we've had a problem here.
- This is Houston. Say again, please!
- Uh, Houston, we've had a problem.
CAPCOM Apollo XIII, Jack Swigert - Jack R. Lousma - James A. Lovell.
Aprovechando que Rafa Aguilar (aka @rais38) ha publicado en Objective-C.es un par de entradas sobre las notificaciones Push en iOS he decidido aparcar un par de cosillas que me tenían bastante atareado y continuar con el análisis de Helios.io que había prometido.
Sobre Memorión
Hablando un día por Twitter, Miguel Díaz Rubio (aka @migueldiazrubio) cometió la imprudencia de animarme a escribir algo en su blog: www.migueldiazrubio.com. Obviamente le dije que si, el blog de Miguel junto con el de Objective-C.es son de lo mejorcito que hay ahora mismo en castellano para aprender Objective-C y Cocoa Touch, las herramientas necesarias para hacer aplicaciones iOS y una oportunidad para ayudar a estos máquinas no podía desperdiciarse.
Mamá, salgo en un podcast!
Aunque el COBOL no esté dentro de la temática habitual de este blog, si habéis leido mi entrada sobre mis diez años como programador, sabréis que los proyectos a los que me dedico durante el día tienen a ese maravilloso lenguaje como base para el desarrollo. Por este motivo, cada vez que se habla de COBOL salto como un resorte y en uno de esos saltos, Jose Antonio Blanco cometió la locura de dejarme participar en el podcast We.Developers.
Supongo que la audiencia le bajará estrepitosamente. Si queréis echar un vistazo al guión que preparé, es el cuerpo principal de este post.
Helios III. Piratas y bucaneros.
El puerto espacial de Mos Eisley. No encontrarás nunca un lugar como éste tan lleno de maldad y vileza. Debemos cuidarnos.
Star Wars, Ben Kenobi llegando a Mos Eisley con Luke Skywalker
Para esta tercera entrega volvemos a basarnos en unos artículos de Rafa Aguilar (aka @rais38), recien publicados en Objective-C.es, donde primero nos explica las categorías y tipos de In-App Purchases y después nos enseña con un ejemplo lo sencillo que es incorporar a una aplicación esta excelente fuente de ingresos.
Nosotros aquí vamos a ver como simplifica CargoBay el uso de IAP en nuestras aplicaciones y también a verificar si la compra se ha realizado correctamente por el método más seguro: un servidor con Helios.
Markdown
Hay dos cosas que recomendaría a todo el mundo que tuviera que escribir frecuentemente en un ordenador:
- Aprender mecanografía.
- Aprender markdown.
Adios Keynote, hola reveal.js
El día que empecé a preparar la presentación Helios y su integración en iOS me pregunté si habría alguna forma de utilizar markdown con Keynote. Iban a ser unas cuantas diapositivas de texto y manejar títulos, negritas, cursivas, listas, links,... con markdown me parecía triunfal. Después de una búsqueda rápida en Google y ver un par de enlaces descubrí reveal.js... y decidí no volver a abrir Keynote nunca más.
Padrinos y vacunas
Le haré una oferta que no podrá rechazar.
Vito Corleone, El Padrino
En la misma película de la que he sacado esta cita se dice que los italianos piensan que el mundo es tan duro que hay que tener dos padres y por eso todos tienen un padrino. Quizá esto es lo que pensaron los desarrolladores del nuevo framework del que me he hecho fan, Padrino, por que el nombre le viene que ni pintado.
Workflows de Editorial para Octopress
He estado creando una serie de workflows en Editorial que creo serán de gran ayuda a todos los que usen esta fantástica herramienta de edición para iPad al escribir las entradas de su blog Octopress.
Jugando a ser John Gruber →
En el fondo, una parte de mi desea ser un guru. Por eso estoy haciendo experimentos con Octopress para poder publicar enlaces al más puro estilo Marco Arment o Daring Fireball.
Mi única duda es si usar un signo de infinito, una estrella negra de cinco puntas o un caracter emoji para los permalinks. Creo que ese simbolo debe representar el tipo de contenido que genera el autor. 😜
Pow!! es poderoso! →
Pow!! es la típica cosa que nunca has necesitado pero que una vez la has probado ya no puedes vivir sin ella. No hay nada malo en escribir http://localhost seguido del puerto por donde sirve tu aplicación pero... ¿a qué sería todo más fácil si pudieras llamar a tus proyectos web también por su nombre en tu máquina local? Pues bien, Pow!! se encarga de eso.
Tweets automáticos con Octopress
Ultimamente estoy dedicando mi tiempo libre (cada día más escaso) a automatizar ciertas tareas que Octopress, por su naturaleza estática, no permite realizar. En este post explico como acabar con una de mis mayores frustraciones: poner un tweet automáticamente cada vez que publico un artículo usando Karmacracy como acortador.
Octoberry Pi
Octopress mola pero también tiene sus limitaciones. No es que yo sea un gran comunicador que está publicando artículos continuamente pero a veces he echado de menos no poder publicar algo más rápidamente o a una hora concreta.
Octopress es un blog estático que se genera mediante unos scripts desarrollados en Ruby y que usa git para publicar en GitHub Pages, Heroku o sitios similares. Por eso normalmente se necesita un PC/mac.
Quizá haya que ser muy friky para preferir hacer todo lo que voy a contar ahora y no usar wordpress pero, como dijo Steve McQueen en Los Siete Magníficos:
Lo nuestro es el plomo.
Claro, que un poco más adelante, en la misma película también dijo:
En aquel momento parecía una buena idea.
Motivación al poder
Bullet with butterfly wings
Despite all my rage I'm still just a rat in a cage.
Siempre es bueno pararse a pensar que estamos haciendo, como lo estamos haciendo y ver si hay alguna forma de mejorar. En esta época del año, bien sea por las Navidades o porque precisamente se acaba un año y empieza otro, es un momento habitual para hacer uno de estos puntos de situación.
En mi caso no ha sido al llegar el final de año. Llevo bastante tiempo dandole vueltas a como me encuentro.
Empatía por el diablo
Please allow me to introduce myself I´m a man of wealth and taste
En nuestro entorno es habitual hacer chistes sobre el usuario... por lo mal que hace los requisitos (cuando los hace), porque no sabe lo que quiere y cambia continuamente de opinión, porque no tiene ni idea de nada mientras que nosotros tenemos claro que es lo que necesita, etc, etc.
Vaya por delante que yo mismo hago este tipo de comentarios habitualmente y que discutir con el usuario es parte principal de mi día a día pero eso no quita para que, a veces, sienta empatía por el diablo usuario.
Octoberry Pi Reloaded
Desde que escribí Octoberry Pi tenía pensado hacer algo para no publicar inmediatamente lo que hubiera escrito y hacerlo a horas menos intempestivas que lo suele ser habitual ya que suelo terminar de escribir de madrugada. La solución pasaba por usar cron pero hasta estas navidades no he terminado de dejarlo listo.
Pebble, soporte técnico
Aunque ha pasado bastante tiempo, voy a contar mi experiencia con el soporte técnico de Pebble. No se que plazos se estarán manejando ahora pero, desde luego, yo no tuve la mala suerte de @pepeyebra68:
Cuestiona permanentemente tus fortalezas, por Kim Faura →
No me canso de leer este caso de estudio. La pena es que no podamos leer la visión de la otra parte. Sería super interesante ver como vivieron la "derrota".
iBooks o Kindle
Últimamente me he estado pegando con las aplicaciones de iBooks y Kindle para sincronizar los libros que he comprado fuera de las propias tiendas de Apple y Amazon. Es curioso como cada una adolece de las ventajas de la otra. Es como si se hubieran puesto de acuerdo para que no exista la aplicación con sincronización perfecta
Me lo apunto para ver si se cumple. →
Ya veremos si se cumple la profecía:
Workflow de Editorial para publicar en Medium
He creado un workflow de Editorial para publicar en Medium. No es que sea algo excesivamente complicado pero creo que puede ser de gran utilidad para los que utilicen este servicio de publicación y quieran probar otras alternativas para cargar sus contenidos. Lo único que se necesita es un token de integración que puedes conseguir en tus ajustes de Medium.
TasaTuCoche 2.0
Después de un gran parón en mis hábitos nocturnos de desarrollo he vuelto a las andadas. Hace un par de semanas me dio por mirar las valoraciones de TasaTuCoche y me quede muy sorprendido al ver que todavía tenia buenos comentarios pese a no haber sido actualizada desde hace más de tres años. Se que la aplicación se sigue descargando porque todos los meses recibo un pago de Apple por un importe más o menos constante y durante todo este tiempo he ido reflexionando, a cuentagotas, sobre como evolucionarla ya que se ha quedado bastante atrás, principalmente en el diseño (todavía no esta adaptada a iOS 7).
El caso es que al ver los comentarios tan positivos y aprovechando que vuelvo a tener una vida relativamente normal (al menos tan normal como la tenía allá por 2011 o 2012) me he decido a crear la versión 2.0 de TasaTuCoche.
Publicando en Medium... imágenes!!!
Muchas empresas se gastan auténticas montañas de dinero en formar a sus directivos para que obtengan mucho más rendimiento de sus equipos enseñándoles avanzadas técnicas de motivación personal. El problema de esas empresas es que sus directivos han olvidado, si es que en algún momento lo han sabido, que en realidad la técnica más sencilla y barata de motivación es esta:
Plugins de Karmacracy para Jekyll
Debo estar pasando por un momento minimalista porque cada vez que me pongo un rato con el blog no es para escribir nada nuevo sino para quitar dependencias. Hace tiempo que pase de Octopress 2.x a Jekyll pero todavía seguía usando algunos Plugins de Octopress 3.0 y otros míos.
Esta semana he eliminado todas las dependencias de Octopress excepto la que facilita el despliegue. Hoy, después de hacer algunos pequeños ajustes en los estilos he decidido también eliminar los Plugins que hice para usar Karmacracy como a cortador de url´s.
#f42121 en DuckDuckGo →
De las muchas cosas que me gustan de DuckDuckGo destacaría la sugerencia que muestra cómo definitiva para algunas búsquedas. Si por ejemplo buscas un código de colores te precarga el color que estás buscando y alguno de sus equivalentes. Lo normal es que te muestre el artículo de la Wikipedia relacionado con la búsqueda pero esta de los colores o la de las respuestas de Stack Overflow es de lo mejorcito...
¿y si no valgo para esto?
All around me are familiar faces
Worn out places, worn out faces
Bright and early for their daily races
Going nowhere, going nowhere
Este articulo conviene leerlo mientras de fondo se oye la interpretación que hace Gary Jules de Mad World, aquí tienes el enlace para Spotify y el enlace para Apple Music
No sé si es porque no he buscado mucho o porque este tipo de historias no son las que habitualmente circulan por las redes sociales pero me llama mucho la atención el positivismo que siempre aparece vinculado a cada fracaso. En realidad, en todas esas historias de cometer errores es bueno porque se aprende mucho nunca se habla de algo que yo considero normal, o que al menos a mí sí que me pasa, y es el momento de bajón en el que te preguntas: "¿y si yo no valgo para esto?"
Retomar un blog
Desde el momento en que publiqué la primera entrada (post, articulo o como queráis llamarlo) en blogger, hace ya unos cuantos años, supe lo difícil que me iba a resultar escribir con una cadencia suficiente como para sentirme satisfecho.
Using GitHub Issues for Blog Comments →
En este blog ni se publican artículos ni se suelen poner comentarios pero cada vez que veo algo que me llama la atención tengo que probarlo así que, desde hoy, para comentar en los artículos habrá que tener cuenta en Github en lugar de Disqus. Lo siento por los cuatro o cinco que pusieron comentarios en el pasado... siempre os llevaré en mi corazón.