Skip to content

Commit

Permalink
Merge pull request #12 from efergus/skills
Browse files Browse the repository at this point in the history
Skills
  • Loading branch information
efergus authored Aug 1, 2024
2 parents 4b4dd0e + e7316a9 commit f867766
Show file tree
Hide file tree
Showing 7 changed files with 80 additions and 50 deletions.
18 changes: 18 additions & 0 deletions src/lib/assets/GitHub.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<script lang="ts">
export let size = 48;
export let width = size;
export let height = size;
</script>

<svg
{width}
{height}
viewBox="-2 -2 102 102"
class="fill-contrast stroke-contrast"
xmlns="http://www.w3.org/2000/svg"
><path
fill-rule="evenodd"
clip-rule="evenodd"
d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z"
/>
</svg>
18 changes: 16 additions & 2 deletions src/lib/components/DarkModeButton.svelte
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
<script>
<script lang="ts">
import Moon from "$lib/icons/Moon.svelte";
import clsx from "clsx";
export let checked = false;
export let color: "white" | "black" | undefined = undefined;
let colorClass = "";
$: {
colorClass = "fill-contrast stroke-contrast";
if (color === "white") {
colorClass = "fill-white stroke-white";
} else if (color === "black") {
colorClass = "fill-black stroke-black";
}
}
</script>

<label
class="fill-contrast stroke-contrast hover:bg-secondary h-fit p-1 rounded-lg cursor-pointer"
class={clsx(
colorClass,
"hover:bg-secondary h-fit p-1 rounded-lg cursor-pointer"
)}
>
<input type="checkbox" class="hidden dark-mode-toggle" bind:checked />
<Moon />
Expand Down
14 changes: 11 additions & 3 deletions src/lib/markdown/experience.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
*June 2023 - Present*

- Engineered secure, performant cloud applications using TypeScript, React, SQL,
NodeJS, AWS, and Google Cloud, implementing robust security measures and
ensuring compliance with industry standards.
NodeJS, AWS, and Google Cloud.
- Implemented robust security measures and ensured compliance with industry
standards.
- Led penetration testing initiatives on various cloud applications, identifying
and mitigating critical OWASP vulnerabilities including stored XSS, unsecured
endpoints, logic flaws, and misconfigurations.
Expand Down Expand Up @@ -61,10 +62,17 @@

- Utilized SIMD, CUDA, and C++ to create high-throughput, just-in-time data generation enabling machine learning of new data types on HPC systems.
- Architected a ResNet-based deep neural network for molecule generation using PyTorch.
- Published in IEEE e-Science 2024 and presented at the ACS Physics March Meeting 2022.
- Published in IEEE e-Science 2022 and presented at the ACS Physics March Meeting 2022.
- Conducted research under the guidance of Prof. Kenneth Chiu.
- [Paper available on arXiv](https://arxiv.org/abs/2211.08506).

## Skills

- **Languages:** Python, JS, TS, C, C++, Rust, HTML, CSS
- **Libraries:** PyTorch, Pytest, React, Jest, Sequelize, CUDA, Express, Matplotlib, Three.js, MayaVi
- **Infra/Tools:** AWS, GCP, Git, Docker, Postgresql, MongoDB, GraphQL,
RabbitMQ, Linux, MacOS, Lambda/Serverless, Node.js, HTTP, REST, CI/CD, DevOps

## Education

### Binghamton University
Expand Down
7 changes: 3 additions & 4 deletions src/routes/+layout.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
class="theme-focus bg-primary p-1 z-50 hidden md:flex justify-between"
>
<h1 class="p-3">Ethan Ferguson</h1>
<DarkModeButton bind:checked={invert} />
<DarkModeButton bind:checked={invert} color="white" />
</header>
<div class="theme-focus sticky top-0 bg-secondary w-full z-40">
<PageMenu>
Expand All @@ -31,9 +31,8 @@
<NavLink href="/projects">Projects</NavLink>
<NavLink href="/photography">Photography</NavLink>
<NavLink href="/art">Art</NavLink>
<div class="flex items-center gap-2 md:hidden">
<h2>Toggle dark mode:</h2>
<DarkModeButton bind:checked={invert} />
<div class="flex justify-end items-center gap-2 md:hidden">
<DarkModeButton bind:checked={invert} color="white" />
</div>
</div>
</PageMenu>
Expand Down
24 changes: 11 additions & 13 deletions src/routes/+page.svelte
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<script lang="ts">
import linkedin from "$lib/assets/In-Blue-48.png";
import GitHub from "$lib/assets/GitHub.svelte";
import personality from "$lib/assets/Personality.jpg";
import CheckIcon from "$lib/icons/CheckIcon.svelte";
import CopyIcon from "$lib/icons/CopyIcon.svelte";
Expand Down Expand Up @@ -84,27 +85,24 @@
>
{email}
</p>
<div class="absolute inset-0 center">
<div class="absolute inset-0 center text-lg">
<p class={clsx(copied ? "animate-peek" : "opacity-0")}>Copied!</p>
</div>
</div>
<div class="relative">
<div class={clsx(copied && "animate-peeked")}>
<CopyIcon width={48} />
</div>
<div
class={clsx(
"absolute inset-0 text-confirm rounded-lg flex justify-center items-center",
copied ? "animate-peek" : "opacity-0"
)}
>
<CheckIcon size={36} stroke={3} />
</div>
<div>
<CopyIcon width={48} />
</div>
{:else}
<MailIcon width={48} />
{/if}
</button>
<a
href="https://github.com/efergus"
target="_blank"
class="self-end p-2 bg-subtle rounded-lg hover:bg-subtle/75"
>
<GitHub />
</a>
<a
href="https://www.linkedin.com/in/ethan-ferguson-112011193/"
target="_blank"
Expand Down
28 changes: 14 additions & 14 deletions src/routes/projects/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,20 @@
</p>
<img src={molecule} alt="The principle of ParticleGrid" />
</Project>
<Project
title="Fermidle"
subtitle="they call them dle's but they're anything but"
link="https://eferg.us/fermidle"
>
<div>
<p>How many golf balls would it take to fill the oceans?</p>
<p>
How many Empire State Buildings would it take to reach the altitude of
the ISS?
</p>
<p>Try to guess the order of magnitude of absurd physics problems!</p>
</div>
</Project>
<Project
title="No-JS dark mode toggle"
subtitle="Writeup"
Expand All @@ -72,20 +86,6 @@
it even has a fancy animation! It doesn't even use <code>calc()</code>!
</p>
</Project>
<Project
title="Fermidle"
subtitle="they call them dle's but they're anything but"
link="https://eferg.us/fermidle"
>
<div>
<p>How many golf balls would it take to fill the oceans?</p>
<p>
How many Empire State Buildings would it take to reach the altitude of
the ISS?
</p>
<p>Try to guess the order of magnitude of absurd physics problems!</p>
</div>
</Project>
<Project
title="Static Svlete on GitHub Pages"
subtitle="Writeup"
Expand Down
21 changes: 7 additions & 14 deletions tailwind.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,38 +32,31 @@ export default {
},
animation: {
'peek': 'peek 0.6s ease-out forwards',
'peeked': 'peeked 0.8s ease-out forwards'
'peeked': 'peeked 0.6s ease-out forwards'
},
keyframes: {
'peek': {
'0%': {
opacity: '0',
scale: '1'
opacity: '0'
},
'40%': {
'10%': {
opacity: '1'
},
'50%': {
opacity: '1',
scale: '1.6'
},
'90%': {
opacity: '0.5',
scale: '1.8'
opacity: '1'
},
'100%': {
opacity: '0',
scale: '1.8'
opacity: '0'
}
},
'peeked': {
'0%': {
opacity: '1'
},
'20%': {
'10%': {
opacity: '0'
},
'70%': {
'90%': {
opacity: '0'
},
'100%': {
Expand Down

0 comments on commit f867766

Please sign in to comment.