Skip to content

Instantly share code, notes, and snippets.

View syntaxhacker's full-sized avatar
🧠
compacting context ...

Rohit J syntaxhacker

🧠
compacting context ...
View GitHub Profile
@syntaxhacker
syntaxhacker / scrapling-news-scraper-guide.md
Last active June 4, 2026 13:12
Build a multi-source news scraper with scrapling — base class, site-specific scrapers, concurrent aggregator, article extraction with ld+json fallbacks.

Building a Multi-Source News Scraper with scrapling

A practical guide to building a concurrent, multi-source news scraper using scrapling — a modern HTML parsing + HTTP library with browser impersonation (no BeautifulSoup/requests needed).


Installation

@syntaxhacker
syntaxhacker / setup-searxng.md
Created June 4, 2026 08:32
SearXNG local setup with JSON API — config, docker, Python client

SearXNG Setup for JSON API Access

Run SearXNG locally with JSON format enabled for programmatic access (e.g., AI/LLM pipelines, news aggregation).

Quick Start

# 1. Create config directory
mkdir -p ~/searxng
@syntaxhacker
syntaxhacker / pikachu-notification-sound-ubuntu.md
Last active May 23, 2026 11:11
Pikachu notification sound on Ubuntu: custom GNOME sound theme + noti-sound zsh function

Pikachu Notification Sound on Ubuntu 24.04 / GNOME 46

Play Pikachu's "pika!" for desktop notifications on Ubuntu 24.04 (GNOME Shell 46), working over Bluetooth headphones.

Background

GNOME Shell 46 (Ubuntu 24.04) silences notification sounds by default unless the app explicitly provides a sound-name hint. The traditional freedesktop sound theme approach (complete.oga) no longer works.

The fix: a dbus-monitor listener catches org.freedesktop.Notifications.Notify signals and plays your sound via pw-play.

@syntaxhacker
syntaxhacker / immich-usb-guide.md
Created May 18, 2026 20:17
Immich + External USB Drive: Setup & Troubleshooting Guide

Immich + External USB Drive: Setup & Troubleshooting Guide

Problem

  • Immich external library pointed to /usb/DCIM via Docker bind mount
  • Automounter (udisks2) creates unstable mount paths: LENOVO_USB_, LENOVO_USB_1, etc.
  • Stale leftover directories (owned by root) block automount → suffix _1 is created → Docker bind mount breaks
  • udev mount commands fail with permission denied due to udev's restricted mount namespace

Solution Overview

@syntaxhacker
syntaxhacker / llamacpp-cuda-setup-tutorial.md
Created May 13, 2026 05:49
llama.cpp with CUDA on Ubuntu 24.04 Setup Guide

llama.cpp with CUDA on Ubuntu 24.04 — Complete Setup Guide

A step-by-step guide to install CUDA toolkit and build llama.cpp with GPU acceleration on Ubuntu 24.04 LTS.

System Requirements

  • OS: Ubuntu 24.04 LTS (Noble Numbat)
  • GPU: NVIDIA GPU (e.g., GeForce GTX 1650 Ti — 4 GB VRAM)
  • Disk: ~10 GB free space (CUDA toolkit ~6.8 GB + build artifacts)
  • RAM: 8+ GB recommended
magnet:?xt=urn:btih:4e876798049eefe815b64eaae9de95528ad37d83&dn=24.Hour.Party.People.2002.WEB-DL.x264-RARBG
magnet:?xt=urn:btih:1351f39a4436e427002547ae89bda30b44826046&dn=3000.Miles.to.Graceland.2001.WEB-DL.x264-RARBG
magnet:?xt=urn:btih:a3e92a6933e21f995a1c8e53d6612500bb16d189&dn=633.Squadron.1964.WEBRip.x264-RARBG
magnet:?xt=urn:btih:1d77140880b937b2b6a1f518c7b79cd904063486&dn=8MM.1999.WEBRip.x264-RARBG
magnet:?xt=urn:btih:e936b3e440c70e2b751c03c25f95d890babe1a5b&dn=A.Far.Off.Place.1993.WEB-DL.x264-RARBG
magnet:?xt=urn:btih:7545a60a9bd11b4b25c3706a31f8dfcfc358c0bc&dn=A.Little.Trip.to.Heaven.2005.WEB-DL.x264-RARBG
magnet:?xt=urn:btih:be5a77c370eec5ee26dcd438e482494565847fc4&dn=A.Plumm.Summer.2007.WEB-DL.x264-RARBG
magnet:?xt=urn:btih:42f2ab610d6a834c31dc078e8ba635da9a0e542b&dn=A.Resurrection.2013.480p.BRRip.x264.AC3-RARBG
magnet:?xt=urn:btih:624bfe86ee36bda25e52d9e9f222a86a9ec606ea&dn=Addams.Family.Values.1993.WEBRip.x264-RARBG
magnet:?xt=urn:btih:e2704c4656ce949d26f604bd0b89b0ce3eb45f76&dn=Agatha.1979.WEB-
magnet:?xt=urn:btih:7ad7a7df2568aa276901d995315995441aab7b00&dn=12.Angry.Men.1957.2160p.UHD.BluRay.x265.10bit.HDR.DDP2.0-RARBG
magnet:?xt=urn:btih:3481ae2c52ffa0c920e2595372b22dd29efc78ae&dn=12.Angry.Men.1957.2160p.UHD.BluRay.x265.10bit.HDR.DTS-HD.MA.2.0-RARBG
magnet:?xt=urn:btih:f3bf4f661fd252c1df1393439c90ef9ada376a7c&dn=12.Monkeys.1995.2160p.UHD.BluRay.x265.10bit.HDR.DDP5.1-RARBG
magnet:?xt=urn:btih:cb78af1458ba6c3ad8fe5230f03006003759777d&dn=12.Monkeys.1995.2160p.UHD.BluRay.x265.10bit.HDR.DTS-HD.MA.5.1-RARBG
magnet:?xt=urn:btih:9c952af82d40857b748ed9c228c6e5508b67024a&dn=1776.1972.EXTENDED.2160p.UHD.BluRay.x265.10bit.HDR.DDP5.1-RARBG
magnet:?xt=urn:btih:34951249b9b6b5e64a9355d8fccc9ed3c4c05e3f&dn=1776.1972.EXTENDED.2160p.UHD.BluRay.x265.10bit.HDR.TrueHD.7.1.Atmos-RARBG
magnet:?xt=urn:btih:b28f8f0782a89b010294cf8472eb26f33821cf34&dn=1917.2019.2160p.UHD.BluRay.x265.10bit.HDR.DDP5.1-RARBG
magnet:?xt=urn:btih:62b288a40d7193b0f9f7e318bc7088999280e744&dn=1917.2019.2160p.UHD.BluRay.x265.10bit.HDR.TrueHD.7.1.Atmo
This file has been truncated, but you can view the full file.
magnet:?xt=urn:btih:ae54ec64fcee43778028474e46af4993a84a4b67&dn=001.Trolling.2017.1080p.WEBRip.x264-RARBG
magnet:?xt=urn:btih:b57815ecd301455517ac362c97eeae502aa56ba8&dn=009-1.Re.Cyborg.2012.DUBBED.1080p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:3b3396420f54be505212f8be07b8acac2992f0cb&dn=1-800-Hot-Nite.2022.1080p.WEBRip.x264-RARBG
magnet:?xt=urn:btih:99d0e127f55f5268ac25524eaf588c45b1e3a4ae&dn=1-800-Hot-Nite.2022.1080p.WEBRip.x265-RARBG
magnet:?xt=urn:btih:1c1db0cf2d54154b02b4b2d09e231bd141dc0b82&dn=1.1.2018.1080p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:361b920ffa1974f079da68a035a06501052df8e5&dn=1.1.2018.1080p.BluRay.x265-RARBG
magnet:?xt=urn:btih:35e62ae50a91b971f5eba1f86ccd1378eba3ab5a&dn=1.10th.Of.A.Second.2015.1080p.WEBRip.x264-RARBG
magnet:?xt=urn:btih:77fa18e22cb045cf5164eda6e6d3976b540ac147&dn=1.2.3.All.Eyes.on.Me.2020.1080p.WEBRip.x264-RARBG
magnet:?xt=urn:btih:1c23bf3c659b7de75db45053e1c57b4089b98deb&dn=1.2.3.All.Eyes.on.Me.2020.1080p.WEBRip.x265-RARBG
magnet:?xt=urn:btih:89e6b3c4aabe7aac084cfbfe
This file has been truncated, but you can view the full file.
magnet:?xt=urn:btih:51025731a32b68c5fb0c8c7957ce2436fcf73556&dn=009-1.Re.Cyborg.2012.DUBBED.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:f3b7986865a5acd9ddebabaa396bffe3383d5a4c&dn=1.1.2018.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:05bc51400387b07655fbe0f1dd6b02223a2f8d95&dn=1.Buck.2017.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:84d6b71b4621e504bd64caa5f0f1d751a838135e&dn=1.Life.on.the.Limit.2013.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:dc2a642a586a2a286b211acb6ba1e36779f42a4e&dn=10.0.Earthquake.2014.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:d236e110680507f9f78b087ed6c426bdcc7f68a0&dn=10.000.BC.2008.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:542e38454541606ff908db5dda7710780b048fef&dn=10.1979.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:3f9c0d4d8d8f1036beb077f12a19cf4b56831124&dn=10.31.Part2.2019.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:7256eead4a12a0f71165c950e4ce05e43d8f27f9&dn=10.31.Part3.2022.720p.BluRay.H264.AAC-RARBG
magnet:?xt=urn:btih:b0f3d765a1bf3916536a792e6ac889f02
@syntaxhacker
syntaxhacker / opencode-custom-provider-guide.md
Created April 23, 2026 06:09
Step-by-step guide to add any OpenAI-compatible provider (e.g. NVIDIA NIM) to OpenCode with auth.json key separation

Adding a Custom Provider to OpenCode

OpenCode supports any OpenAI-compatible API via custom providers.
Your API keys are stored separately from config to prevent accidental leaks.


Architecture

| File | Purpose |