I love this project! In the spirit of sharing ideas, I would have probably done this full analog. I’d set up a rudimentary analog break beam detector (like what they use to detect if a garage door is cleared to close) beaming across the balcony, and if so, trigger the relay to shoot the gun!
A motion activated sprinkler could work too. Or buy a motion detector and have it activate plant water sprayers (the kind used for automatic watering of potted plants).
Interesting question! The geometry of my balcony kind of restricts the number of places that observe the pigeons without spying on my neighbors. Therefore I’m not sure where else I could put another camera.
I’m thinking about a auto-aiming gun for the next iteration, though.
I wanted to add video recording in the future to gain some lol-points. But to be honest, the still images of the pigeons + my imagination had me jumping like a child in excitement already ;)
After a quick burst of manic energy during exam phase, I decided to solve the pigeon problem on my balcony once and for all (and in a humane way).
So I bought a cheap electric water gun from Amazon, built in WiFi using an ESP8266 and a relay shield; 3D printed a window mount for my old iPhone (running a webcam app) and hacked together some openCV code in python.
After all this was working on my desk, I had the pleasure to discover that the PCB Antenna of the ESP is to weak to receive WiFi on my balcony so I connected the ESP to my (current) iPhone hotspot and wrote a small go relay for my server so that my laptop can send the shooting commands to the water gun ~~over the internet~~. Oh and while I was at it, I added a Siri Shortcut, so it’s voice controllable, too. (They are surprisingly hacker-friendly)
The surprising thing is, that this Ruben Goldberg machine actually works really well and without much fiddling.
As a long time i3 user that switched to Mac, it gives me almost all the benefits while still integrating nicely with the general UI. It's also not nearly as steep of a learning curve and does not get in your way at all.
For my bachelor thesis, I used Postgres on a compressed btrfs partition. For my text-heavy dataset, this gave excellent results without compromising on ergonomics.
As the implementation is block-based it is also faster than the naive approach of just zipping your data files.
That is really cool, I tried btrfs a couple times and I had weirdness, sorry for being unspecific, not trying to do a drive by hit job on btrfs, but I moved on.
That said, for a specific case like this, I think this could be really compelling, esp going from compressed source material, to a postgres instance running on loopback block device with btrfs on top, could be really amazing for text analysis like you said. You could actually see performance improvements due to this. 4GB/s for PCIe 4, then due to massive core counts and large L3 caches, you could probably boost that to 20GB/s after decompression.
If you can use compression algorithms that allow for regex search in the compression domain, it could be an effective search speed of 10s to hundreds of GB/s.
In some countries it is allowed to vote, but your employer or landlord may request you to prove to you that you voted for the „right“ guy by sending them a picture of your filled out ballot.
A feature like this (properly implemented) could actually be great for those countries.
The slippery slope argument still applies of course.