I thought it was really cool! It’s your personal website so you do you dude :)
HN user
Evan-Purkhiser
http://evanpurkhiser.com
[ my public key: https://keybase.io/evanpurkhiser; my proof: https://keybase.io/evanpurkhiser/sigs/NY3dHbZh1lX99wmhY-3G2e7ZzipSunLAj3xRoiMcH_0 ]
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?
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.
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
Here's my personal filtering for emails like this https://github.com/evanpurkhiser/gmailctl-personal/blob/5eff...
Would love to see some screenshots in your readme of this!
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 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!!
Would love to see the visualization if you have it on hand!
Hey wanted to say I love the styling on your blog!
Haha, I also built exactly this!
I had mine integrated with Home Assistant and got notifications via a telegram integration.
I also had mine setup so me or my room-mate in our apartment telegram group could register new codes, or generate single-use codes.
I also considered building it into a paid app, but came to the same conclusion :-)
I have a similar list in my bashrc [0]. I didn't know about xdg-ninja though, thank you!
[0] https://github.com/evanpurkhiser/dots-personal/blob/main/bas...
Here's my solution: https://github.com/evanpurkhiser/recovery
This is also exactly how i use HA. It works quite well. I don't have too many automations.
I also recently started using https://raycast.com which has a nice HA plugin
I’ve been using hackerweb.app every day for the better part of 5 or 6 years now. Thank you for making that :)
Here's what we do at sentry.io :) https://github.com/getsentry/sentry/blob/4cf958535563a6b7443...
We've been using volta at sentry.io for probably close to two years now, and I have to say, it's one of those tools I almost never think about because it legitimately "just works" (and is very very fast).
It has definitely helped to keep our team's environment in sync as we grow in # of people building Sentry. It's pretty much eliminated the need to ask 'are you on node / yarn x.y.z?
Pyright works well for me in vim-coc. Of course ymmv
Software for live-streaming DJs to show IDs of the tracks they're playing, in real time, directly off of their Pioneer DJ gear!
Since night clubs and festivals are a no go there's a lot more live streaming going on by DJs. I'm always on the look out for great music, and it's always a struggle when a DJ misses your ID request in the chat. Or of-course, when you're the one DJing and you just don't have time to type it out :)
source: https://github.com/evanpurkhiser/prolink-tools example overlay: https://www.youtube.com/watch?v=4rvdzTYK29E
Technically the software covers a _lot_ of the stack
* Reverse engineered Pioneer DJ gear's proprietary low-level network protocol to masquerade as one and receive state updates from the physical DJ gear on the network. The implementation is a typescript library [0].
* Implements a NFS client in typescript to download the music metadata database off of the USB drives DJs plug into the DJ gear.
* Uses kaitai-struct [01 to generate parsing code for the (very old) DeviceSQL database files that the music database use.
* The application is built as an electron app, react + emotion (styled-components) + framer-motion (animated components), and mobx with serializr to handle IPC between the main thread and renderer.
* Uses websockets with the same serialization driver to communicate updates to the overlay browser window which is rendered in OBS (or another livestreaming studio software)
I've just started working on an API backend for it as well, where the same serialization backend is used to publish users app store to a central server which will be useful for features like "Live user track voting", where you pick a playlist on your gear to expose to users, and they can vote on tracks.
[0] https://github.com/EvanPurkhiser/prolink-connect [1]: https://kaitai.io/
Unfollow everyone. This is what I do, when I land on the Facebook home feed I get the “add friends” onboarding experience.
You could even get more clever with this you could drop the unique_id and just match up the remote host IP. You could probably even disguise the command as something like a "network connectivity test" in the script.
# Check network connectivity so we can continue the install
if ! curl --fail www.example.com; then exit; fi
Of course, what actually is happening is that we've just informed the server to now serve our malicious code.Crunchyroll / Ellation | Operations & Engineering Roles | SF | ONSITE http://crunchyroll.com/jobs
Crunchyroll is already the premier video-on-demand service connecting anime fans with the content they love. Now we're bringing content to other passionate fanbases with our new Ellation Technology Platform. We are looking for more world-class engineers to help us build services that scale to serve millions of users across the globe and offer rock-solid reliability to our content partners.
Open Roles:
Sr. DevOps Engineer: http://www.crunchyroll.com/jobs/596124/detail
Sr. Software Engineer: http://www.crunchyroll.com/jobs/602862/detail
Sr. Infrastructure Manager: http://www.crunchyroll.com/jobs/596109/detail
Even with these new changes are comments on commits that are force pushed over still lost? It looks like when commenting on individual commits now they appear as if you commented on the whole changeset itself.
A while back I got very interested in cleaning up my configuration files. I wanted to figure out out a way to store all of the configurations I use across multiple machines into a single repository, while at the same time not having to worry about symlinking and installing configurations for things I don't need on a particular machine.
I looked at a lot of different things like Stow and homeshick and the like and really didn't like any of the solutions. So I ended up writing my own tool.
I've wanted to write up something for it for awhile now and post it around, but I just haven't yet. Anyway, here's my tool: https://github.com/EvanPurkhiser/dots
I think the half curves just represent some form of travel. If you look at March 29th [1] there's a large curve for his 8 hour flight, and some small gray ones for walking to his gate
T-Mobiles $30/month plan is also worth checking out.
This kind of feature can often be found on professional DJ equipment and is usually called "key lock" or "pitch lock". On Wikipedia its referred to as "Time Stretching" [1]
[1] http://en.m.wikipedia.org/wiki/Audio_time-scale/pitch_modifi...