Blog
Docker Deployments with Kamal, bye-bye to Kubernetes complexity
Do you want to do Docker deployments, but Kubernetes looks like a beast and overkill to you? In this talk, you will discover a simpler but powerful alternative - Kamal.
Despliegues Docker con Kamal, adios a la complejidad de Kubernetes
¿Quieres hacer despliegues con Docker pero Kubernetes te parece una bestia y un overkill para tu aplicación?. En esta charla descubrirás una alternativa más sencilla pero poderosa - Kamal.
On November 5th, 2024, I will talk at XtremeJ 2024
I will be delivering my talk about "Getting Started with the Micronaut Framework"
JUnit @Issue annotation
I was looking to an equivalent to Spock @Issue
annotation for JUnit 5, and I found JUnit Pioneer.
How to run Writebook in port 80 instead of 5555
Edit hostconfig.json to bind host port 80 to the writebook docker container.
Install Docker on Oracle Cloud Linux 9
Instructions to install Docker on Oracle Cloud Linux 9
Disable Testcontainers JUnit 5 tests without Docker
Testcontainers Junit5 integration allows you to toggle these tests by annotating them with @Testcontainers(disabledWithoutDocker = true)
Bash script to run a Gradle flaky test a hundred times
Today, I was fighting a flaky test in a Micronaut project. I used this simple bash script to run the test a hundred times.
Shortcut to open a Maven Package in OSS Index
I wrote a simple shortcut to open a Maven Package in the OSS Index. It prompts you to enter a group ID and artifact ID and opens the browser with the URL.
Sonatype Scan Gradle Plugin
Sonatype offers plugins to check for vulnerabilities in your dependencies.
My first day at Oracle
Last Thursday, August 1st, 2024, I started at Oracle as a Principal Member of Technical Staff. I joined the GDK/Micronaut Team at Oracle Labs.
My Last day at OCI
In January 2017, I wrote a blog post titled my first day at OCI. Today is my last day at OCI.
Lichess Editor
FEN
Stackoverflow active questions by Java Frameworks
How do Micronaut, Quarkus, and Spring Boot compare by the number of Stackoverflow questions?
Snowflake IDs
Snowflakes are sortable unique identifiers. They are 64 bits in binary.
📼 What is the future of reactive programming?
I recently watched an AMA (Ask Me Anything) video between Brian Goetz, Java Language Architect at Oracle, and Nicolai Parlog, Java Developer Advocate at Oracle, where Brian Goetz shared
Deploy a MkDocs site to GitHub Pages via GitHub Actions
This post shows a GitHub Action workflow to build and deploy a MkDocs site to GitHub Pages.
PageSpeed Insights
PageSpeed Insights (PSI) reports on the user experience of a page on both mobile and desktop devices, and provides suggestions on how that page may be improved.
Hosting a static website in GitHub Pages and Hover
In this blog post, I show you how to host a website in GitHub Pages and manage the domain with Hover
MavenLocal repository only for snapshots with the Gradle Kotlin DSL
Sometimes, while developing you need to define mavenLocal() repository in a Gradle build. Gradle allows you to constraint the repository only to snapshots.
📼 Video of my Micronaut framework introduction talk at the JDevSummit IL conference
I did a Micronaut framework introduction in the JDevSummit IL conference.
Idempotence
An idempotent operation is defined as one which, if performed more than once, results in the same outcome.
Micronaut framework introduction on JDevSummitIL
I will do an online talk about getting started with the Micronaut Framework at JDevSummitIL.
Create a Status Page
Atlassian statuspage is a good option if you need to set up a status page for your service.
Website Monitoring
Serveral options to monitor a website.
WebJars
WebJars are client-side web libraries (e.g. jQuery & Bootstrap) packaged into JAR (Java Archive) files.
English Pluralization Java library
Evo Inflector implements English pluralization algorithm based on "Damian Conway's" paper "An Algorithmic Approach to English Pluralization".
📖 Micronaut Guide Asciidoc of OpenAPI
I wrote a Micronaut Tutorial that shows how to generate an OpenAPI Specification of your Micronaut Application at build time and generate it in Asciidoc format.
📖 Micronaut Guide Content Negotiation
I wrote a Micronaut tutorial which shows how to respond HTML or JSON depending on the request Accept HTTP Header.
📼 Micronaut CRaC
Talk at JCON World 2023
Micronaut EclipseStore
Talk at JCON World 2023
Bash Script to run the same test multiple times in a Gradle build
The following code contains a bash script I wrote to fight a flaky test.
📖 Server-side HTML with Thymeleaf and Micronaut Views
I wrote a guide that shows how to render server-side HTML with Thymeleaf and Micronaut Views.
Gradle Java Test Fixtures Plugin
Gradle Plugin which automatically create a testFixtures
source set, in which you can write your test fixtures.
System Stubs
System Stubs is used to test code which depends on methods in java.lang.System.
Micronaut Framework 4.1.3
Patch release with Core, Oracle Cloud, Serialization, Netty, and SQL updates.
📖 Generate reflection Metadata for GraalVM Native Image
I wrote a guide about several methods to provide the required metadata for reflection in a Micronaut application distributed as a GraalVM Native executable.
Method to check if GraalVM JDK Distribution
Method to check if you are running in GraalVM JDK distribution. I have used it often in Gradle build files to decide whether a Gradle task should be enabled.
📼 Micronaut framework introduction on the Barranquilla Java Users Group
I did a Micronaut framework introduction in Spanish for the Barranquilla Java Users Group
📼 YAML Configuration with Micronaut Framework 4
I recorded a video showing the changes for YAML configuration in Micronaut Framework 4.
JCON 2023 - Micronaut Framework and Microstream Java-Native Persistence Engine
Next week, I fly to Cologne, Germany, to present the Microstream integration with the Micronaut Framework.
JCON 2023 - How to Deploy in AWS a Micronaut Application which Persists with MicroStream?
Next week, I fly to Cologne, Germany, to present the Microstream integration with the Micronaut Framework and how to go to production with AWS.
HazeOver — Distraction Dimmer for Mac
Turn distractions down and focus on your current task.
Restore windows layouts with Moom
Moom has some AppleScript functionality.
Micronaut CRaC
In this talk, Sergio del Amo introduces CRaC (Coordinated Restore at Checkpoint) and its support within the Micronaut Framework.
How to deploy in AWS a Micronaut application which persists with MicroStream?
In this talk, Sergio shows how you can deploy a Micronaut application that uses MicroStream for persistence to Amazon Web Services (AWS).
Micronaut Data and CosmosDB
Since Micronaut Framework 3.8.0, Micronaut Data offers a flavor for [Azure CosmosDB] which supports compile-time generated repositories and projection queries.
Shortcut to verify if a Micronaut module's version is available in SonaType
I created this MacOS Shortcut to verify if a Micronaut module's version is available in SonaType.
#2 Top GitHub Users By Public Contributions in Spain
I am number 2 in Top GitHub Users By Public Contributions in Spain.
Serverless monolith
A serverless monolith is an architecture easy to reason about, scales on demand, and boosts developer productivity.
Micronaut Framework and AWS CDK
In this talk, Sergio del Amo demonstrates the AWS CDK integration with the Micronaut Framework.
📼 MicroStream and the Micronaut Framework Webinar
Video of the webinar about MicroStream and the Micronaut Framework where I talked to Markus Kett and Florian Habermann.
Micronaut Podcast E016
I talked to Mark Sailes, senior specialist solutions architect at AWS, about Micronaut Framework 3.8.0 release and AWS Lambda Snapstart.
Record audio in QuickTime Player on Mac
You can make an audio-only recording with QuickTime Player.
Home Page with the latest blog posts
New home page with posts entries with fast external links.
Loom Async video messaging
Today, I got my first Loom video. It is exciting to see a wave of solutions for async communications. Either automatic check-ins written or in a video.
📼 Online Talk at the Brighton Kotlin Meetup
I will be giving the talk "Getting Started with the Micronaut Framework" in the Brighton Kotlin user Group. I met Lee Turner last year in a Micronaut AWS Lambda training and he was kind enough to invite me.
Micronaut Essentials 2022
This week, I delivered a 12-hour online course of Micronaut Essentials.
Partner of Object Computing Inc
Gina, president and COO, welcomed me as a new partner of Object Computing Inc - a milestone in my professional career.
Feedback from AWS Lambda with Micronaut Framework workshop in London.
On October 5th, I taught an AWS Lambda with Micronaut Framework workshop in London.
Pics from Barcelona JBCNConf
Some pictures from last July JBCNConf 2022.
Micronaut Podcast E015
I talked to Markus Kett about Micronaut Object Storage.
Event Sourcing
Collections of links to event sourcing
📼 JCON 2022 - Micronaut Framework and MicroStream Java-native persistence engine
Video of my talk at the online conference JCON 2022.
📼 JCON 2022 - Getting Started with the Micronaut Framework
Video of my talk at the online conference JCON 2022.
Google Workspace/Cloud Identity: Sign in Issues
Google moved the free "legacy" G Suite accounts to a paid tier. If you don't know who the owner user is, but you control the domain, you can recover the account using Google Workspace/Cloud Identity: Sign-in Issues form.
📼 Micronaut Framework y AWS Lambda
Video of my talk at Barcelona JUG about Micronaut framework and AWS Lambda. The talk is in Spanish.
Micronaut Podcast E014
I talked to Álvaro Sánchez-Mariscal about Micronaut Object Storage.
Groovy CLI application for Podcast reporting
I wrote a small Micronaut command line application to output a CSV file with a podcast's episode titles, authors, and release dates.
CLI cloc - Count Lines of Code
cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.
Apache Groovy script to list Micronaut Guides
Apache Groovy is extremely powerful to write a script quickly
Install AWS CDK CLI
To install AWS CDK CLI in MacOS you need to install npm first.
Install Micronaut CLI via SDKMAN.
The easiest way to install the Micronaut CLI is to use SDKMan.
How to build a GraalVM Native executable of a Micronaut application from an Apple Silicon Mac and deploy it to AWS Lambda ARM architecture.
This post highlights the necessary changes to the application build to deploy a GraalVM Native executable to AWS Lambda Custom Runtime with an arm64 architecture.
GraalVM Native executable fo a Micronaut application with AWS CDK, AWS Lambda (Custom Runtime), and function URL.
Generate and deploy a Micronaut Application as a GraalVM Native executable with a multi-project build with CDK and a Lambda function associated with an HTTP(s) endpoint via a function URL.
Micronaut Framework AWS CDK, AWS Lambda (Java Runtime), and function URLs
Generate a Micronaut Application with a multi-project build with CDK and a Lambda function associated with an HTTP(s) endpoint via a function URL.
London Workshop about AWS Lambda and the Micronaut Framework
I will be delivering a workshop in the AWS London offices next week.
Micronaut Podcast E013
I talked to Álvaro Sánchez-Mariscal about Micronaut Maven Plugin.
Micronaut Podcast E012
Szymon Stepniak interviews Graeme Rocher at GraalVM Community Meetup.
Java User Groups List
List of JUGs around the world
👨🏻🏫 Teaching Jumpstart your Micronaut Applications with AWS Lambda
In July, I will teach an online three-day course about Micronaut Framework and AWS Lambda.
How to signup to a AWS Account?
Create a new AWS Account
Testing websockets with wscat
The wscat utility is a convenient tool for testing a WebSocket API
The Code Review Pyramid
Great visualization by Gunnar Morling about the Code Review Pyramid
📼 Geecon 2022 - Getting Started with the Micronaut® Framework
PDF of my talk at Geecon 2022
Free Course at AWS Dublin office for AWS Lambda and Micronaut
I am excited to be part of this in-person event. It is an excellent opportunity to showcase Micronaut integration with AWS Lambda.
Talk at Geecon 2022 - Getting Started with the Micronaut® Framework
I will be talking at Warsaw for GeeCon 2022.
Micronaut® Framework and Microstream Java-native persistence engine
This talk introduces Microstream integration with the Micronaut Framework.
Download Youtube Premium Invoices
If you are subscribed to Youtube Premium or Google Drive, you can download an invoice by visiting pay.google.com
Micronaut Security Workshop at JBCNConf 2022
July 20th, I will be teaching a workshop about Micronaut Security at JBCNConf 2022 in Barcelona.
Micronaut Podcast E011
I talked to Sakis Kaliakoudas about how they use the Micronaut framework, AWS Lambda, and Kotlin to develop Caribou.
Micronaut Podcast E010
I talked about Micronaut Email.
Micronaut Podcast E009
I talked with the Agorapulse crew. Agorapulse was a pioneer in the usage of Micronaut features from Grails Application. Moreover, they maintain several open-source libraries to help integrate Micronaut and Grails, and they have written about their migration from Grails to Micronaut.
Micronaut Podcast E008
I talked about Micronaut Serialization with Graeme Rocher (Micronaut co-founder). Micronaut Serialization can serialize and deserialize Java types (including Java 17 records) to and from JSON and other formats without using reflection.
Getting Started with the Micronaut® Framework
This talk introduces the Micronaut framework and demonstrates how the Framework's unique compile-time approach enables the development of ultra-lightweight Java applications.
Micronaut Turbo - The return of the Monolith
This talk introduces Hotwire Turbo integration with the Micronaut® Framework.
Security in the Micronaut® Framework
This talk introduces Micronaut Security, a fully featured and customizable security solution for your applications.
Micronaut® Framework and AWS Lambda
This talk introduces the Micronaut framework integration with AWS Lambda.
📼 Micronaut Webinar at Manchester JUG
I did an online Micronaut talk at Manchester Java User Group
Micronaut Podcast E007
I talked with the Agorapulse crew. Agorapulse maintains several open-source Micronaut libraries. They talk about some of them (Snitch, Recurly, Rethrow, Segment, Newrelic, Worker, Console, Pierrot ...)..
Promotion to Distinguished Engineer
I got promoted to Distinguished Engineer
Micronaut Podcast E006
I talked to James Kleeh (Micronaut development lead) about Micronaut Security.
Micronaut Podcast E005
I talked to Cédric Champeau (Micronaut core committer at Oracle Labs) about the Micronaut AOT module - a new module that generates build-time optimizations for Micronaut applications.
Micronaut Podcast E004
I talked to Graeme Rocher (Micronaut co-founder). Micronaut Data is a database access toolkit that uses Ahead of Time (AoT) compilation to pre-compute queries for repository interfaces that are then executed by a thin, lightweight runtime layer.
Audio Hijack settings for Codigobot
We record audio via Audio Hijack.These are my settings
📼 Micronaut Live - E009
Summary and video of Micronaut Live 9th session
Micronaut Podcast E003 - Schema Migration Tools
I talked to Iván López (Micronaut core commiter) about Micronaut integration with Flyway and Liquibase.
Disable transaction wrapping with @MicronautTest
Use transactional false to avoid wrapping the test execution in a transaction.
📼 Micronaut Live - E008
Summary and video of Micronaut Live 8th session
📼 Micronaut Live - E007
Summary and video of Micronaut Live 7th session
100 bytes of CSS to look great everywhere
Minimal CSS snippet to make an HTML page look good.
📼 Micronaut Live - E006
Summary and video of Micronaut Live 6th session
📼 Micronaut Live - E005
Summary and video of Micronaut Live 5th session
Micronaut Podcast E002
I talked to James Kleeh, Micronaut development lead, about Micronaut versioning, repository branching, the usage of Testcontainers in Micronaut testing.
📼 Micronaut Live - E004
Summary and video of Micronaut Live 4th session
📼 Micronaut Live - E003
Summary and video of Micronaut Live third session
📼 Micronaut Live - E002
Summary and video of Micronaut Live second session
📼 Micronaut Live - Day One
Summary and video of Micronaut Live first day
Micronaut Live: Streaming today!
Starting today at 10:30 US CDT and 17:30 CET, I will be streaming at twitch.tv/micronautfw
Micronaut Podcast E001
I talked to Iván López (Micronaut core commiter) about Micronaut integration with GraalVM, the CI Iván built to ensure the Micronaut framework plays well with GraalVM and small tips for users who want to deploy GraalVM Native Images of their Micronaut applications to production.
🇪🇸 - 🎙Código Bot 020 - Developer Advocate and Community Builder
Hablo con Kini sobre AWS Community Builder, su papel en Codemotion Devcast y mi nuevo trabajo como Developer Advocate.
Log Micronaut® Data queries
I often add this logger to log my queries when using Micronaut Data.
Groovy Grape script to fetch a AWS Code Artifact token
I find Grape really powerful to prototype.
21 Apps for 2021 - The Clock
The Clock is a beautiful app. Moreover, if you work with a team in multiple time zones, this is the best clock app in MacOS.
Github activity CLI updated to Micronaut® framework 3.1
I have updated the CLI application, which I use to check my Github activity to Micronaut® framework 3.1.
👨🏻🏫 Teaching Micronaut Deep Dive
October 18 to 21, I teach a Micronaut course. Online. 12 Hours.
cURL command to get the exact number of stars in a Github Project
I am trying to collect some metrics for Micronaut Advocacy
Micronaut Job Opportunity
We have an opening to work on Open Source.
🗣 Madrid GUG Ask me Anything
I will be joining Iván López in a Madrid GUG "Ask me Anything" Meetup
AppleScript - Open Mail to an specific inbox
Avoid distractions and go to the email inbox you are working with.
Pushover 1.1.0 Released!
Micronaut Pushover now uses Micronaut 3.1.0
Grails 5 released!
A new mayor release of the Grails framework.
Micronaut Filter Regex
Since Micronaut® framework 3.1, you can use a regular expression in the HTTP server filter patterns
🇪🇸 - 🎙Código Bot 019 - Living Apps
Hablo con Kini sobre su día a día y desarrollando Living Apps en Telefónica
Developer Advocate for Micronaut, Grails, Groovy
Starting today, I transition to a newly formed Developer Advocate role for the 2GM communities at OCI
Micronaut development environment
I use Micronaut default environment to define a development environment.
Micronaut Error Responses with Problem+JSON
You can use problem+json instead of vnd.error just by adding Micronaut Problem dependency.
Micronaut Health Check
The health endpoint is the easiest way to expose a health check in your Micronaut application.
Guest at S5E02 of the Groovy Podcast
Ken invited me to talk at my favourite comedy podcast
How to render a GSP in a Grails Service
We can use groovyPageRenderer instance to render GSP views and templates outside a controller
How to use a JSON View in a Grails Service
You can render a model into JSON with a JSON View within a Grails service.
Test a Grails Application with Micronaut HTTP Client
A parent class which I use for the tests which verify a Grails application API
Localized error message for a Grails Validateable POGO's field
I often decorate my Grails controllers with a Trait which uses messageSource.
Extra Grails Naming Conventions
The Grails framework is a covention over configuration framework. Through the years I have created extra naming conventions.
Add a Show by URL with Apple Podcasts
Useful for podcasts not listed in public Podcast directories - subscription podcasts, company podcasts.
🗣 Micronaut Webinar at Bucharest JUG
Next thursday, I do an online Micronaut talk at Bucharest Java Microservices User Group
Useful docker commands
Stop, remove contains, remove docker images.
🇪🇸 - 🎙Código Bot 017 - Último Cuatrimestre 2021
Hablo con Kini sobre los objetivos para el último cuatrimestre del 2021 y los proyectos a la vuelta de la esquina.
Micronaut Pushover released
A Java library to consume the Pushover API
SAFRI.NET Micronaut Foundation™ sponsor
SAFRI.NET joined the Micronaut Foundation as a Bronze-Level Corporate Sponsor
Pushover - Simple notifications
Send push notifications from your applications
The Story of Playdate Podcast
I ordered a Playdate after listening to the episode
Colorblind Accessibility Manifesto
A reminder about how important and widespread color blindness is.
Grails Deep Dive Course
My colleague Zachary Klein teaches a Grails course next week
HTML Keyboard Shortcuts with accesskey
I added keyboard shortcuts to my website with HTML accesskey attribute.
🇪🇸 - 🎙Código Bot 016 - Alexa Live 2021
Hablo con Kini del Alexa Live 2021.
Micronaut CLI Github Activity
A CLI application to help you gather what you did in Github
Version 2.0.0 of Eurorates Micronaut Library released
Micronaut 3 and reactive streams agnostic
Gradle Podcast Plugin 0.0.5
I have released a new version of the Gradle podcast plugin.
Submit your podcast to Amazon Music
I submitted Código Bot to Amazon Music Podcasts
Micronaut Guides updated to 3!
Guide are ready for Micronaut® framework 3!
Micronaut® framework 3 Released
Update your apps to the latest version of Micronaut® framework
Automatically rearrange spaces based on most recent use
Probably the worst MacOS default
Apple Podcast Smart Banner
Add a HTML to your HTML
👨🏻🏫 Teaching Micronaut Deep Dive
September 13 to 16, I teach a Micronaut course. Online. 12 Hours.
🇪🇸 - 🎙Código Bot 015 - Libros Para el Verano
En estas fechas veraniegas, Kini y yo os recomendamos algunos de nuestros libros favoritos.
Books for the summer
Daemon, the Phonenix project, the Goal
Start Orbit Timers with AppleScript
Orbit is not Scriptable but you can workaround it
📖 Secret Rotation - Micronaut AWS Lambda and Secrets Manager
Micronaut Lambda function to rotate a secret saved in AWS Secrets Manager
AppleScript Transmit File Sync
Trigger Synchronization a local folder to an S3 bucket with AppleScript
Static Website Hosting with AWS
CloudFront, S3, AWS Certificate Manager and Route53
TextExpander Popup Menu
Text expansion macros can have a UI to guide you
Avoid Infinity Pools with iOS Content Restrictions
Content Restrictions beyond limiting access to adult content
Compose Tweet about a website with Shortcuts
Fetch information of the page with Javascript
Compose an email with AppleScript
Automate repetitive emails
AppleScript to stop Harvest Timer
You can execute Javascript from AppleScript
Mail Shortcut to Export to PDF
It is easy to create a shortcut to a menu item of an application
Automatically generate a PDF from a Screenshot
Combine Hazel and Automator to do it.
The thriving Mac business
Last four quarters for Mac have been its best four quarters ever
Run a Gradle build when you save in BBEdit
Use BBEdit's Attachment Scripts and AppleScript
Apple Photos - Multiple Libraries
Click the Photos icon while holding the Option ⌥ Key
21 Apps for 2021 - Amphetamine
A keep-awake utility
Submit your podcast to Apple Podcasts Connect
It makes your podcast appear not just in Apple Podcasts but also in the iTunes API
How to distribute a Podcast to YouTube
I used FusionCast, a MacOS app to turn your podcast episodes into videos for publishing on any platform.
🇪🇸 - 🎙Código Bot 014 - Apps y servicios Web (2)
2ª parte donde continuo hablando con Kini sobre las aplicaciones que uso en el día a día.
AppleScript - Export multiple Word documents as PDFs
The AppleScript script prompts you to select multiple word documents, asks you for a folder to save the PDFs, opens each document in Word and saves it as PDF.
IntelliJ IDEA - Disable wildcard imports to always import single classes
Go to Editor > Code Style > Java > Imports
🇪🇸 - 🎙Código Bot 013 - Apps y servicios Web (1)
Hablo con Kini sobre las aplicaciones y servicios Web que usamos en nuestro día a día.
📖 Command Line JWK generation with Picocli and Micronaut® framework
I wrote a tutorial which shows how to write a command line application with Picocli and Micronaut® framework to generate a JWK (Json Web Key)
🇪🇸 - 🎙Código Bot 012
Hablo con Kini sobre "🍕 Pizza Casera" su Alexa Skill
📼 ApacheCon 2021 - Static website generation with Apache Groovy
I will be talking next September 21-23 about static website generation.
📖 Micronaut Data JDBC
Learn how to a access a database using Micronaut Data JDBC repositories
🇪🇸 - 🎙Código Bot 011
Segunda parte de mi conversación con Kini sobre los cambios en Basecamp.
📖 Micronaut AWS Lambda and a Cron job
Learn how to a scheduled expression with Event Bridge trigger to execute a Micronaut AWS Lambda every 5 minutes
📖 Generate thumbnails with Micronaut AWS Lambda and a S3 Notification trigger
Learn how to generate thumbnails for images uploaded to an S3 bucket with AWS Lambda and Micronaut® framework
CodePipeline for a Micronaut application Docker image
Continuous deployment - CodePipeline: Github → CodeBuild → ECR → Elastic Beanstalk
CodePipeline for a Docker image of the Micronaut application GraalVM Native Image
Continuous deployment - CodePipeline: Github → CodeBuild → GraalVM Native Image → ECR → Elastic Beanstalk
AWS CodeBuild Buildspec.yml example for Gradle and a Micronaut Application
I often use CodeBuild to build Micronaut appliations built with Gradle. This post includes an example of a buildspec.yml file.
cURL command to set a Telegram chatbot's webhook
To receive Telegram callbacks you have to set the webhook.
Test Micronaut POJOs contain validation annotations
I like to define validation annotations for Micronaut application's models.
Test Micronaut POJOs are annotated with @Introspected
I always annotate my model classes with @Introspected. It is easy to test that you don't forget the annotation.
🇪🇸 - 🎙Código Bot 010
Hablo con Kini sobre los cambios en Basecamp.
Testing JSON serialization with Micronaut applications
In Micronaut applications, you can control JSON serialization with Jackson annotations. Inject ObjectMapper into your tests to verify it.
Make your podcast RSS feed publicly available
Review your Apple Podcast Connect settings to make sure your feed is public
Test Micronaut Health endpoint
I always expose the /health endpoint in my Micronaut applications. It is easy to test it.
🇪🇸 - 🎙Código Bot 009
Hablo con Kini sobre su experiencia en Codemotion 2021 spanish edition, la resaca de aparecer en la newsletter de Alexa ...
Gradle, Jacoco and 90% Code Coverage
With Jacoco Gradle plugin it is easy to setup your project to enforce a coverage percentage.
SpringBoot to the Micronaut® framework - @ResponseStatus Exception
In SpringBoot you can annotate your exceptions with @ResponseStatus, Micronaut's HttpStatusException achieves a similar behaviour
SpringBoot to the Micronaut® framework - Controller annotations
SpringBoot and Micronaut applications ease the creation of routes with similar annotations.
SpringBoot to Micronaut® framework - Application Class
SpringBoot and Micronaut applications contain a simple application class which starts the application for you.
Host and IP Resolution in a Micronaut application with Load Balancer and Elastic Beanstalk
Leverage Micronaut APIs to resolve Host and IP when running behind a Elastic Load Balancer
KSUID (K-Sortable Unique IDentifier)
A globally unique identifier similar to UUID, built from the ground-up to be "naturally" sorted by generation timestamp without any special type-aware logic.
👨🏻🏫 Integrating Micronaut apps with AWS
I will be teaching a Micronaut / Amazon Web Services workshop at the end of May.
NetNewsWire introduces the ability to subscribe to Twitter searches of mentions
You can now subscribe to Twitter searches or mentions as a feed directly in NetNewsWire.
📼 Micronaut and Camunda
"Automating Processes with Microservices on Micronaut and Camunda" webinar video
🇪🇸 - 🎙Código Bot 008
Hablo con Kini sobre como compartir conocimiento dentro de la empresa. Organizar charlas, alojar eventos, conferencias internas...
Launch Fantastical with a x-callback-url
x-fantastical3://show/calendar to open fantastical
🇪🇸 - 🎙Código Bot 007
Hablo con Kini sobre servicios AWS. Los que usan para distribuir el Podcast y los que usan en otros proyectos.
GDPR for Developers
Notes from Andrew Norcross talks about GDPR for Developers
🇪🇸 - 🎙Código Bot 006
Hablo con Kini sobre creación de contenido, crear de tu marca personal y sobre probar nuevas plataformas.
🗣 Micronaut Security Course
I will be teaching a Micronaut Security 12 hour course next week.
🇪🇸 - 🎙Código Bot 005
Hablo con Kini sobre conferencias. El futuro del circuito de conferencias. Conferencias online vs conferencias offline.
🗣 Automating Processes with Microservices on Micronaut® framework and Camunda
(optional, string) Is a plain text sentence or two describing the item.
🇪🇸 - 🎙Código Bot 004
Hablo con Kini sobre telegram chatbots.
🇪🇸 - 🎙Código Bot 003
Hablo con Kini sobre la Comunidad de Alexa en Español y las personas involucradas en ella.
🇪🇸 - 🎙Código Bot 002
Kini y Sergio hablan del Alexa Skill - Informativo de Ángel Martín. Tratan la historia del Skill y los servicios de AWS usados en su desarrollo.
🇪🇸 - 🎙Código Bot 001
Kini y Sergio hablan sobre objetivos anuales. Y para ello repasan los objetivos anuales que se fijo Sergio para 2020.
📼 ApacheCon 2020: Taming your browser with Geb
Video of my talk at ApacheCon 2020 about Geb
📼 Micronaut Webinar: SPAs with Svelte and the Micronaut® framework
Video of the webinar about combining Svelte and the Micronaut® framework.
📼 LondonGUG: What's new with Grails 4
Video of my talk at London User Group about Grails 4
🗣 Micronaut Case Study: Novatec
I will join Novatec's crew to talk about their experience with Micronaut developing a production application (learning curve, memory consumption, startup ...).
Execute a Gradle task shortcut with IntelliJ IDEA
How to setup a shortcut to execute a Gradle task with IntelliJ IDEA
👨🏻🏫 Teaching Grails Deep Dive
I teach an online 12 hour Grails course December 7, 9 and 10.
🗣 London GUG: What's new in Grails 4
I will be talking Grails at the London Groovy User Group. December 1st, 19:00 - 20:00 CET CET.
Java Build Benchmarks with Apple M1
I compare an iMac Pro, Macbook Pro, Macbook Air M1 for a common Gradle Java build.
How to check if an app is Native or Intel in a M1 Mac?
A way to check wether an app you installed is native or intel is to right click "Get Info" in an application.
MacBook Air M1
It does not get hot. It is quiet. It is fast. It is the future. It is now.
📼 ApacheCon 2020: Micronaut + Groovy
Slides and videos from my talk at ApacheCon 2020 about Micronaut and Groovy
📼 Micronaut + Azure Functions
"Micronaut + Azure Functions" webinar video
Groovy Calamari 178
Personal blog of Sergio del Amo
(Public Speaking) Developing AWS Lambda Functions with Micronaut
I will be talking at Cloud Conference Rio de Janerio about how to write AWS Lambda functions with Micronaut
New Micronaut project directly from IntelliJ IDEA wizard
Since 2020.2, IntelliJ IDEA Ultimate adds the possibility to create new Micronaut projects directly from the wizard.
Micronaut + Azure online webinar
October 2nd, I will be doing an online Micronaut + Azure Webinar together with Julien Dubois.
Run a Gradle build with Nova editor
How to run a Gradle build with Nova custom tasks
Gradle Podcast plugin
Gradle podcast plugin allows you to create a Podcast RSS feed with a Gradle plugin extension and a set of markdown files for your show episodes.
📼 Merida (Mexico) JUG - Introduction to Micronaut® framework
Introduction to Micronaut online talk by Sergio del Amo at JUG Merida (Mexico)
Micronaut Euro Rates Library
Java library to consume Euro foreign exchange rates XML feed published by the European Central bank.
Micronaut® framework 2: AWS Lambda Functions
Micronaut® framework 2 brings improvements to the way you write AWS Lambda functions. There are several things to consider (what's is your Lambda trigger, are you able to write a GraalVM Native Image of the function) which define what dependencies do you need, what is your handler, how to mitigate cold startup.
(Public Speaking) Codemotion 2020: Building Chatbots with Micronaut® framework.
Talks at Codemotion 2020 - Building Chatbots with Micronaut® framework.
Micronaut Java library to consume the Curated API
Today, I published a Java library to consume the Curated API. It is built with the Micronaut® framework and you can use it in a Micronaut app or as a standalone library.
(Public Speaking) ApacheCon: Micronaut + Groovy and Taming your browser with Geb
Talks, Micronaut + Groovy and Taming your browser with Geb, at ApacheCon
Grails Programmer : How to install new Relic in a Grails 3 app?
Personal blog of Sergio del Amo
📼 Micronaut Framework and AWS Webinar
I did a joined webinar with Stefano Buliani from AWS about Micronaut framework integration with AWS.
Grails Programmer : How to output CSV from a Grails 3 Controller
Personal blog of Sergio del Amo
📼 Madrid GUG - What's new with Grails 4 🎥 👨🏼🏫
Slides from my talk at Madrid Groovy User Group
📼 Northem Quality - Control your browser with Geb
Video of my talk at Northem Quality user group
Geb Talk at Northem Quality
Personal blog of Sergio del Amo
GR8Conf 2019 - Micronaut Security
Slides from my talk at GR8Conf
GR8Conf 2019 - What's new with Grails 4
Slides from my presentation at GR8Conf 2019 about Grails 4
Pass system property in a Gradle Task
Personal blog of Sergio del Amo
Commit Conf - Acceptance Tests with Geb
Slides from my talk at Commit Conf 2018
Add Google Analytics snippet to multiple .html files recursively with a Groovy Script
Personal blog of Sergio del Amo
Mapping options for an Enum in a Grails Domain class
Personal blog of Sergio del Amo
How to reference Grails Plugins deployed to your bintray account
Personal blog of Sergio del Amo
Grails War is a runnable JAR
Personal blog of Sergio del Amo
Debug Grails Plugins load order
Personal blog of Sergio del Amo
📼 GR8Conf 2017 - tvOS app development with TVMLKit and Grails
Slides from my talk at GR8Conf 2017.
📼 GR8Conf 2017 - Grails Multi-Project Builds & Multi tenancy
Slides from my talk at GR8Conf 2017.
📼 GR8Conf 2017 - Mapping a Tree with GORM and Grails
Slides from my talk at GR8Conf 2017 about Mapping a tree with Grails
Read a property from gradle.properties with a bash script
Personal blog of Sergio del Amo
Ignore a Spock test if running in Travis CI
Personal blog of Sergio del Amo
Preview of Groovy 3
Personal blog of Sergio del Amo
Greach - Grails Interview Questions
Slides from my talk about Greach 2017.
Madrid GUG - tvOS app development using TVMLKit and Grails
Slides from my talk at Madrid Groovy User Group
How to validate an email address in Android
Personal blog of Sergio del Amo
How to check if a company is an intracommunitary operator?
Personal blog of Sergio del Amo
My first day at OCI
Personal blog of Sergio del Amo
How to find the different Java SDK installed in your MacOS installation
Personal blog of Sergio del Amo
Codemotion - Spiders, Webbots and scrapers with Geb
Slides from my talk at Codemotion 2016
Groovy Programmer : How to use Groovy default parameter values to implement retry functionality
Personal blog of Sergio del Amo
Madrid GUG - Upload Groovy code to AWS Lambda function and API Gateway
Slides from my talk at Madrid Groovy User Group
📼 Madrid GUG - Spiders, Webbots and Scrappers with Geb
Slides from my talk at Madrid Groovy User Group.
Grails Programmer: How to run a Grails 3 App with IntelliJ
Personal blog of Sergio del Amo
How to cleanup your macOS terminal history?
Personal blog of Sergio del Amo
Swift vs Groovy - Types
Personal blog of Sergio del Amo
Geb Programmer : How to execute Geb with different browsers
Personal blog of Sergio del Amo
Geb Programmer : Obtain current page html source?
Personal blog of Sergio del Amo
Grails Programmer : How to unit tests allowed HTTP request methods in a Grails 3 Controller's action?
Personal blog of Sergio del Amo
Grails Programmer : How to log from a none Grails Artifact
Personal blog of Sergio del Amo
Spock Programmer : Setup / Cleanup Inheritance
Personal blog of Sergio del Amo
Geb Programmer: User Agent Spoofing
Personal blog of Sergio del Amo
Geb Programmer : How to run Geb with PhantomJS Driver in desktop size
Personal blog of Sergio del Amo
Gradle Programmer - Ensure source and target compatibility to a specific version of Java
Personal blog of Sergio del Amo
📼 Madrid GUG - Build an Android app with Groovy and consume a Wordpress JSON API
Slides from my talk at Madrid Groovy User Group
GR8Conf 2016 - How to create a conference android app with Groovy and Wordpres
Slides from my talk at GR8Conf 2016.
GR8Day - Scraping with Geb
Slides from my talk at GR8Day Warsaw 2016
GR8Conf EU 2016 - Scraping with Geb
Slides from my talk at GR8Conf.
How to ignore a Spock feature method in Grails 3 while running on Jenkins
Personal blog of Sergio del Amo
📼 GR8Day Warsaw - How to create a conference Android App with Groovy and Wordpress
Slides from my talk at GR8Day Warsaw 2016
How to use a Groovy trait to output any class as csv?
Personal blog of Sergio del Amo
Grails Programmer : How run a Gradle task with a particular Grails 3 environment?
Personal blog of Sergio del Amo
Grails Programmer : How to change the server url of a Grails 3 App?
Personal blog of Sergio del Amo
How to use a Trait to encapsulate Spring Security Core functionality in a Grails 3 App?
Personal blog of Sergio del Amo
Grails Programmer : How to change the default port of a Grails 3 App
Personal blog of Sergio del Amo
How to log SQL statements in a Grails 3 app
Personal blog of Sergio del Amo
Grails Programmer : How to change the default port where your Grails App runs?
Personal blog of Sergio del Amo
Grails Programmer : How to customize the war name generated by "grails war" command?
Personal blog of Sergio del Amo
GGX London 2015 - How to create conference Android App with Groovy and WordPress?
Link to my talk at GGX London 2015 hosted at Skillsmatter.