aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/api.md14
-rw-r--r--docs/cli.txt9
-rw-r--r--docs/example_cli_usage.txt1
-rw-r--r--docs/extern_project_idea_list.txt79
-rw-r--r--docs/formatting.txt2
-rw-r--r--docs/project-goals.txt51
-rw-r--r--docs/rizon_default.cfg3
-rw-r--r--docs/save_format_idea.txt9
8 files changed, 168 insertions, 0 deletions
diff --git a/docs/api.md b/docs/api.md
new file mode 100644
index 0000000..a1d7da3
--- /dev/null
+++ b/docs/api.md
@@ -0,0 +1,14 @@
+# Syntax
+ <bot_name>: <command>
+
+# Commands
+ + remind : dump current assignment
+## Admin
+ + reroll : terminate current assignment early and get a new
+ + set_repo <link> : set project repository link (to be dumped on remind)
+ + raw <sql> : execute raw sql, so add/delete is covered without retarded interfaces
+## PM
+So random users cant shit up the channel / add support for personal assignments.
+ + dump : list all possible projects
+ + request : request personal project
+ + remind : dump the users current personal assignment
diff --git a/docs/cli.txt b/docs/cli.txt
new file mode 100644
index 0000000..68f8086
--- /dev/null
+++ b/docs/cli.txt
@@ -0,0 +1,9 @@
+-server SERVER - The desired server.
+-port PORT - Places port number.
+-username USERNAME - Specifies the username.
+-password PASSW0RD - Sets a password.
+-auth FILE - Uses an authorization file.
+-help - A message likewise.
+-version - Currently nothing.
+
+options before are overwritten, and after take precedence.
diff --git a/docs/example_cli_usage.txt b/docs/example_cli_usage.txt
new file mode 100644
index 0000000..ab93849
--- /dev/null
+++ b/docs/example_cli_usage.txt
@@ -0,0 +1 @@
+./probotic irc.rizon.net 6667 '#/g/chad' probotic
diff --git a/docs/extern_project_idea_list.txt b/docs/extern_project_idea_list.txt
new file mode 100644
index 0000000..18c2609
--- /dev/null
+++ b/docs/extern_project_idea_list.txt
@@ -0,0 +1,79 @@
+[easy] [medi] [hard] [fuck you] -- I'm not entirely sure about: [netlet] [mathlet]
+[-day] [-week] [-month] [-year] [-never] To completion
+
+Starting off:
+Hello world
+Fizz Buzz
+Data Structures (Stacks, Heaps, Binary Trees, etc)
+
+AI:
+[medi-week] Neural Network
+[hard-months] Tensorflow Clone
+
+Algorithms:
+[medi-day] Custom Allocator
+[medi-day] Custom Compression Library
+[easy-day] ROT 13, ROT 47, ROT with any series
+[hard-week] Vectorized SIMD Matrix Multiplier
+[medi-week] Printf Suite Implementation
+[easy-day] String Manipulation Library
+[medi-day] Pathfinding: Dijkstra's Algorithm
+[medi-day] Pathfinding: A* Search Algorithm
+
+Applied Math and Problems:
+[mathlet] General Lambert's-Problem Solver
+[hard-week] Solution to the 8 Queens Problem
+
+Calculators:
+[hard-month] Graphing Calculator
+[easy-week] Normal Calculator
+[easy-week] Reverse Polish Notation Calculator (Look into dc(1))
+[medi-week] Spreadsheet (CSV Read/write) (With Excel features)
+
+Compiler (Or Interpreter) Theory:
+[hard-month] C Compiler
+[hard-3weeks] Holy C Compiler
+[hard-week] Scheme/Lisp Compiler
+[fuck you-year] Language Virtual Machine
+[easy-week] Custom LLVM Language
+[medi-month] YACC Implementation
+
+Networking:
+[netlet] E2EE PSK Messenger (either GUI or CLI, preferably detached from servers)
+[netlet] HTTP Web Server
+[medi-months] IRC Client
+[medi-months] Matrix Client
+[medi-months] BitTorrent Client
+
+OS:
+wiki.osdev.org
+
+Games:
+/g/gedg/
+learnopengl.com
+libsdl.org
+raylib.com
+sfml-dev.org (C++ with a C binding)
+godotengine.org (C++ game engine, terrible scripting)
+
+Rendering:
+[fuck you-forever] 3D CAD Software
+[hard-months] 3D Vertex Editor
+[hard-weeks] Bitmap Raytracer
+[hard-months] Media Player (Think MPV & VLC)
+[medi-weeks] Music Player Daemon Implementation
+[medi-week] Image to ASCII (BONUS: Use Unicode or Color)
+
+Simulation:
+[mathlet] Hydrodynamics
+[mathlet] Aerodynamics
+[medi-week] Rigid Body Physics
+[easy-week] Voronoi Diagram (HARDMODE: hardware rendering)
+
+Tools (Usable and Applied Algorithms):
+[hard-week / doctoral-serveral year long] Terminal Emulator
+[hard-week] Text Editor
+[medi-day] Syntax Highlighter (preferably for your own editor)
+[medi-month] General Compression Library (Think zlib)
+[medi-weeks] Multi-Threaded GREP Implementation (BONUS: Highlighting and line numbers)(Hint: use pThread and AIO)
+[medi-weeks] Vector/Bitmap Image Manipulation Program
diff --git a/docs/formatting.txt b/docs/formatting.txt
new file mode 100644
index 0000000..20c392c
--- /dev/null
+++ b/docs/formatting.txt
@@ -0,0 +1,2 @@
+/*--------------------------------------------------------------------------------*/
+/* Lines shouldn't be longer than 80 characters, which is this long ^ */
diff --git a/docs/project-goals.txt b/docs/project-goals.txt
new file mode 100644
index 0000000..4713c57
--- /dev/null
+++ b/docs/project-goals.txt
@@ -0,0 +1,51 @@
+--- Probotic
+
+A IRC Bot that is able to recieve several commands and on a weekly
+(or daily, biweekly, monthly) basis will (privately?) declare an
+assignment for users to do.
+
+--- Speculations
+
+Internally this suggests that it must handle entries of these projects
+that could be preconceived or composed exactly for a given date (what
+ we're doing.)
+
+This may be done via a simplistic append-only database or a SQL-based
+database.
+
+--- Requirements
+
+The bot should support printing at a regular interval or at a given date.
+The bot should respect some commands, such as POST, for if someone wishes
+to post a project challenge.
+The bot should respect an administrator, such that he could POST, and
+REMOVE entered items.
+Command SEARCH, SINCE and LIST, for regexp searching, entries since a
+date (presumably a <from> <to> relationship), and a list all.
+
+The tooling behind the bot should be accessible to do the same sort of
+interfacing to recieve a given task at the running of a command (to avoid
+having to deal with unix mail, this could be done through a daily check
+in a crontab file.)
+
+--- Autism
+
+Formatting is BSD spc2, always bracketed (unless the block is upon another
+ keyword), overwrap functions and combinators.
+
+--- Example
+
+int /* what I meant by overwrap functions */
+main(int argc,
+ argv * argv)
+{
+ int * somevar = 0 + 1;
+ if (1 || /* what I meant by overwrap combinators */
+ *somevar)
+ { return 0; }
+ else /* switch, if, do/while/for, would not be nested within */
+ {
+ puts("fruakk");
+ return 1;
+ }
+}
diff --git a/docs/rizon_default.cfg b/docs/rizon_default.cfg
new file mode 100644
index 0000000..3880a4e
--- /dev/null
+++ b/docs/rizon_default.cfg
@@ -0,0 +1,3 @@
+server=irc.rizon.net
+username=probotic
+port=6667
diff --git a/docs/save_format_idea.txt b/docs/save_format_idea.txt
new file mode 100644
index 0000000..d1be400
--- /dev/null
+++ b/docs/save_format_idea.txt
@@ -0,0 +1,9 @@
+2023-08-02 - Week 1 - The Challenge Bot
+
+Contribute to the bot!
+
+END
+
+2023-08-09 - Week 2 - dunno...
+
+\END or EOF