projects

 43 20 69 73 20 71 75 69
 72 6B 79 2C 20 66 6C 61
 77 65 64 2C 20 61 6E 64
 20 61 6E 20 65 6E 6F 72
 6D 6F 75 73 20 73 75 63
 63 65 73 73 2E 0A 20 44
 65 6E 6E 69 73 20 4D 2E
 20 52 69 74 63 68 69 65
Portals: Home Developer Instance Git: SourceHut (Main) GitHub (Mirrors) Local Git Server Personal: Blog Hobbies Docker My Setup Projects Other Hosted Services: Pleroma Instance Wiki Files Projects Home IRC Webclient

Private

* pizza, found here ^/skiqqy/pizza

* cmesg, found here ^/skiqqy/cmesg

* Discord bot, found here ^/skiqqy/C45DiscordBot

* Text Editor 'ted', found here ^/deavmi/ped

* This website, found here ^/skiqqy/skiqqy.github.io

* DChess, found here ^/skiqqy/DChess
Community Projects (more than 2-3 devs)

* CRXN, more details can be found here.

* BNet, an IRC network, more info can be found here.
"Dead" Projects

These are projects that develeopment has stopped on, Hopefully they will be revived.

* KCC: Kak C Compiler, found here ^/skiqqy/kcc
University Projects

Due to the fact that many of these projects are still being used to asses students at SU, these repos must be set to private, in order to prevent students from copying my work

* 1st Year, 1st Semester - Lines of Action, a game similar to othello, written in java.

* 1st Year, 2nd Semester - Obstacle Chess, Normal chess rules, with new pieces introduced, such as bombs, wall's, trapdoors, etc. Written in java.

* 2nd Year, 1st Semester - Sudoku Solver, using a heuristic algorithm + mutations on possible solutions to form new solutions, written in java.

* 2nd Year, 2nd Semester - Wrote a compiler for a pascal like language named ALAN standing for Another LANguage, includes scanning, parsing, typechecking, codegen (to the jvm using jasmin) the compiler was written in C.

* 2nd Year, 2nd Semester - Brainfuck Intepreter, written in x86 Assembly.

* 2nd Year, 2nd Semester - Huffman Encoder, written in x86 Assembly

* 3rd Year, 1st Semester - Process Scheduler simulator, written in C.

* 3rd Year, 1st Semester - Bank Transaction simulator, using omp, and locks to prevent race conditions, written in C.

* 3rd Year, 1st Semester - Othello bot, using MPI, and negamax search with alpha beta pruning to find optimal moves, written in C.

* 3rd Year, 1st Semester - Food review website using flask (python), redis, neo4j.

* 3rd Year, 2nd Semester - Multi-Client/Server chat program. Both client and server written in Java. For more details, please see:
- Project Report.
- Project Specification.

* 3rd Year, 2nd Semester - TCP and RBUDP file sharing program. Written in Java. More details:
- Project Report.
- Project Specification.

* 3rd Year, 2nd Semester - NAT Simulation, that is a fully simulated "Internet Environment", with the following simulated protocals: IP, TCP, UDP Ethernet Frames, DHCP, ICMP. Written in Java. For more details, see below:
- Project Report.
- Project Specification

* 3rd Year, 2nd Semester - VoIP/Messaging program Using TCP for messaging, and for VoIP we use UDP packets for sending the audio streams. Client for Making and recieving calls/ conference calls, as well as direct and or group messaging. Both server and client are written in Java. Details:
- Project Report.
- Project Specification.

* 3rd Year, 2nd Semester - P2P File hosting/sharing system, which is made up of a central server which handles minimal book-keeping. The actual file transfer occurs in 2 stages, the first is a handshake to ensure that the sender is talking to the reciever and vice versa, this is done using certificates and RSA encryption. Once the intial handshake is completed, a 96 key is transmited to the reciever encrypted using the recievers public key (RSA encryption, the keys where passed during the handshake). The sender will encrypt the payload using that key, as well as generating the next key that will be used and padding it into the data. We then encrypt and send the packet. This forms a one-time-pad, which is unbreakable. The recieve uses the inital key that was recieved from the secure handshake process to decrypt the recieved packet, it then removes the included key that was padded, and will use that key to decrypt the next process, this process continues until all packets are recieved. This is a super simplified explanation of the security. Written in Java, details can be found below:
- Project Report.
- Project Specification.
Page Source