“Consistent hashing is deceptively simple yet very powerful, but I didn’t quite understand what it was till I sat down and worked it out for myself. Before I tell you about consistent hashing, you need to understand the problem we’re trying to solve…”
“This blog post provides a step-by-step tutorial for generating MPEG-DASH content using the bitcodin cloud transcoding platform, storing it on Amazon’s S3 cloud storage and distributing it via Amazon’s Cloudfront CDN…”
“This is the second of a 2 part post about how we improved query performance on our analytics dashboard by over 7000x. All just by moving some of our data from MySQL to Redis. Part 1 was a technical explanation of the setup, while part 2 shows the benchmarks we saw when comparing fetching data from both systems...”
“A while ago, I decided to take a shot at writing a poker hand evaluator in the programming language “C”. There are already numerous evaluators out there, but I had an idea for an algorithm that might be faster than anything already out there. The basic concept is to write a routine that would take a five card poker hand and return it’s overall “value”. This is extremely valuable in any poker-related software, since the code will constantly be comparing various player’s hand with each other to determine the “winner”. Here is my concept on how I thought I could write a fast evaluator…”
“I was recently interviewed by Fog Creek and one of the questions was about my favorite programming, coding and development books. I got very excited by this question as I’m a huge book nerd. And by a huge book nerd I mean I’m crazy about science, computer and programming books. Every few months I spend a day or two researching the latest literature and buying the most interesting titles. I could probably go on forever about my favorite books. I’ve so many.
I was so excited about this question that I decided to start a new article series here on catonmat about my top 100 programming, software development, science, physics, mathematics and computer books. I’ll do five books at a time as breaking huge tasks in tiny sub tasks is the easiest way to get things done…”
This is a pure Lua library to calculate the rank of the best Texas Holdem hand out of 5, 6, or 7 cards. It does not run the board for you, or calculate winning percentage, EV, or anything like that. But if you give it two hands and the same board, you will be able to tell which hand wins.
“I want to make solid-state drives (SSDs) the optimal storage solution for my key-value store project. For that reason, I had to make sure I fully understood how SSDs work, so that I can optimize my hash table implementation to suit their internal characteristics. There is a lot of incomplete and contradictory information out there, and finding trustworthy information about SSDs was not an easy task. I had to do some substantial reading to find the proper publications and benchmarks in order to convince myself that, if I had to be coding for SSDs, I would know what I was doing.
Then I figured that since I had done all the research, it would be useful to share the conclusions I had reached. My intent was to transform all the information already available into practical knowledge. I ended up writing a 30-page article, not very suitable for the format of a blog. I have therefore decided to split what I had written into logical parts that can be digested independently. The full Table of Contents is available at the bottom of this article.
The most remarkable contribution is Part 6, a summary of the whole “Coding for SSDs” article series, that I am sure programmers who are in a rush will appreciate. This summary covers the basics of SSDs along with all of the recommended access patterns on how reads and writes should be implemented to get the best performance out of solid-state drives.
Another important detail is that “Coding for SSDs” is independent from my key-value store project (IKVS series), and therefore, no prior knowledge of the IKVS articles is needed. I am planning on writing an article for the IKVS series, on how hash table can be implemented to take advantage of the internal characteristics of SSDs, though I have no precise date for that yet…”
“I just turned in my next course for Pluralsight: RethnkDB Fundamentals – almost in time for their announcement that 2.0 has been released. This is very exciting – it’s a “production-ready” release which means that all the work they’ve done over the last 3+ years is ready to go, and it’s mind-blowing…”