Remove tabs
This commit is contained in:
parent
099c6bfef1
commit
df204f4f0a
2 changed files with 1 additions and 203 deletions
124
index.html
124
index.html
|
@ -58,6 +58,7 @@
|
||||||
<!-- From: https://www.svgrepo.com/svg/484307/moon -->
|
<!-- From: https://www.svgrepo.com/svg/484307/moon -->
|
||||||
<rect class="dark-mode-svg" height="1280" width="544" fill="url(#dark-mode-toggle-sky)" x="-16px" y="-16px"/>
|
<rect class="dark-mode-svg" height="1280" width="544" fill="url(#dark-mode-toggle-sky)" x="-16px" y="-16px"/>
|
||||||
<g class="dark-mode-svg">
|
<g class="dark-mode-svg">
|
||||||
|
<!--TODO: Is this supposed to have the darkreader references?-->
|
||||||
<path transform="translate(0, 768)" style="fill: rgb(244, 244, 245); --darkreader-inline-fill: #e1dfdb;" d="M426.655,444.491c-85.064,74.278-206.9,83.839-299.319,29.581 c-22.308-13.074-42.982-29.907-60.958-50.499C56,411.723,46.93,399.058,39.085,385.82C15.143,345.045,3.539,298.958,3.784,252.953 c0.49-71.582,29.989-142.754,87.026-192.6C138.776,18.433,197.855-1.096,256.69,0.047c45.597,0.817,91.03,13.973,131.069,38.733 c22.063,13.564,42.41,30.724,60.305,51.153c9.724,11.114,18.386,22.799,25.822,34.974 C537.623,227.785,521.117,361.878,426.655,444.491z" />
|
<path transform="translate(0, 768)" style="fill: rgb(244, 244, 245); --darkreader-inline-fill: #e1dfdb;" d="M426.655,444.491c-85.064,74.278-206.9,83.839-299.319,29.581 c-22.308-13.074-42.982-29.907-60.958-50.499C56,411.723,46.93,399.058,39.085,385.82C15.143,345.045,3.539,298.958,3.784,252.953 c0.49-71.582,29.989-142.754,87.026-192.6C138.776,18.433,197.855-1.096,256.69,0.047c45.597,0.817,91.03,13.973,131.069,38.733 c22.063,13.564,42.41,30.724,60.305,51.153c9.724,11.114,18.386,22.799,25.822,34.974 C537.623,227.785,521.117,361.878,426.655,444.491z" />
|
||||||
<path transform="translate(0, 768)" style="fill: rgb(237, 237, 236); --darkreader-inline-fill: #dcd9d5;" d="M107.7,89.244c99.915-87.35,248.817-74.175,333.815,23.051 c84.998,97.226,75.388,243.379-24.528,330.729c-99.915,87.35-251.727,82.317-336.725-14.908S7.784,176.594,107.7,89.244z" />
|
<path transform="translate(0, 768)" style="fill: rgb(237, 237, 236); --darkreader-inline-fill: #dcd9d5;" d="M107.7,89.244c99.915-87.35,248.817-74.175,333.815,23.051 c84.998,97.226,75.388,243.379-24.528,330.729c-99.915,87.35-251.727,82.317-336.725-14.908S7.784,176.594,107.7,89.244z" />
|
||||||
<path transform="translate(0, 768)" style="fill: rgb(216, 216, 216); --darkreader-inline-fill: #cfcbc5;" d="M244.029,141.49c-17.92,37.27-63.032,51.341-100.302,33.421 c-37.27-17.92-53.234-61.357-35.315-98.627c17.92-37.27,62.835-54.046,100.105-36.126 C245.787,58.078,261.948,104.22,244.029,141.49z" />
|
<path transform="translate(0, 768)" style="fill: rgb(216, 216, 216); --darkreader-inline-fill: #cfcbc5;" d="M244.029,141.49c-17.92,37.27-63.032,51.341-100.302,33.421 c-37.27-17.92-53.234-61.357-35.315-98.627c17.92-37.27,62.835-54.046,100.105-36.126 C245.787,58.078,261.948,104.22,244.029,141.49z" />
|
||||||
|
@ -166,128 +167,5 @@
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-container">
|
|
||||||
<div class="tab-header">
|
|
||||||
<input type="radio" name="tab" id="tab-header-projects" aria-label="View projects tab" />
|
|
||||||
<label for="tab-header-projects">Projects</label>
|
|
||||||
<input type="radio" name="tab" id="tab-header-experience" aria-label="View projects tab" />
|
|
||||||
<label for="tab-header-experience">Work Experience</label>
|
|
||||||
<input type="radio" name="tab" id="tab-header-awards" aria-label="View projects tab" />
|
|
||||||
<label for="tab-header-awards">Accomplishments</label>
|
|
||||||
</div>
|
|
||||||
<div class="tab-content" id="tab-content-projects">
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>dotfiles</h2>
|
|
||||||
<p>
|
|
||||||
I use a highly customized Arch Linux installation on my desktop and laptop, so I created the repository to help sync the configuration files.
|
|
||||||
</p>
|
|
||||||
<a href="https://github.com/MichaelMBradley/dotfiles">
|
|
||||||
<!-- <img src="https://raw.githubusercontent.com/MichaelMBradley/dotfiles/master/laptop.png" alt="Screenshot of several windows open in an Arch Linux installation" />-->
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Holiday Cards</h2>
|
|
||||||
<p>
|
|
||||||
Created a GitHub Pages site to securely deliver private messages to friends and family.
|
|
||||||
When given a link with a decryption key, the appropriate message would be unencrypted, run through a custom minimal Markdown parser, and displayed to the recipient.
|
|
||||||
Along with the message, a deterministically random "snowflake" graphic would be generated with the <a href="https://p5js.org/">p5.js</a> library for each unique recipient.
|
|
||||||
</p>
|
|
||||||
<a href="https://github.com/MichaelMBradley/holidaycards2022">
|
|
||||||
<!-- <img src="assets/HolidayCard.png" alt="Screenshot of an example holiday card" />-->
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Heartbeat Analyzer</h2>
|
|
||||||
<p>
|
|
||||||
Analyzes the (fictional) heartbeat of the user, and displays the statistics it generates.
|
|
||||||
Completed in a group of 4 for a class project using Qt C++.
|
|
||||||
I personally worked on the heart rate sensor data generation, functionality to save sessions, various bug fixes (including tracking down memory leaks), as well as some documentation in the planning stage before any code was written.
|
|
||||||
</p>
|
|
||||||
<a href="https://github.com/TahaInc/heartwave">
|
|
||||||
<!-- <img src="https://raw.githubusercontent.com/TahaInc/heartwave/main/images/screenshot_2.png" alt="Screenshot of the graphical user interface" />-->
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Multi-Agent Pathfinding</h2>
|
|
||||||
<p>
|
|
||||||
Fills a grid with various types of "trash", and then simulates agents moving through the grid to clean it up.
|
|
||||||
Completed in a group of 3 for a class project using Python.
|
|
||||||
I personally came up with the controller API, implemented the faster "independent" agent controllers, and implemented the UI using the <a href="https://textual.textualize.io/">Textual</a> framework (including a variety of helpful debugging and configuration tools).
|
|
||||||
</p>
|
|
||||||
<a href="https://github.com/vishalparmar01/comp3106-Project">
|
|
||||||
<!-- <img src="https://raw.githubusercontent.com/vishalparmar01/comp3106-Project/main/docs/example.png" alt="Screenshot of the simulation terminal user interface" />-->
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Personal Website</h2>
|
|
||||||
<p>
|
|
||||||
What you're looking at right now!
|
|
||||||
This website is designed to work without any JavaScript, it's pure HTML+CSS.
|
|
||||||
</p>
|
|
||||||
<a href="https://github.com/MichaelMBradley/MichaelMBradley.github.io">
|
|
||||||
<div id="droste" aria-label="An image of the 'fetch' section above"></div>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab-content" id="tab-content-experience">
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Emids</h2>
|
|
||||||
<p>
|
|
||||||
My most recent co-op job was as a Software Developer at Emids, where I worked on their InQ Telehealth solution.
|
|
||||||
While there, I contributed to a new service (the RAAM One Front Door) throughout its entire development life cycle, adding new pages and features, and optimizing UI components.
|
|
||||||
</p>
|
|
||||||
<p class="indent">
|
|
||||||
Most of my work was done on the front-end in TypeScript using React, which prior to the position I had almost no experience in but picked up so quickly that I became one of the driving forces in enforcing stricter typing and reducing the use of "Any".
|
|
||||||
Despite having never used React before, I became so proficient in it that by the end my superiors informed me that I was one of the best co-ops they’d ever had and nominated me for Carleton University’s Co-op of the Year award.
|
|
||||||
</p>
|
|
||||||
<p class="indent">
|
|
||||||
I also added new features to the back-end after quickly learning the in-house functional language it was written in.
|
|
||||||
During this work I found that working on something that made its way directly to customers gave me an extra drive to improve my work, as every extra little bit that I did might make someone else’s life easier.
|
|
||||||
</p>
|
|
||||||
<p>May-Aug 2023</p>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Ross (part-time)</h2>
|
|
||||||
<p>
|
|
||||||
After my 8-month co-op term at Ross Video was complete, I was re-hired on a part-time basis to research tracing Python library function call stacks to automatically generate unit tests, as well as updates to the structure of their internal testing framework.
|
|
||||||
</p>
|
|
||||||
<p>Jan-Mar 2023</p>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Ross</h2>
|
|
||||||
<p>
|
|
||||||
At Ross Video I completed an 8-month co-op where I worked as a Test Automation & Software Developer (a DevOps role) on the Enablement Team.
|
|
||||||
I started by using an in-house testing framework to automate web app security tests that needed to be run as part of any product release to ensure that no vulnerabilities had been introduced.
|
|
||||||
By integrating the OWASP ZAP and tenable.io Python APIs with an internally developed testing framework, I made it simpler to ensure that the web apps we were releasing were safe.
|
|
||||||
</p>
|
|
||||||
<p class="indent">
|
|
||||||
I then made a large refactor to the testing framework itself.
|
|
||||||
In the refactor I edited about 15 thousand lines of Python code to standardize the return types of the internal library functions, improve older test cases which were not well-written, and add type-hinting to provide additional information to developers.
|
|
||||||
</p>
|
|
||||||
<p class="indent">
|
|
||||||
Finally, I used Jenkins to create generic CI/CD jobs that could build and test the firmware for any of the products we were working on which help developers be confident that the features they’re introducing are not silently adding bugs.
|
|
||||||
As the feature set of Jenkins did not meet our needs, I became proficient in shell scripting to add any missing features required to create our pipelines.
|
|
||||||
</p>
|
|
||||||
<p>May-Dec 2022</p>
|
|
||||||
</div>
|
|
||||||
<div class="info-group">
|
|
||||||
<h2>Carleton University</h2>
|
|
||||||
<p>
|
|
||||||
In 2021, I was awarded the Dean’s Summer Research Internship.
|
|
||||||
I worked under a Carleton Professor in the Graphics, Imaging, and Games Lab examining using circle-packing to create a polycurve enclosing an arbitrary area.
|
|
||||||
This work was done with the goal of being a tool for future GIGL publications in image stylization.
|
|
||||||
After writing this code in Java with the Processing graphics library, I used LaTeX to create a report for the lab.
|
|
||||||
The work was done remotely and independently, and it taught me how to effectively manage my own time and create realistic deadlines.
|
|
||||||
</p>
|
|
||||||
<p>May-Aug 2021</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab-content" id="tab-content-awards">
|
|
||||||
<ul>
|
|
||||||
<li>2023 - Nominated for Carleton University's Co-op of the Year award</li>
|
|
||||||
<li>2021 - Awarded the Dean's Summer Research Internship</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
80
style.css
80
style.css
|
@ -330,83 +330,3 @@ span {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2 {
|
|
||||||
margin-top: 0;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-container {
|
|
||||||
/*display: flex;*/
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-header {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
column-gap: 3em;
|
|
||||||
input {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
label {
|
|
||||||
font: 3em bold;
|
|
||||||
font-family: sans-serif;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-content {
|
|
||||||
margin-left: 5rem;
|
|
||||||
margin-right: 5rem;
|
|
||||||
|
|
||||||
display: none;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
row-gap: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-container:has(#tab-header-projects:checked) #tab-content-projects,
|
|
||||||
.tab-container:has(#tab-header-experience:checked) #tab-content-experience,
|
|
||||||
.tab-container:has(#tab-header-awards:checked) #tab-content-awards {
|
|
||||||
display: flex !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.info-group {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
row-gap: 0.5rem;
|
|
||||||
a > img {
|
|
||||||
max-width: 20rem;
|
|
||||||
max-height: 15rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#droste {
|
|
||||||
@supports (background: element(#fetch)) {
|
|
||||||
background: element(#fetch) no-repeat;
|
|
||||||
}
|
|
||||||
@supports (background: -moz-element(#fetch)) {
|
|
||||||
background: -moz-element(#fetch) no-repeat;
|
|
||||||
}
|
|
||||||
@supports (background: element(#fetch)) or (background: -moz-element(#fetch)) {
|
|
||||||
width: 20rem;
|
|
||||||
height: 8rem;
|
|
||||||
background-size: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
.invisible-div {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border-width: 0;
|
|
||||||
@media print {
|
|
||||||
padding: 1rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue