Useful resources » History » Revision 2
Revision 1 (Alexis Jeandet, 14/08/2016 05:25 PM) → Revision 2/7 (Alexis Jeandet, 14/08/2016 06:12 PM)
# Useful resources
## Algorithms
[Log Structured Merge Trees](http://www.benstopford.com/2015/02/14/log-structured-merge-trees/)
[Algebraic patterns - Semigroup](http://philipnilsson.github.io/Badness10k/posts/2016-07-14-functional-patterns-semigroup.html)
[EXACT STRING MATCHING ALGORITHMS](http://www-igm.univ-mlv.fr/~lecroq/string/index.html)
[A Memory Allocator](http://g.oswego.edu/dl/html/malloc.html)
## Tips
[Falsehoods programmers believe about time](http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time)
[GCC optimizations for embedded software](http://events.linuxfoundation.org/sites/events/files/slides/elc14_raj.pdf)
## Python programming
[Useful libraries for data science in Python · GitHub](https://github.com/rasbt/pattern_classification/tree/master/resources)
[Example Google Style Python Docstrings](http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html)
[Welcome to Bokeh](http://bokeh.pydata.org/en/latest/)
### Videos
[SciPy 2016: "Data Science is Software" tutorial](http://isaacslavitt.com/2016/07/20/data-science-is-software-talk)
## C++ programming
[Don’t be Afraid of Returning by Value, Know the Return Value Optimization](https://blog.knatten.org/2011/08/26/dont-be-afraid-of-returning-by-value-know-the-return-value-optimization/)
[Copy elision](http://en.cppreference.com/w/cpp/language/copy_elision)
## C programming
[Bit Twiddling Hacks](https://graphics.stanford.edu/~seander/bithacks.html)
[The Lost Art of C Structure Packing](http://www.catb.org/esr/structure-packing/)
[Memory management in C programs](http://nethack4.org/blog/memory.html)
[Const and Optimization in C](http://nullprogram.com/blog/2016/07/25/)
[You Can't Always Hash Pointers in C](http://nullprogram.com/blog/2016/05/30/)
[Four Ways to Compile C for Windows](http://nullprogram.com/blog/2016/06/13/)