Compare commits

...

48 commits

Author SHA1 Message Date
Eoghan Conlon
9d8f6813bf Adding screenshot of example Qt application to the presentation
All checks were successful
On_Push / deploy (push) Successful in 11m10s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-30 15:16:54 +00:00
Eoghan Conlon
a33a0eae47 Fix. Splitting Student and supervisor onto separate lines in the presentation
All checks were successful
On_Push / deploy (push) Successful in 11m2s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-30 11:57:49 +00:00
Eoghan Conlon
f962eb6c24 Feat. Adding FYP Semester 1 presentation to the website
All checks were successful
On_Push / deploy (push) Successful in 11m12s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-25 13:13:20 +01:00
Eoghan Conlon
6340a931e2 Fix. Action hadn't been merged in
All checks were successful
On_Push / deploy (push) Successful in 11m42s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-25 11:36:32 +01:00
Eoghan Conlon
1ef8ff74a4 Reverting action to possible new template
Some checks failed
On_Push / deploy (push) Failing after 14s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-24 09:37:02 +01:00
Eoghan Conlon
856d2e322e Testing new action again
Some checks failed
On_Push / deploy (push) Failing after 16m19s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-04 17:19:09 +01:00
Eoghan Conlon
6e30e6c153 Testing new action
Some checks failed
On_Push / deploy (push) Failing after 15m38s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-04 14:56:05 +01:00
Eoghan Conlon
93c44a79d9 Testing copying symlink folder
Some checks failed
On_Push / deploy (push) Failing after 15m57s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-04 14:30:12 +01:00
Eoghan Conlon
b2398bf4af Fixing the list command
Some checks failed
On_Push / deploy (push) Failing after 15m29s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-04 14:04:40 +01:00
Eoghan Conlon
0fb6f72dfe Listing out the dir that teh runner runs in
Some checks failed
On_Push / deploy (push) Failing after 17m42s
Signed-off-by: Eoghan Conlon <git@eoghanconlon.ie>
2024-10-04 13:34:25 +01:00
Eoghan Conlon
0afae6f7a3 Fix. Accidentally had a second deploy_user action this repos action
Some checks failed
On_Push / deploy (push) Failing after 15m15s
2024-10-04 13:16:31 +01:00
Eoghan Conlon
4324d5109b Fix. Accidentally had a second get_lfs action this repos action
Some checks failed
On_Push / deploy (push) Failing after 15m42s
2024-10-04 12:45:38 +01:00
Eoghan Conlon
d8175d2374 Testing new final action
Some checks failed
On_Push / deploy (push) Failing after 13m27s
2024-10-04 12:28:52 +01:00
Eoghan Conlon
e5489795ed Fix. Copying in old action code
Some checks failed
On_Push / deploy (push) Failing after 24s
2024-10-01 13:33:22 +01:00
Eoghan Conlon
810dccbf5d Fix. Making the folder a relative link
Some checks failed
On_Push / build (push) Failing after 3m32s
2024-10-01 13:26:16 +01:00
Eoghan Conlon
5f4a1c7a16 Bug fixing the nix build step
Some checks failed
On_Push / build (push) Failing after 3m29s
2024-10-01 13:21:00 +01:00
Eoghan Conlon
ab6bf1871d Testing final2 action
Some checks failed
On_Push / build (push) Failing after 3m31s
2024-10-01 13:07:07 +01:00
Eoghan Conlon
eb4812b331 Fix. Specified wrong folder in deploy user step
Some checks failed
On_Push / build (push) Has been cancelled
2024-10-01 13:05:25 +01:00
Eoghan Conlon
9f6354d42c Fix. Accidentally removed the nix build step
Some checks failed
On_Push / build (push) Has been cancelled
2024-10-01 13:04:23 +01:00
Eoghan Conlon
ba7db7fb1d Testing the final changes to my action
Some checks failed
On_Push / build (push) Failing after 1m12s
2024-10-01 13:02:21 +01:00
Eoghan Conlon
a03644c1fa Testing v8 of my action
All checks were successful
On_Push / build (push) Successful in 1m9s
2024-10-01 11:30:45 +01:00
Eoghan Conlon
e07fa3b39c Testing v7 of my action
All checks were successful
On_Push / build (push) Successful in 1m5s
2024-10-01 11:20:17 +01:00
Eoghan Conlon
77f020b9aa Fix. Forgot to update input variable
All checks were successful
On_Push / build (push) Successful in 1m16s
2024-10-01 10:48:37 +01:00
Eoghan Conlon
92386c1bb3 Testing the nix channel addition on my action
All checks were successful
On_Push / build (push) Successful in 1m10s
2024-10-01 10:43:43 +01:00
Eoghan Conlon
70d9480191 Reverting last commit's changes 2024-10-01 10:42:06 +01:00
Eoghan Conlon
cfc0be7e09 Test. Running nix-channel to see if the input is working
All checks were successful
On_Push / build (push) Successful in 1m7s
2024-10-01 10:38:47 +01:00
Eoghan Conlon
2caa1fcf99 Test. Testing V5 of my packaging of docker nix set-up
All checks were successful
On_Push / build (push) Successful in 1m10s
2024-10-01 10:37:10 +01:00
Eoghan Conlon
b7cf24e53b Test. Testing V4 of my packaging of docker nix set-up with a version that might actually do something that isn't the most recent version
All checks were successful
On_Push / build (push) Successful in 1m9s
2024-10-01 10:31:40 +01:00
Eoghan Conlon
321fdc14ef Test. Testing V4 of my packaging of docker nix set-up with a version that might actually do something
All checks were successful
On_Push / build (push) Successful in 1m13s
2024-10-01 10:22:33 +01:00
Eoghan Conlon
4053799aca Test. Testing V4 of my packaging of docker nix set-up
All checks were successful
On_Push / build (push) Successful in 1m8s
2024-10-01 10:19:01 +01:00
Eoghan Conlon
dcff561133 Test. Testing V3 of my packaging of docker nix set-up with a specific Nix version
All checks were successful
On_Push / build (push) Successful in 1m6s
2024-10-01 10:06:53 +01:00
Eoghan Conlon
ebba9fa259 Test. Testing V3 of my packaging of docker nix set-up
All checks were successful
On_Push / build (push) Successful in 1m11s
2024-10-01 10:00:50 +01:00
Eoghan Conlon
5f663f269b Test. Testing updated nix get step
All checks were successful
On_Push / build (push) Successful in 1m13s
2024-09-30 21:19:47 +01:00
Eoghan Conlon
14a03166ff Test. Testing newly actioned action
All checks were successful
On_Push / build (push) Successful in 1m5s
2024-09-30 21:12:13 +01:00
Eoghan Conlon
eb4da54f7f Test. Testing brendan's modifications to the docker pipeline
All checks were successful
On_Push / build (push) Successful in 1m5s
2024-09-30 20:52:54 +01:00
41d69a56b3 testing moving back to the docker ones
Some checks failed
On_Push / deploy (push) Failing after 14s
2024-09-28 11:55:32 +00:00
Eoghan Conlon
e010bd03dc Fix. Website now has css applied
All checks were successful
On_Push / deploy (push) Successful in 10s
2024-09-27 14:54:43 +01:00
Eoghan Conlon
5ab1925772 Fix. Adding css file to other folders
All checks were successful
On_Push / deploy (push) Successful in 13s
2024-09-26 10:50:12 +01:00
Eoghan Conlon
7c33bd7328 Feat. Adding template html file
All checks were successful
On_Push / deploy (push) Successful in 13s
2024-09-26 10:48:32 +01:00
Eoghan Conlon
c14b22c6fb Fix. Fixing the presentation links in the presentation index
All checks were successful
On_Push / deploy (push) Successful in 18s
2024-09-26 09:27:24 +01:00
Eoghan Conlon
a5fb45b4ff Refactor. Moving existing presentations into a modules sub-folder 2024-09-26 09:25:25 +01:00
Eoghan Conlon
99e1b00a8e Feat. Adding my own website to this repo
All checks were successful
On_Push / deploy (push) Successful in 12s
2024-09-26 09:18:51 +01:00
Eoghan Conlon
2f08c7cf97 Fix. Trying v5 for deploy_user
All checks were successful
On_Push / deploy (push) Successful in 13s
2024-09-26 09:15:32 +01:00
Eoghan Conlon
01c11420df Fix. Trying to use v5 rather than v4
Some checks failed
On_Push / deploy (push) Failing after 1m34s
2024-09-26 09:11:14 +01:00
Eoghan Conlon
49c79ac87d Updating forgejo action to build using the flake
Some checks failed
On_Push / deploy (push) Failing after 17s
2024-09-26 09:07:46 +01:00
Eoghan Conlon
133c775699 Adding nix flake to build website using BFOM 2024-09-26 09:04:49 +01:00
Eoghan Conlon
5446353755 Trying changing the name of the step in the forgejo action
All checks were successful
On_Push / deploy (push) Successful in 39s
2024-09-25 20:08:33 +01:00
eee2190b24 Merge pull request 'Adding presentations that were in the home dir to the repo' (#1) from presentations_refactor into main
All checks were successful
On_Push / build (push) Successful in 45s
Reviewed-on: #1
2024-09-25 18:57:49 +00:00
35 changed files with 3342 additions and 18 deletions

View file

@ -8,21 +8,20 @@ on:
# - src/**/*
jobs:
build:
deploy:
runs-on: docker
steps:
# get the repo first
- uses: https://code.forgejo.org/actions/checkout@v4
# Make sure all files are pulled down
- uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v6
with:
repository: ${{ gitea.repository }}
ref_name: ${{ gitea.ref_name }}
# temp one just to get it "built"
- uses: https://forgejo.skynet.ie/eoghanconlon73/actions/docker_nix@eoghan_test-final6
- run: nix build
- run: mkdir temp
- run: cp -rL result/* ./temp
- uses: https://forgejo.skynet.ie/Skynet/actions/deploy_user@v6
with:
ssh_key: ${{ secrets.SSH_KEY }}
username: ${{ env.GITHUB_REPOSITORY_OWNER }}
folder: "src"
# uncomment below if you want to deploy to a subfolder
#destination: "subfolder"
folder: "temp"

23
.md.toml Normal file
View file

@ -0,0 +1,23 @@
indentation = 2
src = "./src"
dest = "./build"
html_void = []
[template]
enable = true
order = [
{ type = "Powerpoint", path = "./src/templates/powerpoint.html" },
{ type = "Adjacent" },
{ type = "AdjacentFolder" },
#{ type = "RootFolder", path = "./src/templates/folder.html" },
# path to the templates' folder,
#{ type = "Root", path = "./src/templates" },
{ type = "General", path = "./src/templates/template.html" },
{ type = "Default" },
]
[indexing]
roots = []
render_drafts = false

159
flake.lock Normal file
View file

@ -0,0 +1,159 @@
{
"nodes": {
"bfom": {
"inputs": {
"naersk": "naersk",
"nixpkgs": "nixpkgs_2",
"utils": "utils"
},
"locked": {
"lastModified": 1723500950,
"narHash": "sha256-t1eApFGI+JzLIW2YToLlDV20n+Nevk1q4fZBYU1m93I=",
"owner": "silver_rust",
"repo": "bfom",
"rev": "7f339f28442758ecc3f1697e3f70d441973664b9",
"type": "gitlab"
},
"original": {
"owner": "silver_rust",
"repo": "bfom",
"type": "gitlab"
}
},
"naersk": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1713520724,
"narHash": "sha256-CO8MmVDmqZX2FovL75pu5BvwhW+Vugc7Q6ze7Hj8heI=",
"owner": "nix-community",
"repo": "naersk",
"rev": "c5037590290c6c7dae2e42e7da1e247e54ed2d49",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1714091391,
"narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1714091391,
"narHash": "sha256-68n3GBvlm1MIeJXadPzQ3v8Y9sIW3zmv8gI5w5sliC8=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4c86138ce486d601d956a165e2f7a0fc029a03c1",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1727173215,
"narHash": "sha256-OtMlWYCqBDbnEsByoows785Gem9CSMiXYEBiKKtStk4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "965289e5e07243f1cde3212d8bcaf726d36c5c46",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"root": {
"inputs": {
"bfom": "bfom",
"nixpkgs": "nixpkgs_3",
"utils": "utils_2"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

21
flake.nix Normal file
View file

@ -0,0 +1,21 @@
# Adapted for my use case from the flake.nix contained in https://gitlab.com/brendan.ie/v1
{
description = "My Personal site";
inputs = {
utils.url = "github:numtide/flake-utils";
bfom.url = "gitlab:silver_rust/bfom";
};
outputs = { self, nixpkgs, utils, bfom }: utils.lib.eachDefaultSystem (system:
let
pkgs = nixpkgs.legacyPackages."${system}";
in rec {
defaultPackage = pkgs.stdenv.mkDerivation {
name = "eoghanconlon.ie";
src = self;
buildPhase = "${bfom.defaultPackage."${system}"}/bin/cargo-bfom";
installPhase = "mkdir -p $out; cp -R build/* $out";
};
});
}

30
src/CS4043project.html Normal file
View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="Test.css">
<meta charset="UTF-8">
<title>CS4043 project</title>
</head>
<body>
<h1>CS4043 Project</h1>
<p><a href="./index.html">Return to Home Page</a></p>
<p>I had minimal involvement in the actual programming of this project, but I understand the bones of the code and would be able to explain it should that be required.</p>
<p><a href="https://college_ec.gitlab.io/sem2/cs4043-project-group/prototype-brendan-godot-02/">CURRENTLY BROKEN</a></p>
<p><a href="https://gitlab.com/college_EC/completed_projects/prototype-brendan-godot-02">Repository</a></p>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href = "mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href = "https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

56
src/Test.css Normal file
View file

@ -0,0 +1,56 @@
/*There is nothing more permanent then a temporary solution*/
body{
background-color: slategrey;
}
h1{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 30px;
}
h2{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 25px;
}
h3{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bold;
}
h4{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bolder;
}
p{
font-family: Arial, serif;
font-size: 20px;
color: white;
text-align: center;
}
table{
color: aliceblue;
font-family: Arial, serif;
font-size: 15px;
text-align: center;
}
th{
font-size: 20px;
text-align: center;
}
footer p{
font-size: 10px;
text-align: center;
}
.wrapper{
height: auto;
display: flex;
align-items: center;
justify-content: center;
}

70
src/blog/Blogs.css Normal file
View file

@ -0,0 +1,70 @@
body{
background-color: slategrey;
}
h1{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 30px;
}
h2{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 25px;
}
h3{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bold;
}
h4{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bold;
font-style: italic;
}
p, ul{
font-family: Arial, serif;
font-size: 20px;
color: white;
text-align: center;
}
table{
color: aliceblue;
font-family: Arial, serif;
font-size: 15px;
text-align: center;
}
th{
font-size: 20px;
text-align: center;
}
footer p{
font-size: 10px;
text-align: center;
}
.wrapper{
height: auto;
display: flex;
align-items: center;
justify-content: center;
}
code{
color: azure;
}
td, th{
border: 1px solid azure;
}
table{
border-spacing: 0;
}
.table{
margin-left: auto;
margin-right: auto;
width: 8em;
}

56
src/blog/Test.css Normal file
View file

@ -0,0 +1,56 @@
/*There is nothing more permanent then a temporary solution*/
body{
background-color: slategrey;
}
h1{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 30px;
}
h2{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 25px;
}
h3{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bold;
}
h4{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bolder;
}
p{
font-family: Arial, serif;
font-size: 20px;
color: white;
text-align: center;
}
table{
color: aliceblue;
font-family: Arial, serif;
font-size: 15px;
text-align: center;
}
th{
font-size: 20px;
text-align: center;
}
footer p{
font-size: 10px;
text-align: center;
}
.wrapper{
height: auto;
display: flex;
align-items: center;
justify-content: center;
}

View file

@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="en-ie">
<head>
<title>CE4703 2019 exam paper Q4</title>
<link rel="stylesheet" href="../../Blogs.css" />
<meta charset="UTF-8" />
</head>
<body>
<h1 id="q4-bubblesort">2019 Q4 (Bubblesort)</h1>
<p>As before these may not get 100% due to them being answers that I would give in the exam should it come up.</p>
<h2 id="a-explain-in-plain-english-the-bubblesort-algorithm">a) Explain in plain English the Bubblesort algorithm</h2>
<p>In Bubblesort you select two elements that are beside eachother and compare them, if the one that is further to the right
is smaller than the one further to the left, we swap them round and then repeat till you reach the end of the list. You
then repeat until you are able to move through the list without swapping any numbers around.</p>
<h2 id="b-provide-a-pseudo-code-representation-of-the-bubblesort-algorithm">b) Provide a pseudo-code representation of the Bubblesort algorithm</h2>
<p>As before this is closer to C then english but that is the way that I work through things for the most part.</p>
<pre><code>bubbleSort(int set[], int size){
int temp;
int check = 1;
while(check){
check = 0;
for(int i = 0, j = 1; j &lt; size; i++, j++){
if(set[i] &gt; set[j]){
check = 1;
temp = set[i];
set[i] = set[j];
set[j] = temp;
}
}
}
}
</code></pre>
<h2 id="c-provide-an-implementation-of-your-bubblesort-algorithm-in-the-c-programming-language">c) Provide an implementation of your Bubblesort algorithm in the C programming language</h2>
<pre><code class="language-C">void bubblesort(int set[], int size){
int temp;
int check = 1;
while(check){
check = 0;
for(int i = 0, j = 1; j &lt; size; i++, j++){
if(set[i] &gt; set[j]){
check = 1;
temp = set[i];
set[i] = set[j];
set[j] = temp;
}
}
}
}
</code></pre>
<h2 id="d-compare-the-efficiency-of-bubblesort-and-merge-sort-for-a-random-array-a-sorted-array-with-a-single-appended-element">d) Compare the efficiency of Bubblesort and merge sort for a random array &amp; a sorted array with a single appended element</h2>
<p>Bubblesort, in the best case scenario where you only have to wap one or two numbers it can be more efficient but it can be
the least efficient if you need to move an awful lot of numbers. To bring this back to the question, Bubblesort can be more
efficient with the sorted array with one appended element in a best case scenario but otherwise Mergesort is more efficient.</p>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href = "mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href = "https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

View file

@ -0,0 +1,335 @@
<!DOCTYPE html>
<html lang="en-ie">
<head>
<title>CE4703 2021 exam paper Q4</title>
<link rel="stylesheet" href="../../Blogs.css" />
<meta charset="UTF-8" />
</head>
<body>
<h1 id="q4-algorithm">2021 Q4 Algorithm</h1>
<p>Of course these answers may not get 5/5 as this is from my memory of selection sort from one of last year's Java modules.</p>
<h2 id="a-explain-in-plain-english-the-selection-sort-algorithm">a) explain in plain English the Selection sort algorithm</h2>
<p>The selection sort algorithm is an algorithm that takes the middle of a <strong>PRESORTED</strong> set/array to try and see where a number
should go, or the location of the number if the number is already in the set/array.</p>
<h2 id="b-provide-a-pseudo-code-representation-of-your-selection-sort-algorithm">b) Provide a pseudo-code representation of your Selection sort algorithm.</h2>
<p>My pseudo-code tends ro be closer to C or java code at times, I find it easier to implement it in code that way personally.</p>
<h3 id="rough-work">rough work</h3>
<ul>
<li>number = 3</li>
<li>set:</li>
</ul>
<div class="table">
<table>
<thead>
<tr>
<th>0</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>8</td>
<td>11</td>
<td>13</td>
<td>15</td>
<td>21</td>
<td>30</td>
</tr>
</tbody>
</table>
</div>
<ul>
<li>size = 10</li>
</ul>
<h4 id="pre-loop">pre-loop:</h4>
<ul>
<li>k = 9</li>
<li>k = 4</li>
</ul>
<h4 id="loop1-through-1">Loop1 through 1:</h4>
<ul>
<li>i = 4</li>
<li>if(3 == 8) //false</li>
<li>else if (3 &gt; 8) //false</li>
<li>else
<ul>
<li>k = 2</li>
<li>greater = 0
Set left to check:</li>
</ul>
</li>
</ul>
<div class="table">
<table>
<thead>
<tr>
<th>0</th>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>4</td>
<td>5</td>
<td>7</td>
</tr>
</tbody>
</table>
</div>
<h4 id="loop1-through-2">Loop1 through 2:</h4>
<ul>
<li>i = 2</li>
<li>if(3 == 5) //false</li>
<li>if(3 &gt; 5) //false</li>
<li>else
<ul>
<li>k = 1</li>
<li>greater = 0
Set left to check</li>
</ul>
</li>
</ul>
<div class="table">
<table>
<thead>
<tr>
<th>0</th>
<th>1</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>4</td>
</tr>
</tbody>
</table>
</div>
<h4 id="loop1-through-3">Loop1 through 3:</h4>
<ul>
<li>i = 1;</li>
<li>if(3 == 4) //false</li>
<li>if(3 &gt; 4) //false</li>
<li>else</li>
<li>k = 0</li>
<li>greater = 0</li>
</ul>
<h4 id="post-loop">Post-Loop</h4>
<ul>
<li>if(0) //false</li>
<li>if(rValue-&gt;return_code != number_already_in_set) //true</li>
</ul>
<h4 id="pre-loop2">Pre-Loop2</h4>
<ul>
<li>b = 0</li>
</ul>
<h4 id="loop2-through-1">Loop2 through 1</h4>
<ul>
<li>a = 0</li>
<li>if(0 == 1) //False</li>
<li>else
<ul>
<li>new_set[0] = 2</li>
<li>b = 0 + 1</li>
</ul>
</li>
<li>a = 0 + 1</li>
</ul>
<h3 id="loop2-through-2">Loop2 through 2</h3>
<ul>
<li>if(1 == 1) //true
<ul>
<li>new_set[1] = 3</li>
</ul>
</li>
<li>a = 1 + 1</li>
</ul>
<h3 id="loop2-through-to-end">Loop2 through to end</h3>
<p>Each of the elements are added in until rValue-&gt;newset looks like this:</p>
<div class="table">
<table>
<thead>
<tr>
<th>0</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
<th>9</th>
<th>10</th>
</tr>
</thead>
<tbody>
<tr>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>7</td>
<td>8</td>
<td>11</td>
<td>13</td>
<td>15</td>
<td>21</td>
<td>30</td>
</tr>
</tbody>
</table>
</div>
<h4 id="post-loop2">Post-Loop2</h4>
<p>return rValue</p>
<h3 id="answer">Answer</h3>
<pre><code>SelectionSort(int set[], int size, int number){
int i;
int greater;
int k;
int b;
//There would be an enum &amp; structin my header for below, just not implemented in the pseudo-code.
rValue-&gt;return_code = added;
k = size - 1;
k /= 2;
while(i &gt;= 0 &amp;&amp; i &lt; size){
i = k;
if(number == set[i]){
rValue-&gt;location = i;
rValue_code-&gt;return_code = number_already_in_set;
break;
} else if(number &gt; set[i]){
j = size - i;
j /=2;
k = i + j;
greater = 1;
} else {
k = i / 2;
greater = 0;
}
}
if(greater){
i += 1;
}
if(rValue-&gt;return_code != number_already_in_set){
b = 0;
for(int a = 0; a &lt; (size + 1); a++){
if(a == i){
rValue-&gt;new_set[a] = number;
} else {
rValue-&gt;new_set[a] = set[b];
b += 1;
}
}
}
rValue-&gt;number_locateion = i;
return rValue;
}
</code></pre>
<h2 id="c-provide-an-implementation-of-your-selection-sort-algorithm-for-the-c-programming-language">c) Provide an implementation of your Selection Sort algorithm for the C programming Language</h2>
<pre><code class="language-C">typedef enum{
number_added,
number_already_in_set
}selectSortRCodes;
typedef struct{
selectSortRCodes return_code;
int location;
int newSet[10000]; //10000 was chosen arbitrarily to allow a large set of numbers be used, may be changed later
}selectSortRValue;
selectSortRValue *selectSort(int set[], int size, int number){
selectSortRValue *rValue = malloc(sizeof(selectSortRValue));
if(rValue != NULL){
int i = 0;
int b;
int j;
int greater;
int k = size - 1;
k /= 2;
while(i &gt;= 0 &amp;&amp; i &lt; size &amp;&amp; k &gt; 0){
i = k;
if(number == set[i]){
rValue-&gt;return_code = number_already_in_set;
break;
} else if(number &gt; set[i]){
j = size - i;
j /= 2;
k = i + j;
greater = 1;
} else {
k = i / 2;
greater = 0;
}
}
if(greater){
i += 1;
}
if(rValue-&gt;return_code != number_already_in_set){
b = 0;
for(int a = 0; a &lt; (size + 1); a++){
if(a == i){
rValue-&gt;newSet[a] = number;
} else {
rValue-&gt;newSet[a] = set[b];
b += 1;
}
}
}
rValue-&gt;location = i;
}
return rValue;
}
</code></pre>
<h2 id="d-compare-the-effeciency-of-selection-sort-and-mergesort-for-1.a-random-array-2.a-pre-sorted-array-with-single-element-out-of-order">d) Compare the effeciency of Selection sort and Mergesort for: 1. A random Array 2. A pre-sorted array with single element out of order</h2>
<p>Selection sort does not work at all with a random array as it is relying on the fact that all numbers in indexes less than
the midpoint of the set/array are less than the number at the midpoint and that all numbers to the right of the midpoint
of the array are greater than the number at the index of the midpoint. Therefore, Mergesort is more efficient for random arrays.
But for arrays with only one number out of place Selection sort is more efficient as once we know where the item is we can
gauge where it should be based on the midpoints of each selection (bigger or smaller).
Worst case Big O notation for each:</p>
<div class="table">
<table>
<tr>
<th>Selection Sort</th>
<th>Mergesort</th>
</tr>
<tr>
<td>n^2</td>
<td>n * log(n)</td>
</tr>
</table>
</div>
<p>Based on the above figures, Mergesort is better though in practice Selection sort will be better for sizes of N less than 100.</p>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href = "mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href = "https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

View file

@ -0,0 +1,372 @@
<!DOCTYPE html>
<html lang="en-ie">
<head>
<title>CS4023 Wk12</title>
<link rel="stylesheet" href="../../Blogs.css"/>
<meta charset="UTF-8"/>
</head>
<body>
<h1 id="week-12">Week 12</h1>
<p>Just an aside before I write this week's blog, I have been keeping up with the
lectures throughout the semester, I just haven't had a chance to do any of the
blogs up till now due to the workload in my other modules.</p>
<hr>
<h2 id="lab">Lab</h2>
<p>This week's lab was a short but challenging one. There was a twist in it though
that kept me on my toes, and that was how do I pass a variable to a function
without modifying the function call, thus modifying the main function too much.
That is when the solution hit me, make it a <strong>global variable</strong>. This much against my better judgement
(and good coding
practice that has been instilled in me from CE4703), was the only way to do this. To explain why this isn't good
practice
I'll first have to explain what is a global variable.</p>
<h3 id="global-variables">Global Variables</h3>
<p>Global variables are variables that can be accessed by any function called by your program. Take these examples:</p>
<h4 id="sample-1">Sample 1</h4>
<pre><code class="language-C">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int i = 0;
int main(){
while(i &lt; 10){
printf(&quot;i equals %i&quot;, i);
i++;
}
EXIT_SUCCESS;
}
</code></pre>
<p>Output:</p>
<table>
<thead>
<tr>
<th>&nbspExpected value of i&nbsp</th>
<th>&nbspOutput&nbsp</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<center> 0</center>
</td>
<td>
<center> i equals 0</center>
</td>
</tr>
<tr>
<td>
<center> 1</center>
</td>
<td>
<center> i equals 1</center>
</td>
</tr>
<tr>
<td>
<center> 2</center>
</td>
<td>
<center> i equals 2</center>
</td>
</tr>
<tr>
<td>
<center> 3</center>
</td>
<td>
<center> i equals 3</center>
</td>
</tr>
<tr>
<td>
<center> 4</center>
</td>
<td>
<center> i equals 4</center>
</td>
</tr>
<tr>
<td>
<center> 5</center>
</td>
<td>
<center> i equals 5</center>
</td>
</tr>
<tr>
<td>
<center> 6</center>
</td>
<td>
<center> i equals 6</center>
</td>
</tr>
<tr>
<td>
<center> 7</center>
</td>
<td>
<center> i equals 7</center>
</td>
</tr>
<tr>
<td>
<center> 8</center>
</td>
<td>
<center> i equals 8</center>
</td>
</tr>
<tr>
<td>
<center> 9</center>
</td>
<td>
<center> i equals 9</center>
</td>
</tr>
</tbody>
</table>
<h4 id="sample-2">Sample 2</h4>
<pre><code class="language-C">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
int sumbyten(int j);
int i = 0;
int main(){
int sum = i;
while(i &lt; 10){
sum = sumbyten(sum);
printf(&quot;i equals %i&quot;, i);
i++;
}
}
int sumbyten(int j){
int temp = j;
i *= 10;
printf(&quot;%i + %i = %i&quot;, i, temp, j);
j += i;
return j;
}
</code></pre>
<p>Output:</p>
<table>
<thead>
<tr>
<th>Expected value of i</th>
<th>Actual value of i</th>
<th>Expected Value of sum</th>
<th>Actual value of Sum</th>
<th>Expected Output</th>
<th>Actual Output</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<center> 0</center>
</td>
<td>
<center> 0</center>
</td>
<td>
<center> 0 </center>
</td>
<td>
<center> 0 </center>
</td>
<td>
<center><code>0 + 0 = 0</code> <br> <code>i equals 0</code> </center>
</td>
<td>
<center><code>0 + 0 = 0</code> <br> <code>i equals 0</code> </center>
</td>
</tr>
<tr>
<td>
<center> 1 </center>
</td>
<td>
<center> 1 </center>
</td>
<td>
<center> 0 </center>
</td>
<td>
<center> 0 </center>
</td>
<td>
<center><code>10 + 0 = 10</code> <br> <code>i equals 1</code> </center>
</td>
<td>
<center><code>10 + 0 = 10</code> <br> <code>i equals 1</code> </center>
</td>
</tr>
<tr>
<td>
<center> 2 </center>
</td>
<td>
<center> 10 </center>
</td>
<td>
<center> 10 </center>
</td>
<td>
<center> 10 </center>
</td>
<td>
<center><code>20 + 10 = 30</code> <br> <code>i equals 2</code> </center>
</td>
<td>
<center> N/A </center>
</td>
</tr>
<tr>
<td>
<center> 3 </center>
</td>
<td></td>
<td>
<center> 30 </center>
</td>
<td></td>
<td>
<center><code>30 + 30 = 60</code> <br> <code>i equals 3</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 4 </center>
</td>
<td></td>
<td>
<center> 60 </center>
</td>
<td></td>
<td>
<center><code>40 + 60 = 100</code> <br> <code>i equals 4</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 5 </center>
</td>
<td></td>
<td>
<center> 100 </center>
</td>
<td></td>
<td>
<center><code>50 + 100 = 150</code> <br> <code>i equals 5</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 6 </center>
</td>
<td></td>
<td>
<center> 150 </center>
</td>
<td></td>
<td>
<center><code>60 + 150 = 210</code> <br> <code>i equals 6</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 7 </center>
</td>
<td></td>
<td>
<center> 210 </center>
</td>
<td></td>
<td>
<center><code>70 + 210 = 280</code> <br> <code>i equals 7</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 8 </center>
</td>
<td></td>
<td>
<center> 280 </center>
</td>
<td></td>
<td>
<center><code>80 + 280 = 360</code> <br> <code>i equals 8</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 9 </center>
</td>
<td></td>
<td>
<center> 360 </center>
</td>
<td></td>
<td>
<center><code>90 + 360 = 450</code> <br> <code>i equals 9</code> </center>
</td>
<td></td>
</tr>
<tr>
<td>
<center> 10 </center>
</td>
<td></td>
<td>
<center> 450 </center>
</td>
<td></td>
<td>
<center> N/A </center>
</td>
<td></td>
</tr>
</tbody>
</table>
<p>As you can see from the above examples, global variables can be dangerous as they can be changed by any function in
the
program. In the program in Sample 1, the program works as intended but as you can see, in sample 2 the loop
terminates
after going through it once because i is changed by the <code>sumbyten</code> function, dispite the fact that the
way that the program
is written which is to go through it 10 times using the numbers 0 through to 9.This is because the function alters
the
value stored in i while it is running. It is because the functions can see this value is why it seems tempting but
it's
because of this fact that it isn't such a good thing at the same time as those functions can change the value,
messing up the
expected running of the program.</p>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href="mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href="https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

View file

@ -0,0 +1,95 @@
<head>
<link rel="stylesheet" href="../Blogs.css">
<meta charset="UTF-8">
<title>My Co-op CV</title>
</head>
# Personal Details
| Titles | Information |
|---------------------|-------------------------------------------------------------------------------|
| Student Code | 21310262 |
| Forenames | EOGHAN MICHAEL |
| Surname | CONLON |
| Home Address | 18 RATHCARN <br /> MONEYGALL <br /> ROSCREA <br /> CO OFFALLY <br /> E53 TN25 |
| Term Address | 18 RATHCARN <br /> MONEYGALL <br /> ROSCREA <br /> CO OFFALLY <br /> E53 TN25 |
| Contact information | Email: 21310262@studentmail.ul.ie <br /> Phone: 087 4634330 |
# Current Education
| Year | Period | Module Code | Module Name | Grade |
|---------|--------|-------------|---------------------------------------------|-------|
| 2022/23 | SEM2 | ED5042 | MOBILE APP DEVELOPMENT | A1 |
| 2022/23 | SEM2 | ET4004 | TCP / IP NETWORKING | B3 |
| 2022/23 | SEM2 | ET4014 | DATA SECURITY | A2 |
| 2022/23 | SEM2 | ET4334 | INTRODUCTION TO CLOUD COMPUTING | A1 |
| 2022/23 | SEM2 | ET4345 | OPERATING SYSTEMS 2 | A2 |
| 2022/23 | SEM1 | CE4703 | COMPUTER SOFTWARE 3 | B1 |
| 2022/23 | SEM1 | CS4023 | OPERATING SYSTEMS | B2 |
| 2022/23 | SEM1 | ET4023 | INTRODUCTION TO SECURITY AND CRYPTOGRAPHY | B2 |
| 2022/23 | SEM1 | ET4132 | INTRODUCTION TO WEB AND DATABASE TECHNOLOGY | A2 |
| 2022/23 | SEM1 | ET4304 | MODERN COMMUNICATIONS: FUNDAMENTALS | B3 |
| 2022/22 | SEM2 | CS4043 | GAMES MODELLING DESIGN | B2 |
| 2022/22 | SEM2 | CS4182 | FOUNDATIONS OF COMPUTER SCIENCE 2 | A1 |
| 2022/22 | SEM2 | CS4222 | SOFTWARE DEVELOPMENT | B1 |
| 2022/22 | SEM2 | ET4162 | COMPUTER SYSTEMS ORGANISATION | A1 |
| 2022/22 | SEM2 | MA4402 | COMPUTER MATHS 2 | B1 |
| 2022/22 | SEM1 | CS4012 | REPRESENTATION AND MODELLING | B1 |
| 2022/22 | SEM1 | CS4141 | INTRODUCTION TO PROGRAMMING | A2 |
| 2022/22 | SEM1 | CS4221 | FUNDAMENTALS OF COMPUTER SCIENCE 1 | A1 |
| 2022/22 | SEM1 | ET4011 | FUNDAMENTALS OF COMPUTER ORGANISATION | A1 |
| 2022/22 | SEM1 | MS4111 | DISCRETE MATHEMATICS 1 | B3 |
# Previous Education
## Secondary school:
OUR LADYS SECONDARY SCHOOL
| Level | Subject | Grade | Result |
|--------|------------------------------------------|-------|--------|
| | D/S | | |
| | D | | |
| SLLC92 | Irish | H3 | Pass |
| SLLC92 | English | H4 | Pass |
| SLLC92 | Mathematics | H2 | Pass |
| SLLC92 | French | H4 | Pass |
| SLLC92 | Chemistry | H3 | Pass |
| SLLC92 | Music | H2 | Pass |
| SLLC92 | Graphic Communication & Technical Design | H3 | Pass |
# Previous Employment
| Organisation | From | To | Job Title |
|--------------------------------------------|----------|----------|-------------------|
| University of Limerick ICT Learning center | Sep 2022 | Dec 2022 | PSLG Group Leader |
| The Plaza Group (Spar Moneygall) | Jul 2021 | | Shop Assistant |
# Skills Profile
| Title | Content |
|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Key Skills Profile | Proficient Microsoft Word<br/>Proficient Microsoft Powerpoint<br/>Basic Microsoft Excel<br/>Proficient Java Programming<br/>Basic C# (Used in a project made in Godot)<br/>Proficient Git<br/>Full Driving Licence<br/>Proficient HTML<br/>B Grade Leaving Cert Honours Maths<br/>Basic SQL<br/>Proficient Android Development<br/>Proficient C Programming<br/>Car Owner<br/>Basic JavaScript |
| Teamwork | I worked as part of a team on a number of group projects throughout my first year of University, including the Games Modelling Design game that is on my Gitlab profile. The project brief was to create a simple 2D game. My role in the team was assisting with the design of the game and the required design documents required for submission. I also assisted in recording the video demo of the game. I also work as part of a team as part of my part-time job |
| Communication Skills | As part of my part-time job as a Sales Assistant I have to deal with the public as I am working behind the tills and help them find what they are looking for in the shop while out on the shop floor. As part of the group projects I have completed to date I have had to communicate with the members of my group. |
| Problem Solving & Analytics | As part of my assignments for Introduction to Programming and Software Development [Unfortunately neither are public] I had to figure out how to solve certain problems, for example, in Part 3 for the assignment, I had to figure out how to sort the words into alphabetical order. To do this I put the words into an array and went through the words putting them in alphabetical order by checking the letters of the words one at a time till they were all in alphabetical order. Through the labs for these modules I became proficient in the use of an IDE for Java Development. |
| Using Initiative | Over the course of my work in the Spar Shop in the Barack Obama Plaza I use my initiative by seeing if something needs to be done, for example, the coffee dock needs to be cleaned or the counters at the till need to be wiped down and I do it. |
| Projects/Portfolio/Volunteering | GitLab profile: https://gitlab.com/users/eoghanconlon73 Beginning in March 2023 I began volunteering with the Coder Dojo in Nenagh. It ran monthly between March and June and I helped with the younger age group with Game Development using Scratch. I am currently the Health & Safety, Equipment and Training Officer for the UL Computer Society. |
| Additional Information | In 2019 I completed the Scout Chief Scout Award, in the process completeing my Bronze Gaisce. While completeinmg this I volunteered with the cub section of the scout group I was a member of at the time, for the exercise element I took up cycling for the 13 weeks and for the personal skill part I learnt how to play the guitar, which I did for 26 weeks. In 2020 I completed the Silver Gaisce, in the process of this for the personal skill I continued to learn how to play the guitar, for the physical recreation I continued with the cycling and for communittee involvment, I volunteered with the HomeWork Clubn in my Secondary School. In 2021 I was awarded the Br Edmund Rice Award in my Secondary School. This award is awarded to any student that shows exemplary communittee spirit throughout 6th year. |
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href="mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href="https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>

View file

@ -0,0 +1,50 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="../Blogs.css">
<meta charset="UTF-8">
<title>Educational Blogs</title>
</head>
<body>
<h1>Eoghan Conlon's Blog</h1>
<p>
<a href="../index.html">Blogs home page</a>
Educational
</p>
<h2>Overview</h2>
<p>
I have this here so that other people can find their way to combined resources for modules that I am doing as part
of
my studies of LM083. I wasn't sure where else I was going to put these and here looks as good a place as any
particularly
since I haven't made use of this at all.
</p>
<h2>Semester 3</h2>
<h3>CS4023</h3>
<ul>
<li><a href="./CS4023/Wk12.html">Week 12 blog post</a></li>
</ul>
<h3>CE4703</h3>
<ul>
<li><a href="./CE4703/selection_sort.html">Selection sort question from 2021 autumn exam</a></li>
<li><a href="./CE4703/bubblesort.html">Bubblesort question from 2019 autumn exam</a></li>
</ul>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href="mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href="https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

27
src/blog/index.html Normal file
View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en-IE">
<head>
<link rel="stylesheet" href="./Blogs.css">
<meta charset="UTF-8">
<title>Blogs Home</title>
</head>
<body>
<h1>Eoghan Conlon's Blog</h1>
<p>
<a href="../index.html">Home</a>
Blogs
</p>
<p><a href="./educational/index.html">Educational blogs</a></p>
</body>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href = "mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href = "https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
</html>

View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="../../Test.css">
<meta charset="UTF-8">
<title>Video Games</title>
</head>
<body>
<h1>Eoghan Conlon</h1>
<p>
<a href="../../index.html">Home</a>
<a href="../index.html">Blogs</a>
</p>
<h2>Video Games</h2>
<p>One of my pastimes is playing video games. I hope to document the games that I play through this section of my blog.</p>
<h3>Games that I played</h3>
<table>
<tr>
<th>Name of the Game</th>
<th>Hours put into the game</th>
<th>Have I completed it</th>
<th>Platform Played On</th>
</tr>
</table>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href = "mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon74#1132 | Gitlab:
<a href = "https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
</body>
</html>

View file

@ -1,11 +1,163 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
</head>
<body>
<div>
<h1>WIP</h1>
<html lang="en-IE">
<head>
<link rel="stylesheet" href="Test.css">
<meta charset="UTF-8">
<title>Home</title>
</head>
<body>
<h1>Eoghan Conlon</h1>
<p>
Home
<a href="blog/index.html">
Blogs
</a>
<a href="presentations/">Presentations</a>
</p>
<main>
<h2>About me</h2>
<p>I am a <span id="age">19</span>-year-old college student, specialising in Cyber Security and IT Forensics.</p>
<h2>Projects</h2>
<! -- Shamelessly taken from the w3Schools tutorial on html tables -->
<div class="wrapper">
<table>
<tr>
<th>Project</th>
<th>Years</th>
<th>Languages Used</th>
<th>Notes</th>
</tr>
<tr>
<td><a href="https://gitlab.com/mywebsite4/v2">This Website</a></td>
<td>2022 to present</td>
<td>HTML and CSS</td>
</tr>
<tr>
<td><a href="https://gitlab.com/college_EC/semester-4/ed5042_labs">ED5042 Coursework</a></td>
<td>January 2023 to May 2023</td>
<td>Java & XML</td>
<td>Individual projects and labs are broken down by chapter while the final project is in its own
repository
</td>
</tr>
<tr>
<td><a href="https://gitlab.com/college_EC/sem3/ce-4703-project">CE4703 project</a></td>
<td>November to December 2023</td>
<td>C</td>
<td>It was a group project. Group members in the repository</td>
</tr>
<tr>
<td><a href="https://gitlab.com/college_EC/completed_projects/et4132-project">ET4132 project</a></td>
<td>September to December 2022</td>
<td>HTML, PHP, MySQL</td>
<td>Group project, members listed in the repository</td>
</tr>
<tr>
<td><a href="https://gitlab.com/c2842/misc/classbot">Classbot count module</a></td>
<td>2022 to present</td>
<td>Typescript</td>
<td>Worked in my own <a href="https://gitlab.com/college_EC/summer-y1-to-y2/classbot">repository</a> and
meged in
</td>
</tr>
<tr>
<td><a href="./CS4043project.html">Project for the CS4043 module in college</a></td>
<td>2022 - 2022</td>
<td>C# (see note on page)</td>
</tr>
<tr>
<td><a href="https://gitlab.com/c2842/semester-1/cs4012-project">Project for the CS4012 module in
college</a></td>
<td>2021 - 2021</td>
<td>HTML</td>
</tr>
</table>
</div>
</body>
<h2>History</h2>
<div class="wrapper">
<table>
<tr>
<th>Location</th>
<th>Start</th>
<th>End</th>
<th>Position</th>
</tr>
<tr>
<td>Intel Shannon</td>
<td>2024</td>
<td>2024</td>
<td>Cloud Software Engineer</td>
</tr>
<tr>
<td>UL Computer Society</td>
<td>2023</td>
<td>Current</td>
<td>Treasurer</td>
</tr>
<tr>
<td>University of Limerick</td>
<td>2021</td>
<td>Current</td>
<td>Student</td>
</tr>
<tr>
<td>Barack Obama Plaza</td>
<td>2021</td>
<td>Current</td>
<td>Part-Time Sales Assistant</td>
</tr>
<tr>
<td>University of Limerick</td>
<td>2023</td>
<td>2023</td>
<td>ICT Learning Center Drop-in tutor</td>
</tr>
<tr>
<td>UL Computer Society</td>
<td>2022</td>
<td>2023</td>
<td>Health & Safety, Equipment and Training Officer</td>
</tr>
<tr>
<td>University of Limerick</td>
<td>2022</td>
<td>2022</td>
<td>PSLG Leader for CS4141</td>
</tr>
<tr>
<td>Our Lady's Secondary School</td>
<td>2015</td>
<td>2021</td>
<td>Student</td>
</tr>
<tr>
<td>Gaelscoil An tSlí Dála</td>
<td>2007</td>
<td>2015</td>
<td>Student</td>
</tr>
</table>
</div>
</main>
<footer>
<p>
2022-<span id="year">2022</span> | Eoghan Conlon | Email:
<a href="mailto:hello@eoghanconlon.ie">hello@eoghanconlon.ie
</a>
| Discord: eoghanconlon73 | Gitlab:
<a href="https://gitlab.com/eoghanconlon73">
@eoghanconlon73
</a>
</p>
</footer>
<script>
/* I am a lazy fucker */
document.getElementById('year').textContent = new Date().getFullYear().toString()
</script>
<script>
currentYear = new Date().getFullYear().toString();
age = parseInt(currentYear) - 2003;
document.getElementById('age').textContent = age;
</script>
</body>
</html>

View file

@ -0,0 +1,56 @@
/*There is nothing more permanent then a temporary solution*/
body{
background-color: slategrey;
}
h1{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 30px;
}
h2{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 25px;
}
h3{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bold;
}
h4{
color: azure;
text-align: center;
font-family: Arial, serif;
font-size: 20px;
font-weight: bolder;
}
p{
font-family: Arial, serif;
font-size: 20px;
color: white;
text-align: center;
}
table{
color: aliceblue;
font-family: Arial, serif;
font-size: 15px;
text-align: center;
}
th{
font-size: 20px;
text-align: center;
}
footer p{
font-size: 10px;
text-align: center;
}
.wrapper{
height: auto;
display: flex;
align-items: center;
justify-content: center;
}

BIN
src/presentations/college/FYP/Screenshot_20241030_151237.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,241 @@
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
title = "A Qt representation of Merkle Trees"
date = 2023-08-07
slides = true
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
### A Qt representation of Merkle Trees
Student: Eoghan Conlon
Supervisor: Richard Conway
-------------------------------------------------------------------------
* **Introduction**
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* **Motivation for the project**
* Gain experience in different programming languages and tools
* Gain more knowledge on cryptography through the theory part
* What are Merkle Trees & what are they used for?
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* **Gain experience in different programming languages and tools**
* Gain more knowledge on cryptography through the theory part
* What are Merkle Trees & what are they used for?
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* Gain experience in different programming languages and tools
* **Gain more knowledge on cryptography through the theory part**
* What are Merkle Trees & what are they used for?
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* **What are Merkle Trees & what are they used for?**
* Merkle Tree
* Merkle Signature Scheme
* Alternatives: One-Time Signature Schemes
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* **Merkle Tree**
<img src="./mermaid-diagram-2024-10-21-172652.png" height="250"></img>
* Merkle Signature Scheme
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Merkle Tree
* **Merkle Signature Scheme**
* What if fixes?
* Issues
* Alternatives: One-Time Signature Schemes
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Merkle Tree
* Merkle Signature Scheme
* **What if fixes?**
* Issues
* Alternatives: One-Time Signature Schemes
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Merkle Tree
* Merkle Signature Scheme
* What if fixes?
* **Issues**
* Alternatives: One-Time Signature Schemes
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Merkle Tree
* Merkle Signature Scheme
* **Alternatives: One-Time Signature Schemes**
* Lamport Scheme
* Winternitz Scheme
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Merkle Tree
* Merkle Signature Scheme
* Alternatives: One-Time Signature Schemes
* **Lamport Scheme**
* Advantages
* Disadvantages
* Winternitz Scheme
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Merkle Tree
* Merkle Signature Scheme
* Alternatives: One-Time Signature Schemes
* Lamport Scheme
* **Winternitz Scheme**
* Advantages
* Disadvantages
* Technology used in this project
* Future plans
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* **Technology used in this project**
* C++
* Qt
* Linux
* Git
* Plan for the rest of the AY
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Technology used in this project
* **C++**
* Qt
* Linux
* Git
* Plan for the rest of the AY
* Conclusion
-------------------------------------------------------------------------
* Qt
<img src="./Screenshot_20241030_151237.png" height="250"></img>
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Technology used in this project
* C++
* Qt
* **Linux**
* Git
* Plan for the rest of the AY
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Technology used in this project
* C++
* Qt
* Linux
* **Git**
* Plan for the rest of the AY
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Technology used in this project
* **Plan for the rest of the AY**
* Continue to go through Qt book advise by Supervisor
* Have a ready to submit software by the end of Sem 2 Week 2
* Iterate on it, adding more complex features and fixing bugs in 2 week bursts past that
* Work on Semester 2 submissions as they come up
* Conclusion
-------------------------------------------------------------------------
* Introduction
* Motivation for the project
* What are Merkle Trees & what are they used for?
* Technology used in this project
* Plan for the rest of the AY
* **Conclusion & Questions**
-------------------------------------------------------------------------
### Thank you

View file

@ -38,7 +38,7 @@
<h2>Survey Sensors</h2>
</section>
<section class='slide' id='7' style='display:none'>
<img src="./speedCameraVan.jpg" height=250></img>
<img src="speedCameraVan.jpg" height=250></img>
<p>
Image taken by: <a target='_blank' rel='noopener noreferrer' href='https://www.flickr.com/photos/rossendalewadey/44737927100/in/photostream/'>Robert Wade</a> <a target='_blank' rel='noopener noreferrer' href='https://creativecommons.org/licenses/by-nc-sa/2.0/'>Licence</a>
</p>

View file

@ -0,0 +1,12 @@
## Eoghan Conlon
[Home](../index.html) [Blog](../blog/index.html) Presentations
These are all the presentations that I have done since September 2023, unfortunately not all of them will have videos
available, but where possible, I will link the video. Some of them I unfortunately don't know the date that they were complete,
as as a result they just have the year, I do remember that they were completed over the September to October time period.
| Date | Presentation | Video |
|------------|-----------------------------------------------------------------------------------------------------------------|-------|
| 2023 | [Sensors (for ET4435)](./college/et4435/sensors/sensors_presentation.html) | N/A |
| 2023 | [Microcontrollers (for ET4435)](./college/et4435/microcontroller_presentation_and_images/microcontrollers.html) | N/A |
| 13/11/2023 | [Application (for ET4435)](./college/et4435/Application/presentation.html) | N/A |

1366
src/templates/highlight.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
src/templates/hybrid.min.css vendored Normal file
View file

@ -0,0 +1 @@
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1d1f21;color:#c5c8c6}.hljs span::selection,.hljs::selection{background:#373b41}.hljs span::-moz-selection,.hljs::-moz-selection{background:#373b41}.hljs-name,.hljs-title{color:#f0c674}.hljs-comment,.hljs-meta,.hljs-meta .hljs-keyword{color:#707880}.hljs-deletion,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol{color:#c66}.hljs-addition,.hljs-doctag,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-string{color:#b5bd68}.hljs-attribute,.hljs-code,.hljs-selector-id{color:#b294bb}.hljs-bullet,.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#81a2be}.hljs-subst,.hljs-template-tag,.hljs-template-variable,.hljs-variable{color:#8abeb7}.hljs-built_in,.hljs-quote,.hljs-section,.hljs-selector-class,.hljs-type{color:#de935f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}

View file

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<title>{title}</title>
<!-- for code formatting -->
<link rel="stylesheet" href="../templates/hybrid.min.css">
<script src="../templates/highlight.min.js"></script>
<script>hljs.highlightAll()</script>
</head>
<body>
{body}
</body>
<style>
section.slide {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(3);
}
</style>
<script>
let slide_number = 0;
let slide_max = 0;
for (let section of document.querySelectorAll("section.slide")) {
let number = parseInt(section.id, 10);
if (number > slide_max) {
slide_max = number;
}
}
slide_next = (change) => {
// make old hidden
document.getElementById(`${slide_number}`).style.display = "none";
// make the change
let slide_number_new = slide_number + change;
if (slide_number_new >= 0 && slide_number_new <= slide_max) {
slide_number += change;
}
// make current visible
document.getElementById(`${slide_number}`).style.display = "block";
}
// add event listner
onkeydown = (event) => {
if (event.key === "ArrowRight" || event.key === "ArrowDown") {
slide_next(1);
}
if (event.key === "ArrowLeft" || event.key === "ArrowUp") {
slide_next(-1);
}
};
on_events = (clickTargetWidth, xCoordInClickTarget) => {
if (clickTargetWidth / 2 > xCoordInClickTarget) {
slide_next(-1);
} else {
slide_next(1);
}
}
onclick = (event) => {
on_events(event.target.offsetWidth, event.clientX - event.target.getBoundingClientRect().left);
};
ontouchstart = (event) => {
on_events(event.target.offsetWidth, event.touches[0].clientX - event.target.getBoundingClientRect().left);
};
// show the first slide
slide_next(0)
</script>
</html>

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<html lang="en-IE">
<head>
<title>{title}</title>
<link rel="stylesheet" href="./Test.css">
<meta charset="UTF-8">
</head>
<body>
{body}
</body>
</html>