# Every Developer Should Know :thinking: A collection of (mostly) technical things every software developer should know. ---- ### Papers on Programming - [Papers We Love](https://github.com/papers-we-love/papers-we-love) ### Floating Point - [Floating Point Guide](http://floating-point-gui.de/) ### Strings - [Big List of Naughty Strings](https://github.com/minimaxir/big-list-of-naughty-strings) - [Unicode and Character Sets](http://www.joelonsoftware.com/articles/Unicode.html) - [Homoglyphs](https://github.com/codebox/homoglyph/) ### Latency - [Interactive Latency Infographics](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html) ### Time - [Falsehoods programmers believe about time](http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time) - [More falsehoods programmers believe about time; “wisdom of the crowd” edition](http://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time) - [Some notes about time](https://unix4lyfe.org/time/?v=1) ### Memory - [What every Programmer should know about memory](http://lwn.net/Articles/250967/) ### Distributed Systems - [Designs, Lessons and Advice from Building Large Distributed Systems](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf) - [Time, Clocks and the Ordering of Events in a Distributed System](https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Flamport%2Fpubs%2Ftime-clocks.pdf) - [There is No Now](http://queue.acm.org/detail.cfm?id=2745385) ### RegExp - [RegexHQ](https://github.com/regexhq) ### Arhitecture - [A Field Guide to Boxology](http://web.cs.wpi.edu/~cs562/s98/pdf/Boxology.pdf) - [Out of the Tar Pit](https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf?raw=true)