personalStarting to failTwo things happened to me this month: I missed a meeting and I missed a train. That had never happened to me in 20 years, and for most…
personal, iaThoughs on my way homeThe 21st century really is amazing. I’m on an AVE train back to Madrid, coding on a laptop that weighs less than 1 kg, connected to the…
personal8 years at Playtomic.ioI made 8 years at Playtomic today. I feel old :) I’ve been reading my post from last year. Well… this year has not been well-balanced at all…
personalWhat I Learned in 2024I don’t usually write year-end reviews, but I opened this blog and saw that I haven’t posted since February. The drop in time I spend…
personal, startup7 years at Playtomic.ioThis year I haven’t written much. Time flew by; I blinked a few times, and suddenly, a whole year had passed. I’ve added only 2 posts to…
personal, startupThis is Playtomic's AnemoneWe, tech companies, don’t share a lot about our internals. But I think we should share more often, especially if we are proud of what we…
spring, undertowHow to add a listener port to Undertow in Spring BootSuper short post today. I couldn’t believe none has tried this before. We wanted to add a management port to separate traffic and…
personal, startup6 years at Playtomic.ioI started this post 6 months ago but never finished it. Today, I make 6 years in Playtomic. Everything goes so fast that it feels like…
docker, kubernetes, awsHow to migrate a cluster in productionOne of the most complex operations in tech is upgrades or migrations without disrupting the service. I always compare it to upgrading a…
mongodb, optimizationDenormalizing the core of PlaytomicYes, another post about optimization and MongoDB. I started this post in July, and I couldn’t find the time to finish this. I was optimizing…
mongodb, vpc, vpnHow to peer two VPCs and access it using a VPNAlthough I have some experience, I am not a sysadmin. So this might be obvious for a sysadmin or someone with an AWS certification but not…
ci+cd, github actions, dockerDockerized Multi-arch Github Actions RunnerDo you want to run the Github Action runner as a container? Do you want to run it on your Docker or Kubernetes cluster and scale the number…
ci+cd, github actions, jenkinsModernizing a CI+CD pipeline with Github ActionsOur CI+CD has been working for 5 years long. You know, if it ain’t broken, don’t fix it. But the company is not the same. It’s time to…
mongodbPerformance and MongoDBIf you, a backend developer, had to describe your job, what would you say? We usually talk a lot about servers, clusters, layers, algorithms…
githubFlux vs ArgoCDI have been trying to find any comparison between FluxCD and ArgoCD that could help me choose between them. I haven’t found any that truly…
githubMy evolution in Playtomic in Github chartsI sometimes take a peek at the Github charts, I find interesting what they speak about. I have never looked thoroughly at the activity…
sreThe path to observabilityo11y = observability = logs, metrics, traces This post is a summary of the steps we unconsciously followed in Playtomic when digging into…
javaMoney operations are not as easy as you thinkI see this a lot in Stackoverflow and most of the replies always makes me wonder what kind of software is running over there. People ask…
logging, how-toDon't use default values in your databaseThis is a bad practice in my opinion if your database is owned by one application (or service). It is the usual scenario when using…
logging, how-toChanging the log format in Spring BootDo you know that hours of trial and error can save you minutes of reading documentation? Well, that was not the case today because I wasn’t…
rust, how-toOptional dependencies in RustYes, I’m learning a new language. A typed one =D I love C++. Some of my best code and all my research was done in C++. But I hate its…
machine learning, artTeaching a computer to drawThere must be hundreds of artists trying to mix art and computing. I have always wanted to try to perform some experiments on this topic. It…
github, personalWhat I see in Github contributionsI have seen several people sharing their contribution graph in Github. Some of them, bragging about how dark and green their graph is. A few…
cloud, gamingCloud gamingThis is not a technical entry, but I still think it is worth to be written. I used to be a hardcore gamer. Hundreds of titles, thousands (I…
documentationChoosing a documentation systemDocumentation is always the victim when developing a system. We will do it tomorrow. And tomorrow… I’m writing this because we had a deep…
java, test, timeA way of testing code based on time in a Spring Boot ApplicationEvery time I see a I tremble. How do you expect to test that in a simple / coherent / easy to follow way? When I see that code, I usually…
spring, kafka, concurrency, streamConcurrency in Spring's StreamListener and KafkaAnother too fast, too furious post. I have spent a few hours trying to make my event processor multi-threaded, and it’s so damn easy that I…
java, threadingBlockingQueue and ExecutorServiceThis is a quick and dirty post, but I promised I would publish everything I research at Playtomic. Last week, we were having a discussion…
learningAmazed by the SoyuzI never thought that one of the things that would impress me the most when visiting New York City, would be seeing a Russian Soyuz. It was…
security, startup, spring, microservicesA way to unify two authorization methods - Part ITime to talk about security today. Security is one of the most important aspects of a system, and probably one of the most boring to…
personal, microservicesWhat I have learned from building microservicesContinuous Integration + Continuous Deployment. Repeat with me: there is no agile without CI+CD. Continuous deployments get you to the next…
personal, startup2 years at Playtomic.ioLast February I made 2 years in Playtomic. Everything goes so fast that it feels like 2 decades. It goes so fast that I started to write…
spring, mongodb, tech, pillsHow to mix Spring Data queries and MongoDB syntaxI love writing queries using Spring Data’s Criteria. Writing queries directly in SQL (@NativeQuery, @Query) feels a bit dirty. And I also…
techPlaytomic's PipelineYour continuous integration (CI) pipeline is one of the most important pieces of software you can have in your business: it runs every time…