# zero

Published articles for zero.

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

## Announcing automated, zero-downtime migrations to Temporal Cloud

DevFeed: [Announcing automated, zero-downtime migrations to Temporal Cloud](<https://devfeed.tech/articles/announcing-automated-zero-downtime-migrations-to-temporal-cloud-35711.md>)

Original publisher: [Read original article](<https://temporal.io/blog/announcing-automated-migrations>)

Author: Nikitha Suryadevara

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

Content type: release

Language: en

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

Topics: [migration](<https://devfeed.tech/topics/migration.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [API](<https://devfeed.tech/topics/api.md>), [proxy](<https://devfeed.tech/topics/proxy.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [automated](<https://devfeed.tech/tags/automated.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [migrations](<https://devfeed.tech/tags/migrations.md>), [product-news](<https://devfeed.tech/tags/product-news.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [replication](<https://devfeed.tech/tags/replication.md>), [security](<https://devfeed.tech/tags/security.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [zero](<https://devfeed.tech/tags/zero.md>)

### AI overview

Temporal announces pre-release migration tooling for moving self-hosted Temporal instances to Temporal Cloud. It is designed to automate the migration while keeping long-running workflows running and avoiding application-code changes.

### Source excerpt

Easily migrate from self-hosted Temporal to Temporal Cloud with zero downtime. Fully automated, seamless, and built to minimize effort.

## Atomic Deployments Without Tears

DevFeed: [Atomic Deployments Without Tears](<https://devfeed.tech/articles/atomic-deployments-without-tears-31260.md>)

Original publisher: [Read original article](<https://nystudio107.com/blog/executing-atomic-deployments>)

Author: andrew@nystudio107.com (Andrew Welch)

Published: 2020-06-30T04:00: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: [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Git](<https://devfeed.tech/topics/git.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [amazon-s3](<https://devfeed.tech/tags/amazon-s3.md>), [atomic](<https://devfeed.tech/tags/atomic.md>), [automatically](<https://devfeed.tech/tags/automatically.md>), [changes](<https://devfeed.tech/tags/changes.md>), [continuous](<https://devfeed.tech/tags/continuous.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [deployments](<https://devfeed.tech/tags/deployments.md>), [downtime](<https://devfeed.tech/tags/downtime.md>), [git](<https://devfeed.tech/tags/git.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [insights](<https://devfeed.tech/tags/insights.md>), [integration](<https://devfeed.tech/tags/integration.md>), [learn](<https://devfeed.tech/tags/learn.md>), [safely](<https://devfeed.tech/tags/safely.md>), [tools](<https://devfeed.tech/tags/tools.md>), [using](<https://devfeed.tech/tags/using.md>), [website](<https://devfeed.tech/tags/website.md>), [zero](<https://devfeed.tech/tags/zero.md>)

### AI overview

This tutorial explains how to use Continuous Integration tools to perform atomic, zero-downtime deployments for Craft CMS websites. It covers a workflow based on local development, a cloud Git repository, and automated deployment to production or staging servers.

### Source excerpt

Learn how to use atomic deployments to automatically and safely deploy changes to your website with zero downtime using Continuous Integration (CI) tools

## Project PITA: Build a Mini Mass Deauther Using Bettercap and a Raspberry Pi Zero W

DevFeed: [Project PITA: Build a Mini Mass Deauther Using Bettercap and a Raspberry Pi Zero W](<https://devfeed.tech/articles/project-pita-build-a-mini-mass-deauther-using-bettercap-and-a-raspberry-pi-zero-w-41259.md>)

Original publisher: [Read original article](<https://www.evilsocket.net/2018/07/28/Project-PITA-Writeup-build-a-mini-mass-deauther-using-bettercap-and-a-Raspberry-Pi-Zero-W/>)

Author: Simone Margaritelli

Published: 2018-07-28T17:01:56Z

Content type: tutorial

Language: en

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

Topics: [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Network](<https://devfeed.tech/topics/network.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [clients](<https://devfeed.tech/topics/clients.md>), [file](<https://devfeed.tech/topics/file.md>)

Tags: [bettercap](<https://devfeed.tech/tags/bettercap.md>), [ble](<https://devfeed.tech/tags/ble.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [btnap](<https://devfeed.tech/tags/btnap.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [deauth](<https://devfeed.tech/tags/deauth.md>), [handshake-capture](<https://devfeed.tech/tags/handshake-capture.md>), [kali](<https://devfeed.tech/tags/kali.md>), [linux](<https://devfeed.tech/tags/linux.md>), [monitor-mode](<https://devfeed.tech/tags/monitor-mode.md>), [packet-injection](<https://devfeed.tech/tags/packet-injection.md>), [pi](<https://devfeed.tech/tags/pi.md>), [portable-hacking](<https://devfeed.tech/tags/portable-hacking.md>), [project](<https://devfeed.tech/tags/project.md>), [raspberry](<https://devfeed.tech/tags/raspberry.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [rpi](<https://devfeed.tech/tags/rpi.md>), [rpi-zero-w](<https://devfeed.tech/tags/rpi-zero-w.md>), [rpi0w](<https://devfeed.tech/tags/rpi0w.md>), [wifi](<https://devfeed.tech/tags/wifi.md>), [wireless-security](<https://devfeed.tech/tags/wireless-security.md>), [wpa2](<https://devfeed.tech/tags/wpa2.md>), [writeup](<https://devfeed.tech/tags/writeup.md>), [zero](<https://devfeed.tech/tags/zero.md>)

### AI overview

A writeup showing how to build a pocket-sized WiFi deauthenticator with a Raspberry Pi Zero W, Kali Linux, Nexmon drivers, and bettercap. It covers WiFi scanning, deauthentication packets, WPA2 handshake capture, initial SSH and WiFi configuration, and Bluetooth access.

### Source excerpt

A few days ago I started playing with some idea I had from a few weeks already, using a Raspberry Pi Zero W to make a mini WiFi deauthenticator: something in my pocket that periodically jumps on all the channels in the WiFi spectrum, collects information about the nearby access points and their connected clients and then sends a deauthentication packet to each one of them, resulting in some sort of WiFi jammer on the 802.11 level. As an interesting "side effect" of this jammer (the initial intent was purely for the lulz) is that the more it deauths, the higher the changes to also sniff WPA2 handshakes. Thanks to the awesome work of the Kali and Nexmon communities in packaging the nexmon drivers and utilities and to the recent changes we released in bettercap, this was very easy to setup and to script and given the interest the tweet had I thought to share this writeup :) This awesome case has been designed by @elkentaro and can be found on [his Thingverse page](https://www.thingiverse.com/thing:3018480).

## Live restarts of a supervised unicorn process

DevFeed: [Live restarts of a supervised unicorn process](<https://devfeed.tech/articles/live-restarts-of-a-supervised-unicorn-process-41330.md>)

Original publisher: [Read original article](<https://samsaffron.com/archive/2013/11/13/live-restarts-of-a-supervised-unicorn-process>)

Author: Sam Saffron

Published: 2013-11-13T04:59:56Z

Content type: tutorial

Language: en

Sources: [Sam Saffron](<https://devfeed.tech/sources/sam-saffron.md>)

Topics: [Scripting, bash](<https://devfeed.tech/topics/scripting-bash.md>), [Script](<https://devfeed.tech/topics/script.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [docker](<https://devfeed.tech/tags/docker.md>), [downtime](<https://devfeed.tech/tags/downtime.md>), [rails](<https://devfeed.tech/tags/rails.md>), [script](<https://devfeed.tech/tags/script.md>), [uptime](<https://devfeed.tech/tags/uptime.md>), [zero](<https://devfeed.tech/tags/zero.md>)

### AI overview

The article describes using a Bash script as a stable-pid proxy and mini-supervisor for Unicorn to coordinate live restarts under supervisors such as runit. It also presents a throttled HTTP request script for measuring downtime during restarts and reports zero downtime with the proposed method.

### Source excerpt

We have all seen this dreaded screen before. In the Rails case this usually happens during application restarts. While Discourse is rapidly evolving we are heavily encouraging users to upgrade frequently, even weekly. If your site is regularly erroring out, users very quickly lose confidence. In the ideal case you want zero downtime deploys. This feature heavily encourages users to deploy more rapidly. Unicorn has built-in support for live restarts, however getting this to play well with a supervisor like say runit is not easy. Underlying pids are changing and stuff gets complicated fast. To tackle this I decided to create a simple bash script that acts as a mini-supervisor for unicorn. However, before any of this I needed some sane way of measuring how well I did. ###Measuring uptime during a live restart Traditionally you would use apache bench for quick and dirty testing, however it did not fare well for me. Unfortunately ab has no way of "throttling" the amount of requests it sends out. To measure uptime we need to perform a request to the site every N milliseconds. I ended up knocking up a quick and dirty apache bench clone that allows me to trickle through requests: require "optparse" require "uri" require "net/http" duration = 10 per_second = 10 opts = OptionParser.new do |opts| opts.banner = "Usage: bench_web [options] url" opts.on("-t", "--time TIME", OptionParser::DecimalInteger, "Duration to run the test in seconds (default 10)") do |t| duration = t end opts.on("-p", "--per-second REQUESTS", OptionParser::DecimalInteger, "Max number of requests per second (default 10)") do |t| per_second = t.to_f end end opts.parse! if ARGV.length != 1 puts opts.banner puts exit(1) end uri = begin URI(ARGV[0]) rescue puts opt.banner puts puts "Invalid URL" puts exit(1) end GC.disable finish_time = Time.now + duration results = [] while (start=Time.now) < finish_time res = Net::HTTP.get_response(uri) req_duration = Time.now - start results << {duration: req_duration, code:

## Online upgrades in Go

DevFeed: [Online upgrades in Go](<https://devfeed.tech/articles/online-upgrades-in-go-35439.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/online-upgrades-in-go/>)

Author: Graham King

Published: 2013-07-21T04:40:55Z

Content type: tutorial

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [Process](<https://devfeed.tech/topics/process.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [downtime](<https://devfeed.tech/tags/downtime.md>), [go](<https://devfeed.tech/tags/go.md>), [guide](<https://devfeed.tech/tags/guide.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [server](<https://devfeed.tech/tags/server.md>), [software](<https://devfeed.tech/tags/software.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [unix](<https://devfeed.tech/tags/unix.md>), [upgrades](<https://devfeed.tech/tags/upgrades.md>), [zero](<https://devfeed.tech/tags/zero.md>)

### AI overview

A guide to upgrading a Go server without dropping long-running connections. It explains file-descriptor inheritance and passing descriptors over UNIX domain sockets, with an example that transfers connections to a new process during an upgrade.

### Source excerpt

Upgrade your server without dropping connections: A guide to zero downtime upgrades.