

Ask HN: How have you applied computer science IRL? - augiehill

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).<p>How have you changed some process in your life based on computer science algorithms or principles?
======
jcsalterego
I don't know about you guys but when I go grab dinner with my philosophical-
type friends, we all share a fork and knife.

~~~
itsnotvalid
That sounds like a problem where computer science techniques must be applied
to solve. Lucily there aren't just forks.

------
nl
Sure.. exponential back-off for trying to get my son to sleep at night. Didn't
work.

Mark & 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)

------
corin_
I was trying to spot my friend in a crowded room so I did a regexp visual
search for people with brown hair.

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.

~~~
pavel_lishin
I usually grep for socks.

------
alanthonyc
I use binary search all the time for practical problems.

~~~
stakent
For example fault localisation in control systems.

At least when there is some documentation and one can deduce the signal path
in the system.

------
edanm
I usually don't post comics, but this fits too well:

<http://xkcd.com/287/>

That's what _I_ use my CS degree for :)

------
yogsototh
I count to 31 with one hand.

I use the standard count up to 5 with one hand just for communication purpose.

~~~
RiderOfGiraffes
I used to do that, but found some of the various combinations too difficult to
maintain. I tend to count to 10 on each hand, counting the thumb as five and a
fist as ten.

~~~
mzl
Slightly more efficient, and still easy to do, is to use one hand for 0-9
(thumb counts as five), and the other for 0,10,20,...,90. Easy counting,
setting, and reading of the current number.

~~~
RiderOfGiraffes
Er, that's exactly what I meant. Sorry if I didn't make it clear, but I never
considered that someone would believe I counted to 10 on one hand, then
another 10 on the other.

------
dackmilliken
I work in retail atm and use algorithms a lot (in my head at least).

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.

------
stakent
Sorting room full of dated reports from several dozens of years.

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.

~~~
pronoiac
I'd break the first pass down further, putting items into the (yearly) bins
without sorting within each bin, freeing up bins, then subdividing them into
smaller piles (say, by month), then sorting those.

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.

~~~
allenp
Also if you just put them into bins by year, you could have others do the
sorting per bin - so more of a distributed model.

------
bayareaguy
I try never to use more than 70% of my available space or other resources.

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.

------
teach
I'm a musician, and have a folder full of songs in my repertoire. I used to
strictly alphabetize, but now I use dividers lettered A-Z (hash table), with
each letter organized alpha at first, but move-to-front whenever I perform a
song (MRU). I can now often find the song I want in 1 or 2 lookups, which
really beats binary search.

------
dasil003
The quiet satisfaction of knowing that dynamic programming is something much
cooler than Ruby.

------
mulletcat
My friends and I figured out that the counter showing beer consumption at a
restaurant with a beer tap on each table wouldn't increase if we poured an
amount smaller than the smallest amount necessary to increment the counter.
Many glasses of beer were had by pouring tiny amounts repeatedly.

------
anrope
I have a specific schedule that I follow when starting different parts of
dinner to make sure that everything is done at the same time, including
adjustments for different pots that I know cook differently. I suppose you
could think of this as some sort of scheduling algorithm.

------
Travis
I use graph algorithms when I'm walking somewhere downtown. With the shortest
path defined by lights that are green / red. Sometimes I'll switch it up a bit
and use a different search algorithm just for variety.

------
klochner
related SO thread:

[http://stackoverflow.com/questions/164432/what-real-life-
bad...](http://stackoverflow.com/questions/164432/what-real-life-bad-habits-
has-programming-given-you)

------
iuguy
I use the nearest neighbour algorithm to solve the travelling salesman
problem, when travelling to sales meetings.

I'm going to shower now. I feel dirty.

------
adamcharnock
I realised that throwing more of my time at a task is an O(n) solution to the
problem of not having enough time. There must be a better way...

------
eqdw
I've used resource allocation and scheduling quite a bit. It's amazing how
much of Operating Systems bleeds over into the real world

------
chewbranca
The concept of job scheduling algorithms made me much more conscious about the
order of approaching things in my day to day life.

------
itsnotvalid
I remembered sorting out stuff by asking a few classmates to sort some of it
individually and then combine them.

------
binarymax
Was playing 9ball last night, used a quicksort to rack them in order.

------
JoeAltmaier
I park first-fit; my wife parks best-fit. We drive each other crazy.

------
cloudwalking
Quicksort is great when you have to sort people by birthday.

------
bockris
I defrag my laundry. ;-) <http://www.ibiblio.org/Dave/Dr-
Fun/df200308/df20030814.jpg>

