Ask HN: How have you applied computer science IRL?
Sooo... I just got done putting away a load of laundry and realized I've applied efficiency techniques to the process. I first sorted the clothing types into buckets (piles IRL) then performed type-specific processing on each of the buckets, reducing as much as possible my disk I/O (turning around and taking a couple steps to put the clothes in the drawer/on the rack IRL).
How have you changed some process in your life based on computer science algorithms or principles?
38 comments
[ 2.5 ms ] story [ 83.1 ms ] threadMark & Sweep Garbage Collection for my desk. Commonly used stuff stays on the top, and then I periodically pause for garbage collection where I drop the lower layers into a draw. Occasionally I do survivor generation compaction, too.
When doing washing, I always build an index by hanging it out in order, so then putting it away can utilize the index (in English - I put pairs of socks together when I hang them out, so when I bring them in they are already paired)
At least when there is some documentation and one can deduce the signal path in the system.
E.g.: to stock beer we have a big pile with myriad brands. To make it easier to stock I stack it to where each type is easily accessible. Maybe analogous to certain heap paradigms... .
I also think about how I can reduce touching of the actual product (unload truck -> floor, as opposed to unload truck -> belt -> stock -> floor).
Basically being lazy and trying to make my life more efficient/easier leads me to utilize algorithms.
I was feeling pretty tired last night so I decided to put myself into sleep mode.
I'm now too ashamed of myself to make up a third.
First pass: put raports in the bins year by year maintaining sort order in the bins. Binary search used to place new report in the bin.
Second pass: put year by year sorted reports in the correct order on the shelfs.
I don't remeber the name of the algorithm used and the book from which it come was given to the library.
This insight is courtesy of a sorting algorithm that's optimal for systems with very limited memory but multiple tape systems, if I remember correctly. Also IIRC insertion sort can beat doing the binary sort in situations of 7-20 or so? Much over a dozen, I can't use my fingers of one hand as bookmarks to do, say, three comparisons to find the right place, & I'd rather break it down into more piles.
For what it's worth, I often have piles of sorted documents to sort together, so I've used merge sort on RL objects fairly regularly. Binary search, too, though I use the optimization where it's not strictly binary when I have a guess about where the item should be.
I've probably used a few other algorithms, but I can't think of any off the top of my head.
http://stackoverflow.com/questions/164432/what-real-life-bad...
I'm going to shower now. I feel dirty.
http://xkcd.com/287/
That's what I use my CS degree for :)
I use the standard count up to 5 with one hand just for communication purpose.
So color me confused - your profile says:
How can you not see 31 and think "5 bits" ?In answer to your question: because I'm still learning. I'm in my first year at university, and while I love working with microcontrollers, a lot of the knowledge hasn't quite got there. I'm working on it!
Also, I forgot about starting at zero (yeah, I know).
If asked to do something, I usually give a promise that I'll do whatever asked but generally defer the actual work until forced.
I always follow the tit-for-tat strategy whenever dealing with anyone.
I make a point of including redundant details in all communications so that others can catch my errors.