# Homebrew

Homebrew is a package manager that installs command-line tools and applications on macOS, Linux, and Windows Subsystem for Linux.

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

## Scaling a Vespa Application: Feeding Fast and Furiously

DevFeed: [Scaling a Vespa Application: Feeding Fast and Furiously](<https://devfeed.tech/articles/scaling-a-vespa-application-feeding-fast-and-furiously-12797.md>)

Original publisher: [Read original article](<https://blog.vespa.ai/scaling-a-vespa-application-feeding-fast-and-furiously/>)

Author: Kai Borgen

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

Content type: tutorial

Language: en

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

Topics: [AI search](<https://devfeed.tech/topics/ai-search.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [information retrieval](<https://devfeed.tech/topics/information-retrieval.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [onnx](<https://devfeed.tech/topics/onnx.md>), [optimum](<https://devfeed.tech/topics/optimum.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-search](<https://devfeed.tech/tags/ai-search.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [genai](<https://devfeed.tech/tags/genai.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [information-retrieval](<https://devfeed.tech/tags/information-retrieval.md>), [install](<https://devfeed.tech/tags/install.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [onnx](<https://devfeed.tech/tags/onnx.md>), [optimum](<https://devfeed.tech/tags/optimum.md>), [performance](<https://devfeed.tech/tags/performance.md>), [rag](<https://devfeed.tech/tags/rag.md>), [ranking](<https://devfeed.tech/tags/ranking.md>), [tensors](<https://devfeed.tech/tags/tensors.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial demonstrates how to scale a Vespa application while feeding the full MS_marco passages dataset. It covers preparing the dataset, configuring access, deploying a sample application, and using scaling and metrics to improve feed throughput and performance.

### Source excerpt

A tutorial on how to scale the resources in a Vespa application to increase feed throughput. Using the metrics dashboard for informed and optimised scaling.

## How to Set Up Manim for Math Animation on macOS in 2025

DevFeed: [How to Set Up Manim for Math Animation on macOS in 2025](<https://devfeed.tech/articles/manim-29000.md>)

Original publisher: [Read original article](<https://nshipster.com/manim/>)

Author: Mattt (mattt@nshipster.com)

Published: 2025-10-01T07:00:00Z

Content type: tutorial

Language: en

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

Topics: [Graphics](<https://devfeed.tech/topics/graphics.md>), [Python](<https://devfeed.tech/topics/python.md>), [Development](<https://devfeed.tech/topics/development.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [LaTeX](<https://devfeed.tech/topics/latex.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [animation](<https://devfeed.tech/tags/animation.md>), [docker](<https://devfeed.tech/tags/docker.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [guide](<https://devfeed.tech/tags/guide.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [macos](<https://devfeed.tech/tags/macos.md>), [miscellaneous](<https://devfeed.tech/tags/miscellaneous.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A practical guide to setting up Manim, the open-source math animation library used by 3Blue1Brown, on macOS in 2025. It covers Homebrew, Mise, uv, Python dependencies, Cairo, Pycairo, and LaTeX, with Docker discussed as an alternative.

### Source excerpt

This year for Halloween, NSHipster is dressing up as 3blue1brown. And thanks to his open-source math animation library, we're totally pulling it off.

## Moving on from Nix

DevFeed: [Moving on from Nix](<https://devfeed.tech/articles/moving-on-from-nix-37685.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/bye-nix/>)

Author: Carlos Alexandro Becker

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

Content type: opinion

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [dotfiles](<https://devfeed.tech/topics/dotfiles.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [nix](<https://devfeed.tech/tags/nix.md>), [packages](<https://devfeed.tech/tags/packages.md>), [plugins](<https://devfeed.tech/tags/plugins.md>)

### AI overview

A developer explains why, after using Nix in dotfiles for more than two years, they are moving away from it. They cite Nix's broad control over files and tools, outdated packages, instability, and slow application of configuration changes, while continuing to use Homebrew for some desktop applications.

### Source excerpt

After using nix in my dotfiles for over 2 years, I'm now moving away from it. Here's why.

## Run Large Language Models Locally on a Mac with Ollama

DevFeed: [Run Large Language Models Locally on a Mac with Ollama](<https://devfeed.tech/articles/ollama-29002.md>)

Original publisher: [Read original article](<https://nshipster.com/ollama/>)

Author: Mattt (mattt@nshipster.com)

Published: 2025-02-14T08:00:00Z

Content type: tutorial

Language: en

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

Topics: [Ollama](<https://devfeed.tech/topics/ollama.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [llama.cpp](<https://devfeed.tech/topics/llama-cpp.md>), [llama3](<https://devfeed.tech/topics/llama3.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>)

Tags: [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [containers](<https://devfeed.tech/tags/containers.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [inference](<https://devfeed.tech/tags/inference.md>), [latency](<https://devfeed.tech/tags/latency.md>), [llama-cpp](<https://devfeed.tech/tags/llama-cpp.md>), [llama3](<https://devfeed.tech/tags/llama3.md>), [llms](<https://devfeed.tech/tags/llms.md>), [miscellaneous](<https://devfeed.tech/tags/miscellaneous.md>), [oci](<https://devfeed.tech/tags/oci.md>), [ollama](<https://devfeed.tech/tags/ollama.md>)

### AI overview

This tutorial explains how to use Ollama to download, run, and manage large language models locally on a Mac. It covers installation, llama3.2, llama.cpp, Modelfiles, OCI-based model distribution, and the practical benefits of local inference, including privacy, cost, latency, control, and reliability.

### Source excerpt

While we wait for Apple Intelligence to arrive on our devices, something remarkable is already running on our Macs. Think of it as a locavore approach to artificial intelligence: homegrown, sustainable, and available year-round.

## Using Renovate to update build JDK

DevFeed: [Using Renovate to update build JDK](<https://devfeed.tech/articles/using-renovate-to-update-build-jdk-20982.md>)

Original publisher: [Read original article](<https://jakewharton.com/using-renovate-to-update-build-jdk/>)

Published: 2025-01-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jake Wharton](<https://devfeed.tech/sources/jake-wharton.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Development](<https://devfeed.tech/topics/development.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [toolchains](<https://devfeed.tech/topics/toolchains.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [ci](<https://devfeed.tech/tags/ci.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [json](<https://devfeed.tech/tags/json.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [renovate](<https://devfeed.tech/tags/renovate.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

This article explains how to use Renovate to keep the JDK used by a GitHub Actions CI build updated automatically. It moves the Java version into a .github/.java-version file, configures setup-java to read that file, and adds a custom regex manager in renovate.json to update the file. The approach allows local development with the latest JDK while preserving compatibility with older Java versions for targeting and testing.

### Source excerpt

You want to be using the latest JDK for development. Don't use Gradle toolchains, they'll needlessly force you to use old JDKs. You can still target and test on old JVM versions but develop with the latest and greatest. Java and the JDK are literally built for this. Locally this hasn't been a problem. Homebrew (or your favorite equivalent) will keep your default JDK at the latest. Keeping my GitHub actions up-to-date, however, frequently slips my mind. I find projects using 19 or 20 simply because I haven't touched the CI build in the two years since 19 or 20 was the latest. We're already using Renovate to keep dependencies up to date. With a little extra programming in JSON (wince) we can have the JDK version updated to latest as well. First, migrate the existing build JDK version in your GitHub Action to a .github/.java-version file1. 21 Next, change the setup-java action to use this file rather than a hard-coded version. - uses: actions/setup-java@v4 with: distribution: 'zulu' - java-version: 21 + java-version-file: .github/.java-version Finally, in your renovate.json52, add a custom manager to update this file3. ignorePresets: [ // Ensure we get the latest version and are not pinned to old versions. 'workarounds:javaLTSVersions', ], customManagers: [ // Update .java-version file with the latest JDK version. { customType: 'regex', fileMatch: [ '\\.java-version$', ], matchStrings: [ '(?<currentValue>.*)\\n', ], datasourceTemplate: 'java-version', depNameTemplate: 'java', // Only write the major version. extractVersionTemplate: '^(?<version>\\d+)', }, ], Commit, push, and wait for Renovate to send you a PR4. Now your CI build automatically tracks the latest JDK. I'm putting the .java-version file into the .github/ folder because I don't want to force this version on people using jenv or the like. The whole point of this setup is you can build with any version of Java newer than our very, very old baseline of Java 8 (although things like Gradle have a higher minimum

## Mac Setup for Web Development \[2026\]

DevFeed: [Mac Setup for Web Development \[2026\]](<https://devfeed.tech/articles/mac-setup-for-web-development-2026-18948.md>)

Original publisher: [Read original article](<https://www.robinwieruch.de/mac-setup-web-development/>)

Author: Robin Wieruch

Published: 2025-01-07T04:50:46Z

Content type: tutorial

Language: en

Sources: [Robin Wieruch](<https://devfeed.tech/sources/robin-wieruch.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [vs-code](<https://devfeed.tech/topics/vs-code.md>), [Zsh](<https://devfeed.tech/topics/zsh.md>), [Git](<https://devfeed.tech/topics/git.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Astro](<https://devfeed.tech/topics/astro.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [astro](<https://devfeed.tech/tags/astro.md>), [development](<https://devfeed.tech/tags/development.md>), [git](<https://devfeed.tech/tags/git.md>), [js](<https://devfeed.tech/tags/js.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-setup-javascript](<https://devfeed.tech/tags/mac-setup-javascript.md>), [mac-setup-web-developer](<https://devfeed.tech/tags/mac-setup-web-developer.md>), [mac-setup-web-development](<https://devfeed.tech/tags/mac-setup-web-development.md>), [macos](<https://devfeed.tech/tags/macos.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [react](<https://devfeed.tech/tags/react.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A practical 2026 Mac setup guide for full-stack web development, covering macOS preferences, hardware, Homebrew, terminal tools, VS Code, Git, SSH, and Node.js with NVM.

### Source excerpt

My complete Mac setup for web development in 2026: macOS preferences, Homebrew, iTerm2, Oh My Zsh, VS Code, Git, SSH, and Node.js with NVM.

## Open source mac apps I love

DevFeed: [Open source mac apps I love](<https://devfeed.tech/articles/open-source-mac-apps-i-love-37328.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/open-source-mac-apps-i-love/>)

Author: Stanko

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

Content type: article

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Open Source](<https://devfeed.tech/topics/open-source.md>), [App](<https://devfeed.tech/topics/app.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [dropbox](<https://devfeed.tech/topics/dropbox.md>), [keyboard](<https://devfeed.tech/topics/keyboard.md>)

Tags: [apps](<https://devfeed.tech/tags/apps.md>), [bash](<https://devfeed.tech/tags/bash.md>), [dropbox](<https://devfeed.tech/tags/dropbox.md>), [gui](<https://devfeed.tech/tags/gui.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [mac](<https://devfeed.tech/tags/mac.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

The article recommends a selection of free, open-source Mac applications that the author uses regularly, including menu-bar utilities, image optimization software, keyboard customization, clipboard management, Dropbox access, terminal integration, window tiling, and command-line tools. It also provides Homebrew installation commands for the listed applications.

### Source excerpt

I want to share some really nice open-source applications I use on a daily basis. I did a similar post about six years ago, so I felt there is a need for an updated one. I focused on the apps that I feel are really convenient but less known. All of the applications listed are free and open source. For each app, I included a brew install command. If you happen to like and use them, please consider donating to their respective authors. Here are all of the apps in alphabetical order: GUI Applications Hidden Bar ImageOption Itsycal Karabiner-Elements Keeping You Awake Maccy Maestral OpenInTerminal Pearcleaner Pika Rectangle Bash programs dust ripgrep tio zoxide GUI Applications # Hidden Bar # GitHub brew install hiddenbar Hidden Bar allows you to hide icons from the menu bar. It seems that every app nowadays wants to be in the menu bar, and this helps declutter it. ImageOptim # GitHub | Website brew install imageoptim As its name suggests, ImageOptim optimizes images. It is a UI for a bunch of lossless image optimization tools. Just drop your images and it will compress them without losing any quality. Itsycal # GitHub | Website brew install itsycal A small calendar that lives in your menu bar. Why is this not built into the operating system? Karabiner-Elements # GitHub | Website brew install karabiner-elements I just can't get used to Apple's international keyboard layout and the tilde being in the bottom left. Karabiner solves that. It's a keyboard customizer that allows you to remap keys and create complex modifications. Keeping You Awake # GitHub | Website brew install keepingyouawake Prevents your Mac from going to sleep by clicking on its icon in the menu bar. I use it when I'm running my pen plotter to make sure the laptop doesn't go to sleep. Maccy # GitHub | Website brew install maccy A clipboard manager. It saves your clipboard history and allows you to quickly access it. Maestral # GitHub | Website brew install maestral A lightweight Dropbox client. The offic

## What's new in Maestro: 1.37.0

DevFeed: [What's new in Maestro: 1.37.0](<https://devfeed.tech/articles/what-s-new-in-maestro-1-37-0-22941.md>)

Original publisher: [Read original article](<https://maestro.dev/blog/whats-new-in-maestro-1-37-0>)

Author: Bartek Pacia

Published: 2024-07-29T07:00:00Z

Content type: release

Language: en

Sources: [mobile.dev - Medium](<https://devfeed.tech/sources/mobile-dev-medium.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Android](<https://devfeed.tech/topics/android.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [Slack](<https://devfeed.tech/topics/slack.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [devices](<https://devfeed.tech/tags/devices.md>), [features](<https://devfeed.tech/tags/features.md>), [github](<https://devfeed.tech/tags/github.md>), [ios](<https://devfeed.tech/tags/ios.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [macos](<https://devfeed.tech/tags/macos.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [report](<https://devfeed.tech/tags/report.md>), [slack](<https://devfeed.tech/tags/slack.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Maestro 1.37.0 adds parallel test execution across multiple devices, HTML test reports, stability improvements, restored Homebrew installation support, platform-aware JavaScript logic, airplane-mode controls on Android, and longer screen recordings.

### Source excerpt

New features including testing on multiple devices in parallel, HTML test report, and stability improvements.

## Ideal iOS KMP Setup - Kevin Galligan

DevFeed: [Ideal iOS KMP Setup - Kevin Galligan](<https://devfeed.tech/articles/ideal-ios-kmp-setup-kevin-galligan-38222.md>)

Original publisher: [Read original article](<https://touchlab.co/ideal-ios-kmp-setup>)

Published: 2024-05-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [installation](<https://devfeed.tech/tags/installation.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

A practical guide to setting up an iOS development environment for Kotlin Multiplatform (KMP), covering JVM installation and management, Xcode version management, and Touchlab's Kotlin Xcode Plugin for Kotlin-aware debugging.

### Source excerpt

To maximize your iOS developer experience with KMP, you'll want to install the best tools available and configure them appropriately. There are many options available, but this is Touchlab's preferred iOS development setup.

## Nix Weekly Recap: 2024-05-05

DevFeed: [Nix Weekly Recap: 2024-05-05](<https://devfeed.tech/articles/nix-weekly-recap-2024-05-05-34717.md>)

Original publisher: [Read original article](<https://nixpkgs.news/archive/2024-05-05/>)

Published: 2024-05-05T00:00:00Z

Content type: article

Language: en

Sources: [nixpkgs.news](<https://devfeed.tech/sources/nixpkgs-news.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Gitea](<https://devfeed.tech/topics/gitea.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [cncf](<https://devfeed.tech/tags/cncf.md>), [community](<https://devfeed.tech/tags/community.md>), [governance](<https://devfeed.tech/tags/governance.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [package-management](<https://devfeed.tech/tags/package-management.md>), [recap](<https://devfeed.tech/tags/recap.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [weekly](<https://devfeed.tech/tags/weekly.md>)

### AI overview

This weekly recap covers governance changes in the Nix ecosystem, including Eelco Dolstra's departure from the NixOS Foundation Board and plans for a constitutional assembly. It also highlights the Aux fork, Brew-nix for packaging Homebrew casks with Nix, Noshell, Buildbot-nix support for Gitea, a Framework partnership, Nix-inst, and a new moderator.

### Source excerpt

Weekly recap of the announcements and activity in the Nix community and on the NixPkgs package repository.

## My Mac Dev Setup and Favorite Tools

DevFeed: [My Mac Dev Setup and Favorite Tools](<https://devfeed.tech/articles/my-mac-dev-setup-and-favorite-tools-31864.md>)

Original publisher: [Read original article](<https://www.metachris.dev/2024/01/my-mac-dev-setup-and-favorite-tools/>)

Author: Chris Hager

Published: 2024-01-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [backups](<https://devfeed.tech/topics/backups.md>), [passwords](<https://devfeed.tech/topics/passwords.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Package Management](<https://devfeed.tech/topics/package-management.md>), [Encryption](<https://devfeed.tech/topics/encryption.md>), [App](<https://devfeed.tech/topics/app.md>), [Obsidian](<https://devfeed.tech/topics/obsidian-md.md>)

Tags: [backup](<https://devfeed.tech/tags/backup.md>), [csv](<https://devfeed.tech/tags/csv.md>), [database](<https://devfeed.tech/tags/database.md>), [dev](<https://devfeed.tech/tags/dev.md>), [dev-setup](<https://devfeed.tech/tags/dev-setup.md>), [developer-setup](<https://devfeed.tech/tags/developer-setup.md>), [editor](<https://devfeed.tech/tags/editor.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [iterm2](<https://devfeed.tech/tags/iterm2.md>), [mac](<https://devfeed.tech/tags/mac.md>), [macos](<https://devfeed.tech/tags/macos.md>), [setup](<https://devfeed.tech/tags/setup.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

A practical guide to setting up a Mac for software development, covering system security, backups, password management, developer tools, favorite applications, terminal use, and keyboard shortcuts.

### Source excerpt

How I setup and use my computer and tools for development. I wrote this mostly as a guide for myself, for the next time I setup a computer, and hope it might be useful to others too. I'd love to hear your thoughts, ideas and additional tips in the comments below! Related: How I setup my Terminal and Bash. Contents Mac setup General system setup Favorite apps Keyboard shortcuts Application shortcuts Arranging windows Browser Terminal & Shell Docker for Node.

## Tootbot for Mastodon

DevFeed: [Tootbot for Mastodon](<https://devfeed.tech/articles/tootbot-for-mastodon-25350.md>)

Original publisher: [Read original article](<https://kau.sh/blog/toot-bot-post-mastodon-automatically-kotlin-script/>)

Author: Kaushik Gopal

Published: 2023-02-04T03:00:00Z

Content type: tutorial

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Mastodon](<https://devfeed.tech/topics/mastodon.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Script](<https://devfeed.tech/topics/script.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Mac Mini](<https://devfeed.tech/topics/mac-mini.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [github](<https://devfeed.tech/tags/github.md>), [install](<https://devfeed.tech/tags/install.md>), [json](<https://devfeed.tech/tags/json.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [local](<https://devfeed.tech/tags/local.md>), [mac-mini](<https://devfeed.tech/tags/mac-mini.md>), [script](<https://devfeed.tech/tags/script.md>), [shell-script](<https://devfeed.tech/tags/shell-script.md>)

### AI overview

A Kotlin shell script running on a Mac Mini uses a cron job to announce new blog posts on Mastodon. It downloads the blog's JSON feed, checks for new posts, compares them with a local CSV record of previous toots, and publishes announcements. The article also gives Homebrew installation and execution commands.

### Source excerpt

Every time I create a new post in this blog I like to toot or tweet about it. Instead of manually doing this, I have my Mac Mini run a little shell script on a cron job, that does this automatically for me. You can download the source for this script over at github. The way it works is pretty simple: Download my latest blog feed as a json file. Check for any new blog posts. Compares with a local CSV file that records previous toots. Posts new toots to Mastodon1 Running the script is trivially easy (and it's all in Kotlin) so it's easy to follow the logic. All you need to do to run this script is: brew install kotlin kotlin tootbot.main.kts That's it! Just remember to update the variables at the top of the file. Not doing Twitter for obvious reasons. ↩︎

## Shipping completions for Go CLIs using GoReleaser and Cobra

DevFeed: [Shipping completions for Go CLIs using GoReleaser and Cobra](<https://devfeed.tech/articles/shipping-completions-for-go-clis-using-goreleaser-and-cobra-37739.md>)

Original publisher: [Read original article](<https://carlosbecker.com/posts/golang-completions-cobra/>)

Author: Carlos Alexandro Becker

Published: 2022-08-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [Carlos Becker](<https://devfeed.tech/sources/carlos-becker.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Shell](<https://devfeed.tech/topics/shell.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [friendly interactive shell](<https://devfeed.tech/topics/fish.md>), [Zsh](<https://devfeed.tech/topics/zsh.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Unix](<https://devfeed.tech/topics/unix.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [go](<https://devfeed.tech/tags/go.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [powershell](<https://devfeed.tech/tags/powershell.md>), [shell](<https://devfeed.tech/tags/shell.md>)

### AI overview

A tutorial on shipping shell completions for Go command-line tools using Cobra and GoReleaser. It covers generating completion files, enabling them through GoReleaser hooks, packaging them for archives, Homebrew, AUR, and nFPM, testing the packages, and optionally adding Unix man pages.

### Source excerpt

Everyone likes command line completions, so much that some even install extra tools just to have them.

## Getting NuShell Usable Under OSX for Myself

DevFeed: [Getting NuShell Usable Under OSX for Myself](<https://devfeed.tech/articles/getting-nushell-usable-under-osx-for-myself-28205.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/nushell/2022/07/17/getting-nushell-usable-under-osx-for-myself.html>)

Author: Fuzzygroup

Published: 2022-07-17T15:20:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Shell](<https://devfeed.tech/topics/shell.md>), [osx](<https://devfeed.tech/topics/osx.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [chmod](<https://devfeed.tech/topics/chmod.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [chmod](<https://devfeed.tech/tags/chmod.md>), [coding](<https://devfeed.tech/tags/coding.md>), [commands](<https://devfeed.tech/tags/commands.md>), [config](<https://devfeed.tech/tags/config.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [nushell](<https://devfeed.tech/tags/nushell.md>), [osx](<https://devfeed.tech/tags/osx.md>), [rust](<https://devfeed.tech/tags/rust.md>), [shell](<https://devfeed.tech/tags/shell.md>), [terminal](<https://devfeed.tech/tags/terminal.md>)

### AI overview

A practical guide to making NuShell usable as a daily shell on OSX Monterey. It covers changing the default shell, preserving Bash history, fixing Homebrew path access, configuring persistent environment settings, and defining aliases.

### Source excerpt

Pizza courtesy of Pizza for Ukraine! Donate Now to Pizza for Ukraine As I've written, I'm acutely interested in using software written in Rust as my daily drivers. What I've seen so far is that programs written in Rust, based on an admittedly tiny sample, seem to be higher quality than programs not written in Rust. In this blog post, I'm going to talk about what I had to do to make NuShell be usable for myself under OSX Monterey. To be perfectly honest, I don't know if my experiences are normal or not. I seem to have a high personal level of entropy with respect to software and it appears that at least sometimes this level of entropy causes bugs. This is the main reason that I document things so dogmatically - I often need to refer to my own blog. Step 00: Changing Your Shell to NuShell After you install NuShell, you are left a bit on your own. You can invoke it via the nu command but what you really want is it to come up as the default shell. This is done with chsh: sudo chsh -s /usr/local/bin/nu sjohnson NOTE: DO NOT CLOSE ALL YOUR OLD TERMINALS!!! If you are like me and are heavily reliant on history then you want to do this in an existing Bash / Zshell / Fish / Whatever terminal window: history > ~/history_old.txt chmod +r ~/history_old.txt Yes - I think that strongly about history that I want this read only so it doesn't get killed inadvertently. Step 01: Getting Brew to Function After you switch over to using NuShell, you may find that programs like brew aren't found. This is a path issue (isn't everything???). Here's an example: /Users/sjohnson/Sync/coding/flow_analytics〉brew 07/17/2022 10:59:12 AM Error: nu::shell::external_command (link) x External command ╭─[entry #11:1:1] 1 │ brew - ──┬─ - ╰── can't run executable ╰──── help: No such file or directory (os error 2) The solution is to add brew's path into the NuShell environment. Back in your old shell window, type: Sync/coding/flow_analytics on ☁ (us-west-2) ❯ which brew /usr/local/bin/brew This tells us

## Fixing a Hosed HomeBrew Installation

DevFeed: [Fixing a Hosed HomeBrew Installation](<https://devfeed.tech/articles/fixing-a-hosed-homebrew-installation-28214.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/osx/2022/07/09/fixing-a-hosed-homebrew-installation.html>)

Author: Fuzzygroup

Published: 2022-07-09T02:40:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [commands](<https://devfeed.tech/tags/commands.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [installation](<https://devfeed.tech/tags/installation.md>), [mac](<https://devfeed.tech/tags/mac.md>), [osx](<https://devfeed.tech/tags/osx.md>), [permissions](<https://devfeed.tech/tags/permissions.md>)

### AI overview

A blog post describes troubleshooting a broken Homebrew installation on a Mac where /usr/local/Cellar had incorrect ownership and installations failed because of permissions issues. The author reports that bulk permission changes fixed the problem, while warning that the approach is risky and should be used at the reader's own risk.

### Source excerpt

NOTE: I'm not telling you to do this. This blog post advocates bulk permission changing and that's risky but HomeBrew was entirely broken and brew doctor did not work. And this solution did. Use at your own risk. I have two primary machines - a Mac Desktop and a dual monitor Mac Laptop. I use the laptop more mostly from habit but I'd really like to use the desktop for something that makes me feel better about it being next to me and yet rarely used. One of the reasons for two machines is one is my daily driver and one is experimental. For example, my desktop I installed NuShell on recently as I didn't (yet) trust it enough. I recently discovered that HomeBrew wouldn't install things correctly on my desktop. The issue was always permissions issues and when I dug into it, I found that /usr/local/Cellar was owned by, well, NOT me. The answer, as with so many other *nix things is chown (DO NOT DO THE FOLLOWING): sudo chown -R sjohnson:wheel /usr/local/Cellar -or- that's what I thought the answer was. Unfortunately while a: brew install boost worked seemingly nicely, it failed at the final step: ==> Downloading https://ghcr.io/v2/homebrew/core/php/blobs/sha256:d124757fd19130379ccef3e1bd26fd082fa11a543aad37a6add6b942fb3d327e ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:d124757fd19130379ccef3e1bd26fd082fa11a543aad37a6add6b942fb3d327e?se=2022-07-09T02%3A50%3A00Z&sig=ea5rDsciKGA8m41Nuw4d6Wkg370EFvFhExVvQkjfr1Q%3D&sp=r&spr=https&sr=b&sv=2019-12-12 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/postgresql/manifests/14.4 ######################################################################## 100.0% ==> Downloading https://ghcr.io/v2/homebrew/core/postgresql/blobs/sha256:1e258c37f55737787151ee3a5276e805e0aa4e30cf5d166bdc2208d0d7f812c2 ==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:1e258c37f55737787151ee3a5276e805e0aa4e30

## Postgres Woes on OSX with libicui18n.69.dylib

DevFeed: [Postgres Woes on OSX with libicui18n.69.dylib](<https://devfeed.tech/articles/postgres-woes-on-osx-with-libicui18n-69-dylib-28223.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/postgres/2022/04/21/postgres-woes-on-osx-with-libicui18n-69-dylib.html>)

Author: Fuzzygroup

Published: 2022-04-21T13:33:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [postgresql clusters](<https://devfeed.tech/topics/postgresql-clusters.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>)

Tags: [dependencies](<https://devfeed.tech/tags/dependencies.md>), [errors](<https://devfeed.tech/tags/errors.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [osx](<https://devfeed.tech/tags/osx.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

A troubleshooting account of a PostgreSQL startup failure on macOS caused by a missing libicui18n.69.dylib library. Reinstalling icu4c with Homebrew led to PostgreSQL being upgraded and running locally again.

### Source excerpt

Perhaps it is me but I've found that homebrew seems to give more errors and take longer than it used it. I just got hit with this error: /usr/local/opt/postgresql/bin/postgres -v dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.69.dylib Referenced from: /usr/local/opt/postgresql/bin/postgres Reason: image not found Digging into the OSX postgres log here: tail -n 100 /usr/local/var/log/postgresql.log helped but didn't tell me what to do. An awful lot of googling didn't find me an answer but then I hit on: brew reinstall icu4c That churned for a bit but then declared a decisive victory: 🍺 /usr/local/Cellar/maxima/5.46.0: 2,842 files, 119.1MB ==> Running `brew cleanup maxima`... Removing: /usr/local/Cellar/maxima/5.45.1_4... (2,774 files, 118.4MB) Removing: /Users/sjohnson/Library/Caches/Homebrew/maxima--5.45.1_4... (38.3MB) ==> Upgrading postgresql 13.2_2 -> 14.2_1 ==> Installing dependencies for postgresql: krb5 ==> Installing postgresql dependency: krb5 ==> Pouring krb5--1.19.3.catalina.bottle.tar.gz 🍺 /usr/local/Cellar/krb5/1.19.3: 162 files, 5.2MB ==> Installing postgresql ==> Pouring postgresql--14.2_1.catalina.bottle.tar.gz ==> Caveats To migrate existing data from a previous major version of PostgreSQL run: brew postgresql-upgrade-database This formula has created a default database cluster with: initdb --locale=C -E UTF-8 /usr/local/var/postgres For more details, read: https://www.postgresql.org/docs/14/app-initdb.html To restart postgresql after an upgrade: brew services restart postgresql Or, if you don't want/need a background service you can just run: /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres ==> Summary 🍺 /usr/local/Cellar/postgresql/14.2_1: 3,305 files, 45.5MB ==> Running `brew cleanup postgresql`... Removing: /usr/local/Cellar/postgresql/13.2_2... (3,218 files, 42.6MB) Removing: /Users/sjohnson/Library/Caches/Homebrew/postgresql--13.2_2... (11.1MB) ==> Checking for dependents of upgraded formulae... ==> No broken dep

## And Now For Starting Again with Elixir and Phoenix Not Elm

DevFeed: [And Now For Starting Again with Elixir and Phoenix Not Elm](<https://devfeed.tech/articles/and-now-for-starting-again-with-elixir-and-phoenix-not-elm-28163.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/elixir/2022/04/01/and-now-for-starting-again-with-elixir-not-elm.html>)

Author: Fuzzygroup

Published: 2022-04-01T15:57:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Elixir](<https://devfeed.tech/topics/elixir.md>), [phoenix](<https://devfeed.tech/topics/phoenix.md>), [Elm](<https://devfeed.tech/topics/elm.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [elm](<https://devfeed.tech/tags/elm.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [phoenix](<https://devfeed.tech/tags/phoenix.md>)

### AI overview

The author sets aside Elm after finding a simple HTML form frustrating to implement and experiments with moving a Laravel application to Elixir and Phoenix. The article documents updating Elixir on macOS, installing Phoenix, generating a Phoenix application with MySQL, configuring the database, and adapting migrations for an existing schema.

### Source excerpt

In my last blog post, I dug into Elm and while I like a number of things conceptually about Elm, the process of implementing nothing more than a maybe 8 element HTML form left me hugely frustrated and annoyed. I also didn't like the way that Elm bundles code and display into one thing. I may be a traditionalist perhaps but the separation of views and code really does work well in practice. I get that Elm is a different thing but it shouldn't be this hard to just put some text and an html form on the screen. And, so, I'm putting Elm to the side for a bit and going to experiment with using Elixir and Phoenix for my previous Laravel application. If nothing else this should be much more straightforward as it is moving from one MVC style framework to another albeit from an OO lang (php) to a functional lang (elixir). Step 1: Getting Up To Date I'm on OSX and my goal was to get to the current Elixir and Phoenix before I started, This I found to be surprisingly problematic. And, perhaps, it was my fault as I don't claim to be great with HomeBrew. I started with: brew update brew install elixir@1.12 But no matter what I did, I couldn't get past elixir 1.11. So my next step was to get rid of everything. Getting Rid of Everything I started with: brew uninstall elixir And then I got a warning about a shallow copy issue which told me to run: git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow brew update brew install elixir which finally resulted in: ❯ elixir -v Erlang/OTP 24 [erts-12.3.1] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit] [dtrace] Elixir 1.13.3 (compiled with Erlang/OTP 24) Installing Phoenix A bit of googling gave me this command to install the newest Phoenix: mix archive.install hex phx_new Step 2: Generating a New App Although I've actually been to ElixirCon, things have changed a lot in a few years. Here's the new syntax for generating an app: mix phx.new kit_selector3 --database mysql Normally I'd be using pos

## Upgrading Elix on OSX with Brew

DevFeed: [Upgrading Elix on OSX with Brew](<https://devfeed.tech/articles/upgrading-elix-on-osx-with-brew-28162.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/elixir/2022/03/22/upgrading-elix-on-osx-with-brew.html>)

Author: Fuzzygroup

Published: 2022-03-22T17:42:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Elixir](<https://devfeed.tech/topics/elixir.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [osx](<https://devfeed.tech/topics/osx.md>)

Tags: [dependency](<https://devfeed.tech/tags/dependency.md>), [elixir](<https://devfeed.tech/tags/elixir.md>), [osx](<https://devfeed.tech/tags/osx.md>), [packages](<https://devfeed.tech/tags/packages.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

A short guide to upgrading Elixir on macOS with Homebrew. It shows how to check the installed Elixir version, verify the Homebrew installation, run the upgrade, inspect dependencies, and check the version again. The article notes that upgrading may also update additional packages.

### Source excerpt

This is simple but I keep needing to look it up. First check your elixir version: elixir -v Second confirm that you actually installed Elixir using brew: brew list | grep elixir Third do the upgrade: brew upgrade elixir Note: You are probably going to find more than just elixir itself is upgraded. Theoretically you should be able to look at just the upgrade tree with: brew deps --tree --include-build elixir and only those things will be upgraded but when I noted a much larger group of packages being upgraded which makes me suspect some kind of circular dependency that needed to be handled. Fourth check the version again: elixir -v

## macOS Setup after 15 Years of Linux

DevFeed: [macOS Setup after 15 Years of Linux](<https://devfeed.tech/articles/macos-setup-after-15-years-of-linux-30823.md>)

Original publisher: [Read original article](<https://hookrace.net/blog/macos-setup/>)

Published: 2021-12-25T23:00:00Z

Content type: article

Language: en

Sources: [Dennis Felsing](<https://devfeed.tech/sources/dennis-felsing.md>)

Topics: [macOS](<https://devfeed.tech/topics/macos.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [intel](<https://devfeed.tech/tags/intel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>)

### AI overview

A developer describes moving from a long-established Linux desktop setup to using an M1 Pro MacBook Pro as a daily driver. The article discusses the hardware, Homebrew installation choices, ARM64 compatibility issues with mpv, and video playback performance using Rosetta 2, Firefox, and a custom FFmpeg build.

### Source excerpt

About 3 years ago I wrote about my Linux Desktop Setup and having used pretty much the same software setup for 10-15 years. My setup used to be heavily keyboard based. Now for work I am for the first time using a macOS-based Macbook Pro with an M1 Pro CPU. I spent the last 3 weeks using it as a daily driver, tweaking it here and there. Here are my experiences. Hardware-wise the machine is great. With the 10 core ARM64 CPU I get about 2-3 times the CPU performance of my desktop system with an Intel i7 6700k. In DDNet I can reach 1800 FPS which is clearly more than enough and about 10 times the FPS I have with the 6700k's iGPU. I haven't heard the fan turn on at all yet, so either my workloads, and even my compilations, are too light-weight, or the fan is pretty quiet. The integrated 120 Hz screen is far better than anything I've had before, with clearer colors and smoother motion. Installing Software macOS's AppStore doesn't seem to have most of the relevant applications for me. Homebrew seems to be the most popular third-party package manager for macOS, so I chose that, hoping that it would support most programs I want to use. Command line applications can be installed with brew install, while graphical applications that you want acccessible in the regular Applications directory need a brew install --cask. For some applications like mpv this can be a bit confusing since there is both a command-line Formulae and a GUI Cask available for it. The Cask doesn't support arm64 natively yet, since the maintainer of it doesn't have an M1 Mac and mpv doesn't provide official binaries. So here I noticed a major difference in how Homebrew seems to work compared to Arch Linux for example. On Arch Linux applications are built from source code centrally instead of relying on binaries from a vendor. Luckily it was easy enough to build a DMG of mpv myself, which I then installed by dragging it into the Applications folder: git clone https://github.com/mpv-player/mpv cd mpv git clean

## Homebrew - uninstall formula with dependencies

DevFeed: [Homebrew - uninstall formula with dependencies](<https://devfeed.tech/articles/homebrew-uninstall-formula-with-dependencies-27669.md>)

Original publisher: [Read original article](<https://gagor.pro/2021/11/homebrew-uninstall-formula-with-dependencies/>)

Author: Tom

Published: 2021-11-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [brew-autoremove](<https://devfeed.tech/tags/brew-autoremove.md>), [clean-uninstall-homebrew](<https://devfeed.tech/tags/clean-uninstall-homebrew.md>), [command](<https://devfeed.tech/tags/command.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [disk-space](<https://devfeed.tech/tags/disk-space.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [homebrew-uninstall-dependencies](<https://devfeed.tech/tags/homebrew-uninstall-dependencies.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [macos](<https://devfeed.tech/tags/macos.md>), [macos-brew-tips](<https://devfeed.tech/tags/macos-brew-tips.md>), [macos-package-management](<https://devfeed.tech/tags/macos-package-management.md>), [packages](<https://devfeed.tech/tags/packages.md>), [remove-homebrew-formula](<https://devfeed.tech/tags/remove-homebrew-formula.md>)

### AI overview

A tutorial on uninstalling a Homebrew formula and its dependencies on macOS. It recommends using brew autoremove, while warning that the command may remove packages you still need, so users should review its output carefully.

### Source excerpt

Learn how to uninstall a Homebrew formula along with its dependencies on MacOS, ensuring a clean removal and freeing up disk space.

## Video Stabilization with \`ffmpeg\` and \`VidStab\`

DevFeed: [Video Stabilization with \`ffmpeg\` and \`VidStab\`](<https://devfeed.tech/articles/video-stabilization-with-ffmpeg-and-vidstab-21682.md>)

Original publisher: [Read original article](<https://paulirish.com/2021/video-stabilization-with-ffmpeg-and-vidstab/>)

Author: Paul Irish

Published: 2021-04-30T18:33:00Z

Content type: tutorial

Language: en

Sources: [Paul Irish](<https://devfeed.tech/sources/paul-irish.md>)

Topics: [FFmpeg (Fast Forward Moving Picture Experts Group)](<https://devfeed.tech/topics/ffmpeg.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [commands](<https://devfeed.tech/tags/commands.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [diy](<https://devfeed.tech/tags/diy.md>), [ffmpeg](<https://devfeed.tech/tags/ffmpeg.md>), [guide](<https://devfeed.tech/tags/guide.md>), [install](<https://devfeed.tech/tags/install.md>), [installation](<https://devfeed.tech/tags/installation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [make](<https://devfeed.tech/tags/make.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A practical guide to stabilizing video with FFmpeg and VidStab. It covers installation on Mac OS and Linux, the two-pass detection and transformation workflow, and commands for creating vertically stacked or side-by-side comparison videos.

### Source excerpt

Way back in Dec 2015, @maxogden wrote a nice guide on stabilizing your own video with ffmpeg. I return to it on occasion and have updated my gist comment to offer some updated commands. Since enough has changed regarding installation and use, I figure a new, spiffy, and working guide deserves a non-gist home. Presenting the 2021-era guide to pretty easy DIY video stabilization! On Mac OS, install ffmpeg and vidstab from homebrew: 1 2 brew install ffmpeg brew install libvidstab On linux, you can sudo make install. Run stabilization in two passes There are plenty of options for libvidstab, like shakiness, accuracy, smoothing. The defaults are good, but you may want to experiment. There's even a visual diagnostic mode. Assuming the source video is named clip.mkv... 1 2 3 4 5 6 # The first pass ('detect') generates stabilization data and saves to `transforms.trf` # The `-f null -` tells ffmpeg there's no output video file ffmpeg -i clip.mkv -vf vidstabdetect -f null - # The second pass ('transform') uses the .trf and creates the new stabilized video. ffmpeg -i clip.mkv -vf vidstabtransform clip-stabilized.mkv You now have a clip-stabilized.mkv! Bonus: create a comparison video Use the vstack or hstack filter, depending on if you want them stacked vertically or side-by-side: 1 2 3 4 5 # vertically stacked ffmpeg -i clip.mkv -i clip-stabilized.mkv -filter_complex vstack clips-stacked.mkv # side-by-side ffmpeg -i clip.mkv -i clip-stabilized.mkv -filter_complex hstack clips-sxs.mkv Double bonus: A two-liner that does everything (because repeating these filenames gets annoying) 1 2 export vid="sourcevid.mkv" ffmpeg -i "$vid" -vf vidstabdetect -f null -; ffmpeg -i "$vid" -vf vidstabtransform "$vid.stab.mkv"; ffmpeg -i "$vid" -i "$vid.stab.mkv" -filter_complex vstack "$vid.stacked.mkv"

## Programming the ESP8266 on an M1 Mac

DevFeed: [Programming the ESP8266 on an M1 Mac](<https://devfeed.tech/articles/programming-the-esp8266-on-an-m1-mac-39519.md>)

Original publisher: [Read original article](<https://rambo.codes/posts/2021-02-16-programming-the-esp8266-on-an-m1-mac>)

Published: 2021-02-16T17:30:00Z

Content type: tutorial

Language: en

Sources: [Rambo Codes](<https://devfeed.tech/sources/rambo-codes.md>)

Topics: [ESP8266](<https://devfeed.tech/topics/esp8266.md>), [Arduino](<https://devfeed.tech/topics/arduino.md>), [Microcontrollers](<https://devfeed.tech/topics/microcontrollers.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [arduino](<https://devfeed.tech/tags/arduino.md>), [esp8266](<https://devfeed.tech/tags/esp8266.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [microcontrollers](<https://devfeed.tech/tags/microcontrollers.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article explains how to program an ESP8266 microcontroller with the Arduino Pro IDE on an M1 Mac. It documents a workaround involving Homebrew-installed Python 3 and changing the ESP8266 upload tool to use that Python installation.

### Source excerpt

Gui Rambo writes about his coding and reverse engineering adventures.

## Taking Another Look at Phoenix and Elixir - Part 1 - Upgrading

DevFeed: [Taking Another Look at Phoenix and Elixir - Part 1 - Upgrading](<https://devfeed.tech/articles/taking-another-look-at-phoenix-and-elixir-part-1-upgrading-28161.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/elixir/2020/09/15/taking-another-look-at-phoenix-and-elixir-part-1-upgrading.html>)

Author: Fuzzygroup

Published: 2020-09-15T14:23:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Elixir](<https://devfeed.tech/topics/elixir.md>), [phoenix](<https://devfeed.tech/topics/phoenix.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Erlang](<https://devfeed.tech/topics/erlang.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [elixir](<https://devfeed.tech/tags/elixir.md>), [erlang](<https://devfeed.tech/tags/erlang.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [installation](<https://devfeed.tech/tags/installation.md>), [phoenix](<https://devfeed.tech/tags/phoenix.md>), [rails](<https://devfeed.tech/tags/rails.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>)

### AI overview

A practical guide to upgrading Elixir, Erlang/OTP, Mix, Hex, and Phoenix, then creating a sample Phoenix application and preparing to compare it with an existing Rails codebase.

### Source excerpt

I've been on the fence about Phoenix and Elixir for a while and I thought I'd take at least a quick dive. I've had a development system for Phoenix and Elixir since at least 2016 but I haven't done much. This means that the first task is bringing it into the 2020s. Upgrading Elixir I installed Elixir via HomeBrew which means it is a simple: which elixir /usr/local/bin/elixir Note: It can be hard sometimes to know if you installed things via HomeBrew and checking their location is an easy cheap as HomeBrew installs stuff to /usr/local/bin And then: brew upgrade elixir And then: elixir --version Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe] [dtrace] Elixir 1.10.4 (compiled with Erlang/OTP 23) You can also use just -v: elixir -v Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe] [dtrace] Elixir 1.10.4 (compiled with Erlang/OTP 23) Upgrading Mix and Hex Mix and Hex give the equivalent of a build tool (like Rake from the Rails world) and a Package Manager (like Gem / Bundler). To upgrade mix, you use: mix local.hex Found existing entry: /Users/sjohnson/.mix/archives/hex-0.20.5 Are you sure you want to replace it with "https://repo.hex.pm/installs/1.10.0/hex-0.20.5.ez"? [Yn] Y * creating /Users/sjohnson/.mix/archives/hex-0.20.5 And that will upgrade both mix and hex. Upgrading Phoenix The phoenix framework version I have dates back to 1.2 or 1.3 I think. The first step is to figure out what version I have: mix phoenix.new --version Phoenix v1.3.3 The method to upgrade the Phoenix framework itself is: mix archive.install hex phx_new 1.5.4 I used a google query to discover that the current Phoenix framework version was 1.5.4. The other way to find this version number is to go to this url: https://hexdocs.pm/phoenix/installation.html And then look at the drop down of different versions in the left hand sidebar. The latest version is always at the top. Creating a Sample App My fir

## PG ConnectionBad (could not connect to server No such file or directory)

DevFeed: [PG ConnectionBad (could not connect to server No such file or directory)](<https://devfeed.tech/articles/pg-connectionbad-could-not-connect-to-server-no-such-file-or-directory-28220.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/postgres/2020/04/08/pg-connectionbad-could-not-connect-to-server-no-such-file-or-directory.html>)

Author: Fuzzygroup

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

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [osx](<https://devfeed.tech/topics/osx.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [crashes](<https://devfeed.tech/tags/crashes.md>), [development](<https://devfeed.tech/tags/development.md>), [errors](<https://devfeed.tech/tags/errors.md>), [osx](<https://devfeed.tech/tags/osx.md>), [personal](<https://devfeed.tech/tags/personal.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [rails](<https://devfeed.tech/tags/rails.md>)

### AI overview

A troubleshooting note for a PostgreSQL connection error on an OSX Mojave development machine. It explains that a stale postmaster.pid file can make Homebrew falsely report PostgreSQL as running, and recommends verifying that PostgreSQL is stopped before removing the file and restarting the service.

### Source excerpt

I've recently had the situation where my personal development box (OSX Mojave, Rails, Postgres) has become unstable with, at times, multiple crashes per day. I logged in this morning and found myself getting errors like this: PG::ConnectionBad (could not connect to server: No such file or directory) I did some digging and even though Postgres appeared to be running to brew, it was a false positive due to a leftover postmaster.pd file. Here was the fix: First make sure that postgres isn't running use ps i.e. **ps auwwx grep post**. Delete the file: /usr/local/var/postgres/postmaster.pid i.e. rm /usr/local/var/postgres/postmaster.pid At this point brew will, foolishly and oddly, still think Postgres is running so do do a brew restart postgres Here's a handy Stack Overflow reference. Note: Make absolutely sure that postgres is NOT running before you delete postmaster.pid or you risk serious database corruption / data loss.

[Next page](<https://devfeed.tech/topics/homebrew.md?cursor=WyIyMDIwLTA0LTA4VDAwOjAwOjAwKzAwOjAwIiwgIjIzY2Y2ZGY0LTQxMmItNDljNi04MzE2LTVhOWQwY2Q5MDJlNyJd>)