# handler

Published articles for handler.

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

## The case of the progress callback that never got called when progress happened

DevFeed: [The case of the progress callback that never got called when progress happened](<https://devfeed.tech/articles/the-case-of-the-progress-callback-that-never-got-called-when-progress-happened-21755.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20260903-00/?p=112672>)

Author: Raymond Chen

Published: 2026-09-03T14:00:00Z

Content type: article

Language: en

Sources: [Raymond Chen](<https://devfeed.tech/sources/raymond-chen.md>)

Topics: [debugging](<https://devfeed.tech/topics/debugging.md>), [C#](<https://devfeed.tech/topics/csharp.md>), [debug](<https://devfeed.tech/topics/debug.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [breakpoint](<https://devfeed.tech/tags/breakpoint.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [code](<https://devfeed.tech/tags/code.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [handler](<https://devfeed.tech/tags/handler.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [providers](<https://devfeed.tech/tags/providers.md>)

### AI overview

A progress callback is never invoked because an intermediary method returns its own operation without forwarding progress reports from the provider's underlying operation. The suggested fix is to return the provider's operation directly so callers can attach to its progress.

### Source excerpt

Are you talking to the right guy? The post The case of the progress callback that never got called when progress happened appeared first on The Old New Thing.

## wasmCloud 2.4.0: HPA + KEDA autoscaling, multi-handler workloads, pluggable NATS

DevFeed: [wasmCloud 2.4.0: HPA + KEDA autoscaling, multi-handler workloads, pluggable NATS](<https://devfeed.tech/articles/wasmcloud-2-4-0-hpa-keda-autoscaling-multi-handler-workloads-pluggable-nats-15440.md>)

Original publisher: [Read original article](<https://wasmcloud.com/blog/wasmcloud-2-4-0-release/>)

Author: Eric Gregory

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

Content type: release

Language: en

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

Topics: [wasm](<https://devfeed.tech/topics/wasm.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [handler](<https://devfeed.tech/tags/handler.md>), [helm](<https://devfeed.tech/tags/helm.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [net-11-preview-7](<https://devfeed.tech/tags/net-11-preview-7.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [prometheus](<https://devfeed.tech/tags/prometheus.md>), [security](<https://devfeed.tech/tags/security.md>), [wasmcloud](<https://devfeed.tech/tags/wasmcloud.md>)

### AI overview

wasmCloud 2.4.0 adds Kubernetes-native autoscaling for Wasm workloads through HPA and KEDA, multi-handler messaging workflows, expanded Helm configuration, a redesigned host plugin API, and a Wasmtime 45.0.2 security update.

### Source excerpt

wasmCloud 2.4.0 brings Kubernetes-native autoscaling for Wasm workloads via HPA and KEDA, multi-handler messaging in wash dev, a Helm chart NATS overhaul with split scheduler/data URLs, a NATS-backed operator liveness probe, and a Wasmtime 45.0.2 security bump.

## wasmCloud 2.2.0: TLS for WebAssembly, customizable HTTP egress

DevFeed: [wasmCloud 2.2.0: TLS for WebAssembly, customizable HTTP egress](<https://devfeed.tech/articles/wasmcloud-2-2-0-tls-for-webassembly-customizable-http-egress-15438.md>)

Original publisher: [Read original article](<https://wasmcloud.com/blog/wasmcloud-2-2-0-release/>)

Author: Eric Gregory

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

Content type: release

Language: en

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

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>)

Tags: [config](<https://devfeed.tech/tags/config.md>), [handler](<https://devfeed.tech/tags/handler.md>), [hardening](<https://devfeed.tech/tags/hardening.md>), [http](<https://devfeed.tech/tags/http.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [release](<https://devfeed.tech/tags/release.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [tls](<https://devfeed.tech/tags/tls.md>), [wasi](<https://devfeed.tech/tags/wasi.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

wasmCloud 2.2.0 adds native TLS for WebAssembly components through WASI Preview 3, a pluggable HTTP egress handler, an expanded wash config command, and runtime-operator hardening. The release also supports customizable TLS providers and embedder-controlled outbound request handling.

### Source excerpt

wasmCloud 2.2.0 brings WASI Preview 3 TLS to WebAssembly components, a pluggable OutgoingHandler trait for HTTP egress, an expanded wash config command, and runtime-operator hardening.

## Safe and scalable signal handling in Temporal Workflows

DevFeed: [Safe and scalable signal handling in Temporal Workflows](<https://devfeed.tech/articles/safe-and-scalable-signal-handling-in-temporal-workflows-35963.md>)

Original publisher: [Read original article](<https://temporal.io/blog/robust-message-handlers>)

Author: Drew Hoskins

Published: 2024-10-15T16:00:00Z

Content type: article

Language: en

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

Topics: [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Python](<https://devfeed.tech/topics/python.md>), [AI Chat](<https://devfeed.tech/topics/ai-chat.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrency-control](<https://devfeed.tech/tags/concurrency-control.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [go](<https://devfeed.tech/tags/go.md>), [handler](<https://devfeed.tech/tags/handler.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [python](<https://devfeed.tech/tags/python.md>), [race-conditions](<https://devfeed.tech/tags/race-conditions.md>), [safety](<https://devfeed.tech/tags/safety.md>)

### AI overview

This article explains how Signal and Update handlers let callers interact with Temporal Workflows, focusing on concurrency problems, message-processing styles, and improvements intended to make handlers safer and easier to use.

### Source excerpt

Avoid race conditions in Temporal Workflows. Learn how new Signal and Update handler tools improve safety, initialization, and concurrency control.

## AWS API Gateway's Request Validation: Navigating the Quirks

DevFeed: [AWS API Gateway's Request Validation: Navigating the Quirks](<https://devfeed.tech/articles/aws-api-gateway-s-request-validation-navigating-the-quirks-23894.md>)

Original publisher: [Read original article](<https://medium.com/smg-real-estate/aws-api-gateways-request-validation-navigating-the-quirks-38285cb0a1c1?source=rss----2186e5b9bd8f---4>)

Author: Thomas Klein

Published: 2024-08-09T12:07:11Z

Content type: tutorial

Language: en

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

Topics: [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [API](<https://devfeed.tech/topics/api.md>), [gateway](<https://devfeed.tech/topics/gateway.md>), [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [enum](<https://devfeed.tech/topics/enum.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-api-gateway](<https://devfeed.tech/tags/aws-api-gateway.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [enum](<https://devfeed.tech/tags/enum.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [json](<https://devfeed.tech/tags/json.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [middy](<https://devfeed.tech/tags/middy.md>), [tests](<https://devfeed.tech/tags/tests.md>), [type-safety](<https://devfeed.tech/tags/type-safety.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [validation](<https://devfeed.tech/tags/validation.md>), [zod](<https://devfeed.tech/tags/zod.md>)

### AI overview

This tutorial examines AWS API Gateway request validation. It explains that query-parameter presence is checked, but enum values may not be enforced, while POST and PUT payloads are validated with JSON Schema Draft 4. It also discusses generic error messages and TypeScript-based validation approaches.

### Source excerpt

AWS API Gateway's request validation follows a specific set of rules that developers should be aware of when setting up their APIs. While it offers some validation features, it's important to understand its scope and limitations. Let's examine how it works with a common API configuration: parameters: - name: offerType in: query required: true description: RENT or BUY schema: type: string enum: - RENT - BUY With this configuration, API Gateway diligently checks for the presence of the query parameter, returning an HTTP 400 error if it's missing. However, it falls short when it comes to validating the actual value. Surprisingly, it would accept "KERMIT" without batting an eye, despite the clear enum specification. This behavior, while documented, can be a source of frustration for developers expecting more comprehensive validation. Interestingly, API Gateway shows more validation prowess with POST and PUT requests. It validates request payloads using JSON Schema Draft 4, demonstrating a somewhat inconsistent approach to input validation across different HTTP methods. Even when it does catch an error, API Gateway's feedback is less than illuminating. Instead of specific error details, you're met with a generic {"message": "Invalid request body"}. For more information, you'll need to dig into the associated log streams, which isn't ideal for surfacing error details in API responses. Example output in AWS console from a failed request validation when a body request validator is setup. API Gateway's validation is handy, but it leaves a lot to be desired. Developers often need to add extra checks for a truly robust API. While API Gateway supports various integrations and Lambda languages, let's focus on TypeScript. TypeScript's strong typing and runtime checks can catch issues early, sparing your users from cryptic error messages. Let's explore how to use this to make your API smarter and your users happier. Option 1: DIY Validation (AKA The "I've Got Trust Issues" Approac

## How Async-Profiler's crash handler works

DevFeed: [How Async-Profiler's crash handler works](<https://devfeed.tech/articles/how-async-profiler-s-crash-handler-works-25637.md>)

Original publisher: [Read original article](<https://richardstartin.github.io/posts/async-profiler-crash-handler>)

Author: Richard Startin's Blog

Published: 2023-11-12T00:00:00Z

Content type: article

Language: en

Sources: [Richard Startin's Blog](<https://devfeed.tech/sources/richard-startin-s-blog.md>)

Topics: [async](<https://devfeed.tech/topics/async.md>), [c/c++](<https://devfeed.tech/topics/c-c-plus-plus.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Java](<https://devfeed.tech/topics/java.md>), [JIT](<https://devfeed.tech/topics/jit.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [crash](<https://devfeed.tech/tags/crash.md>), [handler](<https://devfeed.tech/tags/handler.md>), [jit](<https://devfeed.tech/tags/jit.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [run](<https://devfeed.tech/tags/run.md>), [safety](<https://devfeed.tech/tags/safety.md>), [signal](<https://devfeed.tech/tags/signal.md>)

### AI overview

This article explains how async-profiler uses Linux signals and signal handlers to inspect thread state and safely dereference arbitrary pointers without crashing the JVM. It introduces signal-based sampling and frame-pointer unwinding, including the role of JIT-compiled code.

### Source excerpt

Raw pointers in C/C++ open up entire classes of error that are practically unimaginable in higher level languages. So why does anybody use them at all? Unfortunately, it's impossible to write a profiler without getting close to some of the sharp edges of unsafe memory. The async-profiler code base contains a lot of low level tricks, and it's worth studying how some of them work.

## Interfaces 101 : Extensible API Handlers Ep. 10

DevFeed: [Interfaces 101 : Extensible API Handlers Ep. 10](<https://devfeed.tech/articles/interfaces-101-extensible-api-handlers-ep-10-22222.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/04/interfaces-101-extensible-api-handlers-ep-10.html>)

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

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Server](<https://devfeed.tech/topics/server.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [http-server](<https://devfeed.tech/tags/http-server.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [logging](<https://devfeed.tech/tags/logging.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [request](<https://devfeed.tech/tags/request.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

A video tutorial demonstrates how to build an extensible HTTP API handler in Go. It covers defining a route and handler, designing composable middleware, and implementing logging middleware that measures request time.

### Source excerpt

Introduction In episode 9, Miki discussed how a command flag can be decoded into a user defined type with the Value interface. As a recap, the Value interface consists of two methods: one for serializing the underlying concrete type and one for deserializing a string into an object. To put this interface to the test, Miki wrote a command that had a flag to specify a network address. While implementing the Set method of the Value interface, Miki demonstrated how to add validation for your program's flags.

## Writing an HTTP handler function in Go

DevFeed: [Writing an HTTP handler function in Go](<https://devfeed.tech/articles/writing-an-http-handler-function-in-go-22210.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2023/01/writing-an-http-handler-function-in-go.html>)

Published: 2023-01-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [interfaces](<https://devfeed.tech/topics/interfaces.md>), [API](<https://devfeed.tech/topics/api.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [docker](<https://devfeed.tech/tags/docker.md>), [function](<https://devfeed.tech/tags/function.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [handler](<https://devfeed.tech/tags/handler.md>), [healthcheck](<https://devfeed.tech/tags/healthcheck.md>), [http](<https://devfeed.tech/tags/http.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [interface](<https://devfeed.tech/tags/interface.md>), [parameter](<https://devfeed.tech/tags/parameter.md>), [pitfalls](<https://devfeed.tech/tags/pitfalls.md>), [route](<https://devfeed.tech/tags/route.md>), [routing](<https://devfeed.tech/tags/routing.md>), [webservice](<https://devfeed.tech/tags/webservice.md>)

### AI overview

This video tutorial explains how Go function types can define API contracts and demonstrates implementing an HTTP handler function for a health check. It covers HandlerFunc parameters, routing the handler, and common pitfalls.

### Source excerpt

Introduction When an API requires implementation details from the user, many developers use an interface for help. However, another way to allow developers to provide implementation details for an API is to accept a function instead. Go supports declaring function types which can be used to define a contract similar to how interfaces define a contract. A good example of an API that uses functions over an interface is the HTTP package. The HTTP package has the user bind a handler function into different routes.

## Serving static files with Ktor

DevFeed: [Serving static files with Ktor](<https://devfeed.tech/articles/serving-static-files-with-ktor-21777.md>)

Original publisher: [Read original article](<https://enoent.fr/posts/serving-static-files-with-ktor/>)

Author: Marc Plano-Lesay

Published: 2022-09-03T09:00:00Z

Content type: tutorial

Language: en

Sources: [Marc Plano-Lesay](<https://devfeed.tech/sources/marc-plano-lesay.md>)

Topics: [servers](<https://devfeed.tech/topics/servers.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [files](<https://devfeed.tech/tags/files.md>), [handler](<https://devfeed.tech/tags/handler.md>), [html](<https://devfeed.tech/tags/html.md>), [http](<https://devfeed.tech/tags/http.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [port](<https://devfeed.tech/tags/port.md>), [route](<https://devfeed.tech/tags/route.md>), [routing](<https://devfeed.tech/tags/routing.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This tutorial explains how to serve static files and nested index.html files with Ktor. It replaces the default static-file handling with a custom route that resolves files and directory fallbacks, then uses a Ktor plugin to handle trailing slashes.

### Source excerpt

Serving static files with Ktor for a static website seems easy enough: fun main() { embeddedServer(Netty, port = 8080) { routing { static { files("static-data") } } }.start(wait = true) } Done? Not quite. Opening http://localhost:8080 will only get you a 404, even if you have an index.html file in the static-data folder. You have to let Ktor know you want to opt-in serving a default file. Let's try again (omitting anything outside the static block): static { files("static-data") default("static-data/index.html") } Surely now this works? Well, kind of. The root folder will have a default index.html, but sadly if you have any sub-folders with index.html files inside, they won't be served by default - that default() function only works for the top-level folder. Let's work around that. Let's store our static-data directory into a File variable, replace the files function call by our own extension. Note that this extension will handle the fallback to index.html in all cases, so we can also remove the call to default(): val staticData = File("/path/to/static-data") static { filesWithDefaultIndex(staticData) } fun Route.filesWithDefaultIndex(dir: File) { } In there, we'll need a get handler: fun Route.filesWithDefaultIndex(dir: File) { get("{static_path...}") {} } This will catch anything inside the static path, and let us access the requested path through call.parameters.getAll("static_path"). This gets us a list of URL segments that we need to join with File.separator: val relativePath = call.parameters .getAll("static_path") ?.joinToString(File.separator) ?: return@get Now, we have three options: The requested path points to an existing file. Great! We can just return it. The requested path points to a folder. If there's an index.html file in there, let's serve it. In any other case (the requested path doesn't exist, or points to a folder without an index.html file), we let Ktor handle that (most likely returning a 404). We can easily access the corresponding local file

## Spinning with Swift

DevFeed: [Spinning with Swift](<https://devfeed.tech/articles/spinning-with-swift-15385.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/spinning-with-swift>)

Author: Matt Butcher

Published: 2022-07-14T19:00:29Z

Content type: tutorial

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [Swift](<https://devfeed.tech/topics/swift.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [wasm](<https://devfeed.tech/topics/wasm.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [apple](<https://devfeed.tech/tags/apple.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [wasm](<https://devfeed.tech/tags/wasm.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

A step-by-step tutorial for using Apple's Swift language to build Spin WebAssembly applications for the cloud. It covers installing SwiftWasm, writing a simple Wasm app, and running it as a Wagi HTTP handler on Spin.

### Source excerpt

Get started using Apple's Swift language to write Spin WebAssembly applications for the cloud. This step-by-step tutorial covers installing SwiftWasm, writing a simple Wasm app, and runing it as a Wagi HTTP handler on Spin.

## RAD Chat Room - Part 2

DevFeed: [RAD Chat Room - Part 2](<https://devfeed.tech/articles/rad-chat-room-part-2-19487.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/rad-chatroom-part-2/>)

Author: Steve Hannah

Published: 2020-05-07T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [App](<https://devfeed.tech/topics/app.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [chat](<https://devfeed.tech/tags/chat.md>), [component](<https://devfeed.tech/tags/component.md>), [event](<https://devfeed.tech/tags/event.md>), [handler](<https://devfeed.tech/tags/handler.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Part 2 of a RAD Chatroom tutorial explains how to add a Send button, register its action with ChatRoomView, handle the resulting event, and update the chat state when a message is sent.

### Source excerpt

This is part 2 of the RAD Chatroom tutorial. You can find part 1 here. Adding a "Send" Button A "Send" button is a pretty important part of any chat application. We'll add a send button to our app by defining an action in our controller, and passing it to the ChatRoomView as follows. First we'll define the action in our ChatFormController class: // We're going to use a lot of static functions from the UI class for creating // UI elements like actions declaratively, so we'll do a static import here. import static com.codename1.rad.ui.UI.*; // ... public class ChatFormController extends FormController { // Define the "SEND" action for the chat room public static final ActionNode send = action(icon(FontImage.MATERIAL_SEND)); Then we'll create a ViewNode to pass to the ChatRoomView constructor. This can contain properties that the chat room uses to render itself, including which actions it should "embed" and where.

## Thread Errors

DevFeed: [Thread Errors](<https://devfeed.tech/articles/thread-errors-19556.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/thread-errors/>)

Author: Shai Almog

Published: 2020-04-10T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Exception](<https://devfeed.tech/topics/exception.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [callback](<https://devfeed.tech/tags/callback.md>), [code](<https://devfeed.tech/tags/code.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [errors](<https://devfeed.tech/tags/errors.md>), [events](<https://devfeed.tech/tags/events.md>), [exception](<https://devfeed.tech/tags/exception.md>), [handler](<https://devfeed.tech/tags/handler.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threading](<https://devfeed.tech/tags/threading.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

The article introduces a generic error-handling API for Codename One EasyThread. It describes global and per-thread error callbacks and notes that the methods are not thread-safe, must be invoked synchronously from one thread, and must not be called from the resulting callback.

### Source excerpt

I wrote before about EasyThread which makes it much easier to write multi-threaded code in Codename One. One problem in that scenario was the inability to define a generic exception handler for that scenario. With the current version of Codename One we now have a new generic error handling API for easy threads: public void addErrorListener(ErrorListener err); public static void addGlobalErrorListener(ErrorListener err); These methods add a callback for error events, either globally or for a specific thread. Notice that these methods aren't thread safe and should be invoked synchronously. So make sure to invoke them only from one thread e.g. the EDT.

## Setting Up Your Own Image Transform Service

DevFeed: [Setting Up Your Own Image Transform Service](<https://devfeed.tech/articles/setting-up-your-own-image-transform-service-31297.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/setting-up-your-own-image-transform-service>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2019-07-05T15:33:00Z

Content type: tutorial

Language: en

Sources: [nystudio107 | Articles on modern web development.](<https://devfeed.tech/sources/nystudio107-articles-on-modern-web-development.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>)

Tags: [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [build](<https://devfeed.tech/tags/build.md>), [cloudfront](<https://devfeed.tech/tags/cloudfront.md>), [cloudinary](<https://devfeed.tech/tags/cloudinary.md>), [compression](<https://devfeed.tech/tags/compression.md>), [create](<https://devfeed.tech/tags/create.md>), [handler](<https://devfeed.tech/tags/handler.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [image](<https://devfeed.tech/tags/image.md>), [images](<https://devfeed.tech/tags/images.md>), [insights](<https://devfeed.tech/tags/insights.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [leveraging](<https://devfeed.tech/tags/leveraging.md>), [optimized-transformed](<https://devfeed.tech/tags/optimized-transformed.md>), [pennies](<https://devfeed.tech/tags/pennies.md>), [power](<https://devfeed.tech/tags/power.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

This tutorial explains how to use AWS Lambda and the AWS Serverless Image Handler, fronted by CloudFront, to offload processor-intensive image transformations from a website server. It presents the approach as an inexpensive option for creating optimized images and discusses its use with server-rendered and JAMstack sites.

### Source excerpt

Create optimized/transformed images for pennies by leveraging the power of AWS Lambda to create your own Serverless Image Handler

## Build a Github webhook handler with Serverless & AWS Lambda

DevFeed: [Build a Github webhook handler with Serverless & AWS Lambda](<https://devfeed.tech/articles/build-a-github-webhook-handler-with-serverless-aws-lambda-14372.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/serverless-github-webhook-slack>)

Author: Alex DeBrie

Published: 2018-01-03T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Serverless](<https://devfeed.tech/topics/serverless.md>), [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Slack](<https://devfeed.tech/topics/slack.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [build](<https://devfeed.tech/tags/build.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [faas](<https://devfeed.tech/tags/faas.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [github](<https://devfeed.tech/tags/github.md>), [handler](<https://devfeed.tech/tags/handler.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [lambda](<https://devfeed.tech/tags/lambda.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>), [slack](<https://devfeed.tech/tags/slack.md>)

### AI overview

A tutorial on building a Serverless webhook handler with AWS Lambda to post GitHub star notifications to a Slack channel.

### Source excerpt

Deploy a Serverless service that posts notifications of Github stars in a Slack channel

## Events in spring v2

DevFeed: [Events in spring v2](<https://devfeed.tech/articles/events-in-spring-v2-27282.md>)

Original publisher: [Read original article](<https://blog.pchudzik.com/201709/spring-events-more/>)

Published: 2017-09-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Paweł Chudzik](<https://devfeed.tech/sources/pawe-chudzik.md>)

Topics: [async](<https://devfeed.tech/topics/async.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [mvc](<https://devfeed.tech/topics/mvc.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [errors](<https://devfeed.tech/tags/errors.md>), [event](<https://devfeed.tech/tags/event.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [handler](<https://devfeed.tech/tags/handler.md>), [mvc](<https://devfeed.tech/tags/mvc.md>), [spring](<https://devfeed.tech/tags/spring.md>)

### AI overview

This tutorial explains advanced event handling in Spring applications, including ordered handlers, asynchronous processing, and exception handling. It describes using @Order, @Async, custom executors, and custom error handlers, and notes that exceptions can stop further event propagation by default.

### Source excerpt

Last time I wrote about events in a spring based application I've introduced some basics on how events can be dispatched using spring infrastructure. In this post, I'm going to dig deeper into an order of handlers, exceptions and asynchronous events handlers. Read more

## Proxy in JavaScript

DevFeed: [Proxy in JavaScript](<https://devfeed.tech/articles/proxy-in-javascript-26287.md>)

Original publisher: [Read original article](<https://masnun.com/javascript-proxy/>)

Author: masnun

Published: 2017-08-21T01:00:14Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [behavior](<https://devfeed.tech/tags/behavior.md>), [cache](<https://devfeed.tech/tags/cache.md>), [code](<https://devfeed.tech/tags/code.md>), [console](<https://devfeed.tech/tags/console.md>), [function](<https://devfeed.tech/tags/function.md>), [handler](<https://devfeed.tech/tags/handler.md>), [http](<https://devfeed.tech/tags/http.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [object](<https://devfeed.tech/tags/object.md>), [properties](<https://devfeed.tech/tags/properties.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [receiver](<https://devfeed.tech/tags/receiver.md>)

### AI overview

This tutorial explains how JavaScript Proxy objects intercept operations on a target object through handler methods. It covers property access, method calls, logging, value transformation, and caching responses from external APIs.

### Source excerpt

As we can already guess from the name, a Proxy object works as a "proxy" to another object and allows us to customize the behavior of the said object in certain ways. Let's say you have an obj named awesomeAPI which has some properties and methods. You want to "trap" any calls to the object. May [...] The post Proxy in JavaScript appeared first on Abu Ashraf Masnun.

## Create a dynamic tab component with Angular

DevFeed: [Create a dynamic tab component with Angular](<https://devfeed.tech/articles/create-a-dynamic-tab-component-with-angular-21317.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2017/07/ng2-dynamic-tab-component/>)

Published: 2017-07-26T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [API](<https://devfeed.tech/topics/api.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [component](<https://devfeed.tech/tags/component.md>), [function](<https://devfeed.tech/tags/function.md>), [guide](<https://devfeed.tech/tags/guide.md>), [handler](<https://devfeed.tech/tags/handler.md>)

### AI overview

This tutorial explains how to build a dynamic tab component with Angular by using dynamic components and template references. It extends a statically defined tab API so user interactions can open new tab pages dynamically, such as editing or adding people.

### Source excerpt

Lorem ipsum dolor sit amet

## Mozilla Bugzilla Push: BMP-to-PNG and Multipart Response Error Handler Fixes

DevFeed: [Mozilla Bugzilla Push: BMP-to-PNG and Multipart Response Error Handler Fixes](<https://devfeed.tech/articles/happy-bmo-push-day-20280.md>)

Original publisher: [Read original article](<https://globau.wordpress.com/2016/01/20/happy-bmo-push-day-166/>)

Author: glob

Published: 2016-01-20T07:33:46Z

Content type: release

Language: en

Sources: [Mozilla Automation](<https://devfeed.tech/sources/mozilla-automation.md>)

Topics: [Mozilla](<https://devfeed.tech/topics/mozilla.md>), [Tool](<https://devfeed.tech/topics/tool.md>)

Tags: [bmo](<https://devfeed.tech/tags/bmo.md>), [handler](<https://devfeed.tech/tags/handler.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [responses](<https://devfeed.tech/tags/responses.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

A Mozilla Bugzilla push reports two changes: a fix related to zero-byte attachments when BMP-to-PNG conversion fails, and an error-handler issue involving multipart responses.

### Source excerpt

the following changes have been pushed to bugzilla.mozilla.org: [1236161] when converting a BMP attachment to PNG fails a zero byte attachment is created [1231918] error handler doesn't close multi-part responses discuss these changes on mozilla.tools.bmo.

## Elixir's gen\_event Behavior and Its Event Manager and Handler Design

DevFeed: [Elixir's gen\_event Behavior and Its Event Manager and Handler Design](<https://devfeed.tech/articles/what-is-wrong-with-gen-event-22359.md>)

Original publisher: [Read original article](<http://www.afronski.pl/2015/11/02/what-is-wrong-with-gen-event.html>)

Author: Wojtek Gawroński (afronski)

Published: 2015-11-02T15:00:00Z

Content type: opinion

Language: en

Sources: [Wojtek Gawroński](<https://devfeed.tech/sources/wojtek-gawronski.md>)

Topics: [Elixir](<https://devfeed.tech/topics/elixir.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Simulation](<https://devfeed.tech/topics/simulation.md>)

Tags: [c-sharp](<https://devfeed.tech/tags/c-sharp.md>), [canvas](<https://devfeed.tech/tags/canvas.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [console](<https://devfeed.tech/tags/console.md>), [css](<https://devfeed.tech/tags/css.md>), [css3](<https://devfeed.tech/tags/css3.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [erlang](<https://devfeed.tech/tags/erlang.md>), [handler](<https://devfeed.tech/tags/handler.md>), [html](<https://devfeed.tech/tags/html.md>), [html5](<https://devfeed.tech/tags/html5.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [module](<https://devfeed.tech/tags/module.md>), [mono](<https://devfeed.tech/tags/mono.md>), [net](<https://devfeed.tech/tags/net.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [process](<https://devfeed.tech/tags/process.md>), [sicp](<https://devfeed.tech/tags/sicp.md>), [vagrant](<https://devfeed.tech/tags/vagrant.md>), [webgl](<https://devfeed.tech/tags/webgl.md>)

### AI overview

This article examines Elixir's gen_event behavior, explaining how event managers receive events and dispatch them to installed handler modules. It presents the design as a pattern the author considers problematic, while noting that the article dates from 2015 and that Elixir has changed since then.

### Source excerpt

Beware: this article is from 2015 and in Elixir world couple things changed a bit. Here you can find the updated version of this blog post. What is wrong with gen_event? I never used gen_event, I think it is a bad pattern. At first it may look like a controversial statement, but I heard a lot of those complaints from other people. Originally, I heard that exact statement during the presentation made by Garrett Smith about pattern language - someone asked about that behavior at the end. More recently I heard similar thing in José Valim's presentation about what will come next in Elixir. It confuses me every time I hear that, so I want to investigate topic more deeply. But before we will dive into reasons and explanations, let's recall what is the purpose of this behavior. What is gen_event? OTP introduces two different terms regarding that behavior - an event manager and event handler modules. Responsibility of event manager is being a named object which can receive events. An event can be, for example: an error, an alarm, or some information that is to be logged. Inside manager we can have 0, 1 or more event handlers installed. Responsibility of the handler is to process an event. When the event manager is notified about an event, it will be processed by all installed handlers. The easiest way to imagine that is to think about manager as a sink for incoming messages and handlers as different implementations which are writing messages to disk, database or terminal. Another example can be taken from my implementation of Francesco Cesarini's assignment called Wolves, Rabbits and Carrots simulation. Main purpose of that task is to introduce concurrency, but internally it is a simulation - so certain events are happening, and they will be broadcasted to the rest of entities. In that case simulation_event_stream is an event manager: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -module(simulation_event_stream). -export([ start_link/0, co

## Using AWS Lambda as a backend for a single-page application

DevFeed: [Using AWS Lambda as a backend for a single-page application](<https://devfeed.tech/articles/the-future-is-now-and-it-s-using-aws-lambda-21107.md>)

Original publisher: [Read original article](<https://lg.io/2015/05/16/the-future-is-now-and-its-using-aws-lambda.html>)

Published: 2015-05-16T07:00:00Z

Content type: tutorial

Language: en

Sources: [Larry Land](<https://devfeed.tech/sources/larry-land.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [Amazon EC2](<https://devfeed.tech/topics/amazon-ec2.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [back-end](<https://devfeed.tech/tags/back-end.md>), [backend](<https://devfeed.tech/tags/backend.md>), [ec2](<https://devfeed.tech/tags/ec2.md>), [handler](<https://devfeed.tech/tags/handler.md>), [job](<https://devfeed.tech/tags/job.md>), [json](<https://devfeed.tech/tags/json.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [policy](<https://devfeed.tech/tags/policy.md>)

### AI overview

The article demonstrates using AWS Lambda to run backend logic for a single-page application through JSON requests, without provisioning traditional server instances. It also discusses restricting AWS credentials with a dedicated user policy and notes a 100-parallel-request limit at the time of writing.

### Source excerpt

It's a bit of a sensationalistic title, but hear me out. And sorry for the boring-ish example in this article. This is designed to only excite people who really get it. :) AWS Lambda lets you run NodeJS code or any binary (or code of any language) as a fast starting and stopping EC2 instance. You can use it to, for example, quickly resize an image as a background worker. What I'll quickly show you here though is that you could even possibly use it as a full-on back-end for a single-page app. What's even more awesome? It basically scales by parallelizing infinitely. No need to ever spin up more EC2 instances or Dynos or any of that. Capacity planning? No need! So, lets build a quick static webpage (that you can host anywhere, including file://) All this page does is connect to Lambda and send sup1 as the value to key1 through simple JSON. Here's the lambda code (which you literally can do on the AWS Console): This is even simpler. The handler callback is called by Lambda whenever this Lambda Function is called. context.succeed is used to return a value to the caller. And lets run it: FYI, this is crazy. We just did a backend call with full-on backend logic without setting up any kind of instances. No worrying about starting a new not-even-free-anymore Heroku Dyno. No choosing machine speed and memory and hard drive sizes. It just works, effortlessly, and scales enormously. One thing you might note is that we're exposing our AWS public and secret keys. This is actually not that big of a deal. To make this secure, we actually created a new AWS User and with a Policy specifically preventing everything except the one Lambda Function: Oh and I mentioned that it scales "infinitely", yeah there's a 100-parallel-requests maximum right now, but I'd imagine this will be removed by AWS as the service matures. Meanwhile, you can ask them for more. I guess recent AWS changes makes my lambda-job project kinda useless. It's all built in now. Very cool stuff. Hat tip to Amazon for c

## A journey on the Android Main Thread -- PSVM

DevFeed: [A journey on the Android Main Thread -- PSVM](<https://devfeed.tech/articles/a-journey-on-the-android-main-thread-psvm-15469.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/a-journey-on-the-android-main-thread-psvm>)

Author: P-Y Ricau

Published: 2013-10-30T16:04:00Z

Content type: tutorial

Language: en

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

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Java](<https://devfeed.tech/topics/java.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [handler](<https://devfeed.tech/tags/handler.md>), [java](<https://devfeed.tech/tags/java.md>), [journey](<https://devfeed.tech/tags/journey.md>), [linux](<https://devfeed.tech/tags/linux.md>), [main-thread](<https://devfeed.tech/tags/main-thread.md>), [messages](<https://devfeed.tech/tags/messages.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [queue](<https://devfeed.tech/tags/queue.md>), [thread](<https://devfeed.tech/tags/thread.md>)

### AI overview

This article examines how Android applications start on the main thread, tracing execution from ZygoteInit to ActivityThread.main(). It explains how Loopers, MessageQueues, and Handlers associate with threads and process messages serially.

### Source excerpt

From PSVM to loopers and handlers

## Handling crashes on Mac OS X: ordering of Mach exceptions versus POSIX signals

DevFeed: [Handling crashes on Mac OS X: ordering of Mach exceptions versus POSIX signals](<https://devfeed.tech/articles/handling-crashes-on-mac-os-x-ordering-of-mach-exceptions-versus-posix-signals-21565.md>)

Original publisher: [Read original article](<http://lackingrhoticity.blogspot.com/2013/08/handling-crashes-on-mac-os-x.html>)

Author: Mark Seaborn (noreply@blogger.com)

Published: 2013-08-07T20:25:00Z

Content type: tutorial

Language: en

Sources: [Mark Seaborn](<https://devfeed.tech/sources/mark-seaborn.md>)

Topics: [Operating system](<https://devfeed.tech/topics/operating-system.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [out-of-process](<https://devfeed.tech/topics/out-of-process.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>)

Tags: [crash](<https://devfeed.tech/tags/crash.md>), [dialog](<https://devfeed.tech/tags/dialog.md>), [exception](<https://devfeed.tech/tags/exception.md>), [exception-handling](<https://devfeed.tech/tags/exception-handling.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [handler](<https://devfeed.tech/tags/handler.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [memory](<https://devfeed.tech/tags/memory.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [os](<https://devfeed.tech/tags/os.md>), [out-of-process](<https://devfeed.tech/tags/out-of-process.md>), [posix](<https://devfeed.tech/tags/posix.md>), [process](<https://devfeed.tech/tags/process.md>), [processes](<https://devfeed.tech/tags/processes.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [signal](<https://devfeed.tech/tags/signal.md>)

### AI overview

This article explains how Mac OS X handles hardware exceptions through POSIX signals and Mach exceptions. It reports that Mach exception handlers receive priority, while the kernel uses a first-chance Mach handler, a POSIX signal handler, and a second-chance Mach handler when handling faults and crashes.

### Source excerpt

Mac OS X is a curious operating system because its kernel is derived from two kernel codebases -- the Mach kernel and a BSD kernel -- that have been glued together. From these two ancestors, OS X inherits two different mechanisms for processes to handle hardware exceptions (a.k.a. faults): POSIX signals: In-process only. Registered per-process. The handler is always called on the thread that produced the fault. Mach exceptions: Allow both in-process and out-of-process handling. Can be registered per-thread and per-process. The handler is invoked via Mach RPC. On OS X, it's possible for a process to have both POSIX signal handlers and Mach exception handlers registered. It's not immediately obvious which of the two handlers will take priority and get invoked first, but experimentation shows that it's the Mach handler. If a process faults with a memory access error, the Mach exception handler for EXC_BAD_ACCESS gets invoked first, and if this handler returns KERN_FAILURE, the POSIX signal handler for SIGBUS will then be invoked. However, that's not the full story. OS X has a built-in Crash Reporter service which will create a crash dump if an application crashes and pop up a dialog box. Crash Reporter works via Mach exception handling and runs out-of-process. An application will normally have Crash Reporter's crash handler registered as one of its default Mach exception handlers. But what stops this handler from interfering with normal use of POSIX signals, if Mach exception handlers take priority over POSIX signals? The answer is that OS X's kernel has three steps for handling a hardware exception: First-chance Mach exception handler: The kernel tries to invoke the Mach exception handler registered for the type of fault that occurred, e.g. EXC_BAD_ACCESS. If there's no handler registered, it skips this step. If the handler returns KERN_SUCCESS, the kernel resumes the thread that faulted. POSIX signal handler: If the Mach exception handler was absent or returned KERN_

## Bulk Replication

DevFeed: [Bulk Replication](<https://devfeed.tech/articles/bulk-replication-34498.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2013/03/bulk-replication/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2013-03-18T13:54:00Z

Content type: tutorial

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [Replication](<https://devfeed.tech/topics/replication.md>), [data](<https://devfeed.tech/topics/data.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [batch](<https://devfeed.tech/tags/batch.md>), [concurrently](<https://devfeed.tech/tags/concurrently.md>), [delete](<https://devfeed.tech/tags/delete.md>), [handler](<https://devfeed.tech/tags/handler.md>), [insert](<https://devfeed.tech/tags/insert.md>), [network](<https://devfeed.tech/tags/network.md>), [replication](<https://devfeed.tech/tags/replication.md>)

### AI overview

This article explains how batch update techniques can be applied to trigger-based data replication with SkyTools and londiste. It describes using londiste handlers to process batches of replication events, including bulk-loading methods for inserting, updating, and deleting data.

### Source excerpt

In the previous article here we talked about how to properly update more than one row at a time, under the title Batch Update. We did consider performances, including network round trips, and did look at the behavior of our results when used concurrently. A case where we want to apply the previous article approach is when replicating data with a trigger based solution, such as SkyTools and londiste. Well, maybe not in all cases, we need to have a amount of UPDATE trafic worthy of setting up the solution. As soon as we know we're getting to replay important enough batches of events, though, certainly using the batch update tricks makes sense.