gotcha

I'm currently an undergrad. Being an undergrad, I live in a dorm. Which means my computer is a little exposed, and as can probably be expected will occasionally get pranked. Fortunately for me, it almost never happens anymore since people realized it actually bothered me. Even before they did, it was mainly just people changing my desktop background.

Regardless, I've partly solved the problem of forgetting to lock my computer and someone wondering in to mess with it. I just designed a program which takes a picture when it sees keystrokes after a ten minute break of no input. It's pretty simple, I based it off a keylogger I found online. I used the keylogger to learn how to interface with X and recognize keystrokes. I threw out everything that actually examined what the keystrokes were, and just kept that parts that returned when any sort of keystroke event happened. I put in a last_time variable that remembered the time of the last keystroke. Figuring out how long between keystrokes was as simple as comparing the current time immediately after a keystroke to the last time of a keystroke. If it's over a threshold (currently set to ten minutes), it takes a picture.

The general idea is that I'll notice if someone messes with my computer. When I do, I can look up who it was by browsing a log of images of people who typed at my computer. It seems to be working on my laptop, but I was only testing with a three second delay. I'm pretty sure it'll keep working reliably, but I imagine I could be misusing the X libraries somehow and causing a memory leak. I'll probably have to leave it running for a week or so before I trust it.

Maybe I'll find or make some face recognition software that'll try to guess if the user is someone other than me and notify me if it thinks someone else is using my computer.

That'd be a lot of fun. Especially if I can get text to speech working well remotely...

https://github.com/AlexWillisson/gotcha

Oh also, for everyone interested in my emacs video tutorials: I haven't forgotten them, I'm hoping to make the next one soon. I'm currently on spring break, so I might record it soon. I'm also starting to consider taking the summer off if I don't get a job I'm thrilled about, in which case I definitely should have time.