Being in computer science, you learn a lot of things. Specifically you learn ALOT of algorithms. Now, this isn’t a rant about proofs or theory, because I admit, they’re useful to a certain degree. They say “knowledge is power”, and THAT is the reason why I hate computer science so much sometimes! You KNOW those algorithms are useful, you know their potential, and you want to be able to use them, but many times, you can’t. I’m talking about search algorithms.
It just bugs me how I have to search for things everytime, and everytime I search. I feel so dirty brute-forcing things, when I could of found it in log(n) time. I’m a forgetful and lazy guy, so here’s my two biggest problems:
- I lose ALOT of things
- Book indexes suck too much to be useful
They say that,
Its always in the last place you look
If you really think about it, its actually true. Its because the list of locations to search is like an array list.
Think of a place, add to the list, search location. If I don't find it, add a new place to the list.
So when you actually find what you lost, you’re at the bottom of your list, which is the “last place” to look. There’s also the case where you cannot think of the right place to search, thus your list of locations can become infinitely large, driving you crazy searching all over!
So the next problem, book indexes sucking too much. Say I have a pile of papers or a book, and I want to look for a certain word/phrase. If I can remember what page its on, it takes constant time. If the index is actually useful, it takes constant time as well. Else, I pretty much have to scan through every one, thus brute-forcing again.
I guess what bugs me, is that I have to manually do it all. I’ve been spoiled by ctrl+f and google.
So those are problems that guys like me face. Is there actually a solution to spare me the brute-forcing?
I’ve had a few ideas running around in my head for a few years now.
What would solve the first problem? RFID tags + RFID tracker. Stick RFID tags on things you lose VERY often. So your keys, wallet, watches, glasses, belts, gloves, umbrellas, phones, etc… (yes…I lose these things all the time…). The RFID tracker stores each item in its database. So whenever you lose that item, you get the tracker, choose the item you wanna find. The RFID tracker then starts beeping, getting faster and faster as you’re getting closer and closer until BAM! You find it! They actually have an iphone app that maps the direction to your car (great for guys who can’t remember where they park… looking at you Tenniel). I’m thinking of actually taking up this project within the upcoming months.
What about the second problem? That’s actually a bit more complicated. I mean, you would need to invent a device that would be able to scan all these papers automatically (godforbid I scan them myself), at which point it would be easy to find text, just a simple search algorithm. Scanners actually exist that can capture text. Its called “Optical Character Recognition (OCR)” Software. Unfortunately, with my legendarily horrific handwritting, if even a human can’t read it, I can’t expect an algorithm to do any better. But there’s hope. Somewhat. The scanning paper problem can’t be solved, but the book one can be. Google Books.
Maybe there’s hope for me afterall?