SShortSingh.
Back to feed

CamBridge streams Mac webcam to iOS Simulator for real camera testing

0
·1 views

CamBridge is a new open-source tool that solves the lack of real camera hardware in the iOS Simulator by streaming a Mac's webcam feed over localhost. It consists of two components: a Mac menu bar app that captures and broadcasts JPEG frames via TCP, and a Swift package called CamBridgeKit that provides a drop-in replacement for AVCaptureSession. Developers can use the same code path for both the Simulator and physical devices, with no simulator-specific branching required. The tool is MIT licensed and available on GitHub, with Android Emulator support already planned as the next milestone.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Presigned URLs vs Proxy Uploads: When to Use Each for File Storage

A software engineer has outlined the key trade-offs between presigned URLs and proxy-based file uploads for web applications. Presigned URLs, where the browser uploads directly to object storage via a short-lived credential, are recommended for most SaaS use cases because they avoid loading the app server with large payloads, reduce costs, and lower latency. Proxying uploads through a backend server is justified only in specific scenarios, such as compliance-mandated virus scanning, server-side file transformation before storage, or strict per-tenant quota enforcement. Security best practices for presigned URLs include having the backend generate the object key, setting short expiry windows, and keeping stored objects private with signed download links. Skipping these precautions, the author warns, effectively creates an unsecured public file drop with no access controls.

0
ProgrammingDEV Community ·

Wetask Opens Task Runtime to External Workers with Go, TypeScript, and Python Clients

Wetask is releasing an update that extends its task runtime beyond embedded handlers to support external workers, including those running machine-learning jobs in Python, high-throughput backend work in Go, and application services in TypeScript. The platform introduces first-party clients for all three languages, allowing workers to claim task batches, renew long-running work, and settle results independently of the main process. To prevent stale workers from corrupting task state, Wetask assigns each claimed attempt a one-time fencing token, storing only its SHA-256 hash and rejecting duplicate completions. Workers can acknowledge or reject entire batches atomically, which also reduces durable storage overhead by recording settlements at the batch level rather than per task. Internal benchmarks show durable batch processing at 32 tasks per batch achieves around 2,402 tasks per second, roughly 27.8 times the single-task baseline, with Wetask noting that RabbitMQ remains ahead in replicated queue durability and operational maturity.

0
ProgrammingDEV Community ·

Tiered Architecture Beats LLM-as-Judge for AI Security, Developer Argues

A developer building an AI security tool argues that using a large language model to evaluate every incoming request is slow, costly, and itself vulnerable to jailbreaking. Instead, they propose a four-tier detection system that starts with cheap, fast methods like regex and classical machine learning before escalating to heavier models only when necessary. The first two tiers are deterministic and handle the vast majority of traffic at near-zero cost, while an optional transformer layer and a user-supplied LLM handle genuinely ambiguous cases. This approach means LLM-level inference costs are incurred only on a small fraction of requests rather than across all traffic. Because the always-on tiers run locally, the entire system can operate air-gapped inside a private network without contacting any external hosted model.

CamBridge streams Mac webcam to iOS Simulator for real camera testing · ShortSingh