Zafir SK Heerah

@zfir
5 Followers
42 Following
18 Posts
Software Engineer | Consultant | Android and iOS Development | www.zfir.dev | blog.zfir.dev

One thing I noticed with long-running AI workflows such as Claude Dispatch on macOS:

your Mac sleeping quietly kills the entire process.

Wrote a short blog about the setup:
https://l.zfir.dev/3V3MaLo

#Claude #macOS #AIWorkflow #Productivity #Automation

Always Online, Never Sleeping: Running Claude Dispatch on macOS

Running AI workflows locally is powerful—but only if they actually complete.

Streaming audio to OpenAI in your browser is cool… until you deal with PCM16.

The browser gives you Float32 audio. The API expects PCM16 at 24kHz.

That means:

Float32 → clamp → Int16 → base64 → send to realtime api

If you don’t handle the conversion properly, you’ll hear it right away — crackling, silence, or wrong pitch.

Wrote a quick guide on how to do it correctly: https://l.zfir.dev/6rbGCiN

#PCM16 #WebAudioAPI #OpenAI #OpenAIRealtime #JavaScript

PCM16 encoding for the OpenAI Realtime API — a practical guide

You’re streaming audio from the browser. The API expects PCM16. Here’s what the implementation actually looks like and the things worth knowing before you start. Press enter or click to view image in full size

Speeding up Docker builds with pnpm store caching 🚀

If your containers keep re-downloading dependencies, you’re losing a lot of time. pnpm uses a global store—so persisting it with a named Docker volume makes pnpm install much faster after the first run.

Short guide: https://l.zfir.dev/9MFJSUo

#docker #pnpm #NodeJS #devops #dockercompose

Speeding up Docker builds with pnpm store caching

pnpm is fast because it keeps downloaded packages in a store and links them into node_modules. In Docker, if that store is ephemeral, pnpm install ends up re-downloading the world.

📱 Turn any Android phone into a desktop-style workstation!

I wrote a short guide on how to use scrcpy with the `--new-display` option to get a Samsung DeX-like virtual display on your PC.

Read the blog here: https://proandroiddev.com/enable-a-desktop-style-experience-samsung-dex-on-any-android-device-unlocking-the-power-of-scrcpy-b91d28d685fc

#Android #AndroidAppDevelopment #AndroidDevelopment #ScreenMirroring #Scrcpy #SamsungDex #Productivity #TechTips #OpenSource #Developers #Linux #macOS #Windows

I’ve set up my own remote development environment. It’s consistent, secure, and accessible from anywhere — even on my iPad 😎.

Stack: AWS Lightsail • Tailscale • SSH • GitHub • Code-Server • VS Code Remote-SSH • Cloudflare Tunnel

👉 Learn more about it here: https://l.zfir.dev/B3mfuXp

#RemoteDev #DevOps #VSCode #AWS #Tailscale #Cloudflare #SoftwareDevelopment #WebDevelopment #DeveloperTools #CloudComputing

My Remote Dev Setup 2025–2026

I’ve always wanted a development environment that’s consistent, secure, and accessible from anywhere — without dragging around a heavy…

Tired of generic hostnames like ip-172-26-8-23 in your terminal?

In this short guide, I show you how to rename your Linux server with a clean, custom hostname — something that actually makes sense.

Read the full post: https://l.zfir.dev/8pAnyEU

#Linux #Ubuntu #DevOps #SysAdmin #ServerManagement

Give Your Server an Identity: How to Change the Hostname on a Linux Server (Systemd-Based Linux)

Setting a meaningful hostname for your Linux server is a simple yet essential task. Whether you’re managing a single machine or dozens…

You may have seen Apple use 9:41 as time in their product images 📱. Want to make your iOS app screenshots look just the same, professional, and consistent for polished App Store listings and marketing visuals?

Learn how to customise the iOS Simulator’s status bar in this blog:

🔗 https://l.zfir.dev/8gt4dqs

#iOS #iOSAppDevelopment #iOSDevelopment #iOSApps #Simulator #AppStore #MobileDevelopment #XCode

Make Your iOS App Screenshots Look Perfect: Customise the Simulator Status Bar

When developing and testing iOS applications, it’s common to take screenshots for the App Store, marketing materials, or documentation…

Control your Android device seamlessly from your PC.
Achieving iPhone Mirroring on Android: Unlocking the Power of scrcpy

Thanks to @proandroiddev for publishing!

https://proandroiddev.com/achieving-iphone-mirroring-on-android-unlocking-the-power-of-scrcpy-c82b3ba438db

Achieving iPhone Mirroring on Android: Unlocking the Power of scrcpy

Screen mirroring is a feature often associated with iPhones and Apple’s ecosystem. But did you know Android users can achieve similar functionality with scrcpy, a free and open-source tool? In this…

ProAndroidDev

Running a Web App like Angular, React, Vue.js, ... on an Android app with a Local Webserver running. Here is an example:

https://l.zfir.dev/4WNZazT

#Android #AndroidAppDevelopment #JavaScript #JavascriptDevelopment #JavascriptFrameworks

Running React, Angular.js, Ember.js, … Locally on Android

In this post, we’ll explore how you can run any JavaScript framework app — like React, Angular.js, or Ember.js — locally on an Android…

Here is a guide on how to install an NPM package for example from a monorepo. Note: Use this only for testing purposes.

Link: https://zfir.medium.com/installing-a-dependency-from-a-monorepo-easily-6b810c0189f8

Installing a Dependency from a Monorepo Easily - Zafir Sk Heerah - Medium

When working with JavaScript projects, monorepos are a popular way to manage multiple packages or projects under a single repository. Encountering a monorepo that has not published a sub-package to a…

Medium