TWO MEN were traveling together, when a Bear suddenly met them on their path.
Saturday, March 24, 2012
Working with Bloom Filters
Challenge:
http://codekata.pragprog.com/2007/01/kata_five_bloom.html
Bloom Filters. Implement a simple hash-based lookup mechanism and explore its characteristics.
Break-Down:
Two items need to be resolved to optimally solve this:
1) Hash function which can uniquely map a good word, to a integer value within our bitfield.
2) Efficient allocation of bitfield, scalable to test how well the hash function performs with more or less memory.
Solution:
http://codekata.pragprog.com/2007/01/kata_five_bloom.html
Bloom Filters. Implement a simple hash-based lookup mechanism and explore its characteristics.
Break-Down:
Two items need to be resolved to optimally solve this:
1) Hash function which can uniquely map a good word, to a integer value within our bitfield.
2) Efficient allocation of bitfield, scalable to test how well the hash function performs with more or less memory.
Solution:
Working with Facebook API
Challenge:
Implement a crawler-type website which will identify what your Facebook interests and likes are and then identifies your friends likes and interests. Store this information in an efficient container, and construct a graph of the Web Advertisements which would interest you the most.
Break-Down:
Need a couple of things to solve this:
1) App which can connect to Facebook API, have the appropriate privileges to scan for the above information.
2) Efficient storage of this information, SQL may not be good enough to maintain the correlation between these disparate items.
3) Retrival -- Correlate the Ad keywords to the important interests of the user (and his friends). Needs to be scalable to minimize lookup on the database.
Solution:
Implement a crawler-type website which will identify what your Facebook interests and likes are and then identifies your friends likes and interests. Store this information in an efficient container, and construct a graph of the Web Advertisements which would interest you the most.
Break-Down:
Need a couple of things to solve this:
1) App which can connect to Facebook API, have the appropriate privileges to scan for the above information.
2) Efficient storage of this information, SQL may not be good enough to maintain the correlation between these disparate items.
3) Retrival -- Correlate the Ad keywords to the important interests of the user (and his friends). Needs to be scalable to minimize lookup on the database.
Solution:
Working with Twitter API
Challenge:
Implement a Markov chain type app, which will accept live Tweets as input sentences. Will breakdown these Tweets, construct the Markov chains and store them efficiently. Then using these chains to create sensical Tweets made from random connections.
Break-Down:
Couple things need to be done to solve this:
1) Accessing Twitter's Realtime Tweet stream -- Correct application of Twitter APIs
2) Efficient processing/buffering of the thousands of tweets coming in per minute -- the stream will be extremely busy with tweets, and all tweets are important and cannot be dropped
3) Efficient data storage of the Markov chains -- SQL is not needed here, an Key-Value solution makes more sense (i.e. Redis)
4) (Efficiently Random) Retrieval of the chains stored -- Building new sentences/Tweets requires performing Random lookup of the stored chains, and walking the data structures.
Solution:
Implement a Markov chain type app, which will accept live Tweets as input sentences. Will breakdown these Tweets, construct the Markov chains and store them efficiently. Then using these chains to create sensical Tweets made from random connections.
Break-Down:
Couple things need to be done to solve this:
1) Accessing Twitter's Realtime Tweet stream -- Correct application of Twitter APIs
2) Efficient processing/buffering of the thousands of tweets coming in per minute -- the stream will be extremely busy with tweets, and all tweets are important and cannot be dropped
3) Efficient data storage of the Markov chains -- SQL is not needed here, an Key-Value solution makes more sense (i.e. Redis)
4) (Efficiently Random) Retrieval of the chains stored -- Building new sentences/Tweets requires performing Random lookup of the stored chains, and walking the data structures.
Solution:
Working with jQuery
Challenge:
Develop a script which will change the background color of a link, if:
1) The link is not valid (404, 500)
2) The link has timed-out
3) The link is valid
Break-Down:
Couple of items need to be done to solve this:
1) Asynchronous lookup of the links in the document
2) Compatibility with Legacy browsers
3) Effective DOM lookup
Solution:
Develop a script which will change the background color of a link, if:
1) The link is not valid (404, 500)
2) The link has timed-out
3) The link is valid
Break-Down:
Couple of items need to be done to solve this:
1) Asynchronous lookup of the links in the document
2) Compatibility with Legacy browsers
3) Effective DOM lookup
Solution:
Working on iPhone UI (Collaboratively)
Challenge:
Working in a large remotely distributed team, how can you effective collaborate on the iPhone App design.
Break-Down:
Two criteria are needed:
1) Changes should be easily undone, forked, commented and logged
2) Should work on all platforms/browsers
Solution:
Working in a large remotely distributed team, how can you effective collaborate on the iPhone App design.
Break-Down:
Two criteria are needed:
1) Changes should be easily undone, forked, commented and logged
2) Should work on all platforms/browsers
Solution:
Subscribe to:
Posts (Atom)