Difference between revisions of "Tools & Resources"

From Chilipedia
Jump to: navigation, search
Line 8: Line 8:
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
| style="width:20%;border:1px solid grey;"|Name
+
| style="width:35%;border:1px solid grey;"|Name
| style="width:40%;border:1px solid grey;"|Description
+
| style="width:30%;border:1px solid grey;"|Description
 
| style="width:20%;border:1px solid grey;"|Link
 
| style="width:20%;border:1px solid grey;"|Link
| style="width:30%;border:1px solid grey;"|What's so great?
+
| style="width:15%;border:1px solid grey;"|What's so great?
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|FrHed
 
| style="border:1px solid grey;text-align:left;"|FrHed
Line 32: Line 32:
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
| style="width:20%;border:1px solid grey;"|Name
+
| style="width:35%;border:1px solid grey;"|Name
| style="width:40%;border:1px solid grey;"|Description
+
| style="width:30%;border:1px solid grey;"|Description
 
| style="width:20%;border:1px solid grey;"|Link
 
| style="width:20%;border:1px solid grey;"|Link
| style="width:30%;border:1px solid grey;"|What's so great?
+
| style="width:15%;border:1px solid grey;"|What's so great?
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|Ideone
 
| style="border:1px solid grey;text-align:left;"|Ideone
Line 59: Line 59:
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
| style="width:20%;border:1px solid grey;"|Name
+
| style="width:35%;border:1px solid grey;"|Name
| style="width:40%;border:1px solid grey;"|Description
+
| style="width:30%;border:1px solid grey;"|Description
 
| style="width:20%;border:1px solid grey;"|Link
 
| style="width:20%;border:1px solid grey;"|Link
| style="width:30%;border:1px solid grey;"|What's so great?
+
| style="width:15%;border:1px solid grey;"|What's so great?
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|SFML
 
| style="border:1px solid grey;text-align:left;"|SFML
Line 84: Line 84:
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
| style="border:1px solid grey;text-align:left;"|cppreference libraries
+
| style="width:35%;border:1px solid grey;text-align:left;"|cppreference libraries
| style="border:1px solid grey;text-align:left;"|As suggested by cppreference users
+
| style="width:30%;border:1px solid grey;text-align:left;"|As suggested by cppreference users
| style="border:1px solid grey;text-align:left;"|https://en.cppreference.com/w/cpp/links/libs
+
| style="width:20%;border:1px solid grey;text-align:left;"|https://en.cppreference.com/w/cpp/links/libs
| style="border:1px solid grey;"|
+
| style="width:15%;border:1px solid grey;"|
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|boost C++ libraries
 
| style="border:1px solid grey;text-align:left;"|boost C++ libraries
Line 98: Line 98:
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
| style="width:20%;border:1px solid grey;"|Name
+
| style="width:35%;border:1px solid grey;"|Name
| style="width:40%;border:1px solid grey;"|Description
+
| style="width:30%;border:1px solid grey;"|Description
 
| style="width:20%;border:1px solid grey;"|Link
 
| style="width:20%;border:1px solid grey;"|Link
| style="width:30%;border:1px solid grey;"|What's so great?
+
| style="width:15%;border:1px solid grey;"|What's so great?
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|cppreference.com
 
| style="border:1px solid grey;text-align:left;"|cppreference.com
Line 131: Line 131:
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
 
|- style="border:1px solid grey;background-color:#DDF;color:black;font-weight:bold;text-align:center;"
| style="width:20%;border:1px solid grey;"|Name
+
| style="width:35%;border:1px solid grey;"|Name
| style="width:40%;border:1px solid grey;"|Description
+
| style="width:30%;border:1px solid grey;"|Description
 
| style="width:20%;border:1px solid grey;"|Link
 
| style="width:20%;border:1px solid grey;"|Link
| style="width:30%;border:1px solid grey;"|What's so great?
+
| style="width:15%;border:1px solid grey;"|What's so great?
 
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
Line 145: Line 145:
 
=== C++ Fundamentals ===
 
=== C++ Fundamentals ===
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
| style="border:1px solid grey;text-align:left;"|C++ Core Guidelines
+
| style="width:35%;border:1px solid grey;text-align:left;"|C++ Core Guidelines
| style="border:1px solid grey;text-align:left;"|by Bjarne Stroustrup, Herb Sutter
+
| style="width:30%;border:1px solid grey;text-align:left;"|by Bjarne Stroustrup, Herb Sutter
| style="border:1px solid grey;text-align:left;"|http://isocpp.github.io/CppCoreGuidelines
+
| style="width:20%;border:1px solid grey;text-align:left;"|http://isocpp.github.io/CppCoreGuidelines
| style="border:1px solid grey;"|Pure discipline, by the masters themselves
+
| style="width:15%;border:1px solid grey;"|Pure discipline, by the masters themselves
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|Programming Abstractions in C++
 
| style="border:1px solid grey;text-align:left;"|Programming Abstractions in C++
Line 160: Line 159:
 
=== C++ Peculiarities ===
 
=== C++ Peculiarities ===
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
| style="border:1px solid grey;text-align:left;"|Exploring std::string
+
| style="width:35%;border:1px solid grey;text-align:left;"|Exploring std::string
| style="border:1px solid grey;text-align:left;"|Nice blog that looks under the hood
+
| style="width:30%;border:1px solid grey;text-align:left;"|Nice blog that looks under the hood
| style="border:1px solid grey;text-align:left;"|https://shaharmike.com/cpp/std-string/
+
| style="width:20%;border:1px solid grey;text-align:left;"|https://shaharmike.com/cpp/std-string/
| style="border:1px solid grey;"|
+
| style="width:15%;border:1px solid grey;"|
 
|}
 
|}
  
 
=== 3D Computer Graphics ===
 
=== 3D Computer Graphics ===
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
| style="border:1px solid grey;text-align:left;"|The Book of Shaders
+
| style="width:35%;border:1px solid grey;text-align:left;"|The Book of Shaders
| style="border:1px solid grey;text-align:left;"|by Patricio Gonzalez Vivo and Jen Lowe
+
| style="width:30%;border:1px solid grey;text-align:left;"|by Patricio Gonzalez Vivo and Jen Lowe
| style="border:1px solid grey;text-align:left;"|https://thebookofshaders.com (pdf can be generated)
+
| style="width:20%;border:1px solid grey;text-align:left;"|https://thebookofshaders.com (pdf can be generated)
| style="border:1px solid grey;"|
+
| style="width:15%;border:1px solid grey;"|
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
| style="border:1px solid grey;text-align:left;"|Tricks of the 3D Game Programming Gurus
 
| style="border:1px solid grey;text-align:left;"|Tricks of the 3D Game Programming Gurus
Line 210: Line 207:
 
=== Operating systems ===
 
=== Operating systems ===
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
| style="border:1px solid grey;text-align:left;"|Modern Operating Systems
+
| style="width:35%;border:1px solid grey;text-align:left;"|Modern Operating Systems
| style="border:1px solid grey;text-align:left;"|by Andrew S. Tanenbaum & Herbert Bos (4th ed. 2015)
+
| style="width:30%;border:1px solid grey;text-align:left;"|by Andrew S. Tanenbaum & Herbert Bos (4th ed. 2015)
| style="border:1px solid grey;text-align:left;"|Google using filetype:pdf
+
| style="width:20%;border:1px solid grey;text-align:left;"|Google using filetype:pdf
| style="border:1px solid grey;"|Standard work
+
| style="width:15%;border:1px solid grey;"|Standard work
 
|}
 
|}
  
 
=== AI ===
 
=== AI ===
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
 
{| class="wikitable" style="border:1px solid grey;border-collapse:collapse;width:100%;"
|- style="border:1px solid grey;background-color:#ddf;color:#c1c1c1;text-align:center;"
 
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
 
|- style="border:1px solid grey;background-color:#667;color:#c1c1c1;text-align:center;"
| style="border:1px solid grey;text-align:left;"|Paradigms of Artificial Intelligence Programming
+
| style="width:35%;border:1px solid grey;text-align:left;"|Paradigms of Artificial Intelligence Programming
| style="border:1px solid grey;text-align:left;"|by Peter Norvig
+
| style="width:30%;border:1px solid grey;text-align:left;"|by Peter Norvig
| style="border:1px solid grey;text-align:left;"|https://github.com/norvig/paip-lisp
+
| style="width:20%;border:1px solid grey;text-align:left;"|https://github.com/norvig/paip-lisp
| style="border:1px solid grey;"|Standard work, gotta love common lisp!
+
| style="width:15%;border:1px solid grey;"|Standard work, gotta love common lisp!
 
|}
 
|}
  
 
== Crazy shit in C++ ==
 
== Crazy shit in C++ ==

Revision as of 00:29, 1 September 2019

Useful Tools & Resources (WORK IN PROGRESS)

How to contribute

These are all links to external and publicly available sources, no guarantees / responsibility inferred. If there are resources you like and would like to recommend, post them on the Discord and mention r_vdw.

Windows productivity apps

Name Description Link What's so great?
FrHed Versatile binary file / hex editor https://sourceforge.net/projects/frhed/ bl
ShareX Screen capture / file sharing https://getsharex.com/ ble
Notepad++ Source code editor and Notepad replacement https://notepad-plus-plus.org/ blah

Online compiling / testing / visualization

Name Description Link What's so great?
Ideone Online compiler and debugger (~60 languages) http://www.ideone.com
Wandbox Online compilation service https://wandbox.org/
Data structure and algorithm visualization USFCA / CS / David Galles https://www.cs.usfca.edu/~galles/visualization/Algorithms.html see it and you'll understand

C++ Libraries

Game tooling / engines

Name Description Link What's so great?
SFML Simple and Fast Multimedia Library https://www.sfml-dev.org/ Easy to use, good functionality

AI/ML

DLib C++ toolkit containing machine learning algorithms http://dlib.net/

Categorized / aggregation sites

cppreference libraries As suggested by cppreference users https://en.cppreference.com/w/cpp/links/libs
boost C++ libraries boost your shit https://www.boost.org/doc/libs/

Reference sites

Name Description Link What's so great?
cppreference.com Most comprehensve reference site https://en.cppreference.com Best of the best
cplusplus.com Good reference site http://www.cplusplus.com More accessible
Stack Overflow Good reference site https://stackexchange.com/sites# Very active community, but cocky culture
ISOcpp The home of standard C++ https://isocpp.org/ For those purists

Literature (books, blogs, papers, written shit)

Programming Fundamentals

Name Description Link What's so great?
Structure and Interpretation of Computer Programs by Harold Abelson et al. (2nd ed. 1996), MIT Press https://web.mit.edu/alexmv/6.037/sicp.pdf Just a classic

C++ Fundamentals

C++ Core Guidelines by Bjarne Stroustrup, Herb Sutter http://isocpp.github.io/CppCoreGuidelines Pure discipline, by the masters themselves
Programming Abstractions in C++ by Eric S. Roberts (2012), Stanford CS106B Google using filetype:pdf Solid and well thought through intro to C++

C++ Peculiarities

Exploring std::string Nice blog that looks under the hood https://shaharmike.com/cpp/std-string/

3D Computer Graphics

The Book of Shaders by Patricio Gonzalez Vivo and Jen Lowe https://thebookofshaders.com (pdf can be generated)
Tricks of the 3D Game Programming Gurus by André LaMothe, 2003 Google using filetype:pdf lagout
Mathematics for 3D Game Programming and Computer Graphics by Eric Lengyel (3rd ed.) Google using filetype:pdf Need those math skills
Essential Mathematics for Games and Interactive Applications: A Programmer’s Guide by James M. Van Verth, Lars M. Bishop (2nd ed.) Google using filetype:pdf Math yo
Vector Math for 3D Computer Graphics Tutorial by Bradley Kjell https://chortle.ccsu.edu/vectorlessons/vectorindex.html Demon liked it
Computing Euler angles from a rotation matrix by Gregory G. Slabaugh http://www.gregslabaugh.net/publications/euler.pdf Chilitip
D3D/OpenGL tutorial: A trip through the Graphics Pipeline by Fabian Giesen https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/

Operating systems

Modern Operating Systems by Andrew S. Tanenbaum & Herbert Bos (4th ed. 2015) Google using filetype:pdf Standard work

AI

Paradigms of Artificial Intelligence Programming by Peter Norvig https://github.com/norvig/paip-lisp Standard work, gotta love common lisp!

Crazy shit in C++