Hacker Newsnew | past | comments | ask | show | jobs | submit | evanpurkhiser's commentslogin

Would be interested to hear more about your setup!

VPS is production. Linux dev box is my local big box. Macbook just lets me move about and do iOS development. Orca lets me run agents either on linux box or locally on the macbook depending on how I'm feeling, and Orca handles all the worktrees & sub-agents for me (via Opencode). Everything runs in a tailscale network, ssh connects all the things.

My github repos all have CONSTITUTION.md files that keep multi-agent dev grounded. Production runs trigger github actions that automatically check logs daily, file bug reports, etc. I launch Orca and literally just type "checking in" and the CONSTITUTION.md file governs the scanning of github issues and prioritization of which issues need to be addressed. Another process prioritizes and bundles them. When I type "checking in" the Orca worktree handles the launching of sub-agents that fix things. Occasionally I weigh in with an opinion or pick a recommendation. If I'm in the mood to pay attention I'll ask it to find another round of bugs and let's keep going. Often I just let it close after the first round. When I tell it "done?" it does a full regression and a production box review. Code auto-deploys to production twice/day. I don't regularly push to production manually.

On Fridays the CONSTITUTION.md kicks off a strategy and roadmap review when I type "checking in". As I have ideas I add them to the roadmap in one of the worktrees. Generally nothing happens until they're reviewed on Fridays together, unless I push one manually.. which happens.

Hermes runs on the production box. I have a few skills and quick commands that lets me check in on production runs and the status of things. It's read-only by design, basically my version of a dashboard. If I have a thought, idea, research link, or question it'll write to a github issue and we'll deal with it in the next check-in.

Orca lets me do all this remotely from an iPhone, and I talk to Hermes via Telegram. I generally don't INITIATE new work using either of these. I report issues/ideas and let the process do the things. But I can, and have.. I just tend not to. The whole thing churns, and so my inclination to "jump in and do a thing" is less than before. My inclination now is to toss things into the machine and let the machine work the schedule. I'm at a point where I could easily automate 80% of this and do my manual things 1x/2x week and I think progress would stay steady. I'll get there at some point, but I like the level of engagement I'm participating in now.

Occasionally I use Claude Code as a watchtower review of things, or do a wholesale code review, or do a review of logs. But deepseek is much better at building this machine -- I built something manually over time and through a ship of theseus process it got ugly. Deepseek reviewed the situation and wrote the CONSTITUTION.md and designed the processes independently. It favors deterministic scripts for process but launches them via LLM and monitors for exceptions; also, no memory system which also disqualifies Claude from being at the center of this. Memory plugins didn't work well because instructions start accumulating all through the chain of instruction files (AGENTS.md, memory, etc) and that gets very undeterministic very quickly. Instructions are written once, reviewed/audited intentionally.. it's best not to let LLMs learn and write their own dynamically (yet).

I've since used it as a template for other projects I've started -- they work the same. Currently building the GTM agent that will handle all SEO, marketing, keywording, etc for my projects -- it'll be a significantly autonomous Hermes agent. Don't really need Claude for any of this and my Deepseek bill is $50-100/mo.


I’ve been running codex’s remote app server as a systemd service for the last several months, and before that opencode remote. It’s very easy to switch between my phone and desktop app.

I haven’t tried herdr yet, but maybe it’s just not targeted at me?

The real problem I have with the remote codex setup is when it needs to authenticate as me. I sort of solved this for sudo and ssh with this [1], but I think something like this could be integrated deeper into the harness

[1]: https://github.com/evanpurkhiser/agent-witness


Been integrated a codex remote feature to my NovaScale app (with in-app tailnet connectivity) using remote app server too, it works well for me, though the websocket is experimental, but seems it keep schema compatible well.


I thought it was really cool! It’s your personal website so you do you dude :)


thank you!


Been learning electronic PCB design the last few weeks while retrofitting some IKEA window shades for Zigbee enabled motorization.

I've really enjoyed the journey of 3D printing and being able to create all kinds of mechanically useful things over the last few years, but I had always wanted to go even further and incorporate some non-trivial custom electronics.

For this project I had a space constraint for the motor controller board, so while I could have probably hacked together a working perfboard, it just wasn't going to be satisfying. So I finally took the plunge and spent 40 or so hours in KiCad learning how read IC reference documents, picking components, and of course, doing the PCB trace layout.

It's really just a 12v→5v buck circuit, all the plumbing and ancillary components for connecting a ESP32 module to a couple motor driver ICs, and some headers, but it is completely mine!

Just got 5 of my boards in the mail from JLCPCB the other day (insane turnaround, less than a week) and was very happy to find that the entire circuit worked perfectly! I did spend a fair amount of time going over the design with Claude though, so I think that paid off (the kicad files are plaintext, so it made easy work of understanding what I was doing).

Still putting together the repo here, but I'm hoping to make a little blog post out of the project too :) https://github.com/evanpurkhiser/HOPPVALS-MRF-01


That's cool.

I wanted to see the schematic in a README.md on GitHub. (Saves me having to d/l the KiCad files, open them.) It would be cool if you added that to the repo.


This is how it starts my friend. Before you know it you have a lot of projects 90% done and living in production without ever getting the last 10% before you think of something new! Currently I'm refactoring a lot of homebrew ESPhome devices to use the ESP32-H2 as it supports Thread. This allows me to remove weak IoT SSIDs while expanding my Thread network node count for better mesh.


Ah I picked the C6 for it's Zigbee support, I've completely avoided WiFi IoT devices where I can in my apartment. I haven't explored thread at all yet though. Thread / Matter seems like it's going to be more open than zigbee, and potentially easier to develop for?


Looks much better than a typical beginner, congrats. As someone with a bit of experience (and a degree) I'd just suggest that you avoid breaking up the ground plane so much. It's the single most important rule for PCB design. Traces on that side should only be short links to jump around a trace on the top side, where possible. It matters the most for SMPS, RF, etc.


Appreciate the feedback! I was having a hard time finding anyone with design experience in my social circle, so I mostly relied on asking Claude if something was or wasn't conventional. I did try to keep my ground pour free of bottle-necks.


I've seen even pros make all kinds of mistakes, since PCB layout isn't really a focus of EE education. It's interesting that you've done so well with Claude. The usual temptation of beginners is to treat layout as a spatial puzzle to minimize area, but that's like minimizing LOC by reusing one letter global variables. The goal should be to maximize the quality of the important signals. If you need to make it smaller, you just add more layers.

The basic rule is that current flows in a loop, which means on both sides of the board. Every time there is a gap in the ground plane, current has to take a different path on the top and bottom sides. The further apart these paths are, the more like an antenna/transformer winding they act - picking up and emitting high frequency noise.

The simplest strategy is to keep all traces on the top mostly horizontal. Whenever a trace needs to cross the others, you add some vias and route it vertically on the opposite side.


Here's my personal filtering for emails like this https://github.com/evanpurkhiser/gmailctl-personal/blob/5eff...


This is great! I haven't heard of gmailctl before.


that's impressive -- nice work.


Would love to see some screenshots in your readme of this!


Yeah the project is right out of the oven so will add some usage gifs shortly to the repo. Meanwhile here are some screenshots on imgur: https://imgur.com/a/zxZo651


I’ve been using opencode’s server command as a systemd unit on my home server. I connect to it with the desktop and mobile client. Use it for a bunch of openclaw-esq things, but with a nicer interface.

I think CC does have “remote control” now which I think would work similar, but it’s Max only right now


I tried various solutions around this. CloudCLI (ex claudecodeui) looked promising, but very buggy (disconnects, UI overlapping text, etc). Tried Claude Remote Control as well, but also very buggy, websocket disconnecting, UI broken.

I ended up just running Claude code in a dtach+ttyd session. Still not the best, as xterm.js has tons of issues with long scrollbacks, but it's at least somewhat _usable_.


Hello Galanwe, CloudCLI author here. This is a fair criticism and something we are actively working on. The older versions had real issues with websocket stability and the chat ui. We shipped a pretty big refactor yesterday that should fix most the disconnects and page rendering issues. Would be worth another look if you have a few minutes.

If you hit anything else, feel free to reach out to me personally (email in my hn profile) or via the discord channel we have. Always useful hearing from people who actually tried it and ran want to make it better


Hey, thanks for jumping in.

So I did spend some time retrying it today, and while I can see some improvements, it is still not in a shape where I trust it enough to replace ttyd.

Some feedbacks:

- The UI is bloated with not-so-useful widgets which take a lot of space. On my S22 Ultra, arguably a screen on the larger side of the spectrum, around 60% of the screen real estate is used for non-chat purpose. If I start to enter text, that jumps to 90% of the screen for widgets, and can see barely a line or two of chat history while typing. Most of these widgets are options that you maybe change once in a while (thinking mode, model selection) but don't need to have all the time above the text input. Same for the "Processing / Stop generation" widget, it takes 20% of the screen.

- The login flow is broken. I have to login two times in a row for it to work. Also if anything goes wrong during login, there is no error message and you're just not logged, and end up trying to login through the shell tab, which is painful.

- I still have issues with answers appearing below the text input, effectively hiding the last lines of the answers. Much less than in the previous version, but it does still happen. Refreshing the page fixes it though, which is a win compared to before.

- Sometimes my last message appears at the very bottom of the chat as if I retyped it. Refreshing the page make it disappear.

- Unclear to me what the right hand side options do. I tried many of them and can't tell a difference.


Happy was the best but needs some updates as I’ve started getting blocking errors now with some of the recent CC updates


I do something like this! I’m based in NY but my dad’s in LA. I put together an rpi5 + 5xSATA hat with 3 10TB WD red drives using zraid1 (managed to pick these up over the holidays before prices started going up, $160 per drive!). 3D printed the case and got it running a diskless alpine image with tailscale and zrepl for ZFS snapshot replication. Just left it running in a corner at his place and told him not to touch it heh

Whole thing cost around $500. Before that I was paying ~$35 a month for a Google workspace with 5TB of drive space. At one point in the past it was “unlimited” space for $15 a month. Figure the whole thing will pay for itself in the next couple of years.

Actually just finished the initial replication of my 10TB pool. I ran into a gnarly situation where zrepl blew away the initial snapshot on the source pool just after it finished syncing, and I ended up having to patch in a new fake “matching” snapshot. I had claude write up a post here, if you’ll excuse the completely AI generated “blog post”, it came up with a pretty good solution https://gist.github.com/evanpurkhiser/7663b7cabf82e6483d2d29...


I’ve been using this for years now thank you so much for building this!!


I am glad to see a happy user here! :)


Would love to see the visualization if you have it on hand!


Unfortunately, there might be too much IP in the code (it was for a team presentation at a company I contract for). I could probably scrub that out and put it up on GitHub, though.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: