Skip to main content

Posts

Shared Ledger Simulator

I have been interested in the shared/distributed ledger technology (a.k.a. block chain, a.k.a. the magic behind cryptocurrencies) for more than a year already but recently I had finally put real time and effort into it. And since I believe that the best way to understand something is to get your hands dirty, that is what I have done, after I got a grasp of the core principles (or that is what I thought back then), I decided to code my own shared ledger simulator. Initially, I also considered to look into the main existing code bases (e.g., the source code of the main/official Bitcoin client/miner or Ethereum's) since they are open source, but seeing code like this   put me off... That file is 3229 lines big!!! Plus it is written in C++. Do not get me wrong, I truly believe Satoshi Nakamoto (i.e., whoever hides behind that name) is a genius and also a great software developer, but he/she/they for sure did not have readability as their main priority. I also noticed ...

Ejemplo de uso de una Open Banking API para encontrar las transacciones de mayor cuantía

Advertencia y disculpas previas: ésta es una de las primeras veces que escribo sobre programación en mi lengua materna (castellano/español) porque el 99% de lo que sé lo he aprendido (y practicado) en inglés, por lo tanto, me disculpo de antemano si los términos técnicos empleados no son los correctos o si utilizo términos directamente en inglés para los cuales existe una versión en español. Las entidades financieras cada vez se parecen más a empresas tecnológicas y hay quien asegura que el futuro de la banca está en las Open Banking APIs   Pero... ¿para qué sirve una Open Banking API?  Las Open Banking APIs permiten crear aplicationes basadas principalmente en los datos que posee la entidad suministradora de la API (normalmente un banco). ¿Y quién puede crear esas aplicationes? Entidades o incluso desarrolladores de software individuales que no tienen por qué tener ninguna relación especial con la entidad financiera. Es decir, cualquiera con unos conocimientos interm...

You can finally DISLIKE a tweet (and make it count)

(If you don't feel like reading you can watch this video  instead) How many times have you wished there was a " dislike " button in Twitter? (and probably also in any other social network, but I will focus on Twitter in this post). And I am not referring to this dislike  button which is not what you want,  since it is just a way to tell Twitter (and no one else) that you would not like to see similar tweets on your feed in the future. So until Twitter decides to add this highly demanded feature (i.e., a real dislike button), I have come up with a way to dislike a tweet and make it count , so you can share your dislikeness   with everybody and your dislikes can be aggregated with other Twitter users'  dislikes . All you need to do in order to dislike a tweet is to use the hashtag #dislike  or just #dl   for short,  when replying to the tweet which you dislike . That's it, so simple! For example, this is the image of a tweet which has two d...

Cómo pedir cita previa en la DGT y desesperarse en el intento

El uso de la tecnología para la agilización de la administración española es simplemente bochornoso (y me quedo corto). Además todo el mundo lo sabe, sin ir más lejos, la última gran chapuza  informática en el Ministerio de Justicia va a costar al menos  60 millones  extra.  Pero como el dinero sale del bolsillo de los ciudadanos, pues aquí no pasa absolutamente nada y nadie asumirá ninguna responsabilidad. Esta es la triste realidad de la España actual. Pero es que hasta un trámite tan sencillo como pedir cita previa en una de las Jefaturas Provinciales de Tráfico desespera hasta al más templado. Y como quiero ser muy específico y una imagen vale más que mil palabras, a continuación voy a documentar todo el proceso que es de todo menos intuitivo. Todo empieza abriendo este enlace Y como podéis ver en la imagen previa, con la primera pantalla (vamos a obviar que la interfaz parece que ya haya cumplido la mayoría de edad, tiene pinta de ser de finales de l...

Everybody makes mistakes, even Google doc writers

Yesterday I was exploring the new Android SMS Retriever API, since it seemed to promise to make the user's phone verification a much more straight-forward and also permission-less process.  Soon I got disappointed since it requires to use a paid third-party service such as Twilio ... But at leas t I got to see something unusual, not every day one comes across a code syntax error in an official Google  documentation . Ca n you spot it? (at the e nd of the secon d code snippet ). According to the foo t note, the last update of that page was on Jul y 7th, so two mon ths and a week ago. So have I been the first one to notice this? Or maybe just the first one to raise the voice about it? I have also been nice enough to report it to Google. I came across the a bove tweet which an nounces this API to the world, it includes a link to the docs and as yo u can see, 118 people re-tweeted it and 190 l ike d it... D id any of th i s people bother to open the l...

Complete (working) code to verify an Android app user phone number through SMS

Update from Thurs day September 1 4 th 2017:  The very same day I posted this ( the day before yest erday), I realized that it looked like Google ha d just made it effectively obsolete       I thought that a t least I c ould claim that I chose a very demanded functionality to blog about, since Google decided to add a new API to provide this very same service. Even the names are quite similar, I called it "SMS Verifier" and they call it "SMS Retriever". But after looking into th i s new Google Services API, I found out that it re quires to use a paid third-party service such as Twilio ... very disappointing! So my original post (which follows below) is still relevant after all, since it allows you to verify the user's p hone number for free .   Original post: Tuesday September 12th 2017 It was about time for me to give back to the open source community, so I have just pushed the complete (working) code to verify the user's phone number ...