Javed A. Butt @javedab.bsky.social · 13/07/2026Not sure if this man believed in an afterlife. Well, if I were in his position, having engaged in the killing of children, I would also hope for no such thing as judgment day. #Lindsey #Graham #Gaza 000
Javed A. Butt @javedab.bsky.social · 10/07/2026Isn't it strange to see a politician who actually cares for people? I am, alhamdulillah, very glad that Mamdani keeps delivering. In the meantime Trump and co are busy starting wars. #Mamdani #Trump 000
Javed A. Butt @javedab.bsky.social · 13/05/2026The one header I didn't add yet: CSP. For sites with forms it mitigates an active surface. For a static site it guards against rarer-but-bigger events: compromised analytics, a poisoned CDN, a future change that adds input. Will inshallah follow when the audit fits. CSP WebSecurity Astro 000
Javed A. Butt @javedab.bsky.social · 13/05/2026Enabled HSTS with preload. Cost is one-way: every current and future subdomain must serve HTTPS or become unreachable. Removal is in browser-release hands. Accepted because the site is HTTPS-only by intent and Caddy provisions per-subdomain certs automatically. HSTS WebSecurity Caddy 000
Javed A. Butt @javedab.bsky.social · 12/05/2026Skipped Permissions-Policy. It blocks browser APIs (camera, mic, geolocation) the site doesn't use. Disabling something not in use protects against nothing. Embedding YouTube fullscreen would mean carving exceptions back in. Scanner score drops one notch. Site no less safe. WebSecurity Caddy 000
Javed A. Butt @javedab.bsky.social · 11/05/2026Most cache misconfiguration is not carelessness, it's a missing handshake. Your build encodes assumptions (hashed filenames mean URL changes on content change). The server has to know. If it doesn't, the framework's work gets quietly undone at the last layer. WebPerf Caching 000
Javed A. Butt @javedab.bsky.social · 11/05/2026Your site loads. Returning visitors might be re-downloading everything on every click. The connection might still allow HTTPS-to-HTTP downgrade. Your homepage might be two domains in Google. The web server config is the last layer most static sites never touch. Astro Caddy WebPerf 100
Javed A. Butt @javedab.bsky.social · 09/05/2026Honest limit: the voice client is closed-source. alsa-utils restored it, so the path likely ends at arecord. Probable, not verified. The strict claim: alsa-utils was the missing piece. Linux SSH SelfHosting 011
Javed A. Butt @javedab.bsky.social · 09/05/2026Mic-forwarding trade-off: the remote process gets your live mic for the session. Anything under the same user can read the same source. Normal for a forwarded device. Worth knowing upfront. SSH Privacy Linux 010
Javed A. Butt @javedab.bsky.social · 09/05/2026Warning: remote port forwarding failed for listen port 4713. Two causes: CI inheriting SSH config it doesn't need, or second session finding the port already bound. Neither means audio is broken. SSH Linux SelfHosting 011
Javed A. Butt @javedab.bsky.social · 08/05/2026TCP-over-SSH for audio: nothing new on either side. PipeWire on the laptop, OpenSSH on both, encryption from the tunnel. Alternatives skip encryption or add software. The fix used what was already there. PipeWire SSH Linux 000
Javed A. Butt @javedab.bsky.social · 08/05/2026Second SSH session: Warning: remote port forwarding failed. Port already bound by the first session. Fix: ControlMaster auto in ~/.ssh/config. One tunnel, shared by all sessions. Voice mode will inshallah be reachable from all of them. SSH Linux SelfHosting 011
Javed A. Butt @javedab.bsky.social · 08/05/2026CI deploy: Warning: remote port forwarding failed for listen port 4713. Deploy worked. Site live. CI has no audio runtime. The SSH config directive had nothing to land on. Fix: ssh -o ClearAllForwardings=yes SSH Linux SelfHosting 011
Javed A. Butt @javedab.bsky.social · 07/05/2026The gap that hides quietly: tunnel working, pactl info showing the mic, every layer fine. Voice mode still failing. alsa-utils not installed. The recording binary that reads mic bytes was missing. Installing it will inshallah close the gap. Linux SSH SelfHosting 011
Javed A. Butt @javedab.bsky.social · 07/05/2026cannot find card '0'. The error on a remote server. Easy read: no hardware, nothing to do. Actual situation: audio on Linux is daemon-mediated. PipeWire exposes TCP. Remote process can reach the local mic. Linux PipeWire SSH 000
Javed A. Butt @javedab.bsky.social · 07/05/2026Considered: PulseAudio module-tunnel-source. Same Pulse protocol, no SSH tunnel. Cost: no encryption. Auth cookie travels in the clear. SSH tunnel gives encryption for free. TCP-over-SSH wins on that alone. PulseAudio SSH Privacy 000
Javed A. Butt @javedab.bsky.social · 06/05/2026Considered: PipeWire's RTP modules. Lower latency, but UDP, no encryption, default group 224.0.0.56 is LAN multicast. Both ends need matching config. Wrong fit for a point-to-point remote. PipeWire Linux SelfHosting 011
Javed A. Butt @javedab.bsky.social · 06/05/2026Often suggested for SSH audio: X11 forwarding. Doesn't work. ssh -X carries display, not audio. Adding audio onto X still requires module-x11-publish or NX/x2go's audio channel. Neither applies on a headless server. SSH Linux SelfHosting 011
Javed A. Butt @javedab.bsky.social · 06/05/2026Claude Code's voice mode needs a microphone. On a remote Linux server over SSH, there is none. Error: cannot find card '0'. ALSA scanning for hardware that isn't there. PipeWire SSH Linux 100
Javed A. Butt @javedab.bsky.social · 23/04/2026Resolved the OG card split: four platforms yes, X and Mastodon no. Root cause: Caddy v2.10.2 bug returns HTTP 206 for precompressed files. Both platforms require exactly 200. Fix: upgrade to v2.11.2. Found by reading Mastodon's open source fetch code. #webdev #opensource 150
Javed A. Butt @javedab.bsky.social · 20/04/2026OG cards for this page render on LinkedIn, Facebook, Threads, and here. Only X and Mastodon fail. Same HTML everywhere, so the markup is ruled out. Remaining suspects: reputation filters, fetch infrastructure. Anyone shipped a site with this exact split? javedab.com/en/about/javedab.comAbout Javed Arshad ButtAerospace engineer turned entrepreneur. Muslim, building in public. Available for AI, automation, and modern websites. 000
Javed A. Butt @javedab.bsky.social · 15/11/2025Unpopular truth: assuming AI agents will 'handle it' is the fastest path to failure. Test rigorously. Find what breaks. Catch it early. The magic isn't in the agent. It's in the honest work you put in. AIAgents AI Automation 020
Javed A. Butt @javedab.bsky.social · 12/11/2025Discovered something about AI agents: they're better at critiquing each other than self-editing. My workflow: 2 agents, same context. One writes, I show it to the other for feedback. They actually disagree sometimes. Find real flaws. Makes writing way less tedious. AIagents AI Workflow 010
Javed A. Butt @javedab.bsky.social · 10/11/2025WordPress user ≠ Developer Same as: Excel user ≠ Database engineer One asks: "Which plugin?" Other asks: "How do I build this?" Different skillsets. Both valid. WordPress WebDev Programming 030
Javed A. Butt @javedab.bsky.social · 08/11/2025If you code, try JetBrains Mono. It's beautiful and readable. I have this weird crush on typography and spent days researching fonts for every use case. Call me crazy but letters can be stunning. typography coding fonts 022
Javed A. Butt @javedab.bsky.social · 07/11/2025Something I noticed in Surah Al-Baqarah: Ayah 2:44 talks about giving advice. Right after that, in 2:45, Allah gives advice Himself. And it's the exact advice Muslims give each other everywhere today: Sabr. Quran Islam Sabr 100
Javed A. Butt @javedab.bsky.social · 06/11/2025Honest question: How many times have you rejected good advice just because of WHO said it? I struggle with this. My nafs fights it every time. Quran SelfReflection Islam 100
Javed A. Butt @javedab.bsky.social · 06/11/2025Zohran Mamdani won against billionaires who put politicians on their payroll and ran smear campaigns. They lost because regular people united. But they won't stop. New Yorkers - stay vigilant and keep making noise, InshAllah. ZohranMamdani PeoplePower NewYork 000
Javed A. Butt @javedab.bsky.social · 05/11/2025Norman Finkelstein on the UN rape investigation: "This isn't absence of evidence. With 5,000 images and 50 hours of video showing nothing, this is overwhelming evidence there was no rape." Palestine Gaza October7th 010
Javed A. Butt @javedab.bsky.social · 05/11/2025When you submit 4,700 pages of documentation to the International Court of Justice, you're not making a casual claim. Gaza ICJ Palestine 110
Javed A. Butt @javedab.bsky.social · 04/11/2025Advocating violent overthrow? Protected. Burning the flag? Protected. "From the river to the sea"? A Reagan judge ruled: also protected. Called those who arrested students "cowardly desperados acting like the KKK." FreeSpeech Palestine FreePalestine 010
Javed A. Butt @javedab.bsky.social · 04/11/2025Van Jones claimed dead babies on TikTok are because Qatar and Iran control it. Norman Finkelstein's response: Maybe because there are that many dead Gazan babies. October 2023: 20,000+ children. More than all other war zones combined. Palestine Gaza NormanFinkelstein 020
Javed A. Butt @javedab.bsky.social · 04/11/2025I was wrong about Israeli society. I thought they were different from Netanyahu. Norman Finkelstein just destroyed that illusion with hard evidence. Palestine Gaza Genocide 120
Javed A. Butt @javedab.bsky.social · 04/11/2025Norman Finkelstein saw Gaza as a concentration camp before the rest of the world did. Today we call it genocide. But he says something even harder to accept. Palestine Gaza Genocide 110
Javed A. Butt @javedab.bsky.social · 04/11/2025Norman Finkelstein wrote "I Accuse" about Gaza. 370 copies sold. He bought half of them himself. He wanted it for an ICC case. Years of trying. 2020: he gave up. Nobody cared. Makes you think: what if Gazans hadn't fought for themselves? Palestine Gaza Resistance 020
Javed A. Butt @javedab.bsky.social · 04/11/2025Why do I keep checking if Zohran Mamdani won? Because people deserve leaders who actually care about them over money. I know that sounds naive. But maybe he's different. Maybe New Yorkers will InshAllah finally get a leader who serves them. ZohranMamdani NYC Election 000
Javed A. Butt @javedab.bsky.social · 02/11/2025From my understanding of Surah Al-Baqarah 2:251: success built on injustice is temporary. Allah replaces corrupt powers with those who strive for justice. Otherwise corruption would dominate the earth. Quran Justice Islam 110
Javed A. Butt @javedab.bsky.social · 02/11/2025My wife asked if she'd be safe wearing burqa here. I told her honestly: I don't know. Not just physically safe. The looks. The judgment. The flipped narrative. Zohran Mamdani gets it: www.youtube.com/watch?v=uGBQwCsIhn0 Islamophobia NYC Muslim 010
Javed A. Butt @javedab.bsky.social · 02/11/2025Working on a Quran-related project? Found something useful to share. MuslimDevs OpenSource Quran 110
Javed A. Butt @javedab.bsky.social · 01/11/2025Ran a test: OpenAI's Codex CLI vs Anthropic's Claude Code for exploring GitHub code. Claude said a feature didn't exist. Codex found it. So Codex is better? No. One test. Different strengths. My take: Use both if you can afford it. CodingTools AI SoftwareDevelopment 000
Javed A. Butt @javedab.bsky.social · 30/10/2025AI agents coding on their own sounds great until you watch them burn thousands of tokens refactoring the same code over and over, still missing dependencies. I built an MCP helper that uses a language server instead. Proper tooling beats brute force token spending. MCP AI 000
Javed A. Butt @javedab.bsky.social · 30/10/2025AI agents aren't calling functions. The LLM just outputs text that looks like instructions. Your code reads that text, finds the pattern, and executes the actual function. Then it feeds the result back to the LLM. That's it. MCP doesn't change this reality, it just standardizes the pattern format. 110
Javed A. Butt @javedab.bsky.social · 29/10/2025Should you pick Claude Code or Codex? I've been using both together actually. They have different strengths. Codex (GPT-5) is the better thinker, Claude Code is the faster coder. What works for me: give both full context, let Codex act as the manager in thinking mode, Claude Code as the developer. 100
Javed A. Butt @javedab.bsky.social · 29/10/2025The angels questioned Allah. They asked why He would place humans on earth when they might spread corruption. Allah answered them instead of silencing them. Here's what hits me: Allah has infinite power. He could have ended that conversation instantly. But He chose to respond. No leader in this 110
Javed A. Butt @javedab.bsky.social · 28/10/2025The angels closest to Allah, when they heard about human creation (2:30), immediately raised concerns about corruption and bloodshed. Not rituals. Not ceremonies. Justice and preventing harm. If beings that close to Allah make justice their priority, we Muslims need to ask ourselves: is justice 110
Javed A. Butt @javedab.bsky.social · 28/10/2025Sami Hamdi arrested by US ICE for speaking up for Gaza. The US could pressure the UK to silence him. But Sami can't be silenced by threats. That's why I'm genuinely concerned. These "liberal" states bomb newborns and call it justice. May Allah protect Sami. FreeSamiHamdi StandWithSami Gaza 100
Javed A. Butt @javedab.bsky.social · 28/10/2025Governments that bomb newborns for three years do not get to arrest people in the name of justice. The US ICE arrested Sami Hamdi. People everywhere see the hypocrisy clearly. When you show no mercy to infants, you have no moral authority left. StandWithSami FreeSamiHamdi Gaza Genocide 000
Javed A. Butt @javedab.bsky.social · 27/10/2025Sami Hamdi has been arrested by ICE. The same Sami Hamdi who spoke about Palestine when powerful voices tried to silence him. Who met children who survived the bombings but lost body parts. Who made his case with pure rational reasoning. If you stand for the oppressed, you get problems with the 100
Javed A. Butt @javedab.bsky.social · 27/10/2025Need consistent branded images but you're more comfortable with code than design tools? Here's what I've been doing: build the layout in Astro (you can integrate React, SolidJS, whatever), style it with TailwindCSS or any CSS/JS libraries you like, see changes instantly thanks to Vite, then just 110
Javed A. Butt @javedab.bsky.social · 26/10/2025Here's a wild take on agentic coding: you might want to use Rust over Python. The real struggle isn't writing code. It's understanding requirements. You need to know which questions even exist before you can answer them. Vibe coding breaks down here. You tell the LLM your big idea, it generates 100