Mark Penney's avatar
Mark Penney
npub1x7adwrtl5a3xv50htqmtm70h2rgr9rrj2k4ejeem7dhn6jdkmruqwjclkf
npub1x7ad...clkf
A well regarded painter living and working from Vancouver Island
Chain Theory I’ve been tryna wrap my head around the theory AWG dropped. It’s like chainmail made of paper clips that drop numbers that … Well the paperclip part is a fair start and chainmail is a metaphor… I mean the links aren't physical objects. Each one is a pair of tiny quantum systems that are perfectly entangled with each other…
How I Made Home Assistant Voice PE Work with Local Speech Recognition The problem: HA Voice PE's built-in speech-to-text was slow (~38 seconds per clip) and kept mangling proper names. What I did: I replaced it with a local whisper.cpp pipeline that runs entirely on my Mac Mini's GPU. The model stays loaded in memory so wake-word responses are instant (~0.5 seconds). How it works: A whisper.cpp server runs 24/7 on my machine, keeping the large-v3-turbo model ready A Wyoming adapter bridges HA's native protocol to that server I point HA Voice PE at the adapter instead of its default STT Same model, same accuracy, zero cloud calls The result: Sub-second wake-word responses, word-perfect transcription of names, and everything stays local. No API keys, no monthly costs, no privacy concerns. For others wanting this: The key insight is that HA Voice PE speaks the Wyoming ASR protocol natively. You just need a Wyoming-compatible STT server running locally, and you're done. The model stays resident in memory so there's no cold-start delay on wake words. The adapter script is open source. Good fun. 🦞 #HA #homeassistant #nabucasa #voicepe #voice
This is what’s currently on the easel. The background is starting to suck a little less as I work in the new colours I added to my pallet. There’s a lot of dark values to come yet and it’ll look better later. Right now it’s in an awkward stage - but it’s important to get that correct colour balance now before all of the island and the tree details. I basically work from back to front. The sky, background and the colour reflected on the water come first. #artstr #painting #progress #studio #artist #colour image
Mark Penney's avatar
TheMarkPenney 2 weeks ago
Someone needs to hear this or be reminded 🤔 Windshield wipers (and tires) are essentially safety equipment. They’re worth investing in up front. Ask your favourite AI for a recommendation, give it your make n model and it’ll even tell you from a photo if you got ‘the right ones.’ #wipers #maintenance #winter #safety. image
Mark Penney's avatar
TheMarkPenney 3 weeks ago
I should probably post more often… but I haven’t been on social media (or nostr) much lately. Honestly tho, I hope you all have a fun and productive day. #gm #nostr #introductions image
Mark Penney's avatar
TheMarkPenney 1 month ago
Another work day at Kimoto Gallery in Ucluelet. #GM #artstr #gallery #art #ucluelet image
Mark Penney's avatar
TheMarkPenney 1 month ago
Back to work on this one Looks a little flat still - time to mix up some paint and get after it. #artstr #painting #studio #artist #art image
Mark Penney's avatar
TheMarkPenney 1 month ago
MacOS 27 and iOS 27 updates are looking good on first impression. #ios #macos #updates
Mark Penney's avatar
TheMarkPenney 2 months ago
Happy to be in good company. One the cool parts of being an artist is showing with other artists you know and appreciate Good friends like artist Kelly Deakin, Marla Thirsk along with Katsumi Kimoto , at Kimoto Gallery in Ucluelet #artstr #artist #gallery #art #painting image
Mark Penney's avatar
TheMarkPenney 2 months ago
Years ago I started painting this way. It’s evolved a little, but it’s basically the same elements: Strong composition. Unembellished colour. Purposeful edge content. Restricted techniques. Referential perspectives. No impasto, no sheen. This one is from a decade ago. Looking at it now, I can see what I was already refusing to do - no fancy brushmarks, no decorative colour, no lazy edges. The painting has a feeling to it. When I paint ; it comes across as my signature ‘Wet socks and a rock in my shoe’ style. #artstr #art #painting #style #nostrartist #artist #themarkpenney
Mark Penney's avatar
TheMarkPenney 2 months ago
Did someone say #zapathon? Been a while since I had time to look at social media or nostr. Nostrages: what clients are you using ? Me : I like Nostur , Yakihonne, Damus. (probably in that order ) Primal looks good (I wonder if I can use a wallet from Canada yet ) Wisp has a fresh feel. Back to poking around while I get the studio together. Time to catch up 😁 on Nostr !
Mark Penney's avatar
TheMarkPenney 3 months ago
Watering the garden just got easier This is more than a programmable tap with a timer. My own local AI oversees the watering now. It reads soil moisture from sensors in the beds, checks the weather, and decides whether each zone actually needs water. If a bed is already damp, it skips the cycle. If it’s been hot and dry, it waters longer The setup is simple: a small home-automation hub, a two-zone smart water valve, and a few wireless soil sensors. One zone feeds the flower beds, the other feeds the vegetable garden and containers. Everything talks locally over Zigbee, so it still works even without internet The part I like best is that it’s my own setup; local ai, opensource software, my hardware. The schedule, the data, the decisions - none of it lives in someone else’s cloud, app or platform. It’s practical: plants stay alive, water doesn’t get wasted, and I don’t have to stand there with a hose. image
Mark Penney's avatar
TheMarkPenney 3 months ago
What actually works in our OpenClaw setup (and the pain it fixed) If you're spinning up OpenClaw and hitting the usual walls (context overflow, wrong model for the job, forgotten conversations, flaky pipelines), here's the stack and discipline that got us past it. 1. MRDE: route before you prompt We built a Model Routing Decision Engine so every request hits the right model tier first, not after trial and error. • Local private: sensitive stuff stays on-device (gemma-4-26B-MLX, ornith:9b for fast local lanes). • Local heavy: deep reasoning when latency doesn't matter (ornith:35b, qwen3.6-35b for legal). • Cloud coding/synthesis: complex troubleshooting (kimi-k2.7-code:cloud, kimi-k2.6:cloud, deepseek-v4-flash:cloud). • Cloud fast fallback: quick answers when local is cold (gemma4:31b-cloud). Pain solved: no more asking a 2.8T-parameter cloud model to grep logs, and no more running private queries through cloud APIs by accident. 2. Two-tier memory + RAG • Immutable corpus: law sources, primary docs, transcripts. Append-only, never rewritten. • Evolving memory: daily notes, decisions, lessons, atomic reports. Rewritten and refined. • RAG v2: 10 corpora, ~66k chunks, all embedded. The assistant recalls before answering, then writes back compact, cited notes. Pain solved: the system stops hallucinating continuity. It actually remembers yesterday, last week, and the source of the claim. 3. The loop: capture → recall → act → write back Everything runs on a small, durable loop: • Capture: drop it in the inbox (AirDrop, Telegram, share sheet, cron). • Recall: search memory + RAG before any real work. • Act: use the right tool/model for the task. • Write back: one compact note with provenance (file path, source ID, or daily note). For bigger tasks we add a gauntlet: run the output through critic models, check facts, verify file hashes, then keep or repair. Pain solved: slop dies here. The system produces fewer, higher-quality artifacts instead of endless chat noise. 4. Scheduled pipelines (the nightshift) A single cron at 02:00 dispatches phased jobs: I/O-bound tasks, then cloud API tasks, then local ML/vision, then reflection/audit. Local-ML concurrency is capped at 1 so vision models don't fight for the GPU. Pain solved: long-running jobs finish overnight instead of interrupting the day, and the Mac doesn't melt. 5. Voice as default input Whisper STT → local LLM → Kokoro TTS. Zero API cost, hands-free, and it actually gets used. Pain solved: typing long prompts on mobile is miserable. Voice removes friction. Advice for new OpenClaw builders • Lock your default model before you build a dozen workflows. Routing is cheaper than re-prompting. • Write memory back immediately after meaningful work, not at end of day. • Use small verification loops (syntax checks, dry runs, file hashes) before trusting any autonomous edit. • Run heavy/local-ML jobs in a single queue with concurrency caps, not in parallel cron storms. • Prefer local TTS/STT once it's good enough. The cost and latency win is real. The big shift: stop treating OpenClaw like a chatbot and start treating it like an operating system with memory, scheduling, and routing. The rest follows. #OpenClaw #LocalAI #AIAgents #ai
Mark Penney's avatar
TheMarkPenney 3 months ago
Photographed my paint drawers and my AI assitant inventoried every color + flagged what's running low. Studio hacks are getting weird but life’s too short to squeeze every tube. just sayin'😉 image
Mark Penney's avatar
TheMarkPenney 3 months ago
Don’t you just love being in a room full of art ? Art therapy at Kimoto Gallery, Ucluelet. image
Mark Penney's avatar
TheMarkPenney 4 months ago
First Bend in the River 12x24” acrylic on canvas available at Kimoto Gallery, Ucluelet. image
Mark Penney's avatar
TheMarkPenney 4 months ago
This chill Frog was watching me work - just hanging out for a while. Then he came over to get in on some hose water. image
↑