# Ariya Hidayat

Recent content on ariya.io

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

## The Illusion of Perfect LLM Code

DevFeed: [The Illusion of Perfect LLM Code](<https://devfeed.tech/articles/the-illusion-of-perfect-llm-code-27461.md>)

Original publisher: [Read original article](<https://ariya.io/2026/05/the-illusion-of-perfect-llm-code/>)

Published: 2026-06-01T00:59:21Z

Content type: opinion

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Security](<https://devfeed.tech/topics/security.md>), [Web app](<https://devfeed.tech/topics/webapp.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [developers](<https://devfeed.tech/tags/developers.md>), [llm](<https://devfeed.tech/tags/llm.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

The author compares several LLMs on implementing authentication for a web app and finds that they generally follow structured instructions well, while their ability to identify security flaws varies. The article argues that developers should independently review LLM-generated code and test its security before production deployment.

### Source excerpt

I recently tested several different LLMs by tasking them with implementing a simple authentication feature for a web app. It is clear that almost all modern LLMs are now excellent at following a structured blueprint. However, the real differences appeared when looking under the hood at the security of the generated code.

## One Decade Later: Revisiting Five Front-End Kung Fu Moves

DevFeed: [One Decade Later: Revisiting Five Front-End Kung Fu Moves](<https://devfeed.tech/articles/one-decade-later-revisiting-five-front-end-kung-fu-moves-27460.md>)

Original publisher: [Read original article](<https://ariya.io/2026/04/one-decade-later-revisiting-five-front-end-kung-fu-moves/>)

Published: 2026-04-30T23:26:34Z

Content type: opinion

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Front end](<https://devfeed.tech/topics/frontend.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [test-coverage](<https://devfeed.tech/topics/test-coverage.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [ESLint](<https://devfeed.tech/topics/eslint.md>), [Git](<https://devfeed.tech/topics/git.md>), [web-standards](<https://devfeed.tech/topics/web-standards.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [code-coverage](<https://devfeed.tech/tags/code-coverage.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [coverage](<https://devfeed.tech/tags/coverage.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [git-hooks](<https://devfeed.tech/tags/git-hooks.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [testing](<https://devfeed.tech/tags/testing.md>), [web-standards](<https://devfeed.tech/tags/web-standards.md>)

### AI overview

A retrospective revisits front-end engineering techniques presented at a JavaScript meetup ten years earlier. It discusses git hooks, code complexity, code coverage, and cross-browser testing, explaining how common tools and modern workflows have changed their practical use.

### Source excerpt

Exactly ten years ago, I gave a talk at the SF JavaScript meetup titled 5 Kung Fu Moves for Front-End Heroes. A full decade later, I found myself wondering: are these techniques still the secret sauce for modern front-end engineering, or have they been rendered obsolete by time?

## Local, CPU-Friendly, High-Quality TTS (Text-to-Speech) with Kokoro

DevFeed: [Local, CPU-Friendly, High-Quality TTS (Text-to-Speech) with Kokoro](<https://devfeed.tech/articles/local-cpu-friendly-high-quality-tts-text-to-speech-with-kokoro-27459.md>)

Original publisher: [Read original article](<https://ariya.io/2026/03/local-cpu-friendly-high-quality-tts-text-to-speech-with-kokoro/>)

Published: 2026-04-01T04:42:35Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [voice ai](<https://devfeed.tech/topics/voice-ai.md>), [container](<https://devfeed.tech/topics/container.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [API](<https://devfeed.tech/topics/api.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [podman](<https://devfeed.tech/topics/podman.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [container](<https://devfeed.tech/tags/container.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [docker](<https://devfeed.tech/tags/docker.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [openai](<https://devfeed.tech/tags/openai.md>), [podman](<https://devfeed.tech/tags/podman.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [python](<https://devfeed.tech/tags/python.md>), [speech](<https://devfeed.tech/tags/speech.md>), [text-to-speech](<https://devfeed.tech/tags/text-to-speech.md>)

### AI overview

A tutorial on running Kokoro, an 82M-parameter text-to-speech model, locally with speech synthesis performed entirely on the CPU. It explains how to launch Kokoro-FastAPI in Docker or Podman, use its web UI or OpenAI-compatible speech API, run JavaScript and Python examples, select voices, and measure generation speed across CPUs.

### Source excerpt

Just a few years ago, realistic local speech generation seemed unimaginable. Today, its quality is exceptional and, crucially, it delivers these results without compromising privacy.

## GTX 1080 Ti for Local LLM

DevFeed: [GTX 1080 Ti for Local LLM](<https://devfeed.tech/articles/gtx-1080-ti-for-local-llm-27458.md>)

Original publisher: [Read original article](<https://ariya.io/2026/02/gtx-1080-ti-for-local-llm/>)

Published: 2026-02-28T23:33:54Z

Content type: article

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [GPU](<https://devfeed.tech/topics/gpu.md>), [LLMs](<https://devfeed.tech/topics/llms.md>), [llama.cpp](<https://devfeed.tech/topics/llama-cpp.md>), [Nvidia](<https://devfeed.tech/topics/nvidia.md>), [CUDA](<https://devfeed.tech/topics/cuda.md>), [Inference Performance](<https://devfeed.tech/topics/inference-performance.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>)

Tags: [cmake](<https://devfeed.tech/tags/cmake.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [cuda](<https://devfeed.tech/tags/cuda.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [gemma](<https://devfeed.tech/tags/gemma.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [inference](<https://devfeed.tech/tags/inference.md>), [inference-performance](<https://devfeed.tech/tags/inference-performance.md>), [llama](<https://devfeed.tech/tags/llama.md>), [llama-cpp](<https://devfeed.tech/tags/llama-cpp.md>), [llms](<https://devfeed.tech/tags/llms.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>)

### AI overview

This article evaluates the eight-year-old NVIDIA GTX 1080 Ti as an affordable option for running local LLMs. It explains how its 11 GB of VRAM can support quantized models and relevant context windows, then describes measuring prompt-processing and token-generation performance with CUDA-enabled llama.cpp.

### Source excerpt

Despite being over eight years old, the NVIDIA GTX 1080 Ti remains a compelling choice for enthusiasts keen on running LLM locally.

## Not Everything is an Agent

DevFeed: [Not Everything is an Agent](<https://devfeed.tech/articles/not-everything-is-an-agent-27457.md>)

Original publisher: [Read original article](<https://ariya.io/2025/03/not-everything-is-an-agent/>)

Published: 2025-04-01T06:47:17Z

Content type: opinion

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [LangChain](<https://devfeed.tech/topics/langchain.md>), [Ollama](<https://devfeed.tech/topics/ollama.md>), [coding assistant](<https://devfeed.tech/topics/coding-assistant.md>), [anthropic](<https://devfeed.tech/topics/anthropic.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [ai](<https://devfeed.tech/tags/ai.md>), [anthropic](<https://devfeed.tech/tags/anthropic.md>), [code](<https://devfeed.tech/tags/code.md>), [coding-assistant](<https://devfeed.tech/tags/coding-assistant.md>), [langchain](<https://devfeed.tech/tags/langchain.md>), [llm](<https://devfeed.tech/tags/llm.md>), [ollama](<https://devfeed.tech/tags/ollama.md>), [routing](<https://devfeed.tech/tags/routing.md>)

### AI overview

This opinion argues that not every LLM-based program should be called an agent. It distinguishes simple LLM calls, retrieval, memory, chaining, and routing from systems handling complex real-world tasks, and recommends relying on successful evaluations rather than anecdotes or hype.

### Source excerpt

"Agent" is likely going to be the word that will cause existential dread to true LLM enthusiasts.

## GPU Power Limits and LLM Inference Speed

DevFeed: [GPU Power Limits and LLM Inference Speed](<https://devfeed.tech/articles/afterburner-and-power-limit-27456.md>)

Original publisher: [Read original article](<https://ariya.io/2025/02/afterburner-and-power-limit/>)

Published: 2025-03-01T05:37:19Z

Content type: opinion

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [GPU](<https://devfeed.tech/topics/gpu.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [energy](<https://devfeed.tech/tags/energy.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [heat](<https://devfeed.tech/tags/heat.md>), [llm](<https://devfeed.tech/tags/llm.md>), [performance](<https://devfeed.tech/tags/performance.md>), [speed](<https://devfeed.tech/tags/speed.md>), [tokens](<https://devfeed.tech/tags/tokens.md>)

### AI overview

The article examines GPU power limits during LLM inference. It argues that increasing power beyond roughly 250 watts does not improve speed, while reducing power to 200 watts slightly lowers speed but cuts power consumption by a third.

### Source excerpt

Ever witnessed a fighter jet spewing hot flames as it kicks into afterburner? In that moment, efficiency is deliberately sacrificed for maximum acceleration.

## Privacy-Preserving Personal Search Appliance

DevFeed: [Privacy-Preserving Personal Search Appliance](<https://devfeed.tech/articles/privacy-preserving-personal-search-appliance-27455.md>)

Original publisher: [Read original article](<https://ariya.io/2025/01/privacy-preserving-personal-search-appliance/>)

Published: 2025-01-31T04:27:09Z

Content type: article

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [online privacy](<https://devfeed.tech/topics/online-privacy.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [podman](<https://devfeed.tech/topics/podman.md>), [Homelab](<https://devfeed.tech/topics/homelab.md>), [DuckDuckGo](<https://devfeed.tech/topics/duckduckgo.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Intel Core](<https://devfeed.tech/topics/intel-core.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Proxmox](<https://devfeed.tech/topics/proxmox.md>)

Tags: [debian](<https://devfeed.tech/tags/debian.md>), [docker](<https://devfeed.tech/tags/docker.md>), [google](<https://devfeed.tech/tags/google.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [home-server](<https://devfeed.tech/tags/home-server.md>), [intel-core](<https://devfeed.tech/tags/intel-core.md>), [llms](<https://devfeed.tech/tags/llms.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [podman](<https://devfeed.tech/tags/podman.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [proxmox](<https://devfeed.tech/tags/proxmox.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

The article describes a privacy-preserving personal search appliance powered by SearXNG, an open-source metasearch engine that fetches results from other search engines without directly crawling and indexing the web. It covers running SearXNG with Docker or Podman on a used x86 system and discusses dedicated hardware, remote access, power use, and simpler Debian-based setup options.

### Source excerpt

This is powered by SearXNG, an excellent open-source meta search engine.

## LLM Inference Machine for $300

DevFeed: [LLM Inference Machine for $300](<https://devfeed.tech/articles/llm-inference-machine-for-300-27454.md>)

Original publisher: [Read original article](<https://ariya.io/2024/12/llm-inference-machine-for-300/>)

Published: 2024-12-28T04:17:14Z

Content type: article

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Inference](<https://devfeed.tech/topics/inference.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [datacenter](<https://devfeed.tech/topics/datacenter.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [3d-printed](<https://devfeed.tech/tags/3d-printed.md>), [amd](<https://devfeed.tech/tags/amd.md>), [cost](<https://devfeed.tech/tags/cost.md>), [ddr4](<https://devfeed.tech/tags/ddr4.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [inference](<https://devfeed.tech/tags/inference.md>), [llama](<https://devfeed.tech/tags/llama.md>), [llm](<https://devfeed.tech/tags/llm.md>), [memory](<https://devfeed.tech/tags/memory.md>), [models](<https://devfeed.tech/tags/models.md>), [nvidia](<https://devfeed.tech/tags/nvidia.md>), [performance](<https://devfeed.tech/tags/performance.md>), [qwen](<https://devfeed.tech/tags/qwen.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [threads](<https://devfeed.tech/tags/threads.md>), [vision](<https://devfeed.tech/tags/vision.md>)

### AI overview

A $300 used-hardware build runs quantized LLMs including Qwen-2.5 32B, Llama-3.1 8B, and Llama-3.2 Vision 11B. It uses an NVIDIA Tesla M40 with 24GB of VRAM and achieves model-dependent speeds from 7 to 47 tokens per second. The article compares its performance, cost, and upgrade options with newer GPUs and Apple Silicon.

### Source excerpt

You can absolutely run Qwen-2.5 32B. And of course, Llama-3.1 8B and Llama-3.2 Vision 11B are no problem at all.

## Deploying an Uberjar to Dokku

DevFeed: [Deploying an Uberjar to Dokku](<https://devfeed.tech/articles/deploying-an-uberjar-to-dokku-27453.md>)

Original publisher: [Read original article](<https://ariya.io/2023/02/deploying-an-uberjar-to-dokku/>)

Published: 2023-02-23T19:37:36Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Platform as a Service (PaaS)](<https://devfeed.tech/topics/platform-as-a-service-paas.md>), [Self-hosted](<https://devfeed.tech/topics/self-hosted.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>)

Tags: [adoptium](<https://devfeed.tech/tags/adoptium.md>), [containers](<https://devfeed.tech/tags/containers.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [paas-solutions](<https://devfeed.tech/tags/paas-solutions.md>), [scala](<https://devfeed.tech/tags/scala.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>)

### AI overview

This tutorial explains how to deploy a Java Uberjar to Dokku by sending the packaged artifact directly instead of creating a container image. It covers the required application files, packaging, Dokku application setup, and an OpenJDK 17 base image example using Metabase.

### Source excerpt

Dokku is a self-hosted Platform-as-a-Service (PaaS) that offers a compelling alternative to popular PaaS solutions like Heroku. With built-in support for Linux containers, deploying an application on Dokku is straightforward. However, there is a lesser-known deployment method that involves sending a build artifact, such as a JAR package for Java apps, directly to Dokku.

## Continuous Integration for React Native Apps with GitHub Actions

DevFeed: [Continuous Integration for React Native Apps with GitHub Actions](<https://devfeed.tech/articles/continuous-integration-for-react-native-apps-with-github-actions-27452.md>)

Original publisher: [Read original article](<https://ariya.io/2020/12/continuous-integration-for-react-native-apps-with-github-actions/>)

Published: 2020-12-30T02:03:18Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [React Native](<https://devfeed.tech/topics/react-native.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [automation](<https://devfeed.tech/tags/automation.md>), [build](<https://devfeed.tech/tags/build.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [react-native](<https://devfeed.tech/tags/react-native.md>)

### AI overview

A tutorial showing how to configure continuous integration for React Native apps targeting Android and iOS with GitHub Actions. It explains workflow triggers, the Ubuntu build environment, Node.js dependencies, and using Gradle to build the Android app.

### Source excerpt

For React Native mobile apps targeting Android and iOS, an easy way to setup its continuous integration is to take advantage of Actions, an automation workflow service provided by GitHub. Even better, for open-source projects, GitHub Action offers unlimited free running minutes (at the time of this writing).

## On GitHub Actions with MSYS2

DevFeed: [On GitHub Actions with MSYS2](<https://devfeed.tech/articles/on-github-actions-with-msys2-27451.md>)

Original publisher: [Read original article](<https://ariya.io/2020/07/on-github-actions-with-msys2/>)

Published: 2020-08-01T03:33:31Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [C](<https://devfeed.tech/topics/c.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Shell](<https://devfeed.tech/topics/shell.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [c](<https://devfeed.tech/tags/c.md>), [clang](<https://devfeed.tech/tags/clang.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>), [windows](<https://devfeed.tech/tags/windows.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

A practical guide to using GitHub Actions with MSYS2 to build an ANSI C program on Windows. It shows configurations for GCC and Clang, then uses matrix parameters to cover both i686 and AMD64 architectures.

### Source excerpt

Thanks to the complete GitHub Actions for MSYS2, it is easier than ever to construct a continuous integration setup for building with compilers and toolchains which can run on MSYS2.

## Cross-compiling with musl Toolchains

DevFeed: [Cross-compiling with musl Toolchains](<https://devfeed.tech/articles/cross-compiling-with-musl-toolchains-27450.md>)

Original publisher: [Read original article](<https://ariya.io/2020/06/cross-compiling-with-musl-toolchains/>)

Published: 2020-06-22T12:37:59Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>), [toolchains](<https://devfeed.tech/topics/toolchains.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Zig](<https://devfeed.tech/topics/zig.md>), [C](<https://devfeed.tech/topics/c.md>), [qemu](<https://devfeed.tech/topics/qemu.md>), [ci](<https://devfeed.tech/topics/ci.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [cross-compilation](<https://devfeed.tech/tags/cross-compilation.md>), [docker](<https://devfeed.tech/tags/docker.md>), [linux](<https://devfeed.tech/tags/linux.md>), [make](<https://devfeed.tech/tags/make.md>), [mips](<https://devfeed.tech/tags/mips.md>), [qemu](<https://devfeed.tech/tags/qemu.md>), [toolchains](<https://devfeed.tech/tags/toolchains.md>), [windows](<https://devfeed.tech/tags/windows.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

A tutorial on using static musl-based toolchains to cross-compile command-line programs for multiple targets, including MIPS and Windows, from a Linux x86-64 host. It also covers testing non-native binaries with QEMU and migrating FastLZ continuous integration to musl.cc.

### Source excerpt

When working on command-line utilities which can be useful for various platforms, from Windows on x86 to Linux on MIPS, the existence of a cross-compilation is highly attractive. A number of different binaries can be constructed conveniently from a single, typically powerful host system.

## Nix Package Manager on Ubuntu or Debian

DevFeed: [Nix Package Manager on Ubuntu or Debian](<https://devfeed.tech/articles/nix-package-manager-on-ubuntu-or-debian-27449.md>)

Original publisher: [Read original article](<https://ariya.io/2020/05/nix-package-manager-on-ubuntu-or-debian/>)

Published: 2020-05-31T03:11:45Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Windows Subsystem for Linux](<https://devfeed.tech/topics/wsl.md>)

Tags: [debian](<https://devfeed.tech/tags/debian.md>), [install](<https://devfeed.tech/tags/install.md>), [installation](<https://devfeed.tech/tags/installation.md>), [linux](<https://devfeed.tech/tags/linux.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [python](<https://devfeed.tech/tags/python.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [wsl](<https://devfeed.tech/tags/wsl.md>)

### AI overview

A practical guide to installing and using the Nix package manager on Ubuntu or Debian, including systems running under WSL. It covers single-user installation, a workaround for a WSL 1 issue, verification, package discovery, and using Nix to access newer software and switch between development environments.

### Source excerpt

Even though Ubuntu/Debian is equipped with its legendary powerful package manager, dpkg, in some cases, it is still beneficial to take advantage of Nix, a purely functional package manager.

## Practical Testing of Firebase Projects

DevFeed: [Practical Testing of Firebase Projects](<https://devfeed.tech/articles/practical-testing-of-firebase-projects-27448.md>)

Original publisher: [Read original article](<https://ariya.io/2020/04/practical-testing-of-firebase-projects/>)

Published: 2020-04-29T19:10:04Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Firestore](<https://devfeed.tech/topics/firestore.md>), [hosting](<https://devfeed.tech/topics/hosting.md>)

Tags: [axios](<https://devfeed.tech/tags/axios.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firestore](<https://devfeed.tech/tags/firestore.md>), [github](<https://devfeed.tech/tags/github.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [integration](<https://devfeed.tech/tags/integration.md>), [npm](<https://devfeed.tech/tags/npm.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A tutorial on testing Firebase projects locally as they grow. It recommends integration tests, a health check endpoint, Firebase emulators for Functions, Firestore, and Hosting, and running tests through continuous integration.

### Source excerpt

Your little Firebase project is getting bigger every day? Never underestimate the need to establish a solid and firm integration tests from the get go.

## Search Box and Cloud Function

DevFeed: [Search Box and Cloud Function](<https://devfeed.tech/articles/search-box-and-cloud-function-27447.md>)

Original publisher: [Read original article](<https://ariya.io/2020/03/search-box-and-cloud-function/>)

Published: 2020-04-01T06:45:57Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Cloud Functions](<https://devfeed.tech/topics/cloud-functions.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [DuckDuckGo](<https://devfeed.tech/topics/duckduckgo.md>), [Hugo](<https://devfeed.tech/topics/hugo.md>)

Tags: [cloud-functions](<https://devfeed.tech/tags/cloud-functions.md>), [domain](<https://devfeed.tech/tags/domain.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [search](<https://devfeed.tech/tags/search.md>), [static-site](<https://devfeed.tech/tags/static-site.md>)

### AI overview

A tutorial showing how to add a search box to a Hugo blog hosted on Firebase Hosting by using Cloud Functions for Firebase and redirecting searches to DuckDuckGo.

### Source excerpt

For a blog hosted with Firebase Hosting, it turns out that a little search box is fairly easy to implement by using Cloud Functions for Firebase.

## Automatic Merge of Pull Requests

DevFeed: [Automatic Merge of Pull Requests](<https://devfeed.tech/articles/automatic-merge-of-pull-requests-27446.md>)

Original publisher: [Read original article](<https://ariya.io/2020/02/automatic-merge-of-pull-requests/>)

Published: 2020-03-01T07:01:57Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Azure DevOps](<https://devfeed.tech/topics/azure-devops.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>), [bitbucket](<https://devfeed.tech/topics/bitbucket.md>)

Tags: [also](<https://devfeed.tech/tags/also.md>), [azure](<https://devfeed.tech/tags/azure.md>), [bitbucket](<https://devfeed.tech/tags/bitbucket.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [devops](<https://devfeed.tech/tags/devops.md>), [github](<https://devfeed.tech/tags/github.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>)

### AI overview

This tutorial explains Azure DevOps Auto Complete for pull requests. It describes configuring branch policies and build validation so approved pull requests are merged automatically after the continuous integration build succeeds, with options such as squashing, rebasing, fast-forwarding, and deleting the merged branch.

### Source excerpt

After using Azure DevOps for a while, I am totally sold on its Auto Complete feature for pull requests. While it does not apply universally, I do believe that any development process should be at the level where merging pull requests, or generalizing it, integrating all forms of contribution, should be as automatic and as hassle-free as possible.

## Clang on Windows

DevFeed: [Clang on Windows](<https://devfeed.tech/articles/clang-on-windows-27445.md>)

Original publisher: [Read original article](<https://ariya.io/2020/01/clang-on-windows/>)

Published: 2020-01-05T22:46:09Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [c/c++](<https://devfeed.tech/topics/c-c-plus-plus.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Package manager](<https://devfeed.tech/topics/package-manager.md>), [make](<https://devfeed.tech/topics/make.md>), [Azure](<https://devfeed.tech/topics/azure.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>)

Tags: [azure](<https://devfeed.tech/tags/azure.md>), [build](<https://devfeed.tech/tags/build.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [cache](<https://devfeed.tech/tags/cache.md>), [clang](<https://devfeed.tech/tags/clang.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [make](<https://devfeed.tech/tags/make.md>), [pacman](<https://devfeed.tech/tags/pacman.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A tutorial on using MSYS2 to install and run Clang on Windows for building 32-bit and 64-bit C/C++ applications. It also describes integrating the toolchain with Azure Pipelines and caching downloaded packages.

### Source excerpt

Thanks to the MSYS2 project, now there is an easy way to utilize Clang to build C/C++ application on Windows. This works equally well for both 32-bit and 64-bit programs.

## Continuous Integration of Vanilla C Programs for Intel, ARM, and MIPS Architecture

DevFeed: [Continuous Integration of Vanilla C Programs for Intel, ARM, and MIPS Architecture](<https://devfeed.tech/articles/continuous-integration-of-vanilla-c-programs-for-intel-arm-and-mips-architecture-27444.md>)

Original publisher: [Read original article](<https://ariya.io/2019/07/continuous-integration-of-vanilla-c-programs-for-intel-arm-and-mips-architecture/>)

Published: 2019-07-22T22:33:34Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Continuous integration](<https://devfeed.tech/topics/continuous-integration.md>), [C](<https://devfeed.tech/topics/c.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Azure](<https://devfeed.tech/topics/azure.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [gcc](<https://devfeed.tech/topics/gcc.md>), [make](<https://devfeed.tech/topics/make.md>)

Tags: [architectures](<https://devfeed.tech/tags/architectures.md>), [azure](<https://devfeed.tech/tags/azure.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [free](<https://devfeed.tech/tags/free.md>), [gcc](<https://devfeed.tech/tags/gcc.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This tutorial demonstrates continuous integration for a small ANSI C/C90 program across multiple CPU architectures, operating systems, and C/C++ compilers. It uses Azure Pipelines with YAML jobs for supported architecture, operating-system, and compiler combinations, and describes native builds, compiler installation, and executable verification.

### Source excerpt

Developing cross-platform applications presents a major challenge:, how to ensure that every commit does not break some combinations of operating systems and CPU architectures. Fortunately, thanks an array of online services and open-source tools, this challenge becomes easier to tackle.

## Cross Compiling with Docker on WSL 2

DevFeed: [Cross Compiling with Docker on WSL 2](<https://devfeed.tech/articles/cross-compiling-with-docker-on-wsl-2-27443.md>)

Original publisher: [Read original article](<https://ariya.io/2019/06/cross-compiling-with-docker-on-wsl-2/>)

Published: 2019-06-30T21:24:51Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [Windows Subsystem for Linux](<https://devfeed.tech/topics/wsl.md>), [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [qemu](<https://devfeed.tech/topics/qemu.md>), [C](<https://devfeed.tech/topics/c.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [c](<https://devfeed.tech/tags/c.md>), [containers](<https://devfeed.tech/tags/containers.md>), [cross-compilation](<https://devfeed.tech/tags/cross-compilation.md>), [docker](<https://devfeed.tech/tags/docker.md>), [qemu](<https://devfeed.tech/tags/qemu.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>), [windows](<https://devfeed.tech/tags/windows.md>), [wsl](<https://devfeed.tech/tags/wsl.md>)

### AI overview

This tutorial explains how to use Docker on WSL 2 to cross-compile a simple C program for ARMv7. It uses Dockcross for Docker-based cross-compilation, QEMU to run the resulting ARM binary, and briefly describes targets including MIPS, PowerPC, Windows, and WebAssembly.

### Source excerpt

Now that WSL 2 packs a true Linux kernel and supports Linux containers (via Docker), it can be a perfect setup to perform application cross compilations.

## Basics of Memory Access in WebAssembly

DevFeed: [Basics of Memory Access in WebAssembly](<https://devfeed.tech/articles/basics-of-memory-access-in-webassembly-27442.md>)

Original publisher: [Read original article](<https://ariya.io/2019/05/basics-of-memory-access-in-webassembly/>)

Published: 2019-05-13T06:20:17Z

Content type: tutorial

Language: en

Sources: [Ariya Hidayat](<https://devfeed.tech/sources/ariya-hidayat.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [C](<https://devfeed.tech/topics/c.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Image processing](<https://devfeed.tech/topics/image-processing.md>), [Visual Studio Code](<https://devfeed.tech/topics/visual-studio-code.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [image-processing](<https://devfeed.tech/tags/image-processing.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

This tutorial explains WebAssembly's memory model and demonstrates compiling a simple C/C++ function with Emscripten. It shows how to run a minimal WebAssembly module from Node.js with reduced runtime support, inspect its textual format, and prepare for transferring array data such as pixel RGB values for image processing.

### Source excerpt

WebAssembly is getting more popular than ever. The use of WebAssembly outside the confinement of a web browser also starts to gain traction, as evidenced from projects such as WebAssembly Interface. Understanding the memory model of WebAssembly will be important in order to fully comprehend its power as well as its constraints.