diff --git a/src/app.py b/src/app.py
index 8dd5587..220318c 100644
--- a/src/app.py
+++ b/src/app.py
@@ -10,8 +10,8 @@ books = json.load(open("./static/json/books.json", "r"))
skillList = json.load(open("./static/json/skills.json", "r"))
timeline = json.load(open("./static/json/timeline.json", "r"))
pages = json.load(open("./static/json/pages.json", "r"))
-pages['about']['skillList'] = skillList
-pages['about']['timeline'] = timeline
+pages['home']['skillList'] = skillList
+# pages['about']['timeline'] = timeline
pages['projects']['projects'] = proj
pages['home']['books'] = books
pages['books']['books'] = books
diff --git a/src/static/css/App.css b/src/static/css/App.css
index 02f00e0..f0de231 100644
--- a/src/static/css/App.css
+++ b/src/static/css/App.css
@@ -79,17 +79,11 @@ body {
filter: brightness(50%);
}
-h1, h2 {
+h1 {
color: #ecebeb;
}
-h2 {
- font-size: 2rem;
- margin-top: 1rem;
- margin-bottom: 2rem;
-}
-
-h3, h4, h5 {
+h2, h3, h4, h5 {
color: #a8a8a8;
}
@@ -134,7 +128,7 @@ a {
background-color: #1a1a1a;
width: 100vw;
z-index: 99;
- position: fixed;
+ position: sticky;
top: 0;
left: 0;
transition: .4s;
@@ -150,6 +144,7 @@ a {
#homeName {
margin-top: .25em;
+ margin-bottom: 0;
}
#name-container {
@@ -257,7 +252,6 @@ a {
}
.foregroundContent {
- padding-top: 4rem;
padding-left: 8rem;
max-width: calc(100%-8rem);
padding-bottom: 1rem;
@@ -273,7 +267,7 @@ a {
}
.homegroundContent {
- padding-top: 5em;
+ padding-top: 1em;
padding-left: 0em;
}
@@ -313,18 +307,18 @@ a {
#nametag {
padding: 2em 3em;
- display: inline-block;
background-color: rgb(44, 44, 44, .75);
- border-radius: 1em;
- border: solid black 4px;
text-align: center;
- max-width: 30em;
}
#nametag *:not(h1) {
text-shadow: .1em .1em rgba(255, 255, 255, 0.2);
}
+#nametag h2{
+ font-size: medium;
+}
+
#nametag p {
text-shadow: none;
color: #a8a8a8;
@@ -349,6 +343,14 @@ a {
justify-content: space-around;
}
+.equalitems {
+ column-gap: 1em;
+}
+
+.equalitems > * {
+ flex: 1 1 0;
+}
+
.vFlex {
display: flex;
flex-direction: column;
@@ -360,6 +362,10 @@ a {
max-width: 100%;
}
+#aboutCards > * {
+ margin: .25em;
+}
+
.spaceBetween {
justify-content: space-between;
}
@@ -368,6 +374,11 @@ a {
justify-content: left;
}
+.hSpacer {
+ width: 2em;
+ height: 0;
+}
+
.relative {
position: relative;
}
@@ -586,6 +597,12 @@ a {
left: 0;
}
+#contentStuffer {
+ display: flex;
+ flex-direction: column;
+ min-height: 100vh;
+}
+
.socials {
margin-left: 1rem;
width: 0px;
@@ -662,6 +679,26 @@ a {
background-size: cover;
}
+#desktopSpacer {
+ height: min(20em, 30vh);
+}
+
+.homeSubContent {
+ background-color: rgb(24, 24, 24, .85);
+ padding: 0 8em;
+ padding-top: 1em;
+}
+
+#homeProjects {
+ padding: 1em;
+}
+
+.homeProject {
+ width: 20em;
+ height:5em;
+
+}
+
.heightBox {
height: 100%;
display: flex;
@@ -672,9 +709,6 @@ a {
.chess {
max-width: 300px;
border: none;
- overflow: scroll;
- /* transform: scale(.8);
- float: right; */
}
#chessProfile {
@@ -969,6 +1003,22 @@ a {
border-bottom: solid 3px rgb(156, 49, 45, .4);
}
+ .footer {
+ position: unset;
+ }
+
+ #footerSpacer {
+ flex-grow: 1;
+ }
+
+ #aboutCards {
+ flex-direction: column;
+ }
+
+ #aboutCards > * {
+ margin: .25em auto;
+ }
+
.header h1 {
font-size: 1.5rem;
}
@@ -991,6 +1041,10 @@ a {
margin: 0;
}
+ .vertOnMobile {
+ flex-direction: column;
+ }
+
.projectList {
width: 95%;
}
@@ -1015,6 +1069,10 @@ a {
padding-top: 5em;
}
+ .homeSubContent {
+ padding: 1em;
+ }
+
.onRight {
margin: unset;
margin-top: 3rem;
diff --git a/src/static/js/responsive.js b/src/static/js/responsive.js
index 0235a16..ceda9b3 100644
--- a/src/static/js/responsive.js
+++ b/src/static/js/responsive.js
@@ -1,35 +1,8 @@
-window.onload = function () {
- onLoaded();
-};
-function onLoaded() {
- window.onresize = function () {
- resizer();
- };
- resizer();
-}
-
-function resizer() {
- const e = document.querySelector(".navControl");
- if (window.innerWidth > 1400) {
- // desktop view
- e.style.maxHeight = `${e.scrollHeight + 10}px`;
- } else {
- // mobile view
- document.querySelector(".header").style.borderBottomWidth = "3px";
- e.style.maxHeight = "0px";
- document.querySelectorAll(".navElement *").forEach((x) => {
- x.style.paddingTop = ".3rem";
- x.style.paddingBottom = ".3rem";
- x.style.fontSize = "1rem";
- });
- }
-}
-
-function toggleMenu() {
+function toggleMenu(collapse=false) {
if (window.innerWidth < 1400) {
const e = document.querySelector(".navControl");
const bar = document.querySelector(".header");
- if (e.style.maxHeight === "0px") {
+ if (e.style.maxHeight === "0px" && !collapse) {
e.style.maxHeight = `${e.scrollHeight + 10}px`;
bar.style.borderBottomWidth = "0px";
} else {
@@ -39,7 +12,7 @@ function toggleMenu() {
}
}
-async function goto(location, { push = true, toggle = true } = {}) {
+async function goto(location, { push = true } = {}) {
let a = await fetch("/api/goto/" + location, {
credentials: "include",
method: "GET",
@@ -56,9 +29,7 @@ async function goto(location, { push = true, toggle = true } = {}) {
root.querySelectorAll("script").forEach((x) => {
eval(x.innerHTML);
});
- if (toggle) {
- toggleMenu();
- }
+ toggleMenu(collapse=true);
document.querySelector("title").textContent = metadata["title"];
if (push) {
history.pushState(null, null, metadata["canonical"]);
diff --git a/src/static/json/pages.json b/src/static/json/pages.json
index 2298159..666b9f1 100644
--- a/src/static/json/pages.json
+++ b/src/static/json/pages.json
@@ -11,12 +11,6 @@
"description": "Recent projects by Andrew Simonson on his lovely portfolio website :)",
"canonical": "/projects"
},
- "about": {
- "template": "about.html",
- "title": "Andrew Simonson - About Me",
- "description": "About Andrew Simonson",
- "canonical": "/about"
- },
"books": {
"template": "books.html",
"title": "Andrew Simonson - Bookshelf",
diff --git a/src/static/json/skills.json b/src/static/json/skills.json
index 33fdd97..9a8e7df 100644
--- a/src/static/json/skills.json
+++ b/src/static/json/skills.json
@@ -1,5 +1,14 @@
{
"Data and AI": {
+ "Tools": {
+ "Microsoft Azure": {
+ "Databricks": {},
+ "Data Factory": {},
+ "Stream Analytics": {}
+ },
+ "Apache Spark": {},
+ "Visual Basic for Applications (Excel)": {}
+ },
"Python": {
"PyTorch/TensorFlow": {},
"Numpy/Pandas": {},
@@ -11,16 +20,19 @@
"Frontend": {
"Flask (Python)": {},
"React (Javascript)": {},
- "Angular (Typescript)": {}
+ "SASS/SCSS": {}
},
"Backend & DevOps": {
+ "Backend": {
+ "Rust": {},
+ "C#": {},
+ "C++": {}
+ },
"DevOps": {
"Docker": {},
"Microsoft Azure": {},
"Kubernetes/Openshift": {},
"Bash": {}
- },
- "C#": {},
- "C++": {}
+ }
}
}
diff --git a/src/static/sitemap.xml b/src/static/sitemap.xml
index 8fc4dbd..ff372c7 100644
--- a/src/static/sitemap.xml
+++ b/src/static/sitemap.xml
@@ -2,9 +2,9 @@
- I'm Andrew Simonson, a senior undergrad at - Rochester Institute of Technology - in the Computer Science BS program (international relations minor), pursuing a career in data - science with a focus on predictive analytics. -
-
-
- Ominous positivity is kinda my thing.
-
-
+ I'm Andrew Simonson,
+ a senior undergrad at
+ Rochester Institute of Technology
+ in the Computer Science BS program (international relations
+ minor), pursuing a career in data science. I have study clusters in
+ Data Science and AI and run independent studies in probability theory.
+
+
+ I've worked on a variety of projects, from building analytical tools
+ performing reactive chemical safety to live feed processing for
+ frantic work environments looking to improve service. I also do
+ personal experimentation leveraging open source info streams ranging
+ from human traffic around campus to watershed temperature monitoring.
+
+
+ My philosophy is that if it isn't explainable then you didn't learn
+ anything. Data without sound methodology is at best meaningless and at
+ worst counterproductive and costly. Bringing logical transparency and
+ literal deductions back into digital analysis enables us to learn
+ about the world through computing, rather than letting computers make
+ decisions for the world we think we know. We as data scientists
+ shouldn't just be building heuristics. We should be making discoveries
+ and building new knowledge.
+
+
+ Bring the scientific method to AI.
+
+
+
-
-
-