diff --git a/.eleventy.js b/.eleventy.js
index 5ccd6ed..a256000 100644
--- a/.eleventy.js
+++ b/.eleventy.js
@@ -155,6 +155,7 @@ module.exports = function(eleventyConfig) {
const fullDescription = role.description || role.shortDescription;
const shortDescription = role.description && role.shortDescription;
const descriptionObject = {
+ id: "description",
full: fullDescription,
short: shortDescription,
highlight: false
@@ -199,24 +200,24 @@ module.exports = function(eleventyConfig) {
// Checks if there are any items within this list or its children with a
// truthy highlight property.
- function hasHighlightsRecursive(itemList, headAttribute, nextAttribute, tailAttributes) {
+ function hasHighlightsRecursive(itemList, headAttribute, nextAttribute, ...tailAttributes) {
if (!Array.isArray(itemList)) {
return false;
}
return hasHighlights(itemList) || itemList.some(
- (child) => headAttribute in child && child.hasHighlightsRecursive(
+ (child) => headAttribute in child && hasHighlightsRecursive(
child[headAttribute], nextAttribute, ...tailAttributes));
}
eleventyConfig.addFilter("hasHighlightsRecursive", hasHighlightsRecursive);
// Checks if there are any items within this list or its children with a
// falsy highlight property.
- function hasLowlightsRecursive(itemList, headAttribute, nextAttribute, tailAttributes) {
+ function hasLowlightsRecursive(itemList, headAttribute, nextAttribute, ...tailAttributes) {
if (!Array.isArray(itemList)) {
return false;
}
return hasLowlights(itemList) || itemList.some(
- (child) => headAttribute in child && child.hasLowlightsRecursive(
+ (child) => headAttribute in child && hasLowlightsRecursive(
child[headAttribute], nextAttribute, ...tailAttributes));
}
eleventyConfig.addFilter("hasLowlightsRecursive", hasLowlightsRecursive);
diff --git a/_data/awards.yaml b/_data/awards.yaml
index cb41020..8553030 100644
--- a/_data/awards.yaml
+++ b/_data/awards.yaml
@@ -11,7 +11,7 @@ awards:
name: py-readability
description: High-quality, well-structured Python code
- id: deans-list
- image: education/rpi.jpg
+ image: education/rpi.png
role: RPI
name: Dean's List
description: Had consistently high GPA for each semester
diff --git a/_data/contact.yaml b/_data/contact.yaml
index 1121fa4..7ef7d49 100644
--- a/_data/contact.yaml
+++ b/_data/contact.yaml
@@ -1,15 +1,20 @@
---
methods:
+- id: email
+ name: E-mail
+ text: marissa@reya.zone
+ link: mailto:marissa@reya.zone
+ img: contacts/mail.svg
- id: us-phone
name: US phone number
- text: "+1-000-000-0000"
- link: tel:+01-
- img: contacts/us.svg
-- id: jp-phone
- name: JP phone number
- text: "+81-00-0000-0000"
- link: tel:+81-
- img: contacts/japan.svg
+ text: "+1-917-512-2739"
+ link: tel:+01-917-512-2739
+ img: contacts/telephone.svg
+#- id: jp-phone
+# name: JP phone number
+# text: "+81-00-0000-0000"
+# link: tel:+81-
+# img: contacts/japan.svg
- id: address
name: Permanent address
text: Manhattan, NY, USA
diff --git a/_data/education.yaml b/_data/education.yaml
index bd75cfe..7729811 100644
--- a/_data/education.yaml
+++ b/_data/education.yaml
@@ -5,7 +5,7 @@ programs:
endDate: 2011-05-15 # approximate date, who knows
name: Dual B.S. (Computer & Systems Engineering, Computer Science)
institution: Rensselaer Polytechnic Institute
- image: education/rpi.jpg
+ image: education/rpi.png
- id: tefl_ita
startDate: 2019-08-12
endDate: 2019-10-21
@@ -17,4 +17,4 @@ programs:
endDate: 2007-06-15 # this was like ages and ages ago
name: high school diploma
institution: Regis High School
- image: education/regis.jpeg
+ image: education/regis.png
diff --git a/_data/experience.yaml b/_data/experience.yaml
index e432f8a..4d8e8b9 100644
--- a/_data/experience.yaml
+++ b/_data/experience.yaml
@@ -10,7 +10,7 @@ roles:
# changes and getting up to speed on this team
endDate: 2019-10-04 # dead on, this was my last day at Google
shortDescription: |
- Just buckets of trimming.
+ Optimizations and flexibility for multiplatform builds for Bazel projects.
description: |
Let's see here.
What did I do on Configurability?
@@ -66,7 +66,7 @@ roles:
# helping with turning this down
description: null
- id: wallet-testing
- image: jobs/google/wallet.jpg
+ image: jobs/google/wallet.png
name: Software Engineer in Test # II
team: Wallet Web Frontend
company: Google
@@ -74,3 +74,85 @@ roles:
endDate: 2013-09-15 # same as with the Bazel Release Process start date,
# since they're the same day
description: null
+ - id: agora-games
+ image: jobs/agora.gif
+ name: Software Intern
+ company: Agora Games
+ startDate: 2010-11-04 # or thereabouts, this is when I was interviewing
+ endDate: 2010-12-04 # as recorded in a livejournal comment...
+ - id: star-analytics
+ image: jobs/staranalytics.png
+ name: Software Intern
+ team: Star Task Builder
+ company: Star Analytics
+ startDate: 2010-04-15 # very approximate, got my IP phone/laptop around then
+ endDate: 2011-05-15 # ish, I stopped this around when I left school
+ - id: misc
+ image: jobs/blocks.svg
+ name: Hobbyist
+ team: Other (personal, school, side jobs etc.) Projects
+ startDate: null
+ endDate: null
+
+# ## Personal projects
+# * Personal blog website using Eleventy + Netlify
+# * Anki plugins for Japanese study
+# * Personal Docker server for mail and nextcloud
+# * Discord bots
+# * Assortment of handmade Minecraft plugins, self-run server
+# * PDF page-identification and splitting C# utility for helping at the church
+
+# ## RPI projects
+# * Python OpenGL-based game
+# * Rails based task management project
+
+# ## Regis projects
+# * C SDL-based game
+# * Java based student chat program
+
+# ## Google projects (tech)
+# * Web wallet testing
+# * account making service
+# * Bazel release process fixing and documentation
+# * Bazel Android support: native code, Jack, resource-split APKs, aidl tooling fixes
+# * dynamic configs on aspects as part of Jack
+# * Bazel release process overhaul design
+# * Bazel Android support: feature flags
+# * "This is so much better it hurts." - from attribute code refactoring as part of this
+# * Whitelisting mechanism as part of this, used by another developer for another feature
+# * Bazel configurability: manual trimming design + rollout
+# * Test trimming (saved 5min+ recompile on every test flag change)
+# * Tagged trimming (design + migration tool + rollout - for example, a project with 5GB memory use that had ballooned to 10+ GB and OOM-ing could drop down to a very buildable 8GB)
+# * Bazel configurability: automatic trimming research
+# * 2 years, ~60 pages of design documents, 2 different prototypes
+## Google projects (non-tech)
+# * Helped organize team fun events on Whisky
+# * Organizer for BazelCon 2018
+# * Worked to improve configurability team culture
+
+## Peer bonuses:
+# * Personal postmortem for burnout
+# * account creation tool (x3) + shutdown
+# * Guice wiring and integration testing support
+# * Sheriffing (x3)
+# * Diagnosed & wrote tool to fix bug in test, reenabling releases
+# * BazelCon 2018 office hours, copy editing, logistics
+# * Really easy to understand configuration trimming document ("one of the best docs I've read at Google")
+# * Big release process documentation
+# * Helped teach other Bazel developers about Bazel configurability - multiple Bazel U sessions
+# * Helped others understand Bazel feature flags
+# * Release process migration design help
+# * Python and release process teaching
+# * --legacy_android_support no-oping
+# * release process tools moved into binfs and hashbang
+# ## Spot bonuses:
+# * Consulted with Snapchat
+# * Gaiamaker
+
+# ## Misc. perf references
+# * Engineering conscientiousness (doing the right thing)
+# * Energetic and invested
+
+# Star Analytics C# frontend
+
+# Agora Games: Ruby web testing
diff --git a/_data/skills.yaml b/_data/skills.yaml
index fef47f6..eb2567d 100644
--- a/_data/skills.yaml
+++ b/_data/skills.yaml
@@ -18,41 +18,159 @@ categories:
- id: code
title: Code Languages
skills:
- - id: python
- proficiency: 6
- name: Python
- img: skills/code/python.svg
- - id: java
- proficiency: 6
- name: Java
- img: skills/code/java.svg
- id: javascript
- proficiency: 5
+ proficiency: 6
name: JavaScript
img: skills/code/js.svg
- id: typescript
proficiency: 4
name: TypeScript
img: skills/code/typescript.png
+ - id: dart
+ proficiency: 4
+ name: Dart
+ img: skills/code/dart.svg
- id: html5
- proficiency: 3
+ proficiency: 4
name: HTML5+CSS3
img: skills/code/html5.svg
+ - id: python
+ proficiency: 6
+ name: Python
+ img: skills/code/python.svg
+ - id: java
+ proficiency: 6
+ name: Java
+ img: skills/code/java.svg
- id: kotlin
- proficiency: 1
+ proficiency: 3
name: Kotlin
img: skills/code/kotlin.svg
- id: golang
- proficiency: 0
+ proficiency: 3
name: Go
img: skills/code/golang.svg
+ - id: csharp
+ proficiency: 3
+ name: 'C#'
+ img: skills/code/csharp.svg
+ - id: vbnet
+ proficiency: 1
+ name: VB.NET
+ img: skills/code/vbnet.svg
+ - id: ruby
+ proficiency: 3
+ name: Ruby
+ img: skills/code/ruby.svg
+ - id: cplusplus
+ proficiency: 2
+ name: C/C++
+ img: skills/code/cpp.svg
+ - id: php
+ proficiency: 1
+ name: PHP
+ img: skills/code/php.svg
+ - id: bash
+ proficiency: 5
+ name: Bash
+ img: skills/code/bash.svg
+ - id: sql
+ proficiency: 3
+ name: SQL
+ img: skills/code/sql.svg
- id: libraries
- title: Libraries/Tools
+ title: Libraries
skills:
+ - id: angular
+ proficiency: 4
+ name: AngularJS/2/Dart
+ img: skills/libraries/angular.svg
- id: react
- proficiency: 2
+ proficiency: 3
name: React
img: skills/libraries/react.svg
+ - id: jquery
+ proficiency: 2
+ name: JQuery
+ img: skills/libraries/jquery.svg
+ - id: eleventy
+ proficiency: 5
+ name: Eleventy
+ img: skills/libraries/eleventy.svg
+ - id: rails
+ proficiency: 2
+ name: Ruby on Rails
+ img: skills/libraries/rails.svg
+ - id: node
+ proficiency: 3
+ name: NodeJS/NPM
+ img: skills/libraries/node.svg
+ - id: electron
+ proficiency: 3
+ name: Electron
+ img: skills/libraries/electron.svg
+ - id: sqlite
+ proficiency: 4
+ name: SQLite
+ img: skills/libraries/sqlite.svg
+ - id: postgresql
+ proficiency: 4
+ name: PostgreSQL
+ img: skills/libraries/postgres.svg
+- id: tools
+ title: Tools
+ skills:
+ - id: git
+ proficiency: 4
+ name: Git
+ img: skills/tools/git.svg
+ - id: hg
+ proficiency: 2
+ name: Mercurial
+ img: skills/tools/mercurial.png
+ - id: svn
+ proficiency: 1
+ name: Subversion
+ img: skills/tools/svn.png
+ - id: linux
+ proficiency: 5
+ name: Linux tools
+ img: skills/tools/linux.svg
+ - id: bazel
+ proficiency: 6
+ name: Bazel
+ img: skills/tools/bazel.png
+ - id: gradle
+ proficiency: 2
+ name: Gradle
+ img: skills/tools/gradle.svg
+ - id: docker
+ proficiency: 1
+ name: Docker
+ img: skills/tools/docker.png
+- id: engineering
+ title: Engineering
+ skills:
+ - id: adaptability
+ proficiency: 6
+ name: Adaptability
+ img: skills/engineering/study.svg
+ - id: communication
+ proficiency: 5
+ name: Communication
+ img: skills/engineering/speech-bubble.svg
+ - id: design
+ proficiency: 4
+ name: Design
+ img: skills/engineering/computer.svg
+ - id: documentation
+ proficiency: 5
+ name: Documentation
+ img: skills/engineering/guide.svg
+ - id: testing
+ proficiency: 4
+ name: Testing
+ img: skills/engineering/test.svg
- id: languages
title: Languages
skills:
diff --git a/_includes/assets/css/main.css b/_includes/assets/css/main.css
index 8257f34..63dfad3 100644
--- a/_includes/assets/css/main.css
+++ b/_includes/assets/css/main.css
@@ -162,6 +162,10 @@ header rt {
top: 0.05rem;
}
+#about p {
+ margin-bottom: 0.5rem;
+}
+
.skill-category, .skills {
padding-left: 0.5rem;
}
@@ -169,7 +173,7 @@ header rt {
.skills {
display: flex;
flex-flow: row wrap;
- justify-content: space-around;
+ justify-content: flex-start;
}
.skill {
@@ -185,6 +189,7 @@ header rt {
overflow: hidden;
margin-left: 0.25rem;
margin-top: 0.05rem;
+ border-radius: 2px;
}
.skill .icon {
diff --git a/_includes/assets/css/screen.css b/_includes/assets/css/screen.css
index 46dc1ed..4463e60 100644
--- a/_includes/assets/css/screen.css
+++ b/_includes/assets/css/screen.css
@@ -20,20 +20,31 @@
text-shadow: black 1px 1px 1px, black -1px 1px 1px, black 1px -1px 1px, black -1px -1px 1px;
}
- footer a:link, footer a:visited {
+ footer a:link, footer a:visited, footer button {
+ display: inline;
color: #4ec6f5;
font-weight: bold;
text-decoration: none;
+ background: transparent;
+ font-size: inherit;
+ text-shadow: inherit;
+ border: 0;
+ margin: 0;
+ padding: 0;
}
- footer a:hover, footer a:focus {
+ footer a:hover, footer a:focus, footer button:hover, footer button:focus {
color: #87deff;
}
- footer a:active {
+ footer a:active, footer button:active {
color: #3d86fc;
}
+ #image-credits:not(.showing-all) p, #image-credits.showing-all #image-credits-toggle {
+ display: none;
+ }
+
header .buttons {
order: 1;
width: 40%;
diff --git a/_includes/assets/js/main.js b/_includes/assets/js/main.js
index 40ca660..44c9a82 100644
--- a/_includes/assets/js/main.js
+++ b/_includes/assets/js/main.js
@@ -1,12 +1,14 @@
(function(window, document) {
function showAll(button) {
- parent = document.getElementById('highlight-container');
- parent.classList.add("showing-all");
+ document.getElementById('highlight-container').classList.add("showing-all");
}
function showHighlights(button) {
- parent = document.getElementById('highlight-container');
- parent.classList.remove("showing-all");
+ document.getElementById('highlight-container').classList.remove("showing-all");
+ }
+
+ function showImageCredits() {
+ document.getElementById('image-credits').classList.add("showing-all");
}
function print() {
@@ -18,6 +20,8 @@
showAll(event.target);
} else if (event.target.matches(".show-highlights, .show-highlights *")) {
showHighlights(event.target);
+ } else if (event.target.matches("#image-credits-toggle, #image-credits-toggle *")) {
+ showImageCredits();
} else if (event.target.matches("#print, #print *")) {
print();
}
diff --git a/_includes/components/footer.njk b/_includes/components/footer.njk
index be4465e..38b657c 100644
--- a/_includes/components/footer.njk
+++ b/_includes/components/footer.njk
@@ -1,8 +1,58 @@
-Built with Eleventy and served from
-Github via
-Netlify .
-Favicon by @snaximation .
-Banner image by @edupatilla .
-Printer, Spotlight, Home, US flag, Japanese flag, and WWW icons made by
-Freepik
-from www.flaticon.com
+
Built with Eleventy and served from
+Github
+(programmablereya/reyasume ) via
+Netlify .
+
+
+
Show image credits
+
Favicon by @snaximation .
+
Banner image by @edupatilla .
+
+
Printer, Spotlight, Home, Mail, Phone, WWW, Study, Speech Bubble, Computer,
+ Guide, Test, Server, US flag, Japanese flag, and Blocks icons made by
+ Freepik
+ from www.flaticon.com .
+
+
Python logo from the Python logo page .
+
Java logo from Wikipedia mirror of official logo .
+
JavaScript logo from logo.js .
+
TypeScript logo from logo.ts .
+
HTML5 logo from the official site .
+
Kotlin logo from the official site .
+
Go logo from the official site .
+
Dart logo from the official logo repository .
+
C# logo by Chris McKee .
+
Ruby logo by Yukihiro Matsumoto .
+
VB.NET logo from the open source .NET repository .
+
PHP logo from the PHP site .
+
C++ logo by Jeremy Kratz .
+
Bash logo from the official repository .
+
+
React logo from the official site .
+
Angular logo from the press kit .
+
Rails logo from the blog .
+
Node logo from the logo page .
+
Electron logo from the Wikimedia logo of the official logo .
+
JQuery logo from VectorLogoZone .
+
SQLite logo from the Wikimedia mirror of the official logo .
+
PostgreSQL logo from the PostgreSQL JP site .
+
Eleventy logo from the Eleventy site .
+
+
Git logo from the Git logo page .
+
Mercurial logo from the Mercurial logo page .
+
SVN logo by Tyrus Christiana .
+
Gradle logo from the Gradle logo page .
+
Tux image by Larry Ewing .
+
Docker logo from the Docker media resources .
+
+
RPI seal from the logo page .
+
ITA logo from ITA website .
+
Regis seal from the page on the history of the seal .
+
+
New Bazel logo from the official site .
+
Old Bazel logo from the website's Github history .
+
Google Wallet logo from Wikimedia mirror of official logo .
+
Google G logo from the Google blog .
+
Agora Games logo recovered from Google Images backup.
+
Star Analytics logo from the Lightspeed page .
+
diff --git a/_includes/components/resume/experience-role.njk b/_includes/components/resume/experience-role.njk
index c1a1ba4..95bd26a 100644
--- a/_includes/components/resume/experience-role.njk
+++ b/_includes/components/resume/experience-role.njk
@@ -1,8 +1,8 @@
{# uses loop variable role #}
{% set hasShortDescription = role.highlight and (not role.description.highlight) and role.description.short %}
-
-