Merge branch 'master' of git.odin.cse.buffalo.edu:ODIn/Website

pull/2/head
Oliver Kennedy 2022-06-29 18:42:05 -04:00
commit 242ec45f81
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
40 changed files with 14241 additions and 50 deletions

View File

@ -1,22 +0,0 @@
# This is a basic example for a gem or script which doesn't use
# services such as redis or postgres
before_script:
- export PATH=/software/ruby-2.3/bin:$PATH
- ruby --version
stages:
- build
- deploy
build:
stage: build
script:
- rake
deploy:
stage: deploy
only:
- master
script:
- ln -s /var/www/static-site build
- rake deploy

View File

@ -194,7 +194,10 @@ task :documents => ["artifacts/db.json", :cv, :cnp]
directory "build/artifacts"
task :deploy => [:documents,:odin_lab,"build/artifacts"] do
system("cp -r artifacts/*.{pdf,json} build/artifacts/")
files = Dir["artifacts/*.{pdf,json}"]
unless files.empty? then
system("cp -r #{files.join(" ")} build/artifacts/")
end
end
###################### Specialized Stuff for Individual Use ######################

BIN
assets/people/nickbrown.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -65,7 +65,7 @@
],
"employment" : [
{
"title" : "Assistant Professor",
"title" : "Associate Professor",
"employer" : "Dept. of Comp. Sci. & Eng., SUNY Buffalo",
"start" : "Sept. 2012"
},
@ -190,11 +190,27 @@
"type" : "award",
"source" : "UB",
"individual" : "YES"
},
{
"description" :
"Oliver received the CSE Departmental Senior Research Award in 2021",
"year" : 2021,
"type" : "award",
"source" : "UB",
"individual" : "YES"
},
{
"description" :
"Oliver received the School of Engineering and Applied Sciences Senior Teaching Award in 2021",
"year" : 2021,
"type" : "award",
"source" : "UB",
"individual" : "YES"
}
],
"chairs" : [
{ "venue" : "pVLDB", "position" : "Reproducibility Co-Chair", "years" : [ 2018, 2019, 2020 ] },
{ "venue" : "pVLDB", "position" : "Reproducibility Co-Chair", "years" : [ 2018, 2019, 2020, 2021, 2022 ] },
{ "venue" : "SoCC", "position" : "Scholarship Co-Chair", "years" : [ 2019 ] },
{ "venue" : "VLDB", "position" : "Technical Co-Chair", "years" : [ 2020 ] },
{ "venue" : "SIGMOD", "position" : "Treasurer", "years" : [ 2022 ] }
@ -241,14 +257,19 @@
"service" : {
"general" : [
{ "description" : "WebDB Session Chair", "years" : [ 2013 ] },
{ "description" : "NSF Panel Member", "years" : [ 2014, 2015, 2016, 2018, 2020, 2021 ] },
{ "description" : "NSF Panel Member", "years" : [ 2014, 2015, 2016, 2018, 2020, 2021, 2022 ] },
{ "description" : "SIGMOD Reproducibility Committee", "years" : [ 2015, 2016, 2017 ] }
],
"dept" : [
{ "org" : "Dept. of Comp. Sci. and Eng., University at Buffalo, SUNY",
"service" : [
{ "org" : "Graduate Admissions Committee", "start" : 2012, "end" : 2017 },
{ "org" : "Graduate Advisory Board", "start" : 2012 },
{ "org" : "Graduate Advisory Committee", "years" : [ 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2022],
"roles": [
{ "title" : "Graduate Co-Director", "years" : [2022] }
]
},
{ "org" : "Undergraduate Advisory Committee", "years" : [ 2021 ] },
{ "org" : "Distinguished Speaker Committee", "years" : [ 2017 ] },
{ "org" : "Faculty Search Committee", "years" : [ 2012, 2013, 2014 ] },
{ "org" : "Facilities Committee", "years" : [ 2016 ] },
@ -260,7 +281,12 @@
{ "org" : "Grievances Committee", "years" : [ 2015, 2016 ] },
{ "org" : "Undergraduate Curriculum Development Subcommittee", "years" : [ 2015, 2016 ] },
{ "org" : "Teaching Effectiveness Committee", "years" : [ 2019,2022 ] },
{ "org" : "Preserving Academic Integrity", "years" : [ 2021,2022 ] }
{ "org" : "Preserving Academic Integrity", "years" : [ 2021,2022 ] },
{ "org" : "Teaching Load Task Force", "years" : [ 2021,2022 ],
"roles" : [
{ "title" : "Co-Chair", "years" : [2022] }
]
}
]
}
]

View File

@ -1,10 +1,10 @@
[
{ "venue" : "Department of Computer Science and Engineering, SUNY Buffalo",
"courses" : [
{ "code" : "CSE 7xx",
{ "code" : "CSE 501",
"enrollment" : 0,
"title" : "(planned) Seminar",
"semester" : "Spring 2023" },
"title" : "(planned) Grad Studies in CS",
"semester" : "Fall 2022" },
{ "code" : "CSE 250",
"enrollment" : 0,
"title" : "(planned) Data Structures",

View File

@ -1,16 +1,39 @@
{
"advised" : [
{ "name" : "Caleb Levine",
"degree" : "BS",
"start" : "Jan. 2020" },
{ "name" : "Nicholas Brown",
"degree" : "BS",
"start" : "Jan. 2020" },
{ "name" : "William Spoth",
"degree" : "PhD",
"start" : "Sept. 2017", "end" : "May 2014" },
{ "name" : "Darshana Balakrishnan",
"degree" : "PhD",
"coadvisor" : "Lukasz Ziarek",
"start" : "Jan. 2017" },
{ "name" : "Aaron Huber",
"degree" : "PhD",
"coadvisor" : "Atri Rudra",
"start" : "Sept. 2016" },
{ "name" : "Poonam Kumari",
"degree" : "PhD",
"start" : "Sept. 2016" },
{ "name" : "Carl Nuessle",
"degree" : "PhD",
"start" : "Sept. 2015" },
{ "name" : "Gokhan Khul",
"degree" : "PhD",
"coadvisor" : "Shambhu Upadhaya",
"start" : "Jan. 2015" },
"start" : "Jan. 2015", "end" : "May 2018" },
{ "name" : "Ting Xie",
"degree" : "PhD",
"coadvisor" : "Hung Ngo",
"start" : "Jan. 2015" },
"start" : "Jan. 2015", "end" : "May 2019" },
{ "name" : "Ying Yang",
"degree" : "PhD",
"start" : "Sept. 2012" },
"start" : "Sept. 2012", "end" : "May 2016" },
{ "name" : "Daniel Bellinger",
"degree" : "BS",
"coadvisor" : "Lukasz Ziarek",

View File

@ -1,4 +1,6 @@
[
{ "talk" : "Panel: On the Multifaceted Impact of Artificial Intelligence in Healthcare: Past, Present, and Emerging Trends", "date" : "May 2022",
"venue" : "UP-STAT 2022" },
{ "talk" : "How to Start Collaborating with CSE to Solve Global Health Problems", "date" : "May 2020",
"venue" : "University at Buffalo: Center for Global Health Equity" },
{ "talk" : "Safe, Reusable Heuristic Data Transformation (through Caveats)", "date" : "Dec 2019",

View File

@ -79,6 +79,34 @@
"height" : 200
},
"ubit" : "carlnues"
},
"Nicholas Brown" : {
"status" : "BA",
"projects" : ["astral"],
"joint_advisor" : false,
"ubit" : "njbrown4",
"pic" : {
"file" : "https://odin.cse.buffalo.edu/assets/people/nickbrown.png",
"width" : 200,
"height" : 200
},
"github" : "bicknrown"
},
"Caleb Levine" : {
"status" : "BS",
"projects" : ["vizier"],
"joint_advisor" : false,
"ubit" : "caleblev"
},
"Nachiket Deo" : {
"status" : "MS",
"projects" : ["vizier"],
"joint_advisor" : false
},
"Jacky Lin" : {
"status" : "BS",
"projects" : ["iskra"],
"joint_advisor" : false
}
},
"temp-leave" : {

View File

@ -1,4 +1,16 @@
[
{
"title" : "Runtime Provenance Refinement for Notebooks",
"authors" : [
"Nachiket Deo",
"Boris Glavic",
"Oliver Kennedy"
],
"venue" : "TaPP",
"year" : 2022,
"projects" : ["vizier"],
"length" : 4
},
{
"title" : "TreeToaster: Towards an IVM-Optimized Compiler",
"authors" : [

View File

@ -106,6 +106,10 @@
"2016" : {
"location" : "McLean, VA, USA",
"date" : "June 6-9, 2016"
},
"2022" : {
"location" : "Philadelphia, NY",
"date": "June 18, 2022"
}
}
},

View File

@ -6,7 +6,7 @@ title: Members and Affiliates
<% $db["lab/members"].each do |member, data| %>
<div class="person" style="vertical-align: middle;">
<%=
img = "../assets/people/missing.png"
img = "assets/people/missing.png"
if data.has_key? "pic"
img = data["pic"]
img = img["file"] if img.is_a? Hash

View File

@ -0,0 +1,6 @@
---
title: Nicholas Brown
---
Nicholas Brown is a Computer Science student at the University at Buffalo.
See his <a href="https://bicknrown.com">website</a> for more update to date information and links.

View File

@ -1,6 +0,0 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -0,0 +1,73 @@
---
template: templates/talk_slides_v1.erb
title: "Runtime Provenance Refinement for Notebooks"
---
<section>
<h3>Runtime Provenance Refinement for Notebooks</h3>
<div style="margin-top: 60px;">
<div style="width: 30%; display: inline-block; font-size: 75%;">
<h4>Nachiket Deo</h4>
<h4>Oliver Kennedy</h4>
<p>University at Buffalo</p>
</div>
<div style="width: 30%; display: inline-block; font-size: 75%;">
<h4>Boris Glavic</h4>
<p>Illinois Institute of Technology</p>
</div>
</div>
</section>
<section>
<img src="graphics/2022-06-20/jupyter.svg" height="400px">
</section>
<section>
<h1>1</h1>
</section>
<section>
<img src="graphics/2022-06-20/NotebookOverview-Static.svg" height="400px"/>
</section>
<section>
<div style="display: inline-block; width: 45%;">
<img src="graphics/2022-06-20/Pimentel.png" height="400px">
<p style="font-size: 70%;"><a href="https://ieeexplore.ieee.org/document/8816763">Pimentel et al</a>: "4.03% of notebooks on github are reproducible"</p>
</div>
<div style="display: inline-block; width: 45%;">
<img src="graphics/2022-06-20/Grus.png">
<p style="font-size: 70%;"><a href="https://www.youtube.com/watch?v=7jiPeIFXb6U">Joel Grus</a>: "For beginners, with dozens of cells and more complex code [the ability to run code snippets out of order] is utterly confusing."</p>
</div>
</section>
<section>
<h1>2</h1>
</section>
<section>
<svg data-src="graphics/2022-06-20/Parallelism.svg" width="800px"/>
</section>
<section>
<ol>
<li>Automatically re-run stale cells</li>
<li>Run cells in parallel</li>
</ol>
<h3 class="fragment">Provenance!</h3>
</section>
<section>
<h3>What type of Provenance?</h3>
<dl>
<dt class="fragment">Static Provenance</dt>
<dd class="fragment">... too conservative</dd>
<dt class="fragment">Dynamic Provenance</dt>
<dd class="fragment">... not available until later</dd>
</dl>
<p class="fragment">... why not both?</p>
<p class="fragment">TaPP Session 3 @ 2:30</p>
</section>

View File

@ -4,14 +4,146 @@ title: "Microkernel Notebooks"
---
<section>
<section>
<h2>μKernel Notebooks</h2>
<h2>μKernel Notebooks</h2>
<h4>Oliver Kennedy</h4>
</section>
<h4>Oliver Kennedy</h4>
<h5>University at Buffalo</h5>
</section>
<section>
</section>
<section>
<svg data-src="graphics/2022-06-20/NotebookOverview.svg" height="400px" style="margin-left: -100px"/>
</section>
<section>
<div style="display: inline-block; width: 45%;">
<img src="graphics/2022-06-20/Pimentel.png" height="400px">
<p style="font-size: 70%;"><a href="https://ieeexplore.ieee.org/document/8816763">Pimentel et al</a>: "4.03% of notebooks on github are reproducible"</p>
</div>
<div style="display: inline-block; width: 45%;" class="fragment">
<img src="graphics/2022-06-20/Grus.png">
<p style="font-size: 70%;"><a href="https://www.youtube.com/watch?v=7jiPeIFXb6U">Joel Grus</a>: "For beginners, with dozens of cells and more complex code [the ability to run code snippets out of order] is utterly confusing."</p>
</div>
</section>
<section>
<svg data-src="graphics/2022-06-20/Checkpointing.svg" width="800px"/>
</section>
<section>
<h3><a href="https://github.com/stitchfix/nodebook">Nodebook</a></h3>
<img src="graphics/2022-06-20/Nodebook.png" height="300px">
<attribution><a href="https://github.com/stitchfix/nodebook">https://github.com/stitchfix/nodebook</a></attribution>
</section>
<section>
<svg data-src="graphics/2022-06-20/MonokernelCheckpoints.svg" height="400px" />
<attribution><a href="https://openclipart.org">https://openclipart.org</a></attribution>
</section>
<section>
<img src="graphics/2022-06-20/NoCheckpointing.png" height="400px">
</section>
<section>
<p>A modest proposal...</p>
</section>
<section>
<img src="graphics/2022-06-20/MicrokernelCheckpoints.svg" height="400px">
<attribution>https://openclipart.com</attribution>
</section>
<section>
<p>So now...</p>
</section>
<section>
<img src="graphics/2022-06-20/MicrokernelPyV2Checkpoints.svg" height="400px">
</section>
<section>
<img src="graphics/2022-06-20/MicrokernelPyScalaCheckpoints.svg" height="400px">
</section>
<section>
<p>and...</p>
</section>
<section>
<svg data-src="graphics/2022-06-20/Parallelism.svg" width="800px"/>
</section>
<section>
<h3>... and more</h3>
<ul>
<li>Better error-handling</li>
<li>Easily inspect inter-cell state</li>
<li>Automatically re-run stale cells</li>
</ul>
</section>
<section>
<h3>... not all smiles and sunshine</h3>
<ul>
<li class="fragment highlight-grey" data-fragment-index="1">Dependency Analysis</li>
<li class="fragment highlight-grey" data-fragment-index="1">Scheduling Cell Execution</li>
<li class="fragment highlight-grey" data-fragment-index="1">Python Startup Costs</li>
<li>Migrating state between kernels</li>
</ul><br/>
</section>
<section>
<pre><code>
x = 3
</code></pre>
</section>
<section>
<pre><code>
from foo import x
</code></pre>
</section>
<section>
<pre><code>
x = pandas.read_csv("foo.csv")
</code></pre>
</section>
<section>
<img src="graphics/2022-06-20/arrow.png" height="300px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-System-Diag.svg" height="300px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-Polyglot.png" height="500px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-Load.png" height="500px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-Spreadsheet.png" height="500px">
</section>
<section>
<img src="graphics/2022-06-20/Vizier-New.png" height="400px">
</section>
<section>
<a href="https://vizierdb.info">
<img src="graphics/2022-06-20/vizier.svg" height="200px">
<p style="margin-top: -20px;">https://vizierdb.info</p>
</a>
<p style="font-size: 65%"><b>Mike Brachmann, Boris Glavic, Nachiket Deo</b>, Juliana Freire, Heiko Mueller, Sonia Castello, Munaf Arshad Qazi, William Spoth, Poonam Kumari, Soham Patel, and more...</p>
</section>
</section>

View File

@ -0,0 +1,379 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="146.61348mm"
height="83.557358mm"
viewBox="0 0 146.61348 83.557357"
version="1.1"
id="svg18349"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
sodipodi:docname="Checkpointing.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview18351"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.66368547"
inkscape:cx="307.37452"
inkscape:cy="251.62522"
inkscape:window-width="1920"
inkscape:window-height="1011"
inkscape:window-x="1080"
inkscape:window-y="347"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs18346">
<marker
style="overflow:visible"
id="Arrow2Mend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:isstock="true">
<path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
id="path22636" />
</marker>
<marker
style="overflow:visible"
id="Arrow1Lend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:isstock="true">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path22612" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-23.332914,-4.4857937)">
<image
width="144.54364"
height="56.629425"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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
YII=
"
id="image18418"
x="23.332914"
y="20.339371" />
<g
id="g23340"
class="fragment">
<text
xml:space="preserve"
style="font-size:7.05556px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="29.103901"
y="86.575539"
id="text19678"><tspan
sodipodi:role="line"
id="tspan19676"
style="font-size:7.05556px;stroke-width:0.264583"
x="29.103901"
y="86.575539">The original value of 'x' is gone by here.</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 71.124341,80.497883 60.15342,63.088387"
id="path22607" />
</g>
<g
id="g23348"
transform="translate(0,-74.083337)"
class="fragment">
<text
xml:space="preserve"
style="font-size:7.05556px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;stroke-width:0.264583"
x="71.966438"
y="83.929703"
id="text23344"><tspan
sodipodi:role="line"
id="tspan23342"
style="font-size:7.05556px;stroke-width:0.264583"
x="71.966438"
y="83.929703">We need a way to recover </tspan><tspan
sodipodi:role="line"
style="font-size:7.05556px;stroke-width:0.264583"
x="71.966438"
y="92.749153"
id="tspan24275">the value of 'x' from here</tspan></text>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 71.124341,89.493722 66.254946,106.19625"
id="path23346"
sodipodi:nodetypes="cc" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 23 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 200 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 241 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 202 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 104 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 109 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 892 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,90 @@
<svg width="44" height="51" viewBox="0 0 44 51" version="2.0" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:figma="http://www.figma.com/figma/ns">
<title>Group.svg</title>
<desc>Created using Figma 0.90</desc>
<g id="Canvas" transform="translate(-1640 -2453)" figma:type="canvas">
<g id="Group" style="mix-blend-mode:normal;" figma:type="group">
<g id="Group" style="mix-blend-mode:normal;" figma:type="group">
<g id="Group" style="mix-blend-mode:normal;" figma:type="group">
<g id="g" style="mix-blend-mode:normal;" figma:type="group">
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path9 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path0_fill" transform="translate(1640.54 2474.36)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path10 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path1_fill" transform="translate(1645.68 2474.37)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path11 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path2_fill" transform="translate(1653.39 2474.26)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path12 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path3_fill" transform="translate(1660.43 2474.39)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path13 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path4_fill" transform="translate(1667.55 2472.54)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path14 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path5_fill" transform="translate(1672.47 2474.29)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path15 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path6_fill" transform="translate(1679.98 2474.24)" fill="#4E4E4E" style="mix-blend-mode:normal;"/>
</g>
</g>
</g>
</g>
<g id="g" style="mix-blend-mode:normal;" figma:type="group">
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path16 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path7_fill" transform="translate(1673.48 2453.69)" fill="#767677" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path17 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path8_fill" transform="translate(1643.21 2484.27)" fill="#F37726" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path18 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path9_fill" transform="translate(1643.21 2457.88)" fill="#F37726" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path19 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path10_fill" transform="translate(1643.28 2496.09)" fill="#9E9E9E" style="mix-blend-mode:normal;"/>
</g>
</g>
<g id="path" style="mix-blend-mode:normal;" figma:type="group">
<g id="path20 fill" style="mix-blend-mode:normal;" figma:type="vector">
<use xlink:href="#path11_fill" transform="translate(1641.87 2458.43)" fill="#616262" style="mix-blend-mode:normal;"/>
</g>
</g>
</g>
</g>
</g>
</g>
<defs>
<path id="path0_fill" d="M 1.74498 5.47533C 1.74498 7.03335 1.62034 7.54082 1.29983 7.91474C 0.943119 8.23595 0.480024 8.41358 0 8.41331L 0.124642 9.3036C 0.86884 9.31366 1.59095 9.05078 2.15452 8.56466C 2.45775 8.19487 2.6834 7.76781 2.818 7.30893C 2.95261 6.85005 2.99341 6.36876 2.93798 5.89377L 2.93798 0L 1.74498 0L 1.74498 5.43972L 1.74498 5.47533Z"/>
<path id="path1_fill" d="M 5.50204 4.76309C 5.50204 5.43081 5.50204 6.02731 5.55545 6.54368L 4.496 6.54368L 4.42478 5.48423C 4.20318 5.85909 3.88627 6.16858 3.50628 6.38125C 3.12628 6.59392 2.69675 6.70219 2.26135 6.69503C 1.22861 6.69503 0 6.13415 0 3.84608L 0 0.0445149L 1.193 0.0445149L 1.193 3.6057C 1.193 4.84322 1.57583 5.67119 2.65309 5.67119C 2.87472 5.67358 3.09459 5.63168 3.29982 5.54796C 3.50505 5.46424 3.69149 5.34039 3.84822 5.18366C 4.00494 5.02694 4.1288 4.84049 4.21252 4.63527C 4.29623 4.43004 4.33813 4.21016 4.33575 3.98853L 4.33575 0L 5.52874 0L 5.52874 4.72748L 5.50204 4.76309Z"/>
<path id="path2_fill" d="M 0.0534178 2.27264C 0.0534178 1.44466 0.0534178 0.768036 0 0.153731L 1.06836 0.153731L 1.12177 1.2666C 1.3598 0.864535 1.70247 0.534594 2.11325 0.311954C 2.52404 0.0893145 2.98754 -0.0176786 3.45435 0.00238095C 5.03908 0.00238095 6.23208 1.32892 6.23208 3.30538C 6.23208 5.63796 4.7987 6.79535 3.24958 6.79535C 2.85309 6.81304 2.45874 6.7281 2.10469 6.54874C 1.75064 6.36937 1.44888 6.10166 1.22861 5.77151L 1.22861 5.77151L 1.22861 9.33269L 0.0534178 9.33269L 0.0534178 2.29935L 0.0534178 2.27264ZM 1.22861 4.00872C 1.23184 4.17026 1.24972 4.33117 1.28203 4.48948C 1.38304 4.88479 1.61299 5.23513 1.93548 5.48506C 2.25798 5.735 2.65461 5.87026 3.06262 5.86944C 4.31794 5.86944 5.05689 4.8456 5.05689 3.3588C 5.05689 2.05897 4.36246 0.946096 3.10714 0.946096C 2.61036 0.986777 2.14548 1.20726 1.79965 1.5662C 1.45382 1.92514 1.25079 2.3979 1.22861 2.89585L 1.22861 4.00872Z"/>
<path id="path3_fill" d="M 1.31764 0.0178059L 2.75102 3.85499C 2.90237 4.28233 3.06262 4.7987 3.16946 5.18153C 3.2941 4.7898 3.42764 4.29123 3.5879 3.82828L 4.88773 0.0178059L 6.14305 0.0178059L 4.36246 4.64735C 3.47216 6.87309 2.92908 8.02158 2.11 8.71601C 1.69745 9.09283 1.19448 9.35658 0.649917 9.48166L 0.356119 8.48453C 0.736886 8.35942 1.09038 8.16304 1.39777 7.90584C 1.8321 7.55188 2.17678 7.10044 2.4038 6.5882C 2.45239 6.49949 2.48551 6.40314 2.50173 6.3033C 2.49161 6.19586 2.46457 6.0907 2.42161 5.9917L 0 0L 1.29983 0L 1.31764 0.0178059Z"/>
<path id="path4_fill" d="M 2.19013 0L 2.19013 1.86962L 3.8995 1.86962L 3.8995 2.75992L 2.19013 2.75992L 2.19013 6.26769C 2.19013 7.06896 2.42161 7.53191 3.08043 7.53191C 3.31442 7.53574 3.54789 7.5088 3.77486 7.45179L 3.82828 8.34208C 3.48794 8.45999 3.12881 8.51431 2.76882 8.50234C 2.53042 8.51726 2.29161 8.48043 2.06878 8.39437C 1.84595 8.30831 1.64438 8.17506 1.47789 8.00377C 1.11525 7.51873 0.949826 6.91431 1.01494 6.31221L 1.01494 2.75102L 0 2.75102L 0 1.86072L 1.03274 1.86072L 1.03274 0.275992L 2.19013 0Z"/>
<path id="path5_fill" d="M 1.17716 3.57899C 1.153 3.88093 1.19468 4.18451 1.29933 4.46876C 1.40398 4.75301 1.5691 5.01114 1.78329 5.22532C 1.99747 5.43951 2.2556 5.60463 2.53985 5.70928C 2.8241 5.81393 3.12768 5.85561 3.42962 5.83145C 4.04033 5.84511 4.64706 5.72983 5.21021 5.49313L 5.41498 6.38343C 4.72393 6.66809 3.98085 6.80458 3.23375 6.78406C 2.79821 6.81388 2.36138 6.74914 1.95322 6.59427C 1.54505 6.43941 1.17522 6.19809 0.869071 5.88688C 0.562928 5.57566 0.327723 5.2019 0.179591 4.79125C 0.0314584 4.38059 -0.0260962 3.94276 0.0108748 3.50777C 0.0108748 1.54912 1.17716 0 3.0824 0C 5.21911 0 5.75329 1.86962 5.75329 3.06262C 5.76471 3.24644 5.76471 3.43079 5.75329 3.61461L 1.15046 3.61461L 1.17716 3.57899ZM 4.66713 2.6887C 4.70149 2.45067 4.68443 2.20805 4.61709 1.97718C 4.54976 1.74631 4.43372 1.53255 4.2768 1.35031C 4.11987 1.16808 3.92571 1.0216 3.70739 0.920744C 3.48907 0.81989 3.25166 0.767006 3.01118 0.765656C 2.52201 0.801064 2.06371 1.01788 1.72609 1.37362C 1.38847 1.72935 1.19588 2.19835 1.18607 2.6887L 4.66713 2.6887Z"/>
<path id="path6_fill" d="M 0.0534178 2.19228C 0.0534178 1.42663 0.0534178 0.767806 0 0.162404L 1.06836 0.162404L 1.06836 1.43553L 1.12177 1.43553C 1.23391 1.04259 1.4656 0.694314 1.78468 0.439049C 2.10376 0.183783 2.4944 0.034196 2.90237 0.0110538C 3.01466 -0.00368459 3.12839 -0.00368459 3.24068 0.0110538L 3.24068 1.12393C 3.10462 1.10817 2.9672 1.10817 2.83114 1.12393C 2.427 1.13958 2.04237 1.30182 1.7491 1.58035C 1.45583 1.85887 1.27398 2.23462 1.23751 2.63743C 1.20422 2.8196 1.18635 3.00425 1.1841 3.18941L 1.1841 6.65267L 0.00890297 6.65267L 0.00890297 2.20118L 0.0534178 2.19228Z"/>
<path id="path7_fill" d="M 6.03059 2.83565C 6.06715 3.43376 5.92485 4.02921 5.6218 4.54615C 5.31875 5.0631 4.86869 5.47813 4.32893 5.73839C 3.78917 5.99864 3.18416 6.09233 2.59097 6.00753C 1.99778 5.92272 1.44326 5.66326 0.998048 5.26219C 0.552837 4.86113 0.23709 4.33661 0.0910307 3.75546C -0.0550287 3.17431 -0.0247891 2.56283 0.177897 1.99893C 0.380583 1.43503 0.746541 0.944221 1.22915 0.589037C 1.71176 0.233853 2.28918 0.0303686 2.88784 0.00450543C 3.28035 -0.0170932 3.67326 0.0391144 4.04396 0.169896C 4.41467 0.300677 4.75587 0.503453 5.04794 0.766561C 5.34 1.02967 5.57718 1.34792 5.74582 1.70301C 5.91446 2.0581 6.01124 2.44303 6.03059 2.83565L 6.03059 2.83565Z"/>
<path id="path8_fill" d="M 18.6962 7.12238C 10.6836 7.12238 3.64131 4.24672 0 0C 1.41284 3.82041 3.96215 7.1163 7.30479 9.44404C 10.6474 11.7718 14.623 13.0196 18.6962 13.0196C 22.7695 13.0196 26.745 11.7718 30.0877 9.44404C 33.4303 7.1163 35.9796 3.82041 37.3925 4.0486e-13C 33.7601 4.24672 26.7445 7.12238 18.6962 7.12238Z"/>
<path id="path9_fill" d="M 18.6962 5.89725C 26.7089 5.89725 33.7512 8.77291 37.3925 13.0196C 35.9796 9.19922 33.4303 5.90333 30.0877 3.57559C 26.745 1.24785 22.7695 4.0486e-13 18.6962 0C 14.623 4.0486e-13 10.6474 1.24785 7.30479 3.57559C 3.96215 5.90333 1.41284 9.19922 0 13.0196C 3.64131 8.76401 10.648 5.89725 18.6962 5.89725Z"/>
<path id="path10_fill" d="M 7.59576 3.56656C 7.64276 4.31992 7.46442 5.07022 7.08347 5.72186C 6.70251 6.3735 6.13619 6.89698 5.45666 7.22561C 4.77713 7.55424 4.01515 7.67314 3.26781 7.56716C 2.52046 7.46117 1.82158 7.13511 1.26021 6.63051C 0.698839 6.12591 0.300394 5.46561 0.115637 4.73375C -0.0691191 4.00188 -0.0318219 3.23159 0.222777 2.52099C 0.477376 1.8104 0.93775 1.19169 1.54524 0.743685C 2.15274 0.295678 2.87985 0.0386595 3.63394 0.00537589C 4.12793 -0.0210471 4.62229 0.0501173 5.08878 0.214803C 5.55526 0.37949 5.98473 0.63447 6.35264 0.965179C 6.72055 1.29589 7.01971 1.69584 7.233 2.1422C 7.4463 2.58855 7.56957 3.07256 7.59576 3.56656L 7.59576 3.56656Z"/>
<path id="path11_fill" d="M 2.25061 4.37943C 1.81886 4.39135 1.39322 4.27535 1.02722 4.04602C 0.661224 3.81668 0.371206 3.48424 0.193641 3.09052C 0.0160762 2.69679 -0.0411078 2.25935 0.0292804 1.83321C 0.0996686 1.40707 0.294486 1.01125 0.589233 0.695542C 0.883981 0.37983 1.2655 0.158316 1.68581 0.0588577C 2.10611 -0.0406005 2.54644 -0.0135622 2.95143 0.136572C 3.35641 0.286707 3.70796 0.553234 3.96186 0.902636C 4.21577 1.25204 4.3607 1.66872 4.37842 2.10027C 4.39529 2.6838 4.18131 3.25044 3.78293 3.67715C 3.38455 4.10387 2.83392 4.35623 2.25061 4.37943Z"/>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="svg2"
width="32"
height="32"
viewBox="0 0 32 32"
sodipodi:docname="vizier-blue.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1387"
id="namedview4"
showgrid="false"
inkscape:zoom="11.19"
inkscape:cx="16"
inkscape:cy="16"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<rect
style="fill:#214478;fill-opacity:1;stroke:none;stroke-width:6.21267748"
id="rect872"
width="32"
height="32"
x="0"
y="0" />
<rect
style="fill:#87aade;fill-opacity:1;stroke:none;stroke-width:1.14830613"
id="rect12"
width="5.8305087"
height="6"
x="2.7118638"
y="24.40678" />
<rect
y="24.40678"
x="9.9907598"
height="6"
width="5.8305087"
id="rect864"
style="fill:#afc6e9;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<rect
y="17.227753"
x="2.7118638"
height="6"
width="5.8305087"
id="rect866"
style="fill:#5f8dd3;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<rect
style="fill:#3771c8;fill-opacity:1;stroke:none;stroke-width:1.14830613"
id="rect868"
width="5.8305087"
height="6"
x="2.7118638"
y="10.048723" />
<rect
y="2.8696935"
x="2.7118638"
height="6"
width="5.8305087"
id="rect870"
style="fill:#2c5aa0;fill-opacity:1;stroke:none;stroke-width:1.14830613" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:21.33333397px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;"
x="6.1662192"
y="21.186773"
id="text876"><tspan
sodipodi:role="line"
id="tspan874"
x="6.1662192"
y="21.186773"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:24px;font-family:'Courier New';-inkscape-font-specification:'Courier New Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;">V</tspan></text>
<text
id="text1280"
y="29.765862"
x="16.621983"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:13.33333302px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;font-family:'Courier New';-inkscape-font-specification:'Courier New Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#ffffff"
y="29.765862"
x="16.621983"
id="tspan1278"
sodipodi:role="line">db</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

View File

@ -19,7 +19,7 @@ end
<% if defined? status %>
<h5><%=
case status
when "PhD", "MS", "BS" then status + " student"
when "PhD", "MS", "BS", "BA" then status + " student"
else status
end
%></h5>