Skip to content
View nfrankel's full-sized avatar

Highlights

  • Pro

Organizations

@formations @ajavageek
Block or Report

Block or report nfrankel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
nfrankel/README.adoc
ℹ️

last updated 2024.07 This profile is automatically generated.

If you’re interested in knowing more, please check the code.

Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with focused interests like Rich Internet Applications, Testing, CI/CD and DevOps. Also double as a trainer and triples as a book author.

✍️ Most recent blog posts

Dynamic watermarking with imgproxy and Apache APISIX (2024-07-07)

Last week, I described how to add a dynamic watermark to your images on the JVM. I didn’t find any library, so I had to develop the feature, or, more precisely, an embryo of a feature, by myself. Depending on your tech stack, you must search for an existing library or roll up your sleeves. For example, Rust offers such an out-of-the-box library. Worse, this approach might be impossible to implement if you don’t have access to the source image. Another alternative is to use ready-mad[…​]

Dynamic watermarking on the JVM (2024-06-30)

Displaying images on your website makes for an interesting problem: on one side, you want to make them publicly available; on the other, you want to protect them against undue use. The age-long method to achieve it is watermarking: A digital watermark is a kind of marker covertly embedded in a noise-tolerant signal such as audio, video or image data. It is typically used to identify ownership of the copyright of such signal. 'Watermarking' is the process of hiding digital information in a car[…​]

Dynamic watermarking (2024-06-30)

link/dynamic-watermarking/1/[Dynamic watermarking on the JVM^]: explains how to watermark images on-the-fly inside a JVM.link/dynamic-watermarking/2/[Dynamic watermarking using imgproxy and Apache APISIX^]: describe how to leverage imgproxy and Apache APISIX to achieve the same regardless of your tech stack.[…​]

🗣️ Upcoming talks

On-the-Fly Image Resizing, an Approach to Web Asset Management @ We Are Developers World Congress

One of the web architect’s main challenges is to tackle image optimization. The age-old approach is to deliberately create size variants of a single image to deliver the best user experience. It was a time-consuming task, which can be marginally improved with Machine Learning. In this session, I’ll offer a new approach that should both avoid this process and cut storage costs. Join me for practical insights into reducing expenses without compromising web performance.

Evolving your APIs, a step-by-step approach @ Java Forum Stuttgart

When you publish your first HTTP API, you’re more focused on short-term issues than planning for the future. However, chances are you’ll be successful, and you’ll hit the wall. How do you evolve your API without breaking the contract with your existing users? In this talk, I’ll first show you some tips and tricks to achieve that: moving your endpoints, deprecating them, monitoring who’s using them, and letting users know about the new endpoints. The talk is demo-based, and I’ll use the Apache APISIX project for it.

Practical introduction to OpenTelemetry tracing @ DevOps Days Vilnius

Tracking a request’s flow across different components in distributed systems is essential. With the rise of microservices, their importance has risen to critical levels. Some proprietary tools for tracking have been used already: Jaeger and Zipkin naturally come to mind. Observability is built on three pillars: logging, metrics, and tracing. OpenTelemetry is a joint effort to bring an open standard to them. Jaeger and Zipkin joined the effort so that they are now OpenTelemetry compatible. In this talk, I’ll describe the above in more detail and showcase a (simple) use case to demo how you could benefit from OpenTelemetry in your distributed architecture.

🎥 Latest video recording

Latest video recording
Evolving your APIs, a step-by-step approach - DevConf.CZ 2024

Pinned Loading

  1. kaadin kaadin Public

    Kotlin DSL for Vaadin

    Kotlin 45 12

  2. slf4k slf4k Public

    Kotlin 9 3