Database Indexing with B-Tree

A database can be thought of as a table, where each row is an entry, and each column is a field of that entry. When you want to find something in that table, naturally, you would look through each row and check the attributes to see if that's what you're… »

Real Time Web - Long Polling and Websockets on Nodejs

In current web technology, there's a lot of seamless integration under the hood that average users do not notice or take for granted. One example is how a web page is able to send and receive messages real-time, much like a chat application. Information travel in two directions, that is… »

Online Dating and Personal Data - Discovering OKCupid's API

People seem to be more and more concerned about online privacy, but somehow seem to be willing and apt to give out their personal information more than ever, especially when it comes to online dating. A New Generation of Disclosure A few weeks ago, I wrote a piece on discovering… »

Dynamic Programming - The Algorithm Behind Making Change

Have you ever gone to a grocery store or a fast food restaurant and paid for your food in cash? And perhaps they got one of those fancy coin boxes that automatically dispenses the coins when the cashier hands you back the bill portion of your change? Have you also… »

More Than One Way to Fizz a Buzz

The infamous fizzbuzz question... Everyone's done it, but how many ways can it be done, and how short can it be written? Does it require complex algorithm structures, or just a few if-else? Does it fill up multiple lines, or can you fit it in a single line tweet? Here… »