WIP: Big refactor

This commit is contained in:
Stephen Cochrane 2021-02-23 13:35:07 +02:00
parent 5f69adb5ba
commit 46532332cc
6 changed files with 280 additions and 328 deletions

View File

@ -1,16 +1,8 @@
+-------------------------------------------------------+
| |
| My Hobbies |
| |
| This page contains several links to my non |
| CS hobbies that I participate in. |
| |
+-------------------------------------------------------+
<div class=box><div class=boxheader>My Hobbies</div>
This page contains several links to my non CS hobbies
that I participate in.
</div>
+-------------------------------------------------------+
| |
| Gaming |
| |
| * My World of Warcraft homepage: <a href="/site/wow.html">here</a> |
| |
+-------------------------------------------------------+
<div class=box><div class=boxheader>Gaming</div>
* My World of Warcraft homepage: <a href="/site/wow.html">here</a>.
</div>

View File

@ -1,119 +1,96 @@
+-------------------------------------------------------+
| |
| About Me |
| |
| * My name is Stephen Cochrane, but my friends call |
| me Skippy (Written skiqqy). |
| |
| * curriculum vitae: |
| There are 3 methods, shown below, |
| 1. <code>$ man <(curl -s https://skiqqy.xyz/skiqqy.1)</code> |
| 2. <code>$ curl https://skiqqy.xyz/gencv | bash</code> |
| 3. Or you can download it <a href=./assets/CurriculumVitae.pdf>here</a>. |
| |
| * I am currently studying at Stellenbosh University |
| a BSc in Computer Science, I am in my third year |
| of studies. |
| |
| * I love low level coding, my language of choice |
| is C. |
| |
| * I love (LOVE!) mathematics, more specifically, |
| abstract algebra (rings, fields and groups). |
| |
| * Vim or gtfo. |
| |
| * Just read the man-pages bro. |
| |
| * Come water my flowers in animal crossing pls. |
| |
+-------------------------------------------------------+
<div class=box><div class=boxheader>About Me</div>
* My name is Stephen Cochrane, but my friends call
me Skippy (Written skiqqy).
+-------------------------------------------------------+
| About this website. |
| |
| This website serves as my little footprint on the |
| amazing creation that is the internet. |
| |
| Currently this website is running inside a docker |
| container (found <a href=https://github.com/skiqqy/skiqqy-docker>here</a>) on my raspberry pi. Most |
| of the services (git, blog, etc) are running inside |
| of a docker container, which is on the pi, however, |
| the more heavy services (pleroma etc) run on an |
| entire different machine inside my local network, |
| and gets accessed through a <a href=https://www.nginx.com/>reverse proxy</a> on my pi. |
| |
| An important statement to make is, everything |
| that is hosted on the skiqqy.xyz domain, is hosted |
| on my own machines locally. |
| |
| Another cool inclusion of my website, is the |
| <a href=https://dev.skiqqy.xyz target=blank_>dev server</a>, which reflects changes from upstream as |
| they are pushed. |
| |
| If you are interested in more more in depth |
| explanation of the setup, you can read this <a href=https://blog.skiqqy.xyz/new-vs-old/ target=blank_>post</a>, |
| as well as <a href=https://blog.skiqqy.xyz/nginxd/ target=blank_>this one</a>. |
| |
+-------------------------------------------------------+
* curriculum vitae:
There are 3 methods, shown below,
1. <code>$ man <(curl -s https://skiqqy.xyz/skiqqy.1)</code>
2. <code>$ curl https://skiqqy.xyz/gencv | bash</code>
3. Or you can download it <a href=./assets/CurriculumVitae.pdf>here</a>.
+-------------------------------------------------------+
| |
| Webring |
| |
| * Please go take a look at my friend Tristan, aka |
| "The king of subnets"/"alloca go brrr", his |
| website located here !/deavmi.assigned.network |
| |
| * caskd "you are wrong"/"im german" denes |
| - */redxen.eu |
| |
| * nova "something something weeb" __surname__ |
| - */novaburst.tilde.team |
| |
+-------------------------------------------------------+
* I am currently studying at Stellenbosh University
a BSc in Computer Science, I am in my third year
of studies.
+-------------------------------------------------------+
| |
| What I consider Bloat |
| |
| * Any program that is not "minimal", in the sense |
| that it does not conform to the unix philosophy |
| of doing one thing, and doing that one thing well. |
| |
| * If the program is not free as in <a href=https://www.gnu.org/philosophy/free-sw.html target=blank_>free</a>, then I |
| assume the program is bloated and may be malware. |
| |
| * Politics. |
| |
| * Google. |
| |
| * Facebook. |
| |
+-------------------------------------------------------+
* I love low level coding, my language of choice
is C.
+-------------------------------------------------------+
| |
| Contact Details |
| |
| * Fediverse: @x@social.skiqqy.xyz |
| |
| * Twitter: @posix_patrol |
| |
| * Instagram: @_skiqqy |
| |
| * Email: ohmyskippy@disroot.org |
| |
| * xmpp: ohmyskippy@disroot.org |
| |
| * Discord: Skiqqy#1159 |
| |
+-------------------------------------------------------+
* I love (LOVE!) mathematics, more specifically,
abstract algebra (rings, fields and groups).
+-------------------------------------------------------+
| |
| Other |
| |
| * IRC: irc.skiqqy.xyz:6667 |
| |
+-------------------------------------------------------+
* Vim or gtfo.
* Just read the man-pages bro.
* Come water my flowers in animal crossing pls.
</div>
<div class=box><div class=boxheader>About this website</div>
This website serves as my little footprint on the
amazing creation that is the internet.
Currently this website is running inside a docker
container (found <a href=https://github.com/skiqqy/skiqqy-docker>here</a>) on my raspberry pi. Most
of the services (git, blog, etc) are running inside
of a docker container, which is on the pi, however,
the more heavy services (pleroma etc) run on an
entire different machine inside my local network,
and gets accessed through a <a href=https://www.nginx.com/>reverse proxy</a> on my pi.
An important statement to make is, everything
that is hosted on the skiqqy.xyz domain, is hosted
on my own machines locally.
Another cool inclusion of my website, is the
<a href=https://dev.skiqqy.xyz target=blank_>dev server</a>, which reflects changes from upstream as
they are pushed.
If you are interested in more more in depth
explanation of the setup, you can read this <a href=https://blog.skiqqy.xyz/new-vs-old/ target=blank_>post</a>,
as well as <a href=https://blog.skiqqy.xyz/nginxd/ target=blank_>this one</a>.
</div>
<div class=box><div class=boxheader>Webring</div>
* Please go take a look at my friend Tristan, aka
"The king of subnets"/"alloca go brrr", his
website located here !/deavmi.assigned.network
* caskd "you are wrong"/"im german" denes
- */redxen.eu
* nova "something something weeb" __surname__
- */novaburst.tilde.team
</div>
<div class=box><div class=boxheader>What I consider bloat</div>
* Any program that is not "minimal", in the sense
that it does not conform to the unix philosophy
of doing one thing, and doing that one thing well.
* If the program is not free as in <a href=https://www.gnu.org/philosophy/free-sw.html target=blank_>free</a>, then I
assume the program is bloated and may be malware.
* Politics.
* Google.
* Facebook.
</div>
<div class=box><div class=boxheader>Contact Details</div>
* Fediverse: @x@social.skiqqy.xyz
* Twitter: @posix_patrol
* Instagram: @_skiqqy
* Email: ohmyskippy@disroot.org
* xmpp: ohmyskippy@disroot.org
* Discord: Skiqqy#1159
</div>
<div class=box><div class=boxheader>Other</div>
* IRC: irc.skiqqy.xyz:6667
</div>

View File

@ -1,141 +1,125 @@
+-------------------------------------------------------+
| |
| 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 |
| |
+-------------------------------------------------------+
<div class=box><div class=boxheader>Private</div>
* pizza, found here ^/skiqqy/pizza
+-------------------------------------------------------+
| |
| Community Projects (more than 2-3 devs) |
| |
| * CRXN, more details can be found <a href=https://deavmi.github.io/projects/crxn target=blank_>here</a>. |
| |
| * BNet, an IRC network, more info can be found <a href=https://deavmi.github.io/projects/bonobonet target=blank_>here</a>. |
| |
+-------------------------------------------------------+
* cmesg, found here ^/skiqqy/cmesg
+-------------------------------------------------------+
| |
| "Dead" Projects |
| These are projects that develeopment has |
| stopped on, Hopefully they will be revived. |
| |
| * KCC: Kak C Compiler, found here ^/skiqqy/kcc |
| |
+-------------------------------------------------------+
* Discord bot, found here ^/skiqqy/C45DiscordBot
+-------------------------------------------------------+
| |
| 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 <a href=https://www.eothello.com/#how-to-play target=blank_>othello</a>, 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 |
| <a href=http://jasmin.sourceforge.net/ target=blank_>jasmin</a>) the compiler was written in C. |
| |
| * 2nd Year, 2nd Semester - <a href=https://en.wikipedia.org/wiki/Brainfuck target=blank_>Brainfuck Intepreter</a>, |
| written in x86 Assembly. |
| |
| * 2nd Year, 2nd Semester - <a href=https://en.wikipedia.org/wiki/Huffman_coding target=blank_>Huffman Encoder</a>, |
| 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: |
| - <a href=/assets/CS354/project1/report.pdf>Project Report</a>. |
| - <a href=/assets/CS354/project1/spec.pdf>Project Specification</a>. |
| |
| * 3rd Year, 2nd Semester - TCP and RBUDP file |
| sharing program. Written in Java. More details: |
| - <a href=/assets/CS354/project2/report.pdf>Project Report</a>. |
| - <a href=/assets/CS354/project2/spec.pdf>Project Specification</a>. |
| |
| * 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: |
| - <a href=/assets/CS354/project3/report.pdf>Project Report</a>. |
| - <a href=/assets/CS354/project3/spec.pdf>Project Specification</a>. |
| |
| * 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: |
| - <a href=/assets/CS354/project4/report.pdf>Project Report</a>. |
| - <a href=/assets/CS354/project4/spec.pdf>Project Specification</a>. |
| |
| * 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 <a href=https://en.wikipedia.org/wiki/One-time_pad>one-time-pad</a>, 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: |
| - <a href=/assets/CS354/project5/report.pdf>Project Report</a>. |
| - <a href=/assets/CS354/project5/spec.pdf>Project Specification</a>. |
| |
+-------------------------------------------------------+
* Text Editor 'ted', found here ^/deavmi/ped
* This website, found here ^/skiqqy/skiqqy.github.io
* DChess, found here ^/skiqqy/DChess
</div>
<div class=box><div class=boxheader>Community Projects (more than 2-3 devs)</div>
* CRXN, more details can be found <a href=https://deavmi.github.io/projects/crxn target=blank_>here</a>.
* BNet, an IRC network, more info can be found <a href=https://deavmi.github.io/projects/bonobonet target=blank_>here</a>.
</div>
<div class=box><div class=boxheader>"Dead" Projects</div>
These are projects that develeopment has stopped on,
Hopefully they will be revived.
* KCC: Kak C Compiler, found here ^/skiqqy/kcc
</div>
<div class=box><div class=boxheader>University Projects</div>
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 <a href=https://www.eothello.com/#how-to-play target=blank_>othello</a>, 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
<a href=http://jasmin.sourceforge.net/ target=blank_>jasmin</a>) the compiler was written in C.
* 2nd Year, 2nd Semester - <a href=https://en.wikipedia.org/wiki/Brainfuck target=blank_>Brainfuck Intepreter</a>,
written in x86 Assembly.
* 2nd Year, 2nd Semester - <a href=https://en.wikipedia.org/wiki/Huffman_coding target=blank_>Huffman Encoder</a>,
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:
- <a href=/assets/CS354/project1/report.pdf>Project Report</a>.
- <a href=/assets/CS354/project1/spec.pdf>Project Specification</a>.
* 3rd Year, 2nd Semester - TCP and RBUDP file
sharing program. Written in Java. More details:
- <a href=/assets/CS354/project2/report.pdf>Project Report</a>.
- <a href=/assets/CS354/project2/spec.pdf>Project Specification</a>.
* 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:
- <a href=/assets/CS354/project3/report.pdf>Project Report</a>.
- <a href=/assets/CS354/project3/spec.pdf>Project Specification</a>
* 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:
- <a href=/assets/CS354/project4/report.pdf>Project Report</a>.
- <a href=/assets/CS354/project4/spec.pdf>Project Specification</a>.
* 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 <a href=https://en.wikipedia.org/wiki/One-time_pad>one-time-pad</a>, 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:
- <a href=/assets/CS354/project5/report.pdf>Project Report</a>.
- <a href=/assets/CS354/project5/spec.pdf>Project Specification</a>.
</div>

View File

@ -1,56 +1,43 @@
+-------------------------------------------------------+
| |
| Operating System & Desktop Environment |
| |
| * Currently I am running <a href=https://getfedora.org>Fedora GNU/Linux</a> |
| |
| * As for desktop environment, A only use dwm, it |
| fits my workflow perfectly, and I have spent |
| the last few years perfecting it, I dont need |
| a mouse, all I need is a keyboard, and I am |
| comfortable. |
| |
+-------------------------------------------------------+
<div class=box><div class=boxheader>Operating System & Desktop Environment</div>
* Currently I am running <a href=https://getfedora.org>Fedora GNU/Linux</a>
+-------------------------------------------------------+
| |
| Workflow |
| |
| * My workflow is simple: <a href=https://dwm.suckless.org/>dwm</a> + <a href=https://st.suckless.org/>terminal</a> + <a href=https://github.com/tmux/tmux/wiki>tmux</a> + <a href=https://www.vim.org/>vim</a>, |
| once I have these, I am in my happy place, and |
| produce really nice code. |
| |
| * I have recently switched to <a href=https://dwm.suckless.org/>dwm</a> by <a href=https://suckless.org/>suckless</a>, the |
| main reason for the switch was that my previous |
| wm (<a href=https://i3wm.org>i3wm</a>) was very limiting, with dwm I can edit |
| the source code directly, and so customize it to |
| exactly what I want. Also, elitist. |
| |
| * I have written a script that sets up my workspace, |
| and install's dependencies, this script can be |
| downloaded <a href=https://skiqqy.xyz/install.sh>here</a>. |
| |
| * You can also get my configs on thier own: |
| - ^/skiqqy/.dotfiles |
| - ^/skiqqy/.tmux |
| - ^/skiqqy/dwm |
| - ^/skiqqy/st |
| |
+-------------------------------------------------------+
* As for desktop environment, A only use dwm, it
fits my workflow perfectly, and I have spent
the last few years perfecting it, I dont need
a mouse, all I need is a keyboard, and I am
comfortable.
</div>
<div class=box><div class=boxheader>Workflow</div>
* My workflow is simple: <a href=https://dwm.suckless.org/>dwm</a> + <a href=https://st.suckless.org/>terminal</a> + <a href=https://github.com/tmux/tmux/wiki>tmux</a> + <a href=https://www.vim.org/>vim</a>,
once I have these, I am in my happy place, and
produce really nice code.
+-------------------------------------------------------+
| |
| Pictures |
| |
| * Image 1: An example of a normal working session |
| using tmux, with vim open. |
| |
| * Image 2: An example of programs being tiled. |
| |
| * Image 3: An example of an empty workspace. |
| |
+-------------------------------------------------------+
* I have recently switched to <a href=https://dwm.suckless.org/>dwm</a> by <a href=https://suckless.org/>suckless</a>, the
main reason for the switch was that my previous
wm (<a href=https://i3wm.org>i3wm</a>) was very limiting, with dwm I can edit
the source code directly, and so customize it to
exactly what I want. Also, elitist.
* I have written a script that sets up my workspace,
and install's dependencies, this script can be
downloaded <a href=https://skiqqy.xyz/install.sh>here</a>.
* You can also get my configs on thier own:
- ^/skiqqy/.dotfiles
- ^/skiqqy/.tmux
- ^/skiqqy/dwm
- ^/skiqqy/st
</div>
<div class=box><div class=boxheader>Pictures</div>
* Image 1: An example of a normal working session
using tmux, with vim open.
* Image 2: An example of programs being tiled.
* Image 3: An example of an empty workspace.
</div>
<a href=../assets/media/dwm2.png>Image 1:</a>
<img src="../assets/media/dwm2.png">

View File

@ -48,6 +48,21 @@
font-size: 20px;
}
.box {
width: 490px;
border: 1.5px dashed white;
position:center;
text: auto;
text-align: left;
padding: 35px;
margin: 10px;
}
.boxheader {
text-align: center;
font-size:20px;
}
.dev {
color: orange
}

View File

@ -1,11 +1,8 @@
+-------------------------------------------------------+
| Toons |
| |
| * My current main is a restoration shaman named |
| ohmytotems. I've mained the healer role for |
| a number of years now, but just recently made |
| the switch to shaman, and I am loving it! |
| - My <a href="https://raider.io/characters/eu/draenor/Ohmytotems">raider.io</a>. |
| - My <a href="https://worldofwarcraft.com/en-us/character/eu/draenor/ohmytotems">armory</a>. |
| |
+-------------------------------------------------------+
<div class=box><div class=boxheader>Toons</div>
* My current main is a restoration shaman named
ohmytotems. I've mained the healer role for
a number of years now, but just recently made
the switch to shaman, and I am loving it!
- My <a href="https://raider.io/characters/eu/draenor/Ohmytotems">raider.io</a>.
- My <a href="https://worldofwarcraft.com/en-us/character/eu/draenor/ohmytotems">armory</a>.
</div>