# lambda

Published articles for lambda.

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

## Lambda-powered functions land in OTTL

DevFeed: [Lambda-powered functions land in OTTL](<https://devfeed.tech/articles/lambda-powered-functions-land-in-ottl-32577.md>)

Original publisher: [Read original article](<https://opentelemetry.io/blog/2026/lambda-powered-function-land-in-ottl/>)

Author: OpenTelemetry Authors; Docs CC BY

Published: 2026-07-22T20:04:49Z

Content type: release

Language: en

Sources: [Blog on OpenTelemetry](<https://devfeed.tech/sources/blog-on-opentelemetry.md>)

Topics: [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [sensitive data](<https://devfeed.tech/topics/sensitive-data.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [collection-operations](<https://devfeed.tech/tags/collection-operations.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [functions](<https://devfeed.tech/tags/functions.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [pipelines](<https://devfeed.tech/tags/pipelines.md>), [release](<https://devfeed.tech/tags/release.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [transformation](<https://devfeed.tech/tags/transformation.md>)

### AI overview

OpenTelemetry Collector Contrib v0.157.0 introduces lambda expressions to OTTL, enabling reusable inline logic in generic higher-order functions. The release adds eight experimental functions for collection transformations, including filtering, mapping, finding, reducing, and conditional operations.

### Source excerpt

As telemetry pipelines become more sophisticated, so do the transformations they need to perform: sanitizing sensitive data, normalizing inconsistent schemas, and enforcing attribute contracts. While OTTL provides a rich set of transformation functions, expressing collection operations has required dedicated functions with hardcoded behavior for each new use case. OpenTelemetry Collector Contrib v0.157.0 changes that by introducing lambda expressions to OTTL. Lambdas let users pass inline logic directly to generic higher-order functions, making complex collection transformations both reusable and concise. The release includes eight new functions that leverage this capability: Filter, MapEach, MapKeys, Any, All, Find, Reduce, and When.

## AWS Lambda MicroVMs Are Positioned Between Lambda and EC2

DevFeed: [AWS Lambda MicroVMs Are Positioned Between Lambda and EC2](<https://devfeed.tech/articles/aws-lambda-microvms-what-new-devilry-38704.md>)

Original publisher: [Read original article](<https://dataengineeringcentral.substack.com/p/aws-lambda-microvms-what-new-devilry>)

Author: Daniel Beach

Published: 2026-07-06T12:24:57Z

Content type: opinion

Language: en

Sources: [Data Engineering Central](<https://devfeed.tech/sources/data-engineering-central.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [ec2](<https://devfeed.tech/tags/ec2.md>), [lambda](<https://devfeed.tech/tags/lambda.md>)

### AI overview

The article offers commentary on AWS Lambda MicroVMs, describing them as a compute option between AWS Lambda and EC2 instances. It considers whether they address broader demand or a narrower niche, but the supplied text does not provide a definitive conclusion.

### Source excerpt

example with Polars and CSVs

## Introducing Temporal Serverless Workers: Deploy Temporal Workers to AWS Lambda

DevFeed: [Introducing Temporal Serverless Workers: Deploy Temporal Workers to AWS Lambda](<https://devfeed.tech/articles/introducing-temporal-serverless-workers-deploy-temporal-workers-to-aws-lambda-35892.md>)

Original publisher: [Read original article](<https://temporal.io/blog/introducing-temporal-serverless-workers-deploy-temporal-workers-to-aws-lambda>)

Author: Brandon Chavis

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

Content type: release

Language: en

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

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [product-news](<https://devfeed.tech/tags/product-news.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

Temporal announced that Serverless Workers for AWS Lambda has graduated from pre-release to Public Preview for Temporal Cloud. The feature supports Go, Python, Java, .NET, and TypeScript SDKs and provides automatic invocation, autoscaling, and scale-to-zero behavior.

### Source excerpt

Deploy Temporal Workers directly to AWS Lambda. Serverless Workers handle invocation, autoscaling, and scale-to-zero, so you can skip the infrastructure setup

## Newsletter: Managed Instances, Durable Functions, Core Integrations

DevFeed: [Newsletter: Managed Instances, Durable Functions, Core Integrations](<https://devfeed.tech/articles/newsletter-managed-instances-durable-functions-core-integrations-14288.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/newsletter-managed-instances-durable-functions-core-integrations>)

Author: Serverless Team

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

Content type: news

Language: en

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

Topics: [serverless framework](<https://devfeed.tech/topics/serverless-framework.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Single sign-on (SSO)](<https://devfeed.tech/topics/sso.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [faas](<https://devfeed.tech/tags/faas.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [news](<https://devfeed.tech/tags/news.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

A Serverless Framework Q1 2026 newsletter covers Lambda managed instances, durable functions, native AppSync support, built-in pruning, AWS SSO login, and integrations moved from plugins into core.

### Source excerpt

Serverless Framework's Q1 2026 newsletter covering Lambda managed instances, durable functions, native AppSync support, built-in pruning, AWS SSO login, and plugin-to-core integrations.

## Deploying a Cost-Effective, Scalable PhotoDNA System for CSAM Detection

DevFeed: [Deploying a Cost-Effective, Scalable PhotoDNA System for CSAM Detection](<https://devfeed.tech/articles/deploying-a-cost-effective-scalable-photodna-system-for-csam-detection-22565.md>)

Original publisher: [Read original article](<https://tech.scribd.com/blog/2026/photodna-csam-detection.html>)

Author: Anish Kumar

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

Content type: article

Language: en

Sources: [Scribd Tech](<https://devfeed.tech/sources/scribd-tech.md>)

Topics: [Perceptual hashing](<https://devfeed.tech/topics/perceptual-hashing.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>)

Tags: [auditability](<https://devfeed.tech/tags/auditability.md>), [aws](<https://devfeed.tech/tags/aws.md>), [content-trust-series](<https://devfeed.tech/tags/content-trust-series.md>), [cost](<https://devfeed.tech/tags/cost.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [false-positives](<https://devfeed.tech/tags/false-positives.md>), [featured](<https://devfeed.tech/tags/featured.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [latency](<https://devfeed.tech/tags/latency.md>), [legal](<https://devfeed.tech/tags/legal.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [observability](<https://devfeed.tech/tags/observability.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [scale](<https://devfeed.tech/tags/scale.md>)

### AI overview

Scribd describes a production system for detecting known Child Sexual Abuse Material using PhotoDNA perceptual hashes. The article covers its integration with NCMEC reporting, ingestion-scale architecture, operational model, cost considerations, and safety-related constraints.

### Source excerpt

Child safety is a non-negotiable responsibility for any platform that hosts user-generated content. Over the last year, we designed and deployed a production system that detects known Child Sexual Abuse Material (CSAM) using PhotoDNA perceptual hashes, integrates with the National Center for Missing and Exploted Children's (NCMEC) reporting system, and scales efficiently across our ingestion surfaces. This post explains the problem we set out to solve, how PhotoDNA hashing works, the online child-protection ecosystem (NCMEC, Tech Coalition, Project Lantern), our architecture and operational model, cost considerations, and key learnings.

## Building a Scalable AWS Backup System for S3 Data Warehouses

DevFeed: [Building a Scalable AWS Backup System for S3 Data Warehouses](<https://devfeed.tech/articles/building-a-scalable-data-lake-backup-system-with-aws-22559.md>)

Original publisher: [Read original article](<https://tech.scribd.com/blog/2025/building-scalable-data-warehouse-backup-system.html>)

Author: Oleh Motrunych

Published: 2025-09-22T00:00:00Z

Content type: article

Language: en

Sources: [Scribd Tech](<https://devfeed.tech/sources/scribd-tech.md>)

Topics: [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [parquet](<https://devfeed.tech/topics/parquet.md>), [cloud-infrastructure](<https://devfeed.tech/topics/cloud-infrastructure.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [backup](<https://devfeed.tech/tags/backup.md>), [backups](<https://devfeed.tech/tags/backups.md>), [cleanup](<https://devfeed.tech/tags/cleanup.md>), [compute](<https://devfeed.tech/tags/compute.md>), [cost](<https://devfeed.tech/tags/cost.md>), [data](<https://devfeed.tech/tags/data.md>), [data-lake](<https://devfeed.tech/tags/data-lake.md>), [databases](<https://devfeed.tech/tags/databases.md>), [datasets](<https://devfeed.tech/tags/datasets.md>), [deltalake](<https://devfeed.tech/tags/deltalake.md>), [efficiency](<https://devfeed.tech/tags/efficiency.md>), [featured](<https://devfeed.tech/tags/featured.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [parquet](<https://devfeed.tech/tags/parquet.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [reduce](<https://devfeed.tech/tags/reduce.md>), [retention](<https://devfeed.tech/tags/retention.md>), [s3](<https://devfeed.tech/tags/s3.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

This article describes a monthly backup system for S3 data warehouses that uses incremental copying, S3 Inventory validation, parallel processing, and Glacier retention. It routes smaller workloads to AWS Lambda and larger workloads to ECS Fargate, with lifecycle-based cleanup for eligible files.

### Source excerpt

We designed and implemented a scalable, cost-optimized backup system for S3 data warehouses that runs automatically on a monthly schedule. The system handles petabytes of data across multiple databases and uses a hybrid approach: AWS Lambda for small workloads and ECS Fargate for larger ones. At its core, the pipeline performs incremental backups -- copying only new or changed parquet files while always preserving delta logs -- dramatically reducing costs and runtime compared to full backups. Data is validated through S3 Inventory manifests, processed in parallel, and stored in Glacier for long-term retention. To avoid data loss and reduce storage costs, we also implemented a safe deletion workflow. Files older than 90 days, successfully backed up, and no longer present in the source are tagged for lifecycle-based cleanup instead of being deleted immediately. This approach ensures reliability, efficiency, and safety: backups scale seamlessly from small to massive datasets, compute resources are right-sized, and storage is continuously optimized.

## Reducing Infrastructure Complexity: Why I Ditched S3+CloudFront+Lambda

DevFeed: [Reducing Infrastructure Complexity: Why I Ditched S3+CloudFront+Lambda](<https://devfeed.tech/articles/reducing-infrastructure-complexity-why-i-ditched-s3-cloudfront-lambda-34040.md>)

Original publisher: [Read original article](<https://shivamsancc.com/blog/reducing-infrastructure-complexity-why-i-ditched-s3-cloud-front-lambda>)

Author: Shivam Anand

Published: 2025-08-24T07:48:09Z

Content type: opinion

Language: en

Sources: [Shivam Anand - DevOps & Cloud Engineering Blog](<https://devfeed.tech/sources/shivam-anand-devops-cloud-engineering-blog.md>)

Topics: [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Image](<https://devfeed.tech/topics/image.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [api-keys](<https://devfeed.tech/tags/api-keys.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-s3](<https://devfeed.tech/tags/aws-s3.md>), [blog-performance](<https://devfeed.tech/tags/blog-performance.md>), [cloud-infrastructure](<https://devfeed.tech/tags/cloud-infrastructure.md>), [cloudfront](<https://devfeed.tech/tags/cloudfront.md>), [cloudinary](<https://devfeed.tech/tags/cloudinary.md>), [cors](<https://devfeed.tech/tags/cors.md>), [devops](<https://devfeed.tech/tags/devops.md>), [devops-cloud-infrastructure](<https://devfeed.tech/tags/devops-cloud-infrastructure.md>), [iam](<https://devfeed.tech/tags/iam.md>), [image](<https://devfeed.tech/tags/image.md>), [image-transformations](<https://devfeed.tech/tags/image-transformations.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [lambda-edge](<https://devfeed.tech/tags/lambda-edge.md>), [media-optimization](<https://devfeed.tech/tags/media-optimization.md>), [migration](<https://devfeed.tech/tags/migration.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [strapi](<https://devfeed.tech/tags/strapi.md>)

### AI overview

The author describes migrating a blog's media management from AWS S3, CloudFront, and Lambda to Cloudinary after finding the multi-service setup unnecessarily complex for a small blog. They highlight Cloudinary's simpler onboarding and URL-based image transformations.

### Source excerpt

Discover how I simplified media management for my blog by moving from AWS S3, CloudFront, and Lambda to Cloudinary. Learn about URL-based transformations, automatic optimization, and faster performance.

## When SQL Meets Lambda Expressions

DevFeed: [When SQL Meets Lambda Expressions](<https://devfeed.tech/articles/when-sql-meets-lambda-expressions-28971.md>)

Original publisher: [Read original article](<https://blog.jooq.org/when-sql-meets-lambda-expressions/>)

Author: lukaseder

Published: 2025-03-27T13:04:44Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [databricks](<https://devfeed.tech/topics/databricks.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [apply](<https://devfeed.tech/tags/apply.md>), [array](<https://devfeed.tech/tags/array.md>), [array-types](<https://devfeed.tech/tags/array-types.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [concatenation](<https://devfeed.tech/tags/concatenation.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [filter](<https://devfeed.tech/tags/filter.md>), [function](<https://devfeed.tech/tags/function.md>), [java](<https://devfeed.tech/tags/java.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [scala](<https://devfeed.tech/tags/scala.md>), [snowflake](<https://devfeed.tech/tags/snowflake.md>), [sql](<https://devfeed.tech/tags/sql.md>), [trino](<https://devfeed.tech/tags/trino.md>)

### AI overview

This article explains how SQL ARRAY types and lambda expressions are supported across several modern SQL dialects. It shows how jOOQ maps Java, Kotlin, and Scala lambda expressions to SQL expressions, including filtering arrays, and describes emulation with subqueries for dialects without lambda syntax.

### Source excerpt

ARRAY types are a part of the ISO/IEC 9075 SQL standard. The standard specifies how to: But it is very unopinionated when it comes to function support. The ISO/IEC 9075-2:2023(E) 6.47 <array value expression> specifies concatenation of arrays, whereas the 6.48 <array value function> section lists a not extremely useful TRIM_ARRAY function, exclusively (using which ... Continue reading When SQL Meets Lambda Expressions ->

## Replacing AWS Step Functions with SQS FIFO queues and cutting the cost in half

DevFeed: [Replacing AWS Step Functions with SQS FIFO queues and cutting the cost in half](<https://devfeed.tech/articles/replacing-aws-step-functions-with-sqs-fifo-queues-and-cutting-the-cost-in-half-23900.md>)

Original publisher: [Read original article](<https://medium.com/smg-real-estate/replacing-aws-step-functions-with-sqs-fifo-queues-and-cutting-the-cost-in-half-9ab97e819b3a?source=rss----2186e5b9bd8f---4>)

Author: Alexei Liulin

Published: 2025-03-14T14:47:27Z

Content type: article

Language: en

Sources: [Homegate Engineering Blog - Medium](<https://devfeed.tech/sources/homegate-engineering-blog-medium.md>)

Topics: [Amazon Simple Queue Service (SQS)](<https://devfeed.tech/topics/amazon-simple-queue-service-sqs.md>), [AWS Step Functions](<https://devfeed.tech/topics/aws-step-functions.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-step-functions](<https://devfeed.tech/tags/aws-step-functions.md>), [batching](<https://devfeed.tech/tags/batching.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [cost](<https://devfeed.tech/tags/cost.md>), [cost-optimization](<https://devfeed.tech/tags/cost-optimization.md>), [email](<https://devfeed.tech/tags/email.md>), [fifo](<https://devfeed.tech/tags/fifo.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [push-notifications](<https://devfeed.tech/tags/push-notifications.md>), [queue](<https://devfeed.tech/tags/queue.md>), [sqs](<https://devfeed.tech/tags/sqs.md>), [sqs-queue](<https://devfeed.tech/tags/sqs-queue.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

The article describes SMG Real Estate's Search Alerts system, which batches property-match notifications for delivery by email or mobile push notification. It explains the original AWS Step Functions implementation and its transition-cost problem, motivating a more cost-efficient approach using SQS FIFO queues.

### Source excerpt

One of the core services for SMG Real Estate is Search Alerts -- a service that allows users to be notified about new properties published on ImmoScout24 and Homegate. For example, if a user is looking for a new apartment having N rooms and costing less than X, and not finding any matches now, they can create a search alert with those search criteria. When a new property matching those criteria is published, the user will be notified either via email or a mobile push notification. About the Search Alerts system Users can choose the frequency of notifications -- either every 5 minutes or every 4 hours (assuming there are any to be delivered). The vast majority of search alerts are configured with the 5-minute frequency. Just to get an idea of the scale, we have: Millions of published properties match saved search alerts every day More than a million emails and push notifications sent daily Check out our "Homegate's fast and modern search experience helps users find their dream home" blog post for an overview of how Search Alerts work. The Original Implementation In the original implementation we used an AWS Step Function to achieve the 5- minute batching of notifications: When a new property matching a search alert arrived, the StartSendNotificationProcess lambda would start a Step Function execution specific to that search alert. All it did was waiting for 5 minutes while the matches accumulated in the matches-{searchAlertId} SQS queue, which was programmatically created for that specific search alert If more matching listings arrived during the 5-minute waiting period, the StartSendNotificationProcess lambda attempted to start the step function execution with the same name. When it failed with the ExecutionAlreadyExists error, we knew there was already a SF for waiting. That way the deduplication of notification processes was guaranteed. After 5 minutes of waiting time, the Step Function execution proceeded with triggering the LoadMatches lambda that received the acc

## Restartable functions from first principles

DevFeed: [Restartable functions from first principles](<https://devfeed.tech/articles/restartable-functions-from-first-principles-30533.md>)

Original publisher: [Read original article](<https://blog.zachklipp.com/restartable-functions-from-first-principles/>)

Author: Zach Klippenstein

Published: 2024-07-12T02:38:58Z

Content type: tutorial

Language: en

Sources: [Zach Klippenstein's Blog](<https://devfeed.tech/sources/zach-klippenstein-s-blog.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Code](<https://devfeed.tech/topics/code.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [callback](<https://devfeed.tech/tags/callback.md>), [compose-state-series](<https://devfeed.tech/tags/compose-state-series.md>), [function](<https://devfeed.tech/tags/function.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [modifiers](<https://devfeed.tech/tags/modifiers.md>), [snapshot](<https://devfeed.tech/tags/snapshot.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

This tutorial explains how restartable functions work in Jetpack Compose. It describes how callers track state objects read by a function, observe changes, and re-execute or schedule the function when relevant state changes.

### Source excerpt

Often when thinking about Jetpack Compose state, we think in terms of what code will be re-executed when that state changes. We call functions

## Blog: Preventing attacker persistence with Falco on AWS

DevFeed: [Blog: Preventing attacker persistence with Falco on AWS](<https://devfeed.tech/articles/blog-preventing-attacker-persistence-with-falco-on-aws-32476.md>)

Original publisher: [Read original article](<https://falco.org/blog/aws-detection/>)

Published: 2024-03-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Falco - Falco](<https://devfeed.tech/sources/falco-falco.md>), [Falco - The Falco blog](<https://devfeed.tech/sources/falco-the-falco-blog.md>)

Topics: [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [AWS CloudTrail](<https://devfeed.tech/topics/aws-cloudtrail.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-cloudtrail](<https://devfeed.tech/tags/aws-cloudtrail.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [falco](<https://devfeed.tech/tags/falco.md>), [incident-response](<https://devfeed.tech/tags/incident-response.md>), [ip](<https://devfeed.tech/tags/ip.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [mfa](<https://devfeed.tech/tags/mfa.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [request](<https://devfeed.tech/tags/request.md>), [s3](<https://devfeed.tech/tags/s3.md>), [security-concept](<https://devfeed.tech/tags/security-concept.md>)

### AI overview

This article explains how an attacker could modify an existing Lex-based AWS Lambda function to disclose AWS credentials when triggered by a secret phrase. It describes using Falco's AWS CloudTrail plugin and rules to detect Lambda code updates and alert engineers for investigation.

### Source excerpt

I recently read an interesting blog on how hackers could use a Lambda function alongside Lex to establish persistence in an AWS account. For those unfamiliar with the term, persistence is when attackers leverage some technique to retain access to systems without being detected. A recent news article cited a study that reported that some Chinese hackers have lurked in systems for up to FIVE YEARS! Luckily for all of us, Falco can be used to detect the exact scenario detailed in the blog and immediately raise an alert. The blog detailed how an attacker who has gained access to an AWS account could modify an existing Lex-based Lambda function to provide a set of AWS credentials. In short, the attacker modified the function of the Lex-based chatbot to respond whenever a secret phrase was entered with the Lambda's AWS key ID and secret key. The author notes there are several ways to establish persistence on AWS, and maybe this wasn't the most practical, but I still found it a fun exercise. It got me thinking: How could Falco help here? My immediate thought was to use Falco's AWS Cloudtrail plugin. The plugin, as the name implies, ingests Cloudtrail events. The events can be evaluated against a set of rules to alert engineers of any suspicious activity. There are currently just over 20 different rules that can be assessed. They include scenarios like creating new users, having someone log into the root account without MFA, changing permissions on an S3 bucket, and, most relevant to our discussion here, modifying a Lambda function. - rule: Update Lambda Function Code desc: Detect updates to a Lambda function code. condition: ct.name="UpdateFunctionCode20150331v2" and not ct.error exists output: The code of a Lambda function has been updated. (requesting user=%ct.user, requesting IP=%ct.srcip, AWS region=%ct.region, lambda function=%ct.request.functionname) priority: WARNING tags: - cloud - MITRE_TA0003_persistence - aws_lambda source: aws_cloudtrail Alternatively, you coul

## Understanding AWS Lambda Pricing

DevFeed: [Understanding AWS Lambda Pricing](<https://devfeed.tech/articles/understanding-aws-lambda-pricing-18020.md>)

Original publisher: [Read original article](<https://blog.guilleojeda.com/understanding-aws-lambda-pricing>)

Author: Guillermo Ojeda

Published: 2024-01-29T21:56:40Z

Content type: tutorial

Language: en

Sources: [Guille Ojeda](<https://devfeed.tech/sources/guille-ojeda.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [devops](<https://devfeed.tech/tags/devops.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [pricing](<https://devfeed.tech/tags/pricing.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A tutorial explaining AWS Lambda pricing, including request and compute-time charges, the Free Tier, cost calculation examples, and ways to optimize usage. It also introduces Lambda's event-driven execution, automatic scaling, resource allocation, components, and monitoring.

### Source excerpt

In this article, we'll dive deep into the pricing structure of AWS Lambda, breaking down its components, and providing examples to help you understand how costs are calculated. We'll also discuss the AWS Lambda Free Tier and offer practical tips for ...

## How Jetpack Compose Measuring Works

DevFeed: [How Jetpack Compose Measuring Works](<https://devfeed.tech/articles/how-jetpack-compose-measuring-works-15676.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/how-jetpack-compose-measuring-works>)

Author: Helios Alonso

Published: 2023-09-28T15:00:00Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [canvas](<https://devfeed.tech/tags/canvas.md>), [compose](<https://devfeed.tech/tags/compose.md>), [debug](<https://devfeed.tech/tags/debug.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [layout](<https://devfeed.tech/tags/layout.md>), [performance](<https://devfeed.tech/tags/performance.md>), [recomposition](<https://devfeed.tech/tags/recomposition.md>), [structure](<https://devfeed.tech/tags/structure.md>), [typography](<https://devfeed.tech/tags/typography.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains how Jetpack Compose measures and lays out UI. It presents Compose UI as an internally generated tree of nodes, describes the Layout method and its content lambda, measure policy, and modifiers, and outlines how measuring and drawing work.

### Source excerpt

A high level overview on producing custom rich UI in Compose

## Solving the mystery of recompositions in Compose's LazyList

DevFeed: [Solving the mystery of recompositions in Compose's LazyList](<https://devfeed.tech/articles/solving-the-mystery-of-recompositions-in-compose-s-lazylist-25751.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/solving-the-mystery-of-recompositions-in-composes-lazylist/>)

Author: Shreyas Patil

Published: 2023-08-21T13:03:59Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apis](<https://devfeed.tech/tags/apis.md>), [components](<https://devfeed.tech/tags/components.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [performance](<https://devfeed.tech/tags/performance.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial investigates unnecessary recompositions in Jetpack Compose LazyColumn and LazyRow lists. It demonstrates that adding a new item can recompose existing items, then presents an implementation change that keeps the Modifier internal and exposes click behavior through a lambda.

### Source excerpt

Debugging recompositions in Jetpack Compose LazyLists. Learn why your list items might be recomposing unnecessarily and how to fix it.

## How to make expandable text with a button in Jetpack Compose

DevFeed: [How to make expandable text with a button in Jetpack Compose](<https://devfeed.tech/articles/how-to-make-expandable-text-with-a-button-in-jetpack-compose-37167.md>)

Original publisher: [Read original article](<https://arkadiuszchmura.com/posts/how-to-make-expandable-text-with-a-button-in-jetpack-compose/>)

Published: 2023-04-28T00:00:00Z

Content type: tutorial

Language: en

Sources: [Arkadiusz Chmura](<https://devfeed.tech/sources/arkadiusz-chmura.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>)

Tags: [android-studio](<https://devfeed.tech/tags/android-studio.md>), [animations](<https://devfeed.tech/tags/animations.md>), [callback](<https://devfeed.tech/tags/callback.md>), [compose](<https://devfeed.tech/tags/compose.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [layout](<https://devfeed.tech/tags/layout.md>)

### AI overview

A tutorial on building expandable text in Jetpack Compose. It shows how to toggle between collapsed and expanded text with a button, add animations and an ellipsis for overflow, and hide the button when the text fits within five lines.

### Source excerpt

In this post I will show you how to make an expandable text controlled by a button using Jetpack Compose.

## How to use jOOQ's Converters with UNION Operations

DevFeed: [How to use jOOQ's Converters with UNION Operations](<https://devfeed.tech/articles/how-to-use-jooq-s-converters-with-union-operations-28947.md>)

Original publisher: [Read original article](<https://blog.jooq.org/how-to-use-jooqs-converters-with-union-operations/>)

Author: lukaseder

Published: 2023-03-02T11:18:17Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [ad-hoc-converter](<https://devfeed.tech/tags/ad-hoc-converter.md>), [converter](<https://devfeed.tech/tags/converter.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [multiset](<https://devfeed.tech/tags/multiset.md>), [r2dbc](<https://devfeed.tech/tags/r2dbc.md>), [rdbms](<https://devfeed.tech/tags/rdbms.md>), [sql](<https://devfeed.tech/tags/sql.md>), [union](<https://devfeed.tech/tags/union.md>)

### AI overview

This tutorial explains how jOOQ ad-hoc converters behave with UNION operations. Because conversion occurs on the client after JDBC retrieval, it does not affect server-side UNION processing, and jOOQ applies the result-fetching row type from the first subquery. The article recommends applying client-side conversions consistently across subqueries or moving the conversion to the server when appropriate.

### Source excerpt

jOOQ 3.15 introduced the concept of an ad-hoc converter, a converter that is applied "ad-hoc" to a single query. It uses the same underlying mechanisms as any ordinary Converter that is attached to generated code for use in every query. An example of such an ad-hoc converter is this: While there are other ways to ... Continue reading How to use jOOQ's Converters with UNION Operations ->

## Interact with MongoDB in an AWS Lambda Function Using Go

DevFeed: [Interact with MongoDB in an AWS Lambda Function Using Go](<https://devfeed.tech/articles/interact-with-mongodb-in-an-aws-lambda-function-using-go-21822.md>)

Original publisher: [Read original article](<https://www.thepolyglotdeveloper.com/blog/2023/01/interact-aws-lambda-function-go/>)

Author: Nic Raboy

Published: 2023-01-25T14:00:00Z

Content type: tutorial

Language: en

Sources: [Nic Raboy](<https://devfeed.tech/sources/nic-raboy.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [atlas](<https://devfeed.tech/tags/atlas.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [nosql](<https://devfeed.tech/tags/nosql.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

This tutorial shows how to build a Go-based AWS Lambda function that connects to and queries MongoDB Atlas. It covers prerequisites, Go module setup, and installation of the MongoDB driver and AWS Lambda SDK, with attention to efficient database connections in a serverless environment.

### Source excerpt

If you're a Go developer and you're looking to go serverless, AWS Lambda is a solid choice that will get you up and running in no time. But what happens when you need to connect to your database? With... The post Interact with MongoDB in an AWS Lambda Function Using Go appeared first on MongoDB.

## Testing functions with lambdas using MockK

DevFeed: [Testing functions with lambdas using MockK](<https://devfeed.tech/articles/testing-functions-with-lambdas-using-mockk-22666.md>)

Original publisher: [Read original article](<https://www.valueof.io/blog/testing-listener-lambda-mockk>)

Author: James Shvarts

Published: 2022-12-18T15:58:29Z

Content type: tutorial

Language: en

Sources: [Android Blog - Mobile Dev Notes](<https://devfeed.tech/sources/android-blog-mobile-dev-notes.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [callback](<https://devfeed.tech/tags/callback.md>), [function](<https://devfeed.tech/tags/function.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

### AI overview

A Kotlin testing tutorial showing how to use MockK to test functions that accept success and failure lambda callbacks. It demonstrates mocking the engine, capturing or invoking callback arguments, and verifying the resulting instrument-panel behavior.

### Source excerpt

Testing Kotlin lambda invocations with MockK

## Performance in Jetpack Compose

DevFeed: [Performance in Jetpack Compose](<https://devfeed.tech/articles/performance-in-jetpack-compose-25901.md>)

Original publisher: [Read original article](<https://skyyo.medium.com/performance-in-jetpack-compose-9a85ce02f8f9?source=rss-56174fa84bcc------2>)

Author: Denys Rudenko

Published: 2022-10-03T16:41:03Z

Content type: tutorial

Language: en

Sources: [Stories by Denis Rudenko on Medium](<https://devfeed.tech/sources/stories-by-denis-rudenko-on-medium.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [article](<https://devfeed.tech/tags/article.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [compose](<https://devfeed.tech/tags/compose.md>), [false-positive](<https://devfeed.tech/tags/false-positive.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [modifiers](<https://devfeed.tech/tags/modifiers.md>), [performance](<https://devfeed.tech/tags/performance.md>), [recomposition](<https://devfeed.tech/tags/recomposition.md>), [scopes](<https://devfeed.tech/tags/scopes.md>), [skip](<https://devfeed.tech/tags/skip.md>), [ui](<https://devfeed.tech/tags/ui.md>), [val](<https://devfeed.tech/tags/val.md>), [var](<https://devfeed.tech/tags/var.md>), [variables](<https://devfeed.tech/tags/variables.md>)

### AI overview

A practical guide to improving Jetpack Compose performance through stable parameters, skippable composables, optimized recompositions, remembered lambdas, and compiler and layout-inspector metrics.

### Source excerpt

Article tells about my research on how to write efficient Compose code. It consists of 6 sections and a TL;DR/Summary in the end. We will cover: Optimising recompositions When should you use @Immutable and @Stable annotations; Unstable classes, variables, lambdas; Non-restartable & skippable composables; Lambda modifiers; Passing lambdas providing required fields instead of fields in composables; Inlined composables; When you should use remember { }. We'll be using Compose Compiler Metrics and layout inspector tools to know: - If a class is stable or not; - If the composable function is skippable/restartable; - Amount of skipped recompositions. 1. Unstable objects on UI layer. To understand why we should care about stability, let us peek into a very important metric called skippability. It allows compose runtime to skip recomposition of a composable when all the parameters it uses are considered stable. What is considered stable by the compiler? - All primitive value types: Boolean, Int, Long, Float, Char, etc. - Strings - Lambdas (not always, we will get to it later) We want composable functions to use stable params to become skippable. 1) Don't use var when seeking stability. Fields declared as var are considered unstable: https://medium.com/media/724da23ba38eaa9d3312318e7e8038b9/hrefhttps://medium.com/media/f8dd8a39bce60e48b5ff8bdd4a02b9ef/href UserDetails composable will be recomposed even if the user never gets modified. Using val instead of var in User class will fix this issue. 2) Not all lambdas are considered stable. Let's look at the following examples: https://medium.com/media/fbbff417d165a501b21a3e5d2c6f087f/hrefhttps://medium.com/media/c6aaae01fda67c633edcdf7bb351e620/href Since the lambdas capture outside scopes, they won't be automatically inferred as stable and reused as expected. If the lambda requires access to external variables, the compiler will add those variables as fields, which are passed into the constructor of the lambda. We go a 2 ways of

## Micro Service Events (AWS EventBridge vs. SNS)

DevFeed: [Micro Service Events (AWS EventBridge vs. SNS)](<https://devfeed.tech/articles/micro-service-events-aws-eventbridge-vs-sns-23899.md>)

Original publisher: [Read original article](<https://medium.com/smg-real-estate/micro-service-events-aws-eventbridge-vs-sns-2d86b5919c22?source=rss----2186e5b9bd8f---4>)

Author: Kristian Müller

Published: 2022-09-16T12:06:51Z

Content type: comparison

Language: en

Sources: [Homegate Engineering Blog - Medium](<https://devfeed.tech/sources/homegate-engineering-blog-medium.md>)

Topics: [event driven](<https://devfeed.tech/topics/event-driven.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Amazon Simple Queue Service (SQS)](<https://devfeed.tech/topics/amazon-simple-queue-service-sqs.md>), [Publish-subscribe pattern](<https://devfeed.tech/topics/pubsub.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [DynamoDB](<https://devfeed.tech/topics/dynamodb.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-eventbridge](<https://devfeed.tech/tags/aws-eventbridge.md>), [aws-sns](<https://devfeed.tech/tags/aws-sns.md>), [data](<https://devfeed.tech/tags/data.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [database](<https://devfeed.tech/tags/database.md>), [dynamodb](<https://devfeed.tech/tags/dynamodb.md>), [event](<https://devfeed.tech/tags/event.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [eventbridge](<https://devfeed.tech/tags/eventbridge.md>), [eventbus](<https://devfeed.tech/tags/eventbus.md>), [events](<https://devfeed.tech/tags/events.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [microservice-architecture](<https://devfeed.tech/tags/microservice-architecture.md>), [s3](<https://devfeed.tech/tags/s3.md>), [sns](<https://devfeed.tech/tags/sns.md>), [sqs](<https://devfeed.tech/tags/sqs.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This article examines Homegate's event-driven microservice architecture on AWS and compares Amazon SNS with EventBridge as messaging infrastructure. It describes how services use SNS, SQS, Lambda, API Gateway, DynamoDB, and S3, and explains that EventBridge has a different focus, so replacing SNS is not necessarily the right question.

### Source excerpt

During the last few years, we've been busy rebuilding the Homegate platform in an event driven, micro service architecture based on AWS. One of the most important buildings blocks, or shall we rather say the mortar that connects the building blocks, is the way our services send events to each other. While Amazon offers its notification service SNS since more than 12 years; in 2019 it started a newcomer in the messaging bus field by introducing EventBridge. This was very interesting to us as we're using SNS a lot. Bus on a Bridge (Photo by "Blue Elf" on Wikimedia Commons) As EventBridge was introduced and gained traction we asked ourselves what advantaged we would gain by switching our SNS based service glue to EventBridge. Maybe this turned out to be the wrong question for us. Let's look at our system to see why. Micro Services Connected by SNS Homegate is connecting dozens of services via SNS right now. Those services range from single purpose Lambda functions written in TypeScript to database heavy services using Aurora or DynamoDB and Step Functions sending events to other services. Some of the services are also interfacing external APIs such as Salesforce or SendGrid. Here our Lambda functions can call APIs when needed. On the other hand, we have web services to be called as APIs by other systems and end users. This is mostly achieved via API Gateway. A typical service connects to the system by subscribing to events needed to fulfill its purpose. Those inbound SNS events are then ingested via SQS allowing for orderly data processing and DLQs to handle errors. Outgoing results are pushed back to the system in form of events to a SNS topics. As Marko Savic has pointed out, we're also utilizing S3 to store and replay those events if needed. Basic AWS Lambda function connected via SNS If we would replace the SNS topic by streams on the EventBridge we would initially gain the same functionality by utilizing SQS as well. However, EventBridge has a different focus. Let

## Lambda expressions

DevFeed: [Lambda expressions](<https://devfeed.tech/articles/lambda-expressions-39305.md>)

Original publisher: [Read original article](<https://kt.academy/article/fk-lambda-expressions>)

Published: 2022-08-26T00:03:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [function](<https://devfeed.tech/topics/function.md>), [destructuring](<https://devfeed.tech/topics/destructuring.md>)

Tags: [destructuring](<https://devfeed.tech/tags/destructuring.md>), [example](<https://devfeed.tech/tags/example.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [learn](<https://devfeed.tech/tags/learn.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

A Kotlin tutorial explaining lambda expressions as function literals, including their syntax, parameters, trailing-lambda convention, destructuring, and common problems caused by braces or uninvoked lambdas.

### Source excerpt

Let's learn how to use lambda expressions, what special support they have, and what traps they generate.

## Function references

DevFeed: [Function references](<https://devfeed.tech/articles/function-references-39304.md>)

Original publisher: [Read original article](<https://kt.academy/article/fk-function-references>)

Published: 2022-07-29T00:01:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [function](<https://devfeed.tech/topics/function.md>), [functions](<https://devfeed.tech/topics/functions.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [function](<https://devfeed.tech/tags/function.md>), [functions](<https://devfeed.tech/tags/functions.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

A Kotlin tutorial explaining how to reference existing functions instead of using lambda expressions. It covers top-level function references, reflection-related capabilities, function types, default arguments, and method references with receivers.

### Source excerpt

How do we reference functions in Kotlin, to replace lambda expressions. All functions, including constructors, getters, extensions and more.

## Practical Compose Slot API example

DevFeed: [Practical Compose Slot API example](<https://devfeed.tech/articles/practical-compose-slot-api-example-22655.md>)

Original publisher: [Read original article](<https://www.valueof.io/blog/compose-slot-api-example-composable-content-lambda>)

Author: James Shvarts

Published: 2022-05-31T12:54:19Z

Content type: tutorial

Language: en

Sources: [Android Blog - Mobile Dev Notes](<https://devfeed.tech/sources/android-blog-mobile-dev-notes.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [components](<https://devfeed.tech/tags/components.md>), [compose](<https://devfeed.tech/tags/compose.md>), [data-class](<https://devfeed.tech/tags/data-class.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [layout](<https://devfeed.tech/tags/layout.md>), [learn](<https://devfeed.tech/tags/learn.md>), [screen](<https://devfeed.tech/tags/screen.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

A practical example of using the Compose Slot API pattern to build configurable Android screen sections with Kotlin composable content lambdas. It models section titles, optional filters, and section-specific content for reuse and flexibility.

### Source excerpt

Learn how to manage screen sections using Slot API pattern in Compose

## Replaying events using AWS S3

DevFeed: [Replaying events using AWS S3](<https://devfeed.tech/articles/replaying-events-using-aws-s3-23901.md>)

Original publisher: [Read original article](<https://medium.com/smg-real-estate/replaying-events-using-aws-s3-3cc84242025e?source=rss----2186e5b9bd8f---4>)

Author: Marko Savic

Published: 2022-04-08T08:40:24Z

Content type: tutorial

Language: en

Sources: [Homegate Engineering Blog - Medium](<https://devfeed.tech/sources/homegate-engineering-blog-medium.md>)

Topics: [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [AWS CloudFormation](<https://devfeed.tech/topics/aws-cloudformation.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [aws-s3](<https://devfeed.tech/tags/aws-s3.md>), [cloudformation](<https://devfeed.tech/tags/cloudformation.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [event-sourcing](<https://devfeed.tech/tags/event-sourcing.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [s3](<https://devfeed.tech/tags/s3.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [sns](<https://devfeed.tech/tags/sns.md>), [software-architecture](<https://devfeed.tech/tags/software-architecture.md>), [versioning](<https://devfeed.tech/tags/versioning.md>)

### AI overview

This tutorial describes replaying failed events in serverless, event-driven microservices by storing AWS Step Functions events in versioned Amazon S3 objects. It also outlines using a dead-letter queue and Lambda to retrieve the latest event and trigger the workflow again.

### Source excerpt

In the world of event-driven microservices one of the important tasks is to have a mechanism to recover from failed events, as well as to have possibility to replay certain events. We at Homegate deal with serverless microservices. If, at any of these services, we encounter a failure during processing of an resource, we might need to recreate the last event or series of events for given resource. Usecase The central part of ingestion process is AWS StepFunctions that lives in a, so called, importer service. It is responsible for various enrichments and conditional actions on resource. The last step of the step function is sending an event to the AWS SNS which is consumed by many downstream services as you can see in the following diagram. Step functions as central part of ingestion process Here, many open questions can be identified: How to deal with failure within AWS StepFunctions? How to recreate SNS event if needed for downstream system? Would it be possible to replay the whole step function? Solution Possible answer to these questions would be to store events that goes through AWS StepFunctions into some kind of event storage, in Homegate case, we chose AWS S3. In order to support the whole history of events for given resource, S3 bucket versioning is used. This is quite handy for replaying series of events or even for debugging purposes. Here is a sample CloudFormation which enables that functionality: EventLogBucket: Type: 'AWS::S3::Bucket' Properties: BucketName: 'sample-unnique-bucket-name' AccessControl: Private PublicAccessBlockConfiguration: BlockPublicAcls: true BlockPublicPolicy: true IgnorePublicAcls: true RestrictPublicBuckets: true Tags: - Key: service Value: sample-service - Key: env Value: !FindInMap [ Stages, !Ref Stage , Env ] VersioningConfiguration: Status: Enabled That way we can replay the whole step functions flow using last logged event for given resource. That functionality could be available from different places, like DLQ or via api end

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