-- Starting off:
INSERT INTO project (title, difficulty, span) VALUES ('Hello world', 1, 1);
INSERT INTO project (title, difficulty, span) VALUES ('Fizz Buzz', 1, 1);
INSERT INTO project (title, difficulty, span) VALUES ('Data Structures (Stacks, Heaps, Binary Trees, etc)', 2, 7);

-- AI:
INSERT INTO project (title, difficulty, span) VALUES ('Neural Network', 2, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Tensorflow Clone', 3, 30);

-- Algorithms:
INSERT INTO project (title, difficulty, span) VALUES ('Custom Allocator', 2, 1);
INSERT INTO project (title, difficulty, span) VALUES ('Custom Compression Library', 2, 1);
INSERT INTO project (title, difficulty, span) VALUES ('ROT 13, ROT 47, ROT with any series', 1, 1);
INSERT INTO project (title, difficulty, span) VALUES ('Vectorized SIMD Matrix Multiplier', 3, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Printf Suite Implementation', 2, 7);
INSERT INTO project (title, difficulty, span) VALUES ('String Manipulation Library', 1, 1);
INSERT INTO project (title, difficulty, span) VALUES ('Pathfinding: Dijkstra''s Algorithm', 2, 1);
INSERT INTO project (title, difficulty, span) VALUES ('Pathfinding: A* Search Algorithm', 2, 1);

-- Applied Math and Problems:
INSERT INTO project (title, difficulty, span) VALUES ('General Lambert''s-Problem Solver', 0, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Solution to the 8 Queens Problem', 3, 7);

-- Calculators:
INSERT INTO project (title, difficulty, span) VALUES ('Graphing Calculator', 3, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Normal Calculator', 1, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Reverse Polish Notation Calculator (Look into dc(1))', 1, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Spreadsheet (CSV Read/write) (With Excel features)', 2, 7);

-- Compiler (Or Interpreter) Theory:
INSERT INTO project (title, difficulty, span) VALUES ('C Compiler', 3, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Holy C Compiler', 3, 21);
INSERT INTO project (title, difficulty, span) VALUES ('Scheme/Lisp Compiler', 3, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Language Virtual Machine', 4, 365);
INSERT INTO project (title, difficulty, span) VALUES ('Custom LLVM Language', 1, 7);
INSERT INTO project (title, difficulty, span) VALUES ('YACC Implementation', 2, 30);

-- Networking:
INSERT INTO project (title, difficulty, span, body) VALUES ('E2EE PSK Messenger (either GUI or CLI, preferably detached from servers)', 5, 7, 'E2EE PSK Messenger (either GUI or CLI, preferably detached from servers)');
INSERT INTO project (title, difficulty, span) VALUES ('HTTP Web Server', 5, 7);
INSERT INTO project (title, difficulty, span) VALUES ('IRC Client', 2, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Matrix Client', 2, 30);
INSERT INTO project (title, difficulty, span) VALUES ('BitTorrent Client', 2, 30);

-- OS:
INSERT INTO project (title, difficulty, span, body) VALUES ('Your own Operating system', 4, 30, 'wiki.osdev.org');

-- Rendering:
INSERT INTO project (title, difficulty, span) VALUES ('3D CAD Software', 4, 7);
INSERT INTO project (title, difficulty, span) VALUES ('3D Vertex Editor', 3, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Bitmap Raytracer', 3, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Media Player (Think MPV & VLC)', 3, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Music Player Daemon Implementation', 2, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Image to ASCII (BONUS: Use Unicode or Color)', 2, 7);

-- Simulation:
INSERT INTO project (title, difficulty, span) VALUES ('Hydrodynamics', 2, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Aerodynamics', 2, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Rigid Body Physics', 2, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Voronoi Diagram (HARDMODE: hardware rendering)', 1, 7);

-- Tools (Usable and Applied Algorithms):
INSERT INTO project (title, difficulty, span) VALUES ('Terminal Emulator', 3, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Text Editor', 3, 7);
INSERT INTO project (title, difficulty, span) VALUES ('Syntax Highlighter (preferably for your own editor)', 2, 30);
INSERT INTO project (title, difficulty, span) VALUES ('General Compression Library (Think zlib)', 2, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Multi-Threaded GREP Implementation (BONUS: Highlighting and line numbers)(Hint: use pThread and AIO)', 2, 30);
INSERT INTO project (title, difficulty, span) VALUES ('Vector/Bitmap Image Manipulation Program', 2, 30);
