# notify

Published articles for notify.

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

## Arduino announces a live build of a privacy-focused smart doorbell on the Arduino UNO Q

DevFeed: [Arduino announces a live build of a privacy-focused smart doorbell on the Arduino UNO Q](<https://devfeed.tech/articles/build-your-own-smart-doorbell-and-protect-your-privacy-in-one-hour-with-massimo-banzi-31424.md>)

Original publisher: [Read original article](<https://blog.arduino.cc/2026/09/16/build-your-own-smart-doorbell-and-protect-your-privacy-in-one-hour-with-massimo-banzi/>)

Author: Arduino Team

Published: 2026-09-16T14:06:15Z

Content type: article

Language: en

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

Topics: [Arduino](<https://devfeed.tech/topics/arduino.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [model](<https://devfeed.tech/tags/model.md>), [notify](<https://devfeed.tech/tags/notify.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [security](<https://devfeed.tech/tags/security.md>), [smart-doorbell](<https://devfeed.tech/tags/smart-doorbell.md>), [uno-q](<https://devfeed.tech/tags/uno-q.md>)

### AI overview

Arduino announces a live build showing how to create a smart doorbell using a computer vision model that runs locally on an Arduino UNO Q board. The event is scheduled for September 22 at 3 PM CET / 9 AM ET and will include questions for the Arduino team.

### Source excerpt

Go on your favorite online shopping platform, and you'll find any number of smart doorbell options. Click to purchase, have it delivered, install it, download some app. But where's the fun in that? And also, don't you wonder how that thing works? That thing that watches you and your loved ones go in and out, [...] The post Build your own smart doorbell and protect your privacy - in one hour, with Massimo Banzi appeared first on Arduino Blog.

## 【etcd】Watch 机制：watchableStore、synced/unsynced 与 ErrCompacted

DevFeed: [【etcd】Watch 机制：watchableStore、synced/unsynced 与 ErrCompacted](<https://devfeed.tech/articles/etcd-watch-watchablestore-synced-unsynced-errcompacted-33991.md>)

Original publisher: [Read original article](<https://quant67.com/post/etcd/09-watch/09-watch.html>)

Author: Liao Tonglang

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

Content type: tutorial

Language: zh

Sources: [土法炼钢 - 系统与基础设施](<https://devfeed.tech/sources/source-4.md>)

Topics: [etcd](<https://devfeed.tech/topics/etcd.md>), [Raft](<https://devfeed.tech/topics/raft.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [apiserver](<https://devfeed.tech/tags/apiserver.md>), [apply](<https://devfeed.tech/tags/apply.md>), [compaction](<https://devfeed.tech/tags/compaction.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [errcompacted](<https://devfeed.tech/tags/errcompacted.md>), [etcd](<https://devfeed.tech/tags/etcd.md>), [io](<https://devfeed.tech/tags/io.md>), [k8s](<https://devfeed.tech/tags/k8s.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [lag](<https://devfeed.tech/tags/lag.md>), [leader](<https://devfeed.tech/tags/leader.md>), [lease](<https://devfeed.tech/tags/lease.md>), [mvcc](<https://devfeed.tech/tags/mvcc.md>), [notify](<https://devfeed.tech/tags/notify.md>), [raft](<https://devfeed.tech/tags/raft.md>), [range](<https://devfeed.tech/tags/range.md>), [restore](<https://devfeed.tech/tags/restore.md>), [revision](<https://devfeed.tech/tags/revision.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [v3-5](<https://devfeed.tech/tags/v3-5.md>), [v3-5-33](<https://devfeed.tech/tags/v3-5-33.md>), [watch](<https://devfeed.tech/tags/watch.md>), [watchablestore](<https://devfeed.tech/tags/watchablestore.md>)

### AI overview

This article examines the etcd v3.5.33 watchableStore implementation, including synced and unsynced watcher groups, victims caused by backpressure, Apply-time notification, historical synchronization, and the ErrCompacted client resynchronization boundary. It also discusses event ordering, follower watch progress, and interactions with Kubernetes apiserver watch caches.

### Source excerpt

钉 etcd v3.5.33 watchableStore 的 synced/unsynced/victims 三分法、Apply 后 notify 与历史追赶 syncWatchersLoop，以及 CompactRevision 触发 ErrCompacted 时的客户端重同步边界。

## Using Cloud Monitoring to monitor App Check and Security Rules

DevFeed: [Using Cloud Monitoring to monitor App Check and Security Rules](<https://devfeed.tech/articles/using-cloud-monitoring-to-monitor-app-check-and-security-rules-16502.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2022/12/monitoring-app-check-and-rules>)

Author: Shruti Padamata

Published: 2022-12-05T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Grafana Cloud Metrics](<https://devfeed.tech/topics/grafana-cloud-metrics.md>), [Security](<https://devfeed.tech/topics/security.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>)

Tags: [app-check](<https://devfeed.tech/tags/app-check.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [cloud-monitoring](<https://devfeed.tech/tags/cloud-monitoring.md>), [dashboards](<https://devfeed.tech/tags/dashboards.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firestore](<https://devfeed.tech/tags/firestore.md>), [incident](<https://devfeed.tech/tags/incident.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [notify](<https://devfeed.tech/tags/notify.md>), [security](<https://devfeed.tech/tags/security.md>), [security-rules](<https://devfeed.tech/tags/security-rules.md>)

### AI overview

A tutorial on using Cloud Monitoring with Firebase to monitor App Check and Security Rules. It explains where to find rules evaluation metrics, how to analyze them, and how to create an alerting policy for sustained spikes in denied evaluations.

### Source excerpt

Learn how to monitor security metrics and set up alerting policies with Cloud Monitoring and Firebase.

## Interoperation between RxJava and Kotlin Coroutines

DevFeed: [Interoperation between RxJava and Kotlin Coroutines](<https://devfeed.tech/articles/interoperation-between-rxjava-and-kotlin-coroutines-24806.md>)

Original publisher: [Read original article](<https://akarnokd.blogspot.com/2017/09/interoperation-between-rxjava-and.html>)

Author: David Karnok (noreply@blogger.com)

Published: 2017-09-11T21:29:00Z

Content type: tutorial

Language: en

Sources: [Akarnokd - Advanced RxJava](<https://devfeed.tech/sources/akarnokd-advanced-rxjava.md>)

Topics: [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Code](<https://devfeed.tech/topics/code.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [await](<https://devfeed.tech/tags/await.md>), [backpressure](<https://devfeed.tech/tags/backpressure.md>), [channel](<https://devfeed.tech/tags/channel.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [flow](<https://devfeed.tech/tags/flow.md>), [flowable](<https://devfeed.tech/tags/flowable.md>), [flowablesubscriber](<https://devfeed.tech/tags/flowablesubscriber.md>), [interoperation](<https://devfeed.tech/tags/interoperation.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [notify](<https://devfeed.tech/tags/notify.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>), [stream](<https://devfeed.tech/tags/stream.md>), [subscription](<https://devfeed.tech/tags/subscription.md>), [suspend](<https://devfeed.tech/tags/suspend.md>)

### AI overview

This tutorial explains how to make RxJava work with Kotlin Coroutines. It introduces a suspendable emitter and a coroutine-based Flowable generator that can suspend emission until downstream demand is available.

### Source excerpt

Introduction Writing imperative-looking code with Kotlin Coroutines is certainly an attractive property of it, but I'd think things can get quite convoluted pretty fast once, for example, Selectors are involved. I haven't gotten there to look at what Selectors are, I only read that they can help you implement a flatMap like stream combiner. We are not goind to do that now, RxJava can do it for us after all. However, the reasonable question arises: if I have a coroutine generator, a coroutine transformation or simply want to receive items from a Flowable, how can I make RxJava work with these coroutines? Easily with the combined magic of Kotlin Coroutines and RxJava coroutines! Suspendable Emitter A generator is a source-like construct that emits items followed by a terminal signal. It should be familiar from RxJava as the Flowable.generate() operator. It gives you a FlowableEmitter and the usual onNext, onError and onComplete calls on it. One limitation is that you can call onNext only once per invocation of your (Bi)Consumer lambda that receives the emitter. The reason is that we can't block a second call to onNext and we don't want to buffer it either; therefore, RxJava cooperates with the developer. Compiler supported suspension and state machine built by it, however, allow us to prevent a second call from getting through by suspending it until there is a demand from the downstream, which then resumes the coroutine where it left off. Therefore, we can lift the single onNext requirement for our Coroutine-based generator. So let's define the SuspendEmitter interface interface SuspendEmitter<in T> : CoroutineScope { suspend fun onNext(t: T) suspend fun onError(t: Throwable) suspend fun onComplete() } By extending the CoroutineScope, we provide useful infrastructure (i.e., coroutineContext, isActive) to the block that will target our SuspendEmitter. One can argue that why use onError and onComplete since a coroutine can throw and simply end. The reason is that this w

## Why Some Applications Should Crash on Unhandled Exceptions

DevFeed: [Why Some Applications Should Crash on Unhandled Exceptions](<https://devfeed.tech/articles/why-your-app-should-crash-28655.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2017/03/08/appcrash/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2017-03-08T00:00:00Z

Content type: opinion

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [exceptions](<https://devfeed.tech/topics/exceptions.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [blogs](<https://devfeed.tech/tags/blogs.md>), [cleancode](<https://devfeed.tech/tags/cleancode.md>), [code](<https://devfeed.tech/tags/code.md>), [crash](<https://devfeed.tech/tags/crash.md>), [crashes](<https://devfeed.tech/tags/crashes.md>), [developers](<https://devfeed.tech/tags/developers.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [issue](<https://devfeed.tech/tags/issue.md>), [notify](<https://devfeed.tech/tags/notify.md>), [production](<https://devfeed.tech/tags/production.md>), [state](<https://devfeed.tech/tags/state.md>), [tips](<https://devfeed.tech/tags/tips.md>), [trace](<https://devfeed.tech/tags/trace.md>)

### AI overview

This article argues that applications should sometimes crash when they reach an unsupported state. It uses null checks as an example, explaining that excessive checks can clutter code and conceal deeper issues, while unhandled exceptions can expose problems through crashes, traces, and crash reporting.

### Source excerpt

Too many times I've seen developers trying to avoid crashes at all cost. But are unhandled exceptions really that bad? And are null checks really the answer?