# Scripting

Published articles for Scripting.

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

## Java Weekly, Issue 661

DevFeed: [Java Weekly, Issue 661](<https://devfeed.tech/articles/java-weekly-issue-661-4500.md>)

Original publisher: [Read original article](<https://www.baeldung.com/java-weekly-661>)

Author: baeldung

Published: 2026-08-26T17:15:42Z

Content type: article

Language: en

Sources: [Baeldung](<https://devfeed.tech/sources/baeldung.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [Spring Boot 4](<https://devfeed.tech/topics/spring-boot-4.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [Cryptography](<https://devfeed.tech/topics/cryptography.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [gui](<https://devfeed.tech/tags/gui.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [java](<https://devfeed.tech/tags/java.md>), [json](<https://devfeed.tech/tags/json.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [netflix](<https://devfeed.tech/tags/netflix.md>), [no-ads](<https://devfeed.tech/tags/no-ads.md>), [no-after-post](<https://devfeed.tech/tags/no-after-post.md>), [no-before-post](<https://devfeed.tech/tags/no-before-post.md>), [no-optins](<https://devfeed.tech/tags/no-optins.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [post](<https://devfeed.tech/tags/post.md>), [release](<https://devfeed.tech/tags/release.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [security](<https://devfeed.tech/tags/security.md>), [weekly-review](<https://devfeed.tech/tags/weekly-review.md>), [weekly-review-no-ads-no-after-post-no-before-post-no-optins](<https://devfeed.tech/tags/weekly-review-no-ads-no-after-post-no-before-post-no-optins.md>)

### AI overview

Java Weekly, Issue 661 is a roundup covering IntelliJ IDEA Conf, the JDK 27 release candidate, early JDK 28 developments, Spring and Java updates, technical articles, webinars, and recent framework and library releases. It also highlights Netflix Conductor's evolution as a workflow orchestration engine.

### Source excerpt

IntelliJ IDEA Conf is back, JDK 27 got its first RC and JDK 28 is already looking solid The post Java Weekly, Issue 661 first appeared on Baeldung.

## ESP32 Bit Pirate: a multi-protocol workbench built on the ESP32-S3

DevFeed: [ESP32 Bit Pirate: a multi-protocol workbench built on the ESP32-S3](<https://devfeed.tech/articles/esp32-bit-pirate-a-multi-protocol-workbench-built-on-the-esp32-s3-13788.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/2026/08/esp32-bit-pirate/>)

Author: John Lee

Published: 2026-08-20T00:00:00Z

Content type: article

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [ESP32-S3](<https://devfeed.tech/topics/esp32-s3.md>), [Embedded Software Dev](<https://devfeed.tech/topics/embedded-software-dev.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [ESP32-C5](<https://devfeed.tech/topics/esp32-c5.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [ble](<https://devfeed.tech/tags/ble.md>), [blog](<https://devfeed.tech/tags/blog.md>), [bridging](<https://devfeed.tech/tags/bridging.md>), [cli](<https://devfeed.tech/tags/cli.md>), [community-contribution](<https://devfeed.tech/tags/community-contribution.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [development-board](<https://devfeed.tech/tags/development-board.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [esp32-c5](<https://devfeed.tech/tags/esp32-c5.md>), [esp32-s3](<https://devfeed.tech/tags/esp32-s3.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [open-hardware](<https://devfeed.tech/tags/open-hardware.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [usb](<https://devfeed.tech/tags/usb.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>)

### AI overview

ESP32 Bit Pirate turns an ESP32-S3 into a scriptable multi-protocol workbench. The article describes its firmware, more than twenty wired and wireless modes, serial and web-based interfaces, Python scripting, and companion open-hardware projects including an ESP32-C5 radio adapter and a carrier dock.

### Source excerpt

ESP32 Bit Pirate turns an ESP32-S3 into a scriptable multi-protocol workbench with more than twenty modes, a web and serial CLI, and dump and sniff tooling. This article walks through the firmware and the two open-hardware companions that extend it: a carrier dock with selectable 1.8 V, 3.3 V and 5 V level translation, and an ESP32-C5 adapter that adds a dual-band radio.

## Creator of Lua: Scripting, Programming Languages, Predictions | Roberto Ierusalimschy

DevFeed: [Creator of Lua: Scripting, Programming Languages, Predictions | Roberto Ierusalimschy](<https://devfeed.tech/articles/creator-of-lua-scripting-programming-languages-predictions-roberto-ierusalimschy-18087.md>)

Original publisher: [Read original article](<https://www.developing.dev/p/creator-of-lua-scripting-programming>)

Author: Ryan Peterman

Published: 2026-08-03T13:05:15Z

Content type: article

Language: en

Sources: [The Developing Dev](<https://devfeed.tech/sources/the-developing-dev.md>)

Topics: [Lua](<https://devfeed.tech/topics/lua.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [lua](<https://devfeed.tech/tags/lua.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [python](<https://devfeed.tech/tags/python.md>), [scripting](<https://devfeed.tech/tags/scripting.md>)

### AI overview

A conversation with Lua creator Roberto Ierusalimschy explains how Lua works as an embeddable scripting language alongside C or C++, including how applications can call Lua or Lua can call C. The discussion also covers Lua's use in games such as World of Warcraft and Roblox and recommendations for learning other programming languages.

### Source excerpt

When I worked at Instagram, most of the codebase was in Python but occasionally I'd see these bindings into C++.

## Three Gradle Talks from KotlinConf 2026 (and What to Steal from Each)

DevFeed: [Three Gradle Talks from KotlinConf 2026 (and What to Steal from Each)](<https://devfeed.tech/articles/three-gradle-talks-from-kotlinconf-2026-and-what-to-steal-from-each-24622.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-at-kotlinconf-2026>)

Author: Laura Kassovic

Published: 2026-07-28T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>), [ide](<https://devfeed.tech/topics/ide.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [build](<https://devfeed.tech/tags/build.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [conference](<https://devfeed.tech/tags/conference.md>), [developer](<https://devfeed.tech/tags/developer.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [event](<https://devfeed.tech/tags/event.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [ide](<https://devfeed.tech/tags/ide.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinconf](<https://devfeed.tech/tags/kotlinconf.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>), [script](<https://devfeed.tech/tags/script.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [talk](<https://devfeed.tech/tags/talk.md>), [talks](<https://devfeed.tech/tags/talks.md>)

### AI overview

The article reviews three Gradle talks from KotlinConf 2026. It explains the progression from Groovy build scripts to the Kotlin DSL and early Declarative Gradle, emphasizing the problems each approach addresses. It also introduces Gradle best practices for organizing and optimizing builds.

### Source excerpt

Every year I tell myself I'll watch every conference talk I missed. Every year I get through maybe three before a build breaks and I get pulled back into real life. KotlinConf is the one event where I actually follow through, partly because the talks are short and dense, and partly because a good chunk of my coworkers and friends are on stage. This year in Munich, three of them talked about Gradle: Paul Merlin on the history of our DSLs, Stefan Wolf on best practices, and Marcin Mycek on Declarative Gradle for Kotlin. I watched all three so you can decide which ones are worth your fifteen minutes. A Tale of the Gradle DSLs -- Paul Merlin Paul has been inside Gradle's DSL machinery for years, which makes him exactly the right person to tell this story and exactly the wrong person to pretend the early days were clean. The talk traces how build logic went from Groovy, to the Kotlin DSL, to Declarative Gradle. The useful part isn't the timeline. It's that each of those was solving a real problem the previous one couldn't. Groovy gave us a flexible, dynamic scripting language, which was great right up until you wanted your IDE to tell you what was valid. The Kotlin DSL brought static typing, real autocompletion, and refactoring that doesn't rely on hope. That's why the Kotlin DSL is now the default for new Gradle builds. Declarative Gradle is the next swing: describe what your build is rather than script how it runs. The honest through-line is that none of these fully replaces the last one. Kotlin DSL is where most people should be today. Groovy still runs an enormous amount of the world's build logic and isn't going anywhere fast. Declarative Gradle is early but points at where things are headed. Real talk: if your build scripts are still Groovy and still working, you don't have to panic-migrate this weekend. But if you're starting something new, reach for the Kotlin DSL and let the IDE carry some of the weight. 📺 Watch the talk 10 Gradle Best Practices Every Kotlin Deve

## Inspect feature flag history with Vercel CLI

DevFeed: [Inspect feature flag history with Vercel CLI](<https://devfeed.tech/articles/inspect-feature-flag-history-with-vercel-cli-985.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/inspect-feature-flag-history-with-vercel-cli>)

Author: Chris Widmaier

Published: 2026-07-23T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [feature](<https://devfeed.tech/tags/feature.md>), [json](<https://devfeed.tech/tags/json.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [update](<https://devfeed.tech/tags/update.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel CLI now supports inspecting Vercel Flags version history, including revision authors, messages, timestamps, changed environments, filtering, pagination, JSON output, and semantic diffs between revisions.

### Source excerpt

Vercel Flags version history can now be inspected from the Vercel CLI with the new vercel flags versions command. Run vercel flags versions <flag> to print the full revision history for a flag, with each revision's author, message, timestamp, and changed environments. Filter to a specific environment with --environment, paginate with --limit and --cursor, or add --json for scripting. To compare a revision against the one before it, run vercel flags versions diff <flag> --revision <n>. The diff is semantic, surfacing field-level changes to targeting rules, rollout percentages, and conditions. Additions, removals, and modifications appear as colored +, -, and ~. Update to the latest version of the Vercel CLI and learn more in the Vercel Flags CLI documentation to get started. Read more

## Debug your Postgres from the terminal: a tour of \`neon inspect db\`

DevFeed: [Debug your Postgres from the terminal: a tour of \`neon inspect db\`](<https://devfeed.tech/articles/debug-your-postgres-from-the-terminal-a-tour-of-neon-inspect-db-5643.md>)

Original publisher: [Read original article](<https://neon.com/blog/neon-inspect-db>)

Author: Savannah Longoria

Published: 2026-07-22T18:00:00Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [debug](<https://devfeed.tech/tags/debug.md>), [diagnostics](<https://devfeed.tech/tags/diagnostics.md>), [json](<https://devfeed.tech/tags/json.md>), [observability](<https://devfeed.tech/tags/observability.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [product](<https://devfeed.tech/tags/product.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [sql](<https://devfeed.tech/tags/sql.md>), [statistics](<https://devfeed.tech/tags/statistics.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

Neon introduces `neon inspect db`, a Neon CLI command suite for read-only Postgres diagnostics. Its subcommands run bounded, versioned queries against Postgres statistics and catalog views, returning tables or JSON/YAML without requiring users to assemble connection strings or write catalog queries.

### Source excerpt

The Neon CLI now ships `neon inspect db`: read-only, high-signal Postgres diagnostics that answer "what is slow?" without leaving the terminal or writing a single catalog query. Each subcommand runs one known-good query against Postgres' own statistics and catalog views and prints a clean table (or JSON/YAML for scripting).

## Worth Reading: Scripting Good Practices in Python

DevFeed: [Worth Reading: Scripting Good Practices in Python](<https://devfeed.tech/articles/worth-reading-scripting-good-practices-in-python-11420.md>)

Original publisher: [Read original article](<https://blog.ipspace.net/2026/07/worth-reading-python-good-practices/>)

Published: 2026-07-08T05:28:00Z

Content type: article

Language: en

Sources: [ipSpace.net blog](<https://devfeed.tech/sources/ipspace-net-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [python](<https://devfeed.tech/tags/python.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [worth-reading](<https://devfeed.tech/tags/worth-reading.md>)

### AI overview

A recommendation to read Brett Cannon's guidance on good scripting practices in Python, especially when building a simple Python project.

### Source excerpt

Just in case you decide to build a simple Python project over the summer: read scripting good practices in Python by Brett Cannon and tell your AI friend to adhere to them ;)

## We put a Redis server inside our runtime

DevFeed: [We put a Redis server inside our runtime](<https://devfeed.tech/articles/we-put-a-redis-server-inside-our-runtime-17834.md>)

Original publisher: [Read original article](<https://encore.dev/blog/redis-runtime>)

Author: Ivan Cernja

Published: 2026-06-25T00:00:00Z

Content type: article

Language: en

Sources: [Encore Updates](<https://devfeed.tech/sources/encore-updates.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Development](<https://devfeed.tech/topics/development.md>), [Cache](<https://devfeed.tech/topics/cache.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [development](<https://devfeed.tech/tags/development.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [redis](<https://devfeed.tech/tags/redis.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [streams](<https://devfeed.tech/tags/streams.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

Encore describes how its runtime provides an in-memory Redis server for local development and tests, aiming to keep behavior consistent with Redis in production. The Rust runtime embeds a port of miniredis as a library that supports commonly used Redis data types, streams, pub/sub, transactions, Lua scripting, TCP, and the Redis wire protocol.

### Source excerpt

How we run an in-memory Redis inside the runtime for local development and tests, and how we keep it behaving the same as the Redis you run in production.

## Documenting the manual: how curiosity and robotic arms led to a career in open source

DevFeed: [Documenting the manual: how curiosity and robotic arms led to a career in open source](<https://devfeed.tech/articles/documenting-the-manual-how-curiosity-and-robotic-arms-led-to-a-career-in-open-source-34308.md>)

Original publisher: [Read original article](<http://opensource.googleblog.com/2026/06/documenting-the-manual-how-curiosity-and-robotic-arms-led-to-a-career-in-open-source.html>)

Author: Google Open Source (noreply@blogger.com)

Published: 2026-06-22T18:30:00Z

Content type: article

Language: en

Sources: [Google Open Source Blog](<https://devfeed.tech/sources/google-open-source-blog.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [C](<https://devfeed.tech/topics/c.md>), [Undocumented feature](<https://devfeed.tech/topics/undocumented-feature.md>), [Network](<https://devfeed.tech/topics/network.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [communities](<https://devfeed.tech/tags/communities.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [linux-man-pages](<https://devfeed.tech/tags/linux-man-pages.md>), [network](<https://devfeed.tech/tags/network.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [sponsorship](<https://devfeed.tech/tags/sponsorship.md>), [undocumented-feature](<https://devfeed.tech/tags/undocumented-feature.md>), [work](<https://devfeed.tech/tags/work.md>)

### AI overview

This article profiles Alejandro "Alex" Colomar's path from working with robotic arms to maintaining Linux Kernel documentation. It explains how documenting the previously undocumented SO_TIMESTAMPNS feature led to his first man-pages patch and eventually to a career focused on clarity in open source communities. Google sponsors his work on the Linux Kernel man-pages project.

### Source excerpt

by Daryl Ducharme, Google Open Source When you think of "innovation" in open source, your mind probably jumps to the latest AI model or a revolutionary new framework. You might not immediately think of manual pages. Even Alejandro "Alex" Colomar, who spends his days maintaining Linux Kernel documentation, jokingly admits that some might find the work "boring" because it focuses on fixing existing issues and documenting new features rather than flashy inventions. But as any developer knows, the most powerful code is only as good as the documentation behind it. At Google, we believe that investing in the success of projects we don't own is a core part of being a good open source citizen. That is why we are proud to sponsor Alejandro's work on the Linux Kernel man-pages project--supporting the critical infrastructure that many of our own systems rely on every day. Documentation is the gift you give to your future self and your whole community. The precision of a robot Alejandro's journey into the world of essential documentation started at university. He was working with robotic arms that used a proprietary scripting language. Wanting more control, he decided to write a C library to communicate with the robots over the network by sniffing packets with Wireshark. It worked, but it was slow--he had to wait seconds between commands to ensure the robot had finished moving. To make the movements smooth, he needed to understand the messages the robot was sending back in real-time. This required high-precision timing. He found SO_TIMESTAMP, which provided microsecond precision, but he noticed a macro called SO_TIMESTAMPNS in the header files that promised nanosecond resolution. The problem? It wasn't documented in the manual page. The first patch After figuring out how to use the undocumented feature by looking at the kernel source code, Alejandro decided to ensure the next person wouldn't have to struggle. He cloned the man-pages repository, wrote a new paragraph based on exis

## Managing Multiple Lua Scripts with Ceph Object Storage

DevFeed: [Managing Multiple Lua Scripts with Ceph Object Storage](<https://devfeed.tech/articles/managing-multiple-lua-scripts-with-ceph-object-storage-12338.md>)

Original publisher: [Read original article](<https://ceph.io/en/news/blog/2026/rgw-multiple-scripts/>)

Author: Kirby Chin

Published: 2026-06-10T00:00:00Z

Content type: article

Language: en

Sources: [Ceph Blog](<https://devfeed.tech/sources/ceph-blog.md>)

Topics: [Lua](<https://devfeed.tech/topics/lua.md>), [Script](<https://devfeed.tech/topics/script.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [Security](<https://devfeed.tech/topics/security.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [ransomware](<https://devfeed.tech/topics/ransomware.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [ceph](<https://devfeed.tech/tags/ceph.md>), [cli](<https://devfeed.tech/tags/cli.md>), [data](<https://devfeed.tech/tags/data.md>), [developer](<https://devfeed.tech/tags/developer.md>), [en-article](<https://devfeed.tech/tags/en-article.md>), [en-blog-post](<https://devfeed.tech/tags/en-blog-post.md>), [examples](<https://devfeed.tech/tags/examples.md>), [feature](<https://devfeed.tech/tags/feature.md>), [go](<https://devfeed.tech/tags/go.md>), [lua](<https://devfeed.tech/tags/lua.md>), [management](<https://devfeed.tech/tags/management.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [object-storage](<https://devfeed.tech/tags/object-storage.md>), [operations](<https://devfeed.tech/tags/operations.md>), [rados](<https://devfeed.tech/tags/rados.md>), [ransomware](<https://devfeed.tech/tags/ransomware.md>), [rgw](<https://devfeed.tech/tags/rgw.md>), [s3](<https://devfeed.tech/tags/s3.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [security](<https://devfeed.tech/tags/security.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article introduces a Ceph RADOS Gateway feature for managing multiple Lua scripts within the same request context and tenant. It demonstrates scripts for enforcing bucket object locks to mitigate ransomware risks and for optimizing storage through object auto-tiering.

### Source excerpt

Since the Pacific release, Lua scripting in Ceph's RADOS Gateway (RGW) has provided users the ability to interpolate a single script to upload operations per request context and tenant. This way of working might be completely fine for a storage deployment with limited scripting customizations. However, script management becomes increasingly difficult as more than one team wants to get involved in managing the Lua script within the same context and tenant. For this reason, we've released a new feature in RGW allowing you to manage more than one Lua script at a time. In this blog, we'll go over a couple of examples to walk you through how this feature can help your team to reduce runtime errors and lower developer friction when managing Lua scripts in RGW. To begin, we will create a script to enforce a bucket security control and then add another script to demonstrate the new feature. Script 1: Bucket security ¶ Let's suppose we are part of a security team and want to mitigate the risk of ransomware threats happening on our storage platform. One possible way to achieve this is to implement a Write Once, Read Many (WORM) strategy to add an object lock onto any newly created bucket. By using an object lock, we can add a constraint to write objects to disk only once, ensuring that an infected client cannot delete or override objects at a later time. To set our WORM strategy, we can create a Lua script in the prerequest context that aborts when a create_bucket operation is made without the write-once (object lock) requirement. objectlock.lua -- enforcing object lock on bucket creation if Request.RGWOp == "create_bucket" and Request.HTTP.Metadata["x-amz-bucket-object-lock-enabled"] ~= "true" then RGWDebugLog("object lock is missing on bucket: " .. Request.Bucket.Name) Request.Response.Message = "Bucket must have object lock enabled" return RGW_ABORT_REQUEST end You can create a new objectlock.lua file with the contents above and run the CLI commands below to upload the scr

## Introducing Trusted Remote Execution: Policy-Enforced Scripts for AI Agents and Humans

DevFeed: [Introducing Trusted Remote Execution: Policy-Enforced Scripts for AI Agents and Humans](<https://devfeed.tech/articles/introducing-trusted-remote-execution-policy-enforced-scripts-for-ai-agents-and-humans-4759.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/opensource/introducing-trusted-remote-execution-policy-enforced-scripts-for-ai-agents-and-humans/>)

Author: Nick MacDonald

Published: 2026-05-04T15:34:36Z

Content type: release

Language: en

Sources: [AWS Open Source Blog](<https://devfeed.tech/sources/aws-open-source-blog.md>)

Topics: [AI Bots](<https://devfeed.tech/topics/ai-bots.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [case-study](<https://devfeed.tech/tags/case-study.md>), [code](<https://devfeed.tech/tags/code.md>), [logs](<https://devfeed.tech/tags/logs.md>), [model](<https://devfeed.tech/tags/model.md>), [open](<https://devfeed.tech/tags/open.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [operations](<https://devfeed.tech/tags/operations.md>), [policy](<https://devfeed.tech/tags/policy.md>), [production](<https://devfeed.tech/tags/production.md>), [remote](<https://devfeed.tech/tags/remote.md>), [review](<https://devfeed.tech/tags/review.md>), [safety](<https://devfeed.tech/tags/safety.md>), [sandboxes](<https://devfeed.tech/tags/sandboxes.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

Trusted Remote Execution (Rex) is an open-source scripting runtime that authorizes each host operation against a Cedar policy. It is designed to give service owners runtime control over scripts generated by AI agents or used by humans.

### Source excerpt

Today, we're announcing Trusted Remote Execution (Rex, for short) -- an open source scripting runtime where every system operation is authorized by policy. Scripts are written in Rhai, a lightweight language with no built-in system access. The only way to reach the host is through operations Rex explicitly provides, which are authorized against a Cedar [...]

## Jenkins Series

DevFeed: [Jenkins Series](<https://devfeed.tech/articles/jenkins-series-4532.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/953170670/0/baeldung/ops~Jenkins-Series>)

Author: baeldung

Published: 2026-04-03T12:36:55Z

Content type: tutorial

Language: en

Sources: [Baeldung - Ops](<https://devfeed.tech/sources/baeldung-ops.md>)

Topics: [Jenkins](<https://devfeed.tech/topics/jenkins.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Groovy](<https://devfeed.tech/topics/groovy.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [Server](<https://devfeed.tech/topics/server.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [administration](<https://devfeed.tech/tags/administration.md>), [automation](<https://devfeed.tech/tags/automation.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [docker](<https://devfeed.tech/tags/docker.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [jenkins-series](<https://devfeed.tech/tags/jenkins-series.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [series](<https://devfeed.tech/tags/series.md>), [server](<https://devfeed.tech/tags/server.md>)

### AI overview

A tutorial series covering Jenkins pipelines, job management, administration, Groovy scripting, parameterized and parallel builds, and server maintenance across the CI/CD lifecycle.

### Source excerpt

This tutorial provides an overview of Jenkins pipelines, job management, and administration. Related Stories Git Series Troubleshoot Docker Daemon Connection Issues in Jenkins Troubleshooting Jenkins 403 No Valid Crumb in Request Error

## Playground and java.time Support in Codename One

DevFeed: [Playground and java.time Support in Codename One](<https://devfeed.tech/articles/playground-and-java-time-support-in-codename-one-19438.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/playground-and-java-time-support/>)

Author: Shai Almog

Published: 2026-03-27T00:00:00Z

Content type: release

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Scripting](<https://devfeed.tech/topics/scripting.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Java](<https://devfeed.tech/topics/java.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [java](<https://devfeed.tech/tags/java.md>), [playground](<https://devfeed.tech/tags/playground.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Codename One adds a new Playground for rapid UI scripting, prototyping, and sharing runnable examples, along with built-in support for the java.time API to improve modern Java compatibility.

### Source excerpt

Codename One now includes a new Playground for rapid UI scripting and iteration, and adds built-in support for the java.time API.

## Staying Technical as a Technical Program Manager

DevFeed: [Staying Technical as a Technical Program Manager](<https://devfeed.tech/articles/staying-technical-as-a-technical-program-manager-37545.md>)

Original publisher: [Read original article](<https://deanhume.com/staying-technical-as-a-technical-program-manager/>)

Author: Dean Hume

Published: 2026-02-18T11:39:39Z

Content type: opinion

Language: en

Sources: [Dean Hume](<https://devfeed.tech/sources/dean-hume.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [coding](<https://devfeed.tech/topics/coding.md>), [engineering-culture](<https://devfeed.tech/topics/engineering-culture.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [game-development](<https://devfeed.tech/tags/game-development.md>), [habits](<https://devfeed.tech/tags/habits.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [learn](<https://devfeed.tech/tags/learn.md>), [practices](<https://devfeed.tech/tags/practices.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [skills](<https://devfeed.tech/tags/skills.md>), [technical](<https://devfeed.tech/tags/technical.md>), [technical-leadership](<https://devfeed.tech/tags/technical-leadership.md>)

### AI overview

A Technical Program Manager shares practical habits for staying technically sharp while managing programs, including occasional coding, writing technical content, following technology blogs, and building hands-on side projects.

### Source excerpt

Learn practical ways Technical Program Managers can stay technical - daily habits, internal engineering practices, and hands-on routines that keep skills sharp while leading programs at scale.

## ClickPy at 2 Trillion rows: Scaling ingestion and fixing the past

DevFeed: [ClickPy at 2 Trillion rows: Scaling ingestion and fixing the past](<https://devfeed.tech/articles/clickpy-at-2-trillion-rows-scaling-ingestion-and-fixing-the-past-5184.md>)

Original publisher: [Read original article](<https://clickhouse.com/blog/clickpy-2-trillion-rows>)

Author: Lionel Palacin

Published: 2026-01-21T10:48:32Z

Content type: article

Language: en

Sources: [ClickHouse Blog](<https://devfeed.tech/sources/clickhouse-blog.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [data](<https://devfeed.tech/topics/data.md>), [Python](<https://devfeed.tech/topics/python.md>), [BigQuery](<https://devfeed.tech/topics/bigquery.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>), [Code](<https://devfeed.tech/topics/code.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [bigquery](<https://devfeed.tech/tags/bigquery.md>), [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [cloud-storage](<https://devfeed.tech/tags/cloud-storage.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [operational](<https://devfeed.tech/tags/operational.md>), [python](<https://devfeed.tech/tags/python.md>), [scale](<https://devfeed.tech/tags/scale.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

ClickPy has grown to more than 2 trillion Python package-download rows dating back to 2011. This article describes replacing a custom, cron-based ingestion script with ClickPipes and correcting historical data while keeping the service available and ingestion uninterrupted.

### Source excerpt

A look at how ClickPy handles over 2 trillion Python package downloads, from ingestion redesign to fixing historical data at scale.

## Embedding Wren in Hare

DevFeed: [Embedding Wren in Hare](<https://devfeed.tech/articles/embedding-wren-in-hare-20796.md>)

Original publisher: [Read original article](<https://drewdevault.com/blog/Hare-and-Wren/>)

Author: August

Published: 2025-08-20T00:00:00Z

Content type: article

Language: en

Sources: [Drew DeVault](<https://devfeed.tech/sources/drew-devault.md>)

Topics: [Scripting](<https://devfeed.tech/topics/scripting.md>), [API](<https://devfeed.tech/topics/api.md>), [Library](<https://devfeed.tech/topics/library.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [C](<https://devfeed.tech/topics/c.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [cli](<https://devfeed.tech/tags/cli.md>), [library](<https://devfeed.tech/tags/library.md>), [scripting](<https://devfeed.tech/tags/scripting.md>)

### AI overview

The article introduces hare-wren, an interface for embedding the Wren scripting language in Hare programs. It describes its Hare-oriented wrapper around the Wren C API, bidirectional calls between Hare and Wren, an optional asynchronous runtime and standard library, file and process-environment features, third-party module loading, and command-line access without a REPL.

### Source excerpt

I've been on the lookout for a scripting language which can be neatly embedded into Hare programs. Perhaps the obvious candidate is Lua - but I'm not particularly enthusiastic about it. When I was evaluating the landscape of tools which are "like Lua, but not Lua", I found an interesting contender: Wren. I found that Wren punches far above its weight for such a simple language. It's object oriented, which, you know, take it or leave it depending on your use-case, but it's very straightforwardly interesting for what it is. I found a few things to complain about, of course - its scope rules are silly, the C API has some odd limitations here and there, and in my opinion the "standard library" provided by wren CLI is poorly designed. But, surprisingly, my list of complaints more or less ends there, and I was excited to build a nice interface to it from Hare. The result is hare-wren. Check it out! The basic Wren C API is relatively straightforwardly exposed to Hare via the wren module, though I elected to mold it into a more idiomatic Hare interface rather than expose the C API directly to Hare. You can use it something like this: use wren; export fn main() void = { const vm = wren::new(wren::stdio_config); defer wren::destroy(vm); wren::interpret(vm, "main", ` System.print("Hello world!") `)!; }; $ hare run -lc main.ha Hello world! Calling Hare from Wren and vice-versa is also possible with hare-wren, of course. Here's another example: use fmt; use wren; export fn main() void = { let config = *wren::stdio_config; config.bind_foreign_method = &bind_foreign_method; const vm = wren::new(&config); defer wren::destroy(vm); wren::interpret(vm, "main", ` class Example { foreign static greet(user) } System.print(Example.greet("Harriet")) `)!; }; fn bind_foreign_method( vm: *wren::vm, module: str, class_name: str, is_static: bool, signature: str, ) nullable *wren::foreign_method_fn = { const is_valid = class_name == "Example" && signature == "greet(_)" && is_static; if (!is_vali

## Enhance Your Firebase Studio Workflow with Gemini CLI

DevFeed: [Enhance Your Firebase Studio Workflow with Gemini CLI](<https://devfeed.tech/articles/enhance-your-firebase-studio-workflow-with-gemini-cli-16614.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2025/07/firebase-studio-gemini-cli>)

Author: Jess Kuras

Published: 2025-07-22T10:00:00Z

Content type: tutorial

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Google](<https://devfeed.tech/topics/google.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Code](<https://devfeed.tech/topics/code.md>), [debug](<https://devfeed.tech/topics/debug.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [automation](<https://devfeed.tech/tags/automation.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [environment-variables](<https://devfeed.tech/tags/environment-variables.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firebase-studio](<https://devfeed.tech/tags/firebase-studio.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [google](<https://devfeed.tech/tags/google.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Firebase Studio now includes Gemini CLI preinstalled in its terminal. The article explains who may benefit from using it, how to launch and authenticate it, and how to configure settings, scripting, automation, environment variables, and project-specific instructions.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## openHAB 5.0 Release

DevFeed: [openHAB 5.0 Release](<https://devfeed.tech/articles/openhab-5-0-release-16734.md>)

Original publisher: [Read original article](<https://openhab.org/blog/2025-07-21-openhab-5-0-release.html>)

Published: 2025-07-21T19:00:00Z

Content type: release

Language: en

Sources: [openHAB](<https://devfeed.tech/sources/openhab.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Matter](<https://devfeed.tech/topics/matter.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Code](<https://devfeed.tech/topics/code.md>), [Java](<https://devfeed.tech/topics/java.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [features](<https://devfeed.tech/tags/features.md>), [github](<https://devfeed.tech/tags/github.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [java](<https://devfeed.tech/tags/java.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

openHAB 5.0 is a major release with Matter support, a new Python Scripting add-on, upgraded dependencies, Java 21, virtual threads, and 64-bit-only support. The release includes breaking changes and contributions across the project's repositories.

### Source excerpt

As this is a major release, we have a number of breaking changes that are required for the new features and improvements. So, please have a look at our official release notes to learn about all breaking changes, new add-ons, enhancements and fixes.

## How to Identify the Package Manager of a Linux System

DevFeed: [How to Identify the Package Manager of a Linux System](<https://devfeed.tech/articles/how-to-identify-the-package-manager-of-a-linux-system-4521.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/921621143/0/baeldung/linux~How-to-Identify-the-Package-Manager-of-a-Linux-System>)

Author: Umara Mushtaq

Published: 2025-07-14T02:13:11Z

Content type: tutorial

Language: en

Sources: [Baeldung - Linux](<https://devfeed.tech/sources/baeldung-linux.md>)

Topics: [Package Management](<https://devfeed.tech/topics/package-management.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [apt](<https://devfeed.tech/topics/apt.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Arch Linux](<https://devfeed.tech/topics/archlinux.md>), [dnf](<https://devfeed.tech/topics/dnf.md>), [Fedora](<https://devfeed.tech/topics/fedora.md>), [pacman](<https://devfeed.tech/topics/pacman.md>)

Tags: [apt](<https://devfeed.tech/tags/apt.md>), [automation](<https://devfeed.tech/tags/automation.md>), [bash](<https://devfeed.tech/tags/bash.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [dnf](<https://devfeed.tech/tags/dnf.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [errors](<https://devfeed.tech/tags/errors.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [installation](<https://devfeed.tech/tags/installation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [package-management-scripting-apt-dnf-pacman-snap-yum](<https://devfeed.tech/tags/package-management-scripting-apt-dnf-pacman-snap-yum.md>), [pacman](<https://devfeed.tech/tags/pacman.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [snap](<https://devfeed.tech/tags/snap.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

This tutorial explains how to identify the package manager used by a Linux system. It covers inferring the manager from the distribution, checking distribution metadata with /etc/os-release or lsb_release, verifying an installed manager with which, and using Bash scripts to detect package managers in automated or multi-distribution environments.

### Source excerpt

Learn different ways to guess or identify the default package manager of a Linux system. The post How to Identify the Package Manager of a Linux System first appeared on Baeldung on Linux. Related Stories How to Check for Available Package Updates in Linux How to Properly Install Valgrind? Background Jobs in a Loop in Bash

## Background Jobs in a Loop in Bash

DevFeed: [Background Jobs in a Loop in Bash](<https://devfeed.tech/articles/background-jobs-in-a-loop-in-bash-4520.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/920673941/0/baeldung/linux~Background-Jobs-in-a-Loop-in-Bash>)

Author: Sourov Jajodia

Published: 2025-06-24T11:47:03Z

Content type: tutorial

Language: en

Sources: [Baeldung - Linux](<https://devfeed.tech/sources/baeldung-linux.md>)

Topics: [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [jobs](<https://devfeed.tech/tags/jobs.md>), [linux](<https://devfeed.tech/tags/linux.md>), [loops](<https://devfeed.tech/tags/loops.md>), [processes](<https://devfeed.tech/tags/processes.md>), [resource](<https://devfeed.tech/tags/resource.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [scripting-bash](<https://devfeed.tech/tags/scripting-bash.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A Bash tutorial on running loop iterations as background jobs, waiting for completion, and avoiding excessive parallel work.

### Source excerpt

Learn several patterns to run background jobs in a loop in Bash. The post Background Jobs in a Loop in Bash first appeared on Baeldung on Linux. Related Stories Why the Value of a Variable Modified in a while Loop Is Not Remembered Outside? Executing Commands in Gnuplot through Shell Script Converting Output to String in Linux

## Using if-else Conditionals in a Makefile

DevFeed: [Using if-else Conditionals in a Makefile](<https://devfeed.tech/articles/using-if-else-conditionals-in-a-makefile-4515.md>)

Original publisher: [Read original article](<https://feeds.feedblitz.com/~/919796387/0/baeldung/linux~Using-ifelse-Conditionals-in-a-Makefile>)

Author: baeldung

Published: 2025-06-06T09:36:00Z

Content type: tutorial

Language: en

Sources: [Baeldung - Linux](<https://devfeed.tech/sources/baeldung-linux.md>)

Topics: [make](<https://devfeed.tech/topics/make.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>), [gcc](<https://devfeed.tech/topics/gcc.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [building](<https://devfeed.tech/tags/building.md>), [building-make-popular](<https://devfeed.tech/tags/building-make-popular.md>), [code](<https://devfeed.tech/tags/code.md>), [examples](<https://devfeed.tech/tags/examples.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [learn](<https://devfeed.tech/tags/learn.md>), [linux](<https://devfeed.tech/tags/linux.md>), [make](<https://devfeed.tech/tags/make.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [os](<https://devfeed.tech/tags/os.md>), [popular](<https://devfeed.tech/tags/popular.md>), [programming](<https://devfeed.tech/tags/programming.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial explaining how to use if-else conditional directives in Makefiles. It covers ifeq, ifneq, ifdef, and ifndef, with examples for selecting compiler flags, handling operating-system differences, and assigning default variable values.

### Source excerpt

Learn how to use if-else conditional statements inside of Makefiles. The post Using if-else Conditionals in a Makefile first appeared on Baeldung on Linux. Related Stories How to Identify the Package Manager of a Linux System Background Jobs in a Loop in Bash Executing Commands in Gnuplot through Shell Script

## Using Lua as ESP-IDF Component with ESP32

DevFeed: [Using Lua as ESP-IDF Component with ESP32](<https://devfeed.tech/articles/using-lua-as-esp-idf-component-with-esp32-13968.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/using-lua-as-esp-idf-component-with-esp32/>)

Author: John Lee

Published: 2024-10-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [Lua](<https://devfeed.tech/topics/lua.md>), [ESP-IDF](<https://devfeed.tech/topics/esp-idf.md>), [ESP32](<https://devfeed.tech/topics/esp32.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>), [Scripting](<https://devfeed.tech/topics/scripting.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [component](<https://devfeed.tech/tags/component.md>), [embedded-systems](<https://devfeed.tech/tags/embedded-systems.md>), [esp-idf](<https://devfeed.tech/tags/esp-idf.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [esp32-c3](<https://devfeed.tech/tags/esp32-c3.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [lua](<https://devfeed.tech/tags/lua.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [risc-v](<https://devfeed.tech/tags/risc-v.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [spiffs](<https://devfeed.tech/tags/spiffs.md>)

### AI overview

This tutorial explains how to integrate Lua as an ESP-IDF component in ESP32 projects and run Lua scripts from the SPIFFS filesystem. It covers the example project, cross-architecture support for ESP32 and ESP32-C3, configurable Lua stack size, and memory monitoring while Wi-Fi is enabled.

### Source excerpt

Lua is a lightweight and powerful scripting language, making it ideal for use in embedded systems like the ESP32. By integrating Lua into your ESP-IDF project, you can execute scripts directly on the ESP32, offering a flexible way to manage application behavior without recompiling the entire firmware. This guide walks through how to set up Lua as an ESP-IDF component, with a focus on running Lua scripts from the filesystem.

## Listen to the whispers: web timing attacks that actually work

DevFeed: [Listen to the whispers: web timing attacks that actually work](<https://devfeed.tech/articles/listen-to-the-whispers-web-timing-attacks-that-actually-work-7689.md>)

Original publisher: [Read original article](<https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work>)

Author: James Kettle

Published: 2024-08-07T18:10:21Z

Content type: article

Language: en

Sources: [PortSwigger Research](<https://devfeed.tech/sources/portswigger-research.md>)

Topics: [Web](<https://devfeed.tech/topics/web.md>), [Server](<https://devfeed.tech/topics/server.md>), [ctf](<https://devfeed.tech/topics/ctf.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>)

Tags: [attacks](<https://devfeed.tech/tags/attacks.md>), [ctf](<https://devfeed.tech/tags/ctf.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pdf](<https://devfeed.tech/tags/pdf.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [research](<https://devfeed.tech/tags/research.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [server](<https://devfeed.tech/tags/server.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This research paper presents practical web timing attack techniques for extracting server secrets and exposing hidden attack surfaces. It describes methods involving masked misconfigurations, blind data-structure injection, hidden routes, and automated exploitation, supported by real-world case studies, open-source tools, custom scripting, and a CTF.

### Source excerpt

Websites are riddled with timing oracles eager to divulge their innermost secrets. It's time we started listening to them. In this paper, I'll unleash novel attack concepts to coax out server secrets

## Exclusive accordions using the HTML details element

DevFeed: [Exclusive accordions using the HTML details element](<https://devfeed.tech/articles/exclusive-accordions-using-the-html-details-element-4063.md>)

Original publisher: [Read original article](<https://developer.mozilla.org/en-US/blog/html-details-exclusive-accordions/>)

Author: brian-smith

Published: 2024-08-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [MDN Blog](<https://devfeed.tech/sources/mdn-blog.md>)

Topics: [Web platform](<https://devfeed.tech/topics/web-platform.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [css](<https://devfeed.tech/tags/css.md>), [feature](<https://devfeed.tech/tags/feature.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [html](<https://devfeed.tech/tags/html.md>), [scripting](<https://devfeed.tech/tags/scripting.md>), [support](<https://devfeed.tech/tags/support.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article explains how the HTML details element's name attribute can create exclusive accordions, allowing only one section in a group to remain open. It also discusses browser support and using HTML and CSS instead of custom scripting.

### Source excerpt

The 'name' attribute of the HTML details element is gaining more support across browsers. Learn how this feature allows creating exclusive accordions without scripting widgets from scratch.

[Next page](<https://devfeed.tech/tags/scripting.md?cursor=WyIyMDI0LTA4LTA1VDAwOjAwOjAwKzAwOjAwIiwgIjc5ODMwMTZlLTA5Y2QtNGZlNy1iNWZkLWJhNzE4MGEzYTE5NSJd>)