Pulled in enough stuff to render something of a homepage
BIN
public/Music/Smashmouth-All-Star.mp3
Normal file
BIN
public/Music/Smashmouth_-_All_Star.mid
Normal file
BIN
public/Pictures/2019-05-08.jpg
Normal file
After Width: | Height: | Size: 378 KiB |
BIN
public/Pictures/2back.gif
Normal file
After Width: | Height: | Size: 280 B |
BIN
public/Pictures/5consbar2_e0.gif
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
public/Pictures/Bonzi_Buddy.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
public/Pictures/Doom.gif
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
public/Pictures/IMG_0003.JPG
Normal file
After Width: | Height: | Size: 2.7 MiB |
BIN
public/Pictures/IMG_0005.JPG
Normal file
After Width: | Height: | Size: 2.6 MiB |
BIN
public/Pictures/IMG_0007.JPG
Normal file
After Width: | Height: | Size: 2.8 MiB |
BIN
public/Pictures/IMG_0009.JPG
Normal file
After Width: | Height: | Size: 2.3 MiB |
BIN
public/Pictures/IMG_0058.jpg
Normal file
After Width: | Height: | Size: 2.2 MiB |
BIN
public/Pictures/IMG_0320.jpg
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
public/Pictures/Its-swagg-baby-yeah.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
public/Pictures/MessageIB.gif
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/Pictures/Screen Shot 2019-09-29 at 12.29.32 PM.png
Normal file
After Width: | Height: | Size: 679 KiB |
BIN
public/Pictures/Screenshot_2019-10-25_19-24-52.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
public/Pictures/Screenshot_2019-12-11_20-35-10.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
public/Pictures/bluscrn.gif
Normal file
After Width: | Height: | Size: 510 B |
BIN
public/Pictures/f9e.gif
Normal file
After Width: | Height: | Size: 371 KiB |
BIN
public/Pictures/fireworks.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
public/Pictures/guest.gif
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
public/Pictures/internet_explorer_classic.gif
Normal file
After Width: | Height: | Size: 838 KiB |
BIN
public/Pictures/key03.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
public/Pictures/keyboard-layout.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
public/Pictures/lock1.gif
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
public/Pictures/mailput.gif
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
public/Pictures/oprahv6.jpg
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
public/Pictures/pen-dance.gif
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
public/Pictures/pepper.gif
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
public/Pictures/reach_by_nickcreevy.jpg
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
public/Pictures/sign_guestbook1.gif
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
public/Pictures/slackonslackware.png
Normal file
After Width: | Height: | Size: 202 KiB |
BIN
public/Pictures/updat4.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
public/Pictures/x-pumkcat.gif
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
public/Pictures/y2kready.gif
Normal file
After Width: | Height: | Size: 8.4 KiB |
22
public/css/crt.css
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
body {
|
||||||
|
cursor: url('/misc/piz_normal_p1.cur'), auto;
|
||||||
|
background: #000;
|
||||||
|
margin: 8px;
|
||||||
|
color: #00FF00;
|
||||||
|
font: normal 16px/20px Courier, Courier New, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #FFF;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #EEE;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
cursor: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
53
public/css/swagg.css
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
body {
|
||||||
|
cursor: url('/misc/piz_normal_p1.cur'), auto;
|
||||||
|
background: #000;
|
||||||
|
margin: 8px;
|
||||||
|
color: #00FF00;
|
||||||
|
font: normal 16px/20px Courier, Courier New, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #FFF;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #EEE;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
cursor: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
height: 2px;
|
||||||
|
color: #00FF00;
|
||||||
|
background-color: #00FF00;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.outer {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 95%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bonzi {
|
||||||
|
position: fixed;
|
||||||
|
right: 10%;
|
||||||
|
bottom: 10%;
|
||||||
|
}
|
54
public/js/die.js
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
/*
|
||||||
|
Death of Internet Explorer Javascript program
|
||||||
|
http://swagg.net/
|
||||||
|
inspiration: https://www.w3schools.com/howto/howto_js_countdown.asp
|
||||||
|
|
||||||
|
Copyright 2020 Daniel Bowling <swaggboi@slackware.uk>
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use of this script, with or without modification, is
|
||||||
|
permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of this script must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Set the date we're counting down to
|
||||||
|
var countDownDate = new Date("Aug 17, 2021 00:00:00").getTime();
|
||||||
|
|
||||||
|
// Update the count down every 1 second
|
||||||
|
var x = setInterval(function() {
|
||||||
|
|
||||||
|
// Get today's date and time
|
||||||
|
var now = new Date().getTime();
|
||||||
|
|
||||||
|
// Find the distance between now and the count down date
|
||||||
|
var distance = countDownDate - now;
|
||||||
|
|
||||||
|
// Time calculations for days, hours, minutes and seconds
|
||||||
|
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
|
||||||
|
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
|
||||||
|
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
|
||||||
|
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
|
||||||
|
|
||||||
|
// Display the result in the element with id="dethKlok"
|
||||||
|
document.getElementById("dethKlok").innerHTML = days + "d " + hours + "h "
|
||||||
|
+ minutes + "m " + seconds + "s ";
|
||||||
|
|
||||||
|
// If the count down is finished, write some text
|
||||||
|
if (distance < 0) {
|
||||||
|
clearInterval(x);
|
||||||
|
document.getElementById("dethKlok").innerHTML = "DONE. Rest in pieces";
|
||||||
|
}
|
||||||
|
}, 1000);
|
1
public/misc/Smashmouth-All-Star.mp3
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../Music/Smashmouth-All-Star.mp3
|
1
public/misc/Smashmouth_-_All_Star.mid
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../Music/Smashmouth_-_All_Star.mid
|
BIN
public/misc/piz_normal_p1.cur
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/resume/daniel-bowling-2018-a.docx
Normal file
BIN
public/resume/daniel-bowling-2019.docx
Normal file
BIN
public/resume/daniel-bowling-2019a.docx
Normal file
BIN
public/resume/daniel-bowling-2019b.docx
Normal file
BIN
public/resume/daniel-bowling-2019c.docx
Normal file
BIN
public/resume/daniel-bowling-2019d.docx
Normal file
BIN
public/resume/daniel-bowling-2019e.docx
Normal file
BIN
public/resume/daniel-bowling-2020.odt
Normal file
BIN
public/resume/daniel-bowling-2020b.odt
Normal file
BIN
public/resume/daniel-bowling-2020c.odt
Normal file
BIN
public/resume/daniel-bowling-2020g.odt
Normal file
1
public/resume/dbowling-resume.docx
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
daniel-bowling-2019e.docx
|
1
public/resume/dbowling-resume.odt
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
daniel-bowling-2020g.odt
|
156
templates/index.html.ep
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=0.4">
|
||||||
|
<title>Swagg::Net Homepage</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/css/swagg.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Soundtrack -->
|
||||||
|
<!-- <embed> doesn't work anymore SAD
|
||||||
|
<embed src="/misc/Smashmouth_-_All_Star.mid" width="100%" height="60">-->
|
||||||
|
<audio src="/Music/Smashmouth-All-Star.mp3" autoplay controls
|
||||||
|
preload="auto"></audio>
|
||||||
|
<!-- Bonzi buddy -->
|
||||||
|
<div id="bonzi">
|
||||||
|
<img alt="a purple gorilla" src="/Pictures/Bonzi_Buddy.png">
|
||||||
|
</div>
|
||||||
|
<div class="outer">
|
||||||
|
<center>
|
||||||
|
<h1>
|
||||||
|
<img alt="fireworks" src="/Pictures/fireworks.gif" height="20">
|
||||||
|
Welcome to the Swagg::Net
|
||||||
|
<img alt="more fireworks" src="/Pictures/fireworks.gif" height="20">
|
||||||
|
</h1>
|
||||||
|
<h2>
|
||||||
|
(<u>S</u>waggNet <u>W</u>ide <u>A</u>rea <u>G</u>igabit <u>G</u>ame
|
||||||
|
<u>Net</u>work)!!
|
||||||
|
</h2>
|
||||||
|
</center>
|
||||||
|
</div>
|
||||||
|
<marquee>
|
||||||
|
<img alt="a padlock" src="/Pictures/lock1.gif" height="20">
|
||||||
|
Now in <span style="color:fuchsia">HTTPS</span>!!
|
||||||
|
</marquee><br>
|
||||||
|
<div class="outer">
|
||||||
|
<center>
|
||||||
|
<img src="/Pictures/5consbar2_e0.gif"
|
||||||
|
alt="Under contruction" height="40"><br>
|
||||||
|
</center>
|
||||||
|
<br>
|
||||||
|
<hr><br>
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner">
|
||||||
|
<p>
|
||||||
|
Did you hear the
|
||||||
|
<a href="/news">news</a>? <strong>Downtime</strong> happening soon
|
||||||
|
<img alt="update" src="/Pictures/updat4.gif"><br>
|
||||||
|
<br>
|
||||||
|
Looking for a network/Linux admin? Read about <a href="/me">me</a>
|
||||||
|
<img alt="BSOD" src="/Pictures/bluscrn.gif" height="16"><br>
|
||||||
|
<br>
|
||||||
|
Looking for the game servers? Check out
|
||||||
|
the <a href="https://mirror.swagg.net/motd">message of the day</a>
|
||||||
|
<img alt="character from Doom video game" src="/Pictures/Doom.gif"
|
||||||
|
height="18"><br>
|
||||||
|
<br>
|
||||||
|
When will Internet Explorer be <a href="/die/">deprecated</a>?
|
||||||
|
<img alt="Internet Explorer"
|
||||||
|
src="/Pictures/internet_explorer_classic.gif" height="22"
|
||||||
|
style="vertical-align:bottom"><br>
|
||||||
|
<br>
|
||||||
|
Checkout the <a href="/cgi-bin/whoami.cgi">reflection page</a> for
|
||||||
|
some info about your browser/request<br>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner">
|
||||||
|
<p>Make HTML <span id="blink"><blink></span> again!!</p>
|
||||||
|
</div>
|
||||||
|
<!-- Source: https://www.w3docs.com/learn-html/html-blink-tag.html -->
|
||||||
|
<script>
|
||||||
|
var blink = document.getElementById('blink');
|
||||||
|
setInterval(function() {
|
||||||
|
blink.style.opacity = (blink.style.opacity == 0) ? 1 : 0;
|
||||||
|
}, 750);
|
||||||
|
</script>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner">
|
||||||
|
<h3>swagg boi's (<a href="https://tools.ietf.org/html/rfc4193">RFC
|
||||||
|
4193</a> compliant) IPv6 ULA prefix spitter-outter!!</h3>
|
||||||
|
<p>
|
||||||
|
I got bored playing with html forms today and what I ended up with
|
||||||
|
is this nifty form that turns a given MAC address into a /48 IPv6
|
||||||
|
ULA prefix. The form POSTs this string to a cgi script which is
|
||||||
|
essentially a quick re-write of the first Perl script I ever wrote
|
||||||
|
(just added some html cruft to the STDOUT). I got the idea for the
|
||||||
|
first script since I couldn't find a simple way to generate an ULA
|
||||||
|
from my terminal. I had to open up a browser and find other similar
|
||||||
|
web-based tools with a web search but several of these didn't seem
|
||||||
|
to really follow the RFC, i.e. printing out a /64 instead of a /48
|
||||||
|
or printing out the prefix with no MAC address or even a field to
|
||||||
|
give it one. Maybe some wayward network nerd standing up an IPv6 lab
|
||||||
|
will find this useful :)
|
||||||
|
</p>
|
||||||
|
<iframe src="/ula6.html" width="720" style="border:none;"></iframe>
|
||||||
|
<p>
|
||||||
|
<i>Limit of 1,208,925,819,614,629,174,706,176 ULA addresses per
|
||||||
|
customer.</i>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner">
|
||||||
|
<!--#include virtual="/cgi-bin/fort.cgi" -->
|
||||||
|
</div>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner">
|
||||||
|
<br>
|
||||||
|
<img src="/Pictures/Its-swagg-baby-yeah.png" alt="It's UNIX baby, yeah!"><br>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner" id="guest">
|
||||||
|
<p>Please sign the guestbook and let SwaggNet know what you <em>really</em>
|
||||||
|
think.</p>
|
||||||
|
<a href="/cgi-bin/guest.cgi">
|
||||||
|
<img alt="Sign the Guestbook!" src="/Pictures/guest.gif">
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
</div>
|
||||||
|
<div class="inner">
|
||||||
|
<!--#include virtual="/cgi-bin/count.cgi" -->
|
||||||
|
</div>
|
||||||
|
<div class="outer">
|
||||||
|
+--------------------------+<br>
|
||||||
|
<br>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<center>
|
||||||
|
<img alt="Electronic mail - WOW!" src="/Pictures/mailput.gif">
|
||||||
|
<p>
|
||||||
|
<i>contact:</i>
|
||||||
|
<a href="mailto:swaggboi@slackware.uk">swaggboi@slackware.uk</a> -
|
||||||
|
<a href="https://eattherich.club/@swaggboi">Mastodon (@swaggboi)</a> -
|
||||||
|
<a href="https://steamcommunity.com/id/danielbowling">Steam</a> -
|
||||||
|
<a href="https://chat.swagg.net">Chat (Mattermost)</a>
|
||||||
|
</p>
|
||||||
|
<img alt="Y2k ready!" src="/Pictures/y2kready.gif" height="85">
|
||||||
|
</center>
|
||||||
|
</footer>
|
||||||
|
</body>
|
||||||
|
</html>
|
0
templates/me.html.ep
Normal file
0
templates/news.html.ep
Normal file
11
www-swagg.pl
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
use Mojolicious::Lite;
|
||||||
|
|
||||||
|
get '/' => sub {
|
||||||
|
my ($c) = @_;
|
||||||
|
|
||||||
|
$c->render()
|
||||||
|
} => 'index';
|
||||||
|
|
||||||
|
app->start();
|