Code dreamer, Creator of random stuff & sharing wizard

ThoughtWorks

Biography

Who?

Code for living, fun and the lulz. I spend the day thinking what things can make my life easier, automating things allowing me to enjoy a moment of Laziness. Then is just hours of implementation to be able to share them with the community, because there is no value if the only one that can enjoy something is me.

Interests

  • Event Driven Architecture
  • DDD
  • Functional Programing
  • Actor system
  • Micro-services

Education

  • MEng Software Engineering, 2011

    University of Alicante

Good at?

Innovation

Thinking out of the box is important to learn & create change.

Polyglotism

Each language has their own practices and also their own of problems they are good at solving.

Design

Patterns are not the same everywhere, the same as there are not one size fit all solutions.

Delivery

Get something with value to your users. Provide solutions that fits the need without waste.

Knowledge Sharing

Being able to pass knowledge is a way to give back to other & to validate own understanding.

Feedback

Listening & sharing is the only way to have cohesion & safe space in a team.

XP

 
 
 
 
 

Lead Software Consultant

Thoughtworks

March 2020 – Present Spain
 
 
 
 
 

Lead Software Consultant

Thoughtworks

May 2019 – March 2020 USA
 
 
 
 
 

Senior Software Consultant

Thoughtworks

April 2017 – May 2019 Spain
 
 
 
 
 

Independent Software Consultant

Stremio

September 2016 – April 2017 Bulgaria
 
 
 
 
 

Software Engineer

Schlumberger

July 2014 – August 2016 France
 
 
 
 
 

Software Engineer

Schlumberger

August 2011 – July 2014 United Kingdom

Done! Stuff

Tarant

Tarant is a TypeScript/JavaScript library for building software using the actor system model. You can visit the home page for more information and a more complete quick start guide: https://www.

Feaggle

You can download the latest image from DockerHub! feaggle-server is a dynamic server that allows setting up feature toggles for the feaggle library. Development How to Run feaggle-server locally You will need to install docker and docker-compose in your machine.

Electron Plugin

Create extensible electron applications through a plugin architecture that uses NPM (or similar registry) or GitHub as repository for the extensions. Installation add it to your electron project using npm install electron-plugin --save or yarn add electron-plugin

Web Threads

generic threads using web workers for the web Installation add it to your project using npm install web-threads --save or yarn add web-threads

Flow Runtime Faker

Motivation Type definitions in javascript can help adding type safety for classes. But should not make more complicated property based testing. This package aims to generate random objects based on their flow definitions

tellojs

Motivation Provide an async promise based unofficial sdk for the tello drone based on the official documentation. Installation add it to your project using npm install tellojs --save or yarn add tellojs

Array Peek

extend array functionality to allow peek method. peek vs forEach peek as forEach allows you to execute a callback on each of the elements of an array, not affecting the content of itself.

Express Exception Handler

Motivation This package was created to add a general way to handle exception for express application with the expectation to make it simpler to handle all possible requests. Installation add it to your project with npm install express-exception-handler or yarn add express-exception-handler

Gatoo

This project will provide a command line and a library to export google analytics to your prefered endpoint (console, log management, or db). Use as Command Line install globally with npm install gatoo -g.

ELK Docker

This show how multiple containers can aggregate log to logging infrastructure with docker compose using logstash, elastic search and kibana Run you will need docker installed in your computer, after it :

Travis YML Plugin

This plugin has been done to be able to have certain level of compatibility in between Jenkins, Travis-CI and other YML based build services. Use Install by navigating and selecting Manage Jenkins -> Manage Plugins -> Travis YML Plugin

PlayYoutube Atom

Search and play youtube videos inside atom. Follow your favorite tutorials inside the development environment in a floating window Use ‘playyoutube-atom:search’ (‘ctrl-shift-y’): Display the search window: input some search terms and hit enter.

PlayYoutube Visual Studio

Plugin for Visual studio that allows you to search and play youtube videos inside your development enviroment. follow tutorials or listen what you want, without the pain of having to toggle between multiple windows.

Raw Guid Converter

Use Case command line and library to convert guids from oracle raw format to formated guid and viceversa Installation if you want ot use in a package yarn add raw-guid-converter or npm i raw-guid-converter

Any Prebuilt

Mission Easy generation or integration of prebuilt packages. It helps fetchs prebuilt binaries from github releases. Generate a prebuilt package Create new project npm init Add this package as dependency npm install any-prebuilt --save Create postinstall.

Koteky

This is a plugin based crossplatform social network manager application based on electron. Usage (Alpha) This project is still on development and is not ready for public use

Scala Local Toggle

feature toggle by configuration file for scala applications Install //Use version in badge libraryDependencies += "com.github.kanekotic" %% "scala-local-toggle" % <version> Use Instantiate can be done by newing the class, it can also be register in guice or dependency injection frameworks.

Dependency Shrinker

Mission a command line tool to check what dependencies of an executable are really critical and not Installation npm install dependency-shrinker use this command will list the runtime dependencies that can be possible removed (will only detect the ones that will cause a crash if removed).

MailCrypt

Motivation Engine and electron app that allows to add pgp encrytion to gmail. To ensure privacy of data. Logo Check out the new logo that I created on LogoMakr.com https://logomakr.

DynamoDB CLI

dynamo operations command line (In development not production ready, use with caution.) Use Case provides a easy to use command line interface to interact with DynamoDb. Supported commands current implementation requires you to have correct setup of enviroment variables logind for aws in your command line.

CabritoBot

chat bot for messenger for el done for european proposal to promote eating goat. Logo Check out the new logo that I created on LogoMakr.com https://logomakr.com/9M3Zaw

LittleBox

Augmented reality project, spawns a rose on a glyph. LOGO Check out the new logo that I created on LogoMakr.com https://logomakr.com/1p2i5d

Coin Run

Coin Run Run and Jump around without touching the stones to get as many coins as you can. Use the accelerometer and tap the screen. This is my first app, so very simple game.

Runtastic Unofficial API

This is a promise based unofficial runtastic api. installation npm install runtastic-unofficial-api Use the API provides the next functionalities Authentication Get login information and tokens. The next snippet describes an example of the call:

Nike Unofficial API

unofficial nike api This is a promise based unofficial nikeplus api. installation npm install nike-unofficial-api Use the API provides the next functionalities Authentication Get login information and tokens. The next snippet describes an example of the call:

Endomondo Unofficial API

This is a promise based unofficial endomondo api. installation npm install endomondo-unofficial-api Use the API provides the next functionalities Authentication Get login information and tokens. The next snippet describes an example of the call:

OAuth Electron

this package is currently in development and is not available for use Use OAuth in a simple way inside your electron App. Installation add it to your elenctron project using npm command

OAuth Electron Facebook

this package is currently in development and is not available for use Use Facebook OAuth in a simple way inside your electron App. Installation add it to your elenctron project using npm command

OAuth Electron Twitter

Use Twitter OAuth in a simple way inside your electron App. Installation add it to your elenctron project using npm command npm install oauth-electron-twitter --save Usage add the require for ouath and twitter specific code from this package

Peer2Sync

##Intro Protocol capable of P2P (master to master) syncing key-value datastores. using c++ high performance web server with a redis backend. The path to requests is /rpc and takes only POST requests in JSON-RPC 2.

Specflow.Rider

Intent Integration of Specflow autogeneration for Rider Setup clone this repo, and make sure you have intellij installed the community version should be enough. you can use the next Gradle commands from command line:

Vue Atom Template

this is a template for generating a package using vue as rendering framework Logo Check out the new logo that I created on LogoMakr.com https://logomakr.com/3lbtkb

Written! Stuff

Update your npm package dependencies and release with Travis

As a member of the community that like to generate npm packages like libraries and cli tools, sometimes is difficult to maintain everything and keep your package up to date in the dependencies side.

Create your User/Organization GitHub Page with Hugo + Travis

I have just finished migrating my static blog from Hexo to Hugo and one of the main things I care about is to be able to do continuous deployment of my profile and blog.

Sonarqube Upgrade Error due LDAP

While upgrading Sonarqube i am getting the next error message An error happened, some parts of the page might not render correctly. Please contact the administrator if you keep on experiencing this error

ubuntu not restarting or turning off

Lately I have been getting tired of my operating system just not wanting to reboot or sometimes not turning off. This happens in my version off ubuntu due a problem with the energy management.

Unit Test CheatSheet

##mstest links: assert collection assert ##Nunit links: Attributes Assertion ##MOQ Example public interface IFoo { public bool DoSomething(string); } int calls; var mock = new Mock<IFoo>(); mock.