I've been meaning to share these links for a while now.
I spent a few days digging up a few, interesting computer science algorithms we were introduced to in school (a while ago). Back then we didn't have ubiquitous internet access nor did we have 10 years of cumulative collective knowledge via Wikipedia, blogs, articles and tangible "computer sciencey" use cases like the ones at Google, Twitter, LinkedIn to demystify them for me. During my recent wanderings on the interwebs I found these nice articles:
- Morris-Pratt string searching
- Binary heap
- Huffman coding on a string
- Knapsack problem
- Lock-free algorithm
- Topological sort
- Bin packing
A very detailed and thoroughly researched presentation on the state of the art in Metrics-monitoring-
The Google Chrome and Android guys have been writing and presenting about the how they've been pushing browser and mobile technologies. I'm pretty sure Apple also does these things but they don't seem to talk about them openly. What impressed me was how far Web technologies have come - in terms of tooling and profiling. The sophistication is almost at par with high performance server side technologies
- IPC style communication between Tabs and other clever stuff in Chrome
- For Butter or Worse: Smoothing Out Performance in Android UIs
- Making Good Apps Great: More Advanced Topics for Expert Android Developers and slides
- Jank Busters: Building Performant Web Apps
Being a Java developer (meaning clueless about lower level, system stuff), sometimes I try to find articles about what others are doing in lower level languages, to help me stay grounded (I wish). Last month I found some on bit twiddling and other native stuff. Although I have to admit I forgot almost everything the moment I finished reading them.
- JNA, JNI and raw Java performance
- Fast Intersection of Sorted Lists Using SSE Instructions (Haven't even read this one, but looked interesting)
- Why is processing a sorted array faster than an unsorted array?
- Fast bitmap decoding
- Latency numbers every programmer should know - there are many variations of this on the internet
- A decent presentation on marrying the latest distributed storage techniques like Eventual Consistency and Append only stores with Messaging - High performance network applications in the Capital
Markets. At one point during the presentation the speaker is asked a question by someone in the audience "Isn't this similar to NoSql.. " or something along those lines. It seemed to catch him by surprise that others in the NoSql world have been doing this for a while
- Network switch buffer saturation problems - TCP incast -
what is it?. Some of the comments are also interesting
- Turbocharging Solr Index Replication with BitTorrent
- Building a Real-timeSolr-powered Recommendation Engine
- Solr, Lucene & Hadoop at Etsy
Enjoy your 4th of July holiday (for those in the US)!