Evan-Purkhiser
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
I think CC does have “remote control” now which I think would work similar, but it’s Max only right now
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 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 :-)
[0]: https://github.com/evanpurkhiser/dots-personal/blob/main/bas...
I also recently started using https://raycast.com which has a nice HA plugin
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?
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/
# 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 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
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
[1] http://en.m.wikipedia.org/wiki/Audio_time-scale/pitch_modifi...