# Thoughts, stories and ideas.

DevRel, Thoughts, Climate and Code

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## My blog was hacked and Claude and I just fixed it

DevFeed: [My blog was hacked and Claude and I just fixed it](<https://devfeed.tech/articles/my-blog-was-hacked-and-claude-and-i-just-fixed-it-38830.md>)

Original publisher: [Read original article](<https://lengrand.fr/my-blog-was-hacked-and-claude-and-i-just-fixed-it/>)

Author: Julien

Published: 2026-05-18T22:02:58Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Database](<https://devfeed.tech/topics/database.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [nginx](<https://devfeed.tech/topics/nginx.md>)

Tags: [claude-code](<https://devfeed.tech/tags/claude-code.md>), [database](<https://devfeed.tech/tags/database.md>), [development](<https://devfeed.tech/tags/development.md>), [ghost](<https://devfeed.tech/tags/ghost.md>), [issue](<https://devfeed.tech/tags/issue.md>), [reverse-proxy](<https://devfeed.tech/tags/reverse-proxy.md>), [security](<https://devfeed.tech/tags/security.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [selfhosted](<https://devfeed.tech/tags/selfhosted.md>), [web-dev](<https://devfeed.tech/tags/web-dev.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The author investigates a malicious script injected into the database of a self-hosted Ghost blog. The script displayed fake captcha-related popups only to Windows users, and Claude Code helped trace the problem to the database.

### Source excerpt

My self-hosted Ghost blog got silently hacked via a malicious script injected directly into the database, targeting only Windows users. I traced the source of the issue and fixed it quickly with the help of Claude Code.

## Ways in which GenAI has changed the way I write code so far

DevFeed: [Ways in which GenAI has changed the way I write code so far](<https://devfeed.tech/articles/ways-in-which-genai-has-changed-the-way-i-write-code-so-far-38833.md>)

Original publisher: [Read original article](<https://lengrand.fr/ways-in-which-genai-has-changed-my-coding-so-far/>)

Author: Julien

Published: 2026-04-30T11:19:11Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [genai](<https://devfeed.tech/topics/genai.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Vibe coding](<https://devfeed.tech/topics/vibe-coding.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [coding](<https://devfeed.tech/topics/coding.md>), [junie](<https://devfeed.tech/topics/junie.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [claude](<https://devfeed.tech/tags/claude.md>), [development](<https://devfeed.tech/tags/development.md>), [genai](<https://devfeed.tech/tags/genai.md>), [guardrails](<https://devfeed.tech/tags/guardrails.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [repository](<https://devfeed.tech/tags/repository.md>), [tests](<https://devfeed.tech/tags/tests.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

The author describes how generative AI has changed their home coding workflow, including stack and IDE choices, Git usage, and the ability to turn more ideas into pet projects. They use Claude and orchestration tools such as Maestro for implementation, with tests and Markdown guardrails guiding and reviewing AI-generated code.

### Source excerpt

AI has fundamentally transformed my developer workflow, from stack choices and IDE preferences to how git is used. I using Claude and orchestration tools like Maestro to guide implementation while tests serve as guardrails.

## Ways in which GenAI has changed my (tech) life so far

DevFeed: [Ways in which GenAI has changed my (tech) life so far](<https://devfeed.tech/articles/ways-in-which-genai-has-changed-my-tech-life-so-far-38834.md>)

Original publisher: [Read original article](<https://lengrand.fr/ways-in-which-genai-has-changed-my-tech-life-so-far/>)

Author: Julien

Published: 2025-12-07T11:35:32Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [genai](<https://devfeed.tech/topics/genai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [blogging](<https://devfeed.tech/tags/blogging.md>), [communities](<https://devfeed.tech/tags/communities.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [genai](<https://devfeed.tech/tags/genai.md>), [llms](<https://devfeed.tech/tags/llms.md>), [tech](<https://devfeed.tech/tags/tech.md>)

### AI overview

The author reflects on how generative AI has affected their technology work and online information habits. They argue that AI-generated content has made quality technical material harder to find, increased low-quality and inaccurate social media content, and encouraged people to rely more on specialized communities and documentation.

### Source excerpt

GenAI changed everything: harder to find quality content, social media flooded with bots, lost communities. But maybe it's making us more human again? #GenAI #TechCommunity

## Using Coolify for subdomain direct redirect without a app resource

DevFeed: [Using Coolify for subdomain direct redirect without a app resource](<https://devfeed.tech/articles/using-coolify-for-subdomain-direct-redirect-without-a-app-resource-38832.md>)

Original publisher: [Read original article](<https://lengrand.fr/using-coolify-for-subdomain-direct-redirect-without-a-app-resource/>)

Author: Julien

Published: 2025-09-14T19:07:33Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [proxy](<https://devfeed.tech/topics/proxy.md>), [Redirection](<https://devfeed.tech/topics/redirection.md>), [YAML](<https://devfeed.tech/topics/yaml.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [interface](<https://devfeed.tech/topics/interface.md>)

Tags: [coolify](<https://devfeed.tech/tags/coolify.md>), [devops](<https://devfeed.tech/tags/devops.md>), [dns](<https://devfeed.tech/tags/dns.md>), [habits](<https://devfeed.tech/tags/habits.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [ssl](<https://devfeed.tech/tags/ssl.md>), [tls](<https://devfeed.tech/tags/tls.md>), [traefik](<https://devfeed.tech/tags/traefik.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

A tutorial showing how to use Coolify's dynamic proxy configuration to redirect a subdomain to an external URL without creating a full application resource. It uses a YAML configuration with Traefik to define the redirect, router, TLS handling, and required dummy service.

### Source excerpt

Coolify's dynamic proxy configuration lets you redirect subdomains to external URLs without creating full resources. Using a simple YAML file with Traefik configuration, you can set up SSL-enabled redirects directly through Coolify's interface.

## Extracting moments of interest from Dash Cam footage

DevFeed: [Extracting moments of interest from Dash Cam footage](<https://devfeed.tech/articles/extracting-moments-of-interest-from-dash-cam-footage-38825.md>)

Original publisher: [Read original article](<https://lengrand.fr/extracting-moments-of-interest-from-dash-cam-footage/>)

Author: Julien

Published: 2025-09-12T08:21:23Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [incident](<https://devfeed.tech/topics/incident.md>), [log management](<https://devfeed.tech/topics/log-management.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [automation](<https://devfeed.tech/tags/automation.md>), [dashcam](<https://devfeed.tech/tags/dashcam.md>), [diy](<https://devfeed.tech/tags/diy.md>), [dyi](<https://devfeed.tech/tags/dyi.md>), [incident](<https://devfeed.tech/tags/incident.md>), [location](<https://devfeed.tech/tags/location.md>), [shortcuts](<https://devfeed.tech/tags/shortcuts.md>)

### AI overview

The author describes using Apple Shortcuts to log interesting dashcam incidents by voice. The shortcut records the current date and location in a note when the author says "record incident," avoiding the need to search entire dashcam recordings.

### Source excerpt

DIY Dashcam Incident Logging with Apple Shortcuts After buying my first car at nearly 40, I needed a way to mark interesting dashcam moments while driving. My solution? A simple Apple Shortcut that voice-captures timestamp and location data into a note when I say "record incident."

## Hosting Bugsink on Coolify

DevFeed: [Hosting Bugsink on Coolify](<https://devfeed.tech/articles/hosting-bugsink-on-coolify-38826.md>)

Original publisher: [Read original article](<https://lengrand.fr/hosting-bugsink-on-coolify/>)

Author: Julien

Published: 2025-07-07T20:33:23Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [bugsink](<https://devfeed.tech/tags/bugsink.md>), [coolify](<https://devfeed.tech/tags/coolify.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-compose](<https://devfeed.tech/tags/docker-compose.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [http](<https://devfeed.tech/tags/http.md>), [https](<https://devfeed.tech/tags/https.md>), [redirection](<https://devfeed.tech/tags/redirection.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial explains how to deploy Bugsink on Coolify with Docker Compose while a Coolify bug prevents the default Bugsink deployment template from working correctly. It covers port redirection, HTTPS, domain configuration, and environment variables.

### Source excerpt

A simple Docker Compose setup to host Bugsink using Coolify that supports HTTPS

## KotlinConf 2025 Highlights Backend-Oriented Kotlin Language and Ecosystem Updates

DevFeed: [KotlinConf 2025 Highlights Backend-Oriented Kotlin Language and Ecosystem Updates](<https://devfeed.tech/articles/kotlinconf-2025-is-a-real-bowl-of-fresh-air-for-backend-devs-38829.md>)

Original publisher: [Read original article](<https://lengrand.fr/kotlinconf-2025-is-a-real-bowl-of-fresh-air-for-backend-devs/>)

Author: Julien

Published: 2025-05-22T14:34:02Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [destructuring](<https://devfeed.tech/topics/destructuring.md>), [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Null-Safety](<https://devfeed.tech/topics/null-safety.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [conference](<https://devfeed.tech/tags/conference.md>), [destructuring](<https://devfeed.tech/tags/destructuring.md>), [development](<https://devfeed.tech/tags/development.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [null-safety](<https://devfeed.tech/tags/null-safety.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

A personal assessment of KotlinConf 2025 that focuses on JetBrains' renewed attention to backend developers. The article highlights Kotlin language updates including name-based destructuring and richer error handling, while also discussing the K2 compiler and Kotlin's backend developer experience.

### Source excerpt

With their keynote that JetBrains intentionally started putting backend developers in the spotlight again. They made big, impactful announcements, both at an ecosystem and language levels and I can't wait to try out all of the new goodies.

## My experience using Junie for the past few months

DevFeed: [My experience using Junie for the past few months](<https://devfeed.tech/articles/my-experience-using-junie-for-the-past-few-months-38831.md>)

Original publisher: [Read original article](<https://lengrand.fr/my-experience-using-junie-for-the-past-few-months/>)

Author: Julien

Published: 2025-05-11T11:38:55Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [junie](<https://devfeed.tech/topics/junie.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [coding](<https://devfeed.tech/tags/coding.md>), [development](<https://devfeed.tech/tags/development.md>), [experience](<https://devfeed.tech/tags/experience.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [junie](<https://devfeed.tech/tags/junie.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>)

### AI overview

A personal review of using JetBrains Junie over several months. The author describes Junie's Code and Ask modes, IntelliJ-based IDE integration, terminal command option, pricing, and distinctions from other JetBrains AI products. They value its IntelliJ integration, Kotlin support, and test-first focus, but criticize its slowness and limited ability to accept only part of a proposed solution.

### Source excerpt

Junie is one of the best coding agent I've been trying out so far. Very well integrated with IntelliJ, great for Kotlin, and the test first focus makes it quite good at coming out with good results. However, I do miss the capability to only accept part of a solution and it can be very slowwwwww.

## You probably shouldn't hire a Developer Advocate yet

DevFeed: [You probably shouldn't hire a Developer Advocate yet](<https://devfeed.tech/articles/you-probably-shouldn-t-hire-a-developer-advocate-yet-38835.md>)

Original publisher: [Read original article](<https://lengrand.fr/you-probably-shouldnt-hire-a-developer-advocate-yet/>)

Author: Julien

Published: 2024-11-03T17:46:31Z

Content type: opinion

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [developer-relations](<https://devfeed.tech/topics/developer-relations.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>)

Tags: [advice](<https://devfeed.tech/tags/advice.md>), [advocacy](<https://devfeed.tech/tags/advocacy.md>), [community](<https://devfeed.tech/tags/community.md>), [company](<https://devfeed.tech/tags/company.md>), [developer](<https://devfeed.tech/tags/developer.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [hiring](<https://devfeed.tech/tags/hiring.md>), [policies](<https://devfeed.tech/tags/policies.md>), [strategy](<https://devfeed.tech/tags/strategy.md>)

### AI overview

The article argues that companies should often address internal mindset, retention, career growth, compensation, and product-development practices before hiring a Developer Advocate. It also emphasizes Developer Experience as an early foundation for a healthy developer community.

### Source excerpt

Many companies with job ads out for Developer Advocates don't know that's not what they should be hiring for (yet). More often than not, what they need first is some internal mindset change. And even then, a Developer Experience will go a long way to achieve the first stages of a healthy community.

## Hosting Kotlin applications using Coolify

DevFeed: [Hosting Kotlin applications using Coolify](<https://devfeed.tech/articles/hosting-kotlin-applications-using-coolify-38827.md>)

Original publisher: [Read original article](<https://lengrand.fr/hosting-kotlin-applications-using-coolify/>)

Author: Julien

Published: 2024-06-11T10:37:11Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [Ktor](<https://devfeed.tech/topics/ktor.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Server](<https://devfeed.tech/topics/server.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [ci](<https://devfeed.tech/tags/ci.md>), [cli](<https://devfeed.tech/tags/cli.md>), [coolify](<https://devfeed.tech/tags/coolify.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [docker](<https://devfeed.tech/tags/docker.md>), [github](<https://devfeed.tech/tags/github.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [server](<https://devfeed.tech/tags/server.md>)

### AI overview

A tutorial showing how to deploy a Kotlin Ktor application with Coolify on a self-managed server. It covers creating a sample application, connecting Coolify to GitHub, configuring deployment, and using features such as auto-deploys, custom domains, and preview branches.

### Source excerpt

TL;DR : With Coolify you can host you Kotlin applications in seconds on your own server and benefit from auto deploys, custom domains, preview branches and more. You can see the code here, and access the sample here.

## Upgrading a Kotlin and PicoCLI Project to Kotlin 2.0

DevFeed: [Upgrading a Kotlin and PicoCLI Project to Kotlin 2.0](<https://devfeed.tech/articles/celebrating-kotlin-2-0-38823.md>)

Original publisher: [Read original article](<https://lengrand.fr/celebrating-kotlin-2-0/>)

Author: Julien

Published: 2024-05-22T22:22:53Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [version](<https://devfeed.tech/topics/version.md>)

Tags: [2-0-0](<https://devfeed.tech/tags/2-0-0.md>), [cli](<https://devfeed.tech/tags/cli.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-2](<https://devfeed.tech/tags/kotlin-2.md>)

### AI overview

The article documents upgrading a simple Kotlin and PicoCLI command-line project from Kotlin 1.4.10 to Kotlin 2.0. The build succeeds after updating the plugin and adjusting deprecated target configuration; the kapt plugin falls back to Kotlin 1.9, so it is commented out for the project to run on Kotlin 2.0.

### Source excerpt

Upgrading a simple Kotlin and PicoCLI project to Kotlin 2.0 in under 5 minutes to celebrate the new version coming up!

## Visualizing your AAARRP priorities as a way to manage up in your DevRel team

DevFeed: [Visualizing your AAARRP priorities as a way to manage up in your DevRel team](<https://devfeed.tech/articles/visualizing-your-aaarrp-priorities-as-a-way-to-manage-up-in-your-devrel-team-38822.md>)

Original publisher: [Read original article](<https://lengrand.fr/aaarrp-metrics-as-a-way-to-manage-expectations-up/>)

Author: Julien

Published: 2023-12-12T09:46:10Z

Content type: article

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [devrel](<https://devfeed.tech/topics/devrel.md>), [developer-relations](<https://devfeed.tech/topics/developer-relations.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [developer-relations](<https://devfeed.tech/tags/developer-relations.md>), [development](<https://devfeed.tech/tags/development.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [framework](<https://devfeed.tech/tags/framework.md>), [management](<https://devfeed.tech/tags/management.md>), [measuring](<https://devfeed.tech/tags/measuring.md>), [strategy](<https://devfeed.tech/tags/strategy.md>)

### AI overview

The article describes using the AAARRRP framework to visualize a Developer Relations team's strategy, explain activity priorities to internal stakeholders, and focus discussions on impact. It presents context from a small B2B DevRel team whose work emphasizes code, content, community, documentation, and samples.

### Source excerpt

In this article, I'm describing how we used the AAARRRP framework to visually describe our DevRel team's strategy and clarify the reason for our day to day activities to our internal stakeholders, and more focus on impact instead.

## Creating an OpenAPI generator from scratch : From YAML to JetBrains HTTP Client

DevFeed: [Creating an OpenAPI generator from scratch : From YAML to JetBrains HTTP Client](<https://devfeed.tech/articles/creating-an-openapi-generator-from-scratch-from-yaml-to-jetbrains-http-client-38824.md>)

Original publisher: [Read original article](<https://lengrand.fr/creating-an-openapi-generator-from-scratch-from-yaml-to-jetbrains-http-client/>)

Author: Julien

Published: 2023-11-04T17:40:33Z

Content type: tutorial

Language: en

Sources: [Thoughts, stories and ideas.](<https://devfeed.tech/sources/thoughts-stories-and-ideas.md>)

Topics: [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [jetbrains](<https://devfeed.tech/topics/jetbrains.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [YAML](<https://devfeed.tech/topics/yaml.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [development](<https://devfeed.tech/tags/development.md>), [http](<https://devfeed.tech/tags/http.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This tutorial explains how to build an OpenAPI generator from scratch for the JetBrains HTTP Client. It describes using JSON or YAML specifications, transforming them into in-memory objects, and generating client files with Mustache templates.

### Source excerpt

In this article, I'll be implementing an openapi generator from scratch so you can too! We'll be creating a very simple generator for the Jetbrains HTTP Client