removed old matrix well known files

This commit is contained in:
Lucca Pirovano
2026-06-29 17:11:14 -04:00
parent 6d97363e0b
commit aec45f3d0b
14 changed files with 300 additions and 9 deletions
+4
View File
@@ -0,0 +1,4 @@
[Dolphin]
Timestamp=2026,4,6,15,44,57.094
Version=4
ViewMode=1
-1
View File
@@ -1 +0,0 @@
matrix
+173
View File
@@ -0,0 +1,173 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PlutoHacks 2026 • Badge</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
body {
margin: 0;
padding: 20px;
background: linear-gradient(135deg, #0a0a2e, #1a0033);
color: #00ffcc;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
}
.badge {
width: 400px;
max-width: 95%;
background: linear-gradient(145deg, #1a0033, #330066);
border: 6px solid #00ffcc;
border-radius: 15px;
padding: 30px 20px;
text-align: center;
box-shadow: 0 0 40px rgba(0, 255, 204, 0.6),
inset 0 0 30px rgba(255, 0, 255, 0.3);
position: relative;
overflow: hidden;
}
.badge::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255,0,255,0.15) 0%, transparent 70%);
animation: scan 4s linear infinite;
}
@keyframes scan {
0% { transform: translateY(-100%); }
100% { transform: translateY(100%); }
}
.header { color: #ff00ff; font-size: 18px; margin-bottom: 10px; text-shadow: 0 0 10px #ff00ff; }
.plutohacks { font-size: 28px; color: #00ffff; margin: 10px 0; text-shadow: 0 0 15px #00ffff; letter-spacing: 4px; }
.name { font-size: 32px; font-weight: bold; color: white; margin: 20px 0 8px 0; text-shadow: 0 0 15px #00ffcc; }
.college { font-size: 18px; color: #ffcc00; margin-bottom: 25px; text-shadow: 0 0 8px #ffcc00; }
.role {
background: rgba(0, 255, 204, 0.1);
border: 2px dashed #00ffcc;
padding: 12px;
margin: 20px 0;
font-size: 14px;
color: #00ffcc;
}
.footer { margin-top: 30px; font-size: 12px; color: #888; }
.print-btn {
margin-top: 30px;
padding: 15px 40px;
font-size: 16px;
background: #ff00ff;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
box-shadow: 0 0 20px #ff00ff;
}
.print-btn:hover {
background: #00ffff;
color: #330066;
box-shadow: 0 0 30px #00ffff;
}
.debug {
margin-top: 20px;
font-size: 12px;
color: #666;
background: rgba(0,0,0,0.5);
padding: 10px;
border-radius: 5px;
max-width: 400px;
text-align: left;
}
</style>
</head>
<body>
<div class="badge" id="badge">
<div class="header">BROWARD COLLEGE PRESENTS</div>
<div class="plutohacks">PLUTOHACKS 2026</div>
<div class="name" id="fullName">HACKER NAME</div>
<div class="college" id="collegeName">COLLEGE / ORGANIZATION</div>
<div class="role">
PARTICIPANT<br>
<span style="font-size: 11px; opacity: 0.8;">Broward College • PlutoHacks</span>
</div>
<div class="footer">
★ MADE FOR THE FUTURE ★
</div>
</div>
<button class="print-btn" onclick="window.print()">🖨️ PRINT BADGE</button>
<!-- Debug info (you can remove this later) -->
<div class="debug" id="debug"></div>
<script>
function getUrlParams() {
const params = new URLSearchParams(window.location.search);
const debugInfo = [];
// Try many possible parameter names (case insensitive)
const firstName =
params.get('first') ||
params.get('First') ||
params.get('firstname') ||
params.get('firstName') ||
params.get('fname') ||
params.get('FirstName') || '';
const lastName =
params.get('last') ||
params.get('Last') ||
params.get('lastname') ||
params.get('lastName') ||
params.get('lname') ||
params.get('LastName') || '';
const college =
params.get('college') ||
params.get('College') ||
params.get('school') ||
params.get('School') ||
params.get('organization') ||
'Broward College';
const fullName = (firstName || lastName)
? `${firstName} ${lastName}`.trim().toUpperCase()
: "HACKER NAME";
// Show debug info so you can see what's happening
debugInfo.push(`First Name detected: ${firstName || '(none)'}`);
debugInfo.push(`Last Name detected: ${lastName || '(none)'}`);
debugInfo.push(`College detected: ${college}`);
debugInfo.push(`Full URL params: ${window.location.search || '(no parameters)'}`);
document.getElementById('fullName').textContent = fullName;
document.getElementById('collegeName').textContent = college.toUpperCase();
document.getElementById('debug').innerHTML = debugInfo.join('<br>');
}
window.onload = getUrlParams;
// Press 'P' key to print quickly
document.addEventListener('keydown', (e) => {
if (e.key.toLowerCase() === 'p') window.print();
});
</script>
</body>
</html>
+1 -1
View File
@@ -133,6 +133,6 @@
}
});
</script>
<a style='color:white' href="../" class="back-link">← Back to Resume</a>
</body>
</html>
+4
View File
@@ -0,0 +1,4 @@
[Dolphin]
Timestamp=2026,4,22,13,29,51.068
Version=4
ViewMode=1
Binary file not shown.
Binary file not shown.
+109
View File
@@ -0,0 +1,109 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gianlucca Pirovano - Homelab Infrastructure</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: #0f0f0f;
color: #e0e0e0;
margin: 0;
padding: 20px;
line-height: 1.6;
}
.container {
max-width: 1100px;
margin: 0 auto;
}
h1 {
text-align: center;
color: #00ccff;
margin-bottom: 8px;
}
.subtitle {
text-align: center;
color: #888;
margin-bottom: 40px;
}
.description {
max-width: 800px;
margin: 0 auto 40px;
text-align: center;
color: #aaaaaa;
font-size: 1.05em;
}
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
gap: 25px;
}
.gallery-item {
background: #1a1a1a;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
transition: transform 0.3s ease;
}
.gallery-item:hover {
transform: translateY(-8px);
}
.gallery-item img {
width: 100%;
height: auto;
display: block;
}
.caption {
padding: 16px;
text-align: center;
font-size: 1.05em;
color: #bbbbbb;
}
.back-link {
display: block;
text-align: center;
margin: 40px 0 20px;
color: #00ccff;
text-decoration: none;
font-size: 1.1em;
}
.back-link:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<h1>Homelab Infrastructure</h1>
<p class="subtitle">Gianlucca Pirovano</p>
<div class="description">
My current homelab setup featuring a TrueNAS storage server, Proxmox VE virtualization host,
and pfSense router. An IOGEAR 8-port KVM switch is mounted on top for direct hardware access
when network management is unavailable.
</div>
<div class="gallery">
<div class="gallery-item">
<img src="pic1.jpg" alt="Homelab Setup">
<div class="caption">Homelab Overview</div>
</div>
<div class="gallery-item">
<img src="pic2.jpg" alt="Homelab Setup">
<div class="caption">Homelab Rack - Rear View</div>
</div>
<div class="gallery-item">
<img src="pic3.jpg" alt="Homelab Setup">
<div class="caption">Close-up of Servers and KVM Switch</div>
</div>
<div class="gallery-item">
<img src="pic4.jpg" alt="Homelab Setup">
<div class="caption">Isometric View of the Homelab Stack</div>
</div>
</div>
<a href="../" class="back-link">← Back to Resume</a>
</div>
</body>
</html>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 347 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 492 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 348 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

+9 -6
View File
@@ -32,17 +32,18 @@
return str;
}
// Auto-update Broward College job duration
// Auto-update job durations
document.addEventListener('DOMContentLoaded', function () {
var browardDuration = document.getElementById('broward-duration');
if (browardDuration) {
browardDuration.textContent = calculateDuration(2025, 8, 30); // September 30, 2025
browardDuration.textContent = calculateDuration(2025, 8, 30);
}
});
document.addEventListener('DOMContentLoaded', function () {
var browardPythonAssistantDuration = document.getElementById('browardPythonAssistantDuration');
if (browardPythonAssistantDuration) {
browardPythonAssistantDuration.textContent = calculateDuration(2026, 3, 09); // March 9, 2026
browardPythonAssistantDuration.textContent = calculateDuration(2026, 3, 9);
}
});
</script>
@@ -63,7 +64,7 @@
<ul>
<li><u>Linux / Unix-Like</u>: Debian, Ubuntu, Fedora, CentOS/Rocky, Arch, Alpine, FreeBSD, MacOS</li>
<li><u>Windows</u>: XP, 7, 8, 8.1, 10, 10 Enterprise, 10 Enterprise LTSB/LTSC, 11, 11 Enterprise, Server 2012-R2, Server 2019, Server 2022</li>
<li><u>Software & Tools</u>: Active Directory, Proxmox VE, KVM, PCIe passthrough, Python, HTML, CSS, pfSense, Apache, PHP, Docker, UFW + firewalld, vsftpd, stunnel, SSH, stable-diffusion-webui, ConnectWise, Peppermint.sh, Arduino</li>
<li><u>Software & Tools</u>: Active Directory, Proxmox VE, KVM, PCIe passthrough, Python, HTML, CSS, pfSense, Apache, PHP, Docker, UFW + firewalld, vsftpd, stunnel, SSH, stable-diffusion-webui, ConnectWise, Peppermint.sh, Arduino, TrueNAS</li>
</ul>
</div>
@@ -88,7 +89,8 @@
<li><a href="https://readonlywiki.luccapirovano.com/index.php/Infared_Reciever_w/_Alpine_on_the_Bulldozer_Datto">Infrared Receiver on Alpine Linux</a> — Configured NetworkManager WiFi and full LIRC infrared support with custom remote mapping and bash scripting for remote-triggered bash commands.</li>
<li>Deployed a <a href="https://www.pfsense.org/">pfSense</a> router with multiple subnets, IP whitelisting, and advanced firewall rules.</li>
<li><a href="carproject">Aerodrive: Arduino Fan Car</a> — Built a fan-propelled car prototype controlled by Arduino. Generated custom PWM signals on the Arduino to drive the fans. Integrated a Raspberry Pi as a wireless Access Point with a live camera feed and web interface that allowed real-time control of fan speeds. AI Tools were used extensively to complete the project before the deadline.</li>
<li>Kali NetHunter on Pixel 3a — Installed and configured a mobile penetration testing environment, experimenting with USB (HID/device emulation), Bluetooth, NFC, and Wi-Fi attack vectors.</li>
<li><a href="/homelab">Homelab Infrastructure</a> — Built a multi-server homelab consisting of a TrueNAS storage server, Proxmox VE virtualization server, and pfSense router. I can add and remove nodes to the Proxmox cluster as needed based on how much CPU power is required.</li>
<li><a href="https://www.kali.org/get-kali/#kali-mobile">Kali NetHunter</a> on Pixel 3a — Installed and configured a mobile penetration testing environment, experimenting with USB (HID/device emulation), Bluetooth, NFC, and Wi-Fi attack vectors.</li>
</ul>
</div>
@@ -108,10 +110,11 @@
<div>
Certifications & Education:
<ul>
<li><a href="certs/CompTIA-CySA+-ce-certificate.pdf">CompTIA CySA+</a></li>
<li><a href="certs/CompTIA-Linux+-ce-certificate.pdf">CompTIA Linux+</a></li>
<li><a href="certs/CompTIA-A+-ce-certificate.pdf">CompTIA A+</a></li>
<li><a href="certs/CompTIA-Network+-ce-certificate.pdf">CompTIA Network+</a></li>
<li><a href="certs/CompTIA-Security+-ce-certificate.pdf">CompTIA Security+</a></li>
<li><a href="certs/CompTIA-Linux+-ce-certificate.pdf">CompTIA Linux+</a></li>
<li><a href="certs/McFatter-Applied-Cybersecurity-Technical-Diploma.pdf">Technical Diploma for Applied Cybersecurity</a></li>
<li><a href="https://catalog.broward.edu/programs-study/network-systems-technology-network-administration-as/#text">Associate of Science - Network Administration - Broward College (Expected Dec 2026)</a></li>
<li><a href="https://catalog.broward.edu/programs-study/network-systems-technology-network-administration-as/#text">Bachelor of Applied Science - Network Systems Analyst - Broward College (Expected Dec 2028)</a></li>
-1
View File
@@ -1 +0,0 @@
../../.well-known