diff --git a/Rakefile b/Rakefile
index 6d02e4f6..5a4b6be4 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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 ######################
diff --git a/db/cv/okennedy.json b/db/cv/okennedy.json
index a1eca070..b8e69ca6 100644
--- a/db/cv/okennedy.json
+++ b/db/cv/okennedy.json
@@ -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] }
+ ]
+ }
]
}
]
diff --git a/db/cv/okennedy/courses.json b/db/cv/okennedy/courses.json
index 84dcb60e..29e2923e 100644
--- a/db/cv/okennedy/courses.json
+++ b/db/cv/okennedy/courses.json
@@ -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",
diff --git a/db/cv/okennedy/students.json b/db/cv/okennedy/students.json
index a6dcf602..32ca35fc 100644
--- a/db/cv/okennedy/students.json
+++ b/db/cv/okennedy/students.json
@@ -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",
diff --git a/db/cv/okennedy/talks.json b/db/cv/okennedy/talks.json
index afefde42..e4bf876f 100644
--- a/db/cv/okennedy/talks.json
+++ b/db/cv/okennedy/talks.json
@@ -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",
diff --git a/db/lab.json b/db/lab.json
index 5d648ab7..90a988fe 100644
--- a/db/lab.json
+++ b/db/lab.json
@@ -79,6 +79,23 @@
"height" : 200
},
"ubit" : "carlnues"
+ },
+ "Nicholas Brown" : {
+ "status" : "BS",
+ "projects" : ["astral"],
+ "joint_advisor" : false,
+ "ubit" : "njbrown4"
+ },
+ "Caleb Levine" : {
+ "status" : "BS",
+ "projects" : ["vizier"],
+ "joint_advisor" : false,
+ "ubit" : "caleblev"
+ },
+ "Nachiket Deo" : {
+ "status" : "MS",
+ "projects" : ["vizier"],
+ "joint_advisor" : false
}
},
"temp-leave" : {
diff --git a/db/publications.json b/db/publications.json
index 2b0bcd45..e3699af0 100644
--- a/db/publications.json
+++ b/db/publications.json
@@ -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" : [
diff --git a/db/venues.json b/db/venues.json
index 6022a944..bc219cbf 100644
--- a/db/venues.json
+++ b/db/venues.json
@@ -99,6 +99,10 @@
"2016" : {
"location" : "McLean, VA, USA",
"date" : "June 6-9, 2016"
+ },
+ "2022" : {
+ "location" : "Philadelphia, NY",
+ "date": "June 18, 2022"
}
}
},
diff --git a/src/people/index.erb b/src/people/index.erb
index afb26abd..e4cb797e 100644
--- a/src/people/index.erb
+++ b/src/people/index.erb
@@ -6,7 +6,7 @@ title: Members and Affiliates
<% $db["lab/members"].each do |member, data| %>
<%=
- 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
diff --git a/src/talks/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/src/talks/.ipynb_checkpoints/Untitled-checkpoint.ipynb
deleted file mode 100644
index 363fcab7..00000000
--- a/src/talks/.ipynb_checkpoints/Untitled-checkpoint.ipynb
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "cells": [],
- "metadata": {},
- "nbformat": 4,
- "nbformat_minor": 5
-}
diff --git a/src/talks/2022-06-20-DataThread.erb b/src/talks/2022-06-20-DataThread.erb
index 3b116712..e2a04f10 100644
--- a/src/talks/2022-06-20-DataThread.erb
+++ b/src/talks/2022-06-20-DataThread.erb
@@ -4,14 +4,146 @@ title: "Microkernel Notebooks"
---
-
- μKernel Notebooks
+ μKernel Notebooks
- Oliver Kennedy
-
+ Oliver Kennedy
+ University at Buffalo
+
-
+
+
+
+
+
+
+
+
+
Joel Grus: "For beginners, with dozens of cells and more complex code [the ability to run code snippets out of order] is utterly confusing."
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ https://openclipart.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ... and more
+
+
+ - Better error-handling
+ - Easily inspect inter-cell state
+ - Automatically re-run stale cells
+
+
+
+
+ ... not all smiles and sunshine
+
+ - Dependency Analysis
+ - Scheduling Cell Execution
+ - Python Startup Costs
+ - Migrating state between kernels
+
+
+
+
+
+
+
+ from foo import x
+
+
+
+
+
+ x = pandas.read_csv("foo.csv")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ https://vizierdb.info
+
+
+ Mike Brachmann, Boris Glavic, Nachiket Deo, Juliana Freire, Heiko Mueller, Sonia Castello, Munaf Arshad Qazi, William Spoth, Poonam Kumari, Soham Patel, and more...
+
-
\ No newline at end of file
diff --git a/src/talks/graphics/2022-06-20/Checkpointing.svg b/src/talks/graphics/2022-06-20/Checkpointing.svg
new file mode 100644
index 00000000..eefa3790
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/Checkpointing.svg
@@ -0,0 +1,379 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/CheckpointingGlobals.svg b/src/talks/graphics/2022-06-20/CheckpointingGlobals.svg
new file mode 100644
index 00000000..98bb7a17
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/CheckpointingGlobals.svg
@@ -0,0 +1,4138 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/Grus.png b/src/talks/graphics/2022-06-20/Grus.png
new file mode 100644
index 00000000..e9dd4994
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Grus.png differ
diff --git a/src/talks/graphics/2022-06-20/MicrokernelCheckpoints.svg b/src/talks/graphics/2022-06-20/MicrokernelCheckpoints.svg
new file mode 100644
index 00000000..16f4a160
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/MicrokernelCheckpoints.svg
@@ -0,0 +1,1080 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/MicrokernelPyScalaCheckpoints.svg b/src/talks/graphics/2022-06-20/MicrokernelPyScalaCheckpoints.svg
new file mode 100644
index 00000000..c1b07319
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/MicrokernelPyScalaCheckpoints.svg
@@ -0,0 +1,3769 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/MicrokernelPyV2Checkpoints.svg b/src/talks/graphics/2022-06-20/MicrokernelPyV2Checkpoints.svg
new file mode 100644
index 00000000..bc68b8e5
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/MicrokernelPyV2Checkpoints.svg
@@ -0,0 +1,1114 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/MonokernelCheckpoints.svg b/src/talks/graphics/2022-06-20/MonokernelCheckpoints.svg
new file mode 100644
index 00000000..39a48234
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/MonokernelCheckpoints.svg
@@ -0,0 +1,1058 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/NoCheckpointing.png b/src/talks/graphics/2022-06-20/NoCheckpointing.png
new file mode 100644
index 00000000..2442376e
Binary files /dev/null and b/src/talks/graphics/2022-06-20/NoCheckpointing.png differ
diff --git a/src/talks/graphics/2022-06-20/Nodebook.png b/src/talks/graphics/2022-06-20/Nodebook.png
new file mode 100644
index 00000000..c67f2138
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Nodebook.png differ
diff --git a/src/talks/graphics/2022-06-20/NotebookOverview.svg b/src/talks/graphics/2022-06-20/NotebookOverview.svg
new file mode 100644
index 00000000..54f62b96
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/NotebookOverview.svg
@@ -0,0 +1,287 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/Parallelism.svg b/src/talks/graphics/2022-06-20/Parallelism.svg
new file mode 100644
index 00000000..05679bc8
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/Parallelism.svg
@@ -0,0 +1,1174 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/Pimentel.png b/src/talks/graphics/2022-06-20/Pimentel.png
new file mode 100644
index 00000000..0e4d9619
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Pimentel.png differ
diff --git a/src/talks/graphics/2022-06-20/Vizier System Diag.svg b/src/talks/graphics/2022-06-20/Vizier System Diag.svg
new file mode 100644
index 00000000..917bae2e
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/Vizier System Diag.svg
@@ -0,0 +1,287 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/Vizier-Load.png b/src/talks/graphics/2022-06-20/Vizier-Load.png
new file mode 100644
index 00000000..b0bb7917
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Vizier-Load.png differ
diff --git a/src/talks/graphics/2022-06-20/Vizier-New.png b/src/talks/graphics/2022-06-20/Vizier-New.png
new file mode 100644
index 00000000..162b9500
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Vizier-New.png differ
diff --git a/src/talks/graphics/2022-06-20/Vizier-Polyglot.png b/src/talks/graphics/2022-06-20/Vizier-Polyglot.png
new file mode 100644
index 00000000..b72927e4
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Vizier-Polyglot.png differ
diff --git a/src/talks/graphics/2022-06-20/Vizier-Spreadsheet.png b/src/talks/graphics/2022-06-20/Vizier-Spreadsheet.png
new file mode 100644
index 00000000..6b10c85b
Binary files /dev/null and b/src/talks/graphics/2022-06-20/Vizier-Spreadsheet.png differ
diff --git a/src/talks/graphics/2022-06-20/Vizier-System-Diag.svg b/src/talks/graphics/2022-06-20/Vizier-System-Diag.svg
new file mode 100644
index 00000000..d25e2f05
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/Vizier-System-Diag.svg
@@ -0,0 +1,287 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/arrow.png b/src/talks/graphics/2022-06-20/arrow.png
new file mode 100644
index 00000000..72104b07
Binary files /dev/null and b/src/talks/graphics/2022-06-20/arrow.png differ
diff --git a/src/talks/graphics/2022-06-20/vizier.svg b/src/talks/graphics/2022-06-20/vizier.svg
new file mode 100644
index 00000000..1a17b3ed
--- /dev/null
+++ b/src/talks/graphics/2022-06-20/vizier.svg
@@ -0,0 +1,117 @@
+
+
+
+
diff --git a/src/talks/graphics/2022-06-20/xkcd_python.png b/src/talks/graphics/2022-06-20/xkcd_python.png
new file mode 100644
index 00000000..369a6fd4
Binary files /dev/null and b/src/talks/graphics/2022-06-20/xkcd_python.png differ