This commit is contained in:
Tyler Perkins 2021-09-22 13:23:25 -04:00
parent 3b9d969b80
commit c64bab4e52
16 changed files with 179 additions and 13 deletions

Binary file not shown.

View File

@ -17,12 +17,16 @@ _Ideas.md and Classes.md are encrypted, so these links will not work_
* [[tech/security|Security]] - Security tools and techniques
* [[tech/development|Development]] - Development tools
* [[tech/algorithms|Algorithms & Datastructures]] - Algorithms and Data structures
* [[tech/databases|Databases & SQL]] - Databases and SQL
* [[tech/os|Operating Systems Design]] - Basic building blocks of an OS
* [[tech/misc|Misc]] - Miscellaneous tools
== Languages ==
* [[lang/C|C]]
* [[lang/C++|C++]]
* [[lang/C-sharp|C#]]
* [[lang/Python|Python]]
* [[lang/HTML|HTML]]
* [[lang/CSS|CSS]]
@ -30,9 +34,10 @@ _Ideas.md and Classes.md are encrypted, so these links will not work_
* [[lang/PHP|PHP]]
* [[lang/Rust|Rust]]
* [[lang/Go|Go]]
* [[lang/sql|SQL]]
== School ==
_Use gf keybinding to open the link_
_Use gf keybinding to open the link in vim_
- Digital Design
- ~/school/Advanced\ Digital\ Design
- Chemistry
@ -47,7 +52,7 @@ _Use gf keybinding to open the link_
- ~/school/Human\ Biology
== Projects ==
_Use gf keybinding to open the link_
_Use gf keybinding to open the link in vim_
- Dashboard
- ~/code/dashboard
- https://git.clortox.com/?p=dashboard.git;a=summary

17
lang/C++.wiki Normal file
View File

@ -0,0 +1,17 @@
= C++ =
Object Oriented super set of C. Great for larger projects, with minimal
drawbacks due to the Object abstraction.
== Features ==
* [[constexpr]]
* [[inline_static_member|inline static members]]
== Also See ==
[[C]]
[[../index]]

8
lang/C-sharp.wiki Normal file
View File

@ -0,0 +1,8 @@
= C# =
Purely object oriented language that relies on a JIT. Primary library is .NET
[[../index]]

View File

@ -5,3 +5,10 @@ Systems language. One of the fastest langs around
== Memory ==
* [[bitwise_cast]] - Cast a type as another bit for bit
== Also See ==
[[C++]]
[[../index]]

33
lang/constexpr.wiki Normal file
View File

@ -0,0 +1,33 @@
= Constexpr =
Constexpr is this great C++11 feature that marks a value or function to be
known/executed at compile time. This is great for things likes config.hpp
files, compile time string hashes, and more.
== Example ==
{{{C++
unsigned int constexpr const_hash(char const *str){
return *input ?
static_cast<unsigned_int>(*input) + 33 * const_hash(input + 1) :
5381;
}
void main(){
constexpr char* const_str = "12345";
switch(const_hash(const_str)){
case const_hash("12345"):
std::cout << "Found 12345\n";
break;
case const_hash("54321"):
std::cout << "Found 54321\n";
break;
}
}
}}}
Switch statements can only accept integers in C/C++, however using this we can
convert compile time strings into integers. This is wonderful for making code
more readable, without relying to much on C macros, which are not type aware.
[[C++]]

View File

@ -0,0 +1,27 @@
== Inline static members ==
So this is the same idea as just having a static member variable/function for a
class. You just need to add inline in order to make it accessible outside the
.hpp file.
Another note about static members, under the hood they are the exact same as
globals that just happen to have the namespace of the class. Its exactly how
they act, however I didn't think that's how they worked at first. It gives you
an idea of what performance to expect though.
== Example ==
{{{C++
class foo {
public:
foo();
//...
static inline uint32_t get_count();
private:
static inline uint32_t count = 0;
};
}}}
[[C++]]

0
lang/object.wiki Normal file
View File

11
lang/sql.wiki Normal file
View File

@ -0,0 +1,11 @@
= SQL =
Stuctered Query Language is a language that describes a method of fetching and
describing the relationship between different types of data
== Also see ==
[[../tech/databases]]
[[../index]]

View File

@ -1,7 +1,5 @@
= Vim =
_Only way shit gets done is if you just do it, so get into it!_
Table of contents
[[#School|School]]
[[#Projects|Projects]]
@ -10,7 +8,7 @@ Table of contents
[[index|Index]]
== School ==
_Use gf keybinding to open the link_
_Use gf keybinding to open the link in vim_
- Digital Design
- ~/school/Advanced\ Digital\ Design
- Chemistry
@ -25,7 +23,7 @@ _Use gf keybinding to open the link_
- ~/school/Human\ Biology
== Projects ==
_Use gf keybinding to open the link_
_Use gf keybinding to open the link in vim_
- Dashboard
- ~/code/dashboard
- https://git.clortox.com/?p=dashboard.git;a=summary
@ -41,7 +39,7 @@ _Use gf keybinding to open the link_
- ~/code/site
== Common files ==
_Use gf keybinding to open the link_
_Use gf keybinding to open the link in vim_
- [[Ideas.md.gpg]]
- vimrc
@ -50,6 +48,7 @@ _Use gf keybinding to open the link_
- ~/.bashrc
== Rice/Gentoo ==
_Use gf keybinding to open the link_
_Use gf keybinding to open the link in vim_
- [Dotfiles](~/code/dotfiles)
- Dotfiles
[[-]] ~/code/dotfiles

20
tech/algorithms.wiki Normal file
View File

@ -0,0 +1,20 @@
= Algorithms and Data structures =
Different ways to store and operate on data, with differing efficiency
== Sequential Data Structures ==
* [[array|Array]]
* [[vector|Vector]]
* [[linked_list|Linked List]]
* [[stack|Stack]]
* [[queue|Queue]]
== Non sequential Data Structures ==
* [[binary_tree|Binary Tree]]
* [[graph|Graph]]
[[../index]]

12
tech/databases.wiki Normal file
View File

@ -0,0 +1,12 @@
= Databases and SQL =
Databases are a way to store data and its relationships, and access it over a
network, with caching and other optimizations.
== Database Design Principle ==
== SQL ==
See [[../lang/sql]]

View File

@ -1,3 +1,21 @@
[[index]]
= Development =
== Libraries ==
* [[rapidxml|Rapidxml]] - XML parsing library
* [[sdl2|SDL2]] - Simple Direct Media Layer (Low level X Windows and graphics)
* [[libcurl|Libcurl]] - Curl the tool, but the API
* [[periodictable|Periodic Table]] - Python periodic table
== Tools ==
* [[gcc|GCC]] - Gnu compiler
* [[cgdb]] - Vim like front end for the GNU Debugger
* [[make|Make]] - Automate compiling
* [[vim]] - Text editor
[[../index|Index]]

5
tech/misc.wiki Normal file
View File

@ -0,0 +1,5 @@
= Misc =
Misc. Stuff relating to computers and tech in general
[[../index]]

6
tech/os.wiki Normal file
View File

@ -0,0 +1,6 @@
= Operating Systems =
The primary 'program' running on a machine that allows a user to run several
programs at once, manages drivers and hardware abstraction, etc
[[../index]]

View File

@ -13,6 +13,4 @@ Tools useful for security, either offensive or defensive
= Back =
[[../index.wiki]]