diff --git a/Rakefile b/Rakefile
index 4e8623be..cb765a44 100644
--- a/Rakefile
+++ b/Rakefile
@@ -11,24 +11,40 @@ LabMetadata::build_people_metadata()
site :odin_lab, out: "build" do
+ ## Splice off header information
for_files(/((\.erb)|(\.md)|(\.html))$/) do
activate extract_headers
end
+
+ ## Render specialized formats
for_files(/\.md$/) do
activate render_markdown
end
for_files(/\.erb$/) do
activate render_erb
end
+
+ ## Generate pages for each lab member
+ LabMetadata::create_people_pages
+ for_files(/people\/.*\.html$/) do
+ exclude_files(/index\.html/) do
+ activate apply_template("templates/person.erb")
+ end
+ end
+
+ ## Apply templating
for_files(/\.html$/) do
activate apply_template("templates/lab.erb")
end
+
+ ## Specify specialized dependencies (e.g., on the database)
for_files(/people\/.*\.html$/) do
add_dependency "db/lab.json"
end
+ ## Static assets
add_assets([
- "bootstrap", "odin.css", "jquery.js", "logos"
+ "bootstrap", "odin.css", "jquery.js", "logos", "favicon", "people"
])
end
diff --git a/src.bak/assets/group-photos/dbhike-2014.jpg b/assets/group-photos/dbhike-2014.jpg
similarity index 100%
rename from src.bak/assets/group-photos/dbhike-2014.jpg
rename to assets/group-photos/dbhike-2014.jpg
diff --git a/assets/odin.css b/assets/odin.css
index 7736f7f3..81c55af7 100755
--- a/assets/odin.css
+++ b/assets/odin.css
@@ -1,5 +1,6 @@
body {
padding-top: 50px;
+ padding-bottom: 30px;
text-align: justify;
}
.starter-template {
@@ -15,7 +16,9 @@ body {
color: black;
}
-
+.person_list h1 {
+ margin-bottom: 20px;
+}
.person_list .person {
margin-top: 5px;
margin-bottom: 7px;
@@ -39,3 +42,71 @@ body {
.person_list a {
text-decoration: none;
}
+
+
+
+
+.person .project_list {
+ text-align: center;
+ font-size: 12px;
+ color: #041a9b;
+}
+.person img.photo {
+ float: right;
+ border: solid 2px gray;
+ margin-right: 50px;
+ margin-left: 30px;
+ margin-bottom: 30px;
+}
+.person .paper_list {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+.person .links {
+ text-align: left;
+ margin-bottom: 20px;
+}
+.person .links a {
+ font-size: 12px;
+ color: #041a9b;
+ margin-left: 10px;
+ margin-right: 10px;
+ text-decoration: none;
+}
+
+
+
+
+
+.paper_list ul {
+ padding-left: 20px;
+ padding-right: 20px;
+}
+.paper_list li {
+ margin-top: 20px;
+ margin-left: 0px;
+ margin-right: 0px;
+ font-size: 15px;
+ list-style-type: none;
+ line-height: 20px;
+}
+.paper_list li .title {
+ font-size: 17px;
+ font-weight: bold;
+ line-height: 22px;
+}
+.paper_list li .authors {
+ margin-left: 10px;
+}
+.paper_list li .authors .lab_member {
+ color: #041a9b;
+ font-weight: bold;
+ font-style: italic;
+}
+.paper_list li .metadata {
+ margin-left: 10px;
+}
+
+
+
+
diff --git a/src.bak/assets/people/oliver.jpg b/assets/people/oliver.jpg
similarity index 100%
rename from src.bak/assets/people/oliver.jpg
rename to assets/people/oliver.jpg
diff --git a/db/publications.json b/db/publications.json
index 9257a4df..4cc5c34a 100644
--- a/db/publications.json
+++ b/db/publications.json
@@ -56,7 +56,7 @@
"urls" : {
"paper" : "http://odin.cse.buffalo.edu/papers/2016/ERMIS-final.pdf"
},
- "projects" : ["insiderthreats"]
+ "projects" : ["insider-threats"]
},
{ "title":"Pocket Data: The Need for TPC-MOBILE",
"authors":[
diff --git a/lib/gemsmith.rb b/lib/gemsmith.rb
index cc1e57a5..992cb888 100644
--- a/lib/gemsmith.rb
+++ b/lib/gemsmith.rb
@@ -20,23 +20,23 @@ module GemSmith
}
end
- def load_site(in_path, out_path, out_root)
+ def load_site(in_path, out_path)
if File.symlink? in_path then
$stderr.puts "Warning: Skipping symlink #{f}"
[]
elsif File.directory? in_path then
- full_out_dir = File.join(out_root, out_path)
+ full_out_dir = File.join($gemsmith[:out_path], out_path)
directory "#{full_out_dir}" => [File.dirname("#{full_out_dir}")]
Dir["#{in_path}/*"].map do |f|
out_f = File.join(out_path, File.basename(f))
- load_site(f, out_f, out_root)
+ load_site(f, out_f)
end.flatten(1)
else
[{
modified: File.mtime(in_path),
in_path: in_path,
- dependencies: [in_path, File.dirname(File.join(out_root, out_path))],
- out_path: File.join(out_root, out_path),
+ dependencies: [in_path, File.dirname(File.join($gemsmith[:out_path], out_path))],
+ out_path: out_path,
rel_dir: File.dirname(out_path),
stream: Pipeline.new(in_path)
}]
@@ -46,7 +46,15 @@ module GemSmith
def for_files(pattern)
tmp = $gemsmith[:active]
$gemsmith[:active] =
- $gemsmith[:active].where {|f| pattern =~ File.basename(f[:out_path]) }
+ $gemsmith[:active].where {|f| pattern =~ f[:out_path] }
+ yield
+ $gemsmith[:active] = tmp
+ end
+
+ def exclude_files(pattern)
+ tmp = $gemsmith[:active]
+ $gemsmith[:active] =
+ $gemsmith[:active].where {|f| not pattern =~ f[:out_path] }
yield
$gemsmith[:active] = tmp
end
@@ -60,7 +68,7 @@ module GemSmith
$gemsmith[:in_path] = in_path
$gemsmith[:out_path] = out_path
- $gemsmith[:active] = load_site(in_path, "", out_path)
+ $gemsmith[:active] = load_site(in_path, "")
directory out_path
@@ -69,9 +77,9 @@ module GemSmith
yield
$gemsmith[:active].each { |f|
- file f[:out_path] => f[:dependencies] do
+ file File.join(out_path, f[:out_path]) => f[:dependencies] do
error = nil;
- File.open(f[:out_path], "w+") { |out|
+ File.open(File.join(out_path, f[:out_path]), "w+") { |out|
begin
f[:stream].pipe_to(out)
rescue => e
@@ -79,11 +87,11 @@ module GemSmith
end
}
unless error.nil?
- File.unlink(f[:out_path])
+ File.unlink(File.join(out_path, f[:out_path]))
raise error
end
end
- task site_name => f[:out_path]
+ task site_name => File.join(out_path, f[:out_path])
}
end
@@ -161,20 +169,41 @@ module GemSmith
in_dir = params.fetch(:source, "assets")
out_dir = params.fetch(:dir, "assets")
assets.each { |a|
- $gemsmith[:active] += load_site(File.join(in_dir, a), File.join(out_dir, a), $gemsmith[:out_path])
+ $gemsmith[:active] += load_site(File.join(in_dir, a), File.join(out_dir, a))
$gemsmith[:assets][a] = File.join(out_dir, a)
}
end
- def root_path
- context = File.split($gemsmith[:now_rendering])
+ def add_file_string(out_path, data)
+ $gemsmith[:active].push({
+ dependencies: [],
+ out_path: out_path,
+ rel_dir: File.dirname(out_path),
+ stream: Pipeline.new(string: data)
+ })
+ end
+
+ def root_path(file = nil)
+ context = $gemsmith[:now_rendering].split(/#{File::SEPARATOR}/)
context.pop
- File.join( *([".."] * context.length) )
+ context.shift if context[0] == ""
+ return file if context.empty?
+ ret = File.join( *([".."] * context.length))
+ return File.join(ret, file) unless file.nil?
+ return ret
end
def asset_path(asset)
target = $gemsmith[:assets][asset]
return "???" if target.nil?
- File.join( root_path, target )
+ root_path(target)
+ end
+
+ def all_outputs
+ $gemsmith[:active].map { |x| x[:out_path] }
+ end
+
+ def metadata_for(path)
+ $gemsmith[:active].find { |x| x[:out_path] == path }
end
end
\ No newline at end of file
diff --git a/lib/lab_metadata.rb b/lib/lab_metadata.rb
index 0fc408fb..98c1848a 100644
--- a/lib/lab_metadata.rb
+++ b/lib/lab_metadata.rb
@@ -7,10 +7,45 @@ module LabMetadata
members.each do |name, data|
data["link_relative"] = not(data.has_key? "link")
+ data["name"] = name
+ page = "/people/#{name.downcase.gsub(/ /, "_").gsub(/[^a-z0-9A-Z_]/, "")}.html"
unless data.has_key? "link"
- data["link"] = "people/#{name.downcase.gsub(/ /, "_").gsub(/[^a-z0-9A-Z_]/, "")}.html"
+ data["link"] = page
end
+ data["page"] = page
end
end
+ def LabMetadata.create_people_pages
+ known_pages =
+ GemSmith::all_outputs.
+ delete_if { |x| not /people\/.*\.html$/ =~ x }
+
+ $db["lab/members"].each do |name, data|
+ unless known_pages.include? data["page"]
+ GemSmith::add_file_string(data["page"], "#{name} hasn't written anything yet.")
+ end
+ GemSmith::metadata_for(data["page"]).merge!({
+ title: name,
+ name: name
+ }.merge(data))
+ end
+ end
+
+ def LabMetadata.link_for(person)
+ data = $db["lab/members"][person]
+ if data.nil? then person else "#{person}" end
+ end
+
+ def LabMetadata.publications_for(person)
+ $db["publications"].
+ where { |pub| pub["authors"].include? person }
+ end
+
+ def LabMetadata.members_on_project(project)
+ $db["lab/members"].values.
+ where { |m| m.fetch("projects", []).include? project }.
+ map { |m| m["name"] }
+ end
+
end
\ No newline at end of file
diff --git a/lib/pipeline.rb b/lib/pipeline.rb
index 282d0d02..457133df 100644
--- a/lib/pipeline.rb
+++ b/lib/pipeline.rb
@@ -1,6 +1,20 @@
class Pipeline
- def initialize(file)
- @op = lambda { |nxt| File.open(file) { |fp| nxt.call(fp) }}
+ def initialize(source)
+
+ source = { file:source } unless source.is_a? Hash
+
+ if source.has_key? :file
+ @op = lambda { |nxt| File.open(source[:file]) { |fp| nxt.call(fp) }}
+ elsif source.has_key? :string
+ data = source[:string]
+ @op = lambda { |nxt|
+ IO.pipe { |r, w|
+ w.write(data)
+ w.close_write
+ nxt.call(r)
+ }
+ }
+ end
end
def transform(&transformation)
diff --git a/src.bak/css/fonts/DINWeb-Bold.eot b/old/src.bak/css/fonts/DINWeb-Bold.eot
similarity index 100%
rename from src.bak/css/fonts/DINWeb-Bold.eot
rename to old/src.bak/css/fonts/DINWeb-Bold.eot
diff --git a/src.bak/css/fonts/DINWeb-Bold.svg b/old/src.bak/css/fonts/DINWeb-Bold.svg
similarity index 100%
rename from src.bak/css/fonts/DINWeb-Bold.svg
rename to old/src.bak/css/fonts/DINWeb-Bold.svg
diff --git a/src.bak/css/fonts/DINWeb-Bold.woff b/old/src.bak/css/fonts/DINWeb-Bold.woff
similarity index 100%
rename from src.bak/css/fonts/DINWeb-Bold.woff
rename to old/src.bak/css/fonts/DINWeb-Bold.woff
diff --git a/src.bak/css/fonts/DINWeb-Light.eot b/old/src.bak/css/fonts/DINWeb-Light.eot
similarity index 100%
rename from src.bak/css/fonts/DINWeb-Light.eot
rename to old/src.bak/css/fonts/DINWeb-Light.eot
diff --git a/src.bak/css/fonts/DINWeb-Light.svg b/old/src.bak/css/fonts/DINWeb-Light.svg
similarity index 100%
rename from src.bak/css/fonts/DINWeb-Light.svg
rename to old/src.bak/css/fonts/DINWeb-Light.svg
diff --git a/src.bak/css/fonts/DINWeb-Light.woff b/old/src.bak/css/fonts/DINWeb-Light.woff
similarity index 100%
rename from src.bak/css/fonts/DINWeb-Light.woff
rename to old/src.bak/css/fonts/DINWeb-Light.woff
diff --git a/src.bak/css/fonts/DINWeb.eot b/old/src.bak/css/fonts/DINWeb.eot
similarity index 100%
rename from src.bak/css/fonts/DINWeb.eot
rename to old/src.bak/css/fonts/DINWeb.eot
diff --git a/src.bak/css/fonts/DINWeb.woff b/old/src.bak/css/fonts/DINWeb.woff
similarity index 100%
rename from src.bak/css/fonts/DINWeb.woff
rename to old/src.bak/css/fonts/DINWeb.woff
diff --git a/src.bak/css/fonts/dinpro-regular-webfont.svg b/old/src.bak/css/fonts/dinpro-regular-webfont.svg
similarity index 100%
rename from src.bak/css/fonts/dinpro-regular-webfont.svg
rename to old/src.bak/css/fonts/dinpro-regular-webfont.svg
diff --git a/src.bak/css/fonts/dinpro-regular-webfont.ttf b/old/src.bak/css/fonts/dinpro-regular-webfont.ttf
similarity index 100%
rename from src.bak/css/fonts/dinpro-regular-webfont.ttf
rename to old/src.bak/css/fonts/dinpro-regular-webfont.ttf
diff --git a/src.bak/css/index.css b/old/src.bak/css/index.css
similarity index 100%
rename from src.bak/css/index.css
rename to old/src.bak/css/index.css
diff --git a/src.bak/css/mimir.css b/old/src.bak/css/mimir.css
similarity index 100%
rename from src.bak/css/mimir.css
rename to old/src.bak/css/mimir.css
diff --git a/src.bak/css/seminar.css b/old/src.bak/css/seminar.css
similarity index 100%
rename from src.bak/css/seminar.css
rename to old/src.bak/css/seminar.css
diff --git a/src.bak/grants/2014-IntuitiveDataInterpretation.rtf b/old/src.bak/grants/2014-IntuitiveDataInterpretation.rtf
similarity index 100%
rename from src.bak/grants/2014-IntuitiveDataInterpretation.rtf
rename to old/src.bak/grants/2014-IntuitiveDataInterpretation.rtf
diff --git a/src.bak/grants/2014-NSF-SatC-InsiderThreats-Abstract.pdf b/old/src.bak/grants/2014-NSF-SatC-InsiderThreats-Abstract.pdf
similarity index 100%
rename from src.bak/grants/2014-NSF-SatC-InsiderThreats-Abstract.pdf
rename to old/src.bak/grants/2014-NSF-SatC-InsiderThreats-Abstract.pdf
diff --git a/src.bak/grants/2014-NSF-SatC-InsiderThreats-Full.pdf b/old/src.bak/grants/2014-NSF-SatC-InsiderThreats-Full.pdf
similarity index 100%
rename from src.bak/grants/2014-NSF-SatC-InsiderThreats-Full.pdf
rename to old/src.bak/grants/2014-NSF-SatC-InsiderThreats-Full.pdf
diff --git a/src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Abstract.txt b/old/src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Abstract.txt
similarity index 100%
rename from src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Abstract.txt
rename to old/src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Abstract.txt
diff --git a/src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Full.txt b/old/src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Full.txt
similarity index 100%
rename from src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Full.txt
rename to old/src.bak/grants/2015-Oracle-IntuitiveDataInterprestation-Full.txt
diff --git a/src.bak/grants/index.html b/old/src.bak/grants/index.html
similarity index 100%
rename from src.bak/grants/index.html
rename to old/src.bak/grants/index.html
diff --git a/src.bak/ideas/2014-10-20-what-is-the-difference-between-two-queries.md b/old/src.bak/ideas/2014-10-20-what-is-the-difference-between-two-queries.md
similarity index 100%
rename from src.bak/ideas/2014-10-20-what-is-the-difference-between-two-queries.md
rename to old/src.bak/ideas/2014-10-20-what-is-the-difference-between-two-queries.md
diff --git a/src.bak/ideas/2014-10-23-OnDemandPartitioning.md b/old/src.bak/ideas/2014-10-23-OnDemandPartitioning.md
similarity index 100%
rename from src.bak/ideas/2014-10-23-OnDemandPartitioning.md
rename to old/src.bak/ideas/2014-10-23-OnDemandPartitioning.md
diff --git a/src.bak/ideas/2014-10-23-ProcCogs.md b/old/src.bak/ideas/2014-10-23-ProcCogs.md
similarity index 100%
rename from src.bak/ideas/2014-10-23-ProcCogs.md
rename to old/src.bak/ideas/2014-10-23-ProcCogs.md
diff --git a/src.bak/ideas/2014-11-18-Sketches.md b/old/src.bak/ideas/2014-11-18-Sketches.md
similarity index 100%
rename from src.bak/ideas/2014-11-18-Sketches.md
rename to old/src.bak/ideas/2014-11-18-Sketches.md
diff --git a/src.bak/ideas/2015-09-21-xmorph.md b/old/src.bak/ideas/2015-09-21-xmorph.md
similarity index 100%
rename from src.bak/ideas/2015-09-21-xmorph.md
rename to old/src.bak/ideas/2015-09-21-xmorph.md
diff --git a/src.bak/ideas/2015-10-07-jsonLogs.md b/old/src.bak/ideas/2015-10-07-jsonLogs.md
similarity index 100%
rename from src.bak/ideas/2015-10-07-jsonLogs.md
rename to old/src.bak/ideas/2015-10-07-jsonLogs.md
diff --git a/src.bak/ideas/2016-04-21-powerOverwhelming.md b/old/src.bak/ideas/2016-04-21-powerOverwhelming.md
similarity index 100%
rename from src.bak/ideas/2016-04-21-powerOverwhelming.md
rename to old/src.bak/ideas/2016-04-21-powerOverwhelming.md
diff --git a/src.bak/metadata/okennedy.json b/old/src.bak/metadata/okennedy.json
similarity index 100%
rename from src.bak/metadata/okennedy.json
rename to old/src.bak/metadata/okennedy.json
diff --git a/src.bak/news/2014-10-14-CIDR.md b/old/src.bak/news/2014-10-14-CIDR.md
similarity index 100%
rename from src.bak/news/2014-10-14-CIDR.md
rename to old/src.bak/news/2014-10-14-CIDR.md
diff --git a/src.bak/news/2014-10-17-csta-data-nalytics-workshop.md b/old/src.bak/news/2014-10-17-csta-data-nalytics-workshop.md
similarity index 100%
rename from src.bak/news/2014-10-17-csta-data-nalytics-workshop.md
rename to old/src.bak/news/2014-10-17-csta-data-nalytics-workshop.md
diff --git a/src.bak/news/2014-10-22-CIDR-Program.md b/old/src.bak/news/2014-10-22-CIDR-Program.md
similarity index 100%
rename from src.bak/news/2014-10-22-CIDR-Program.md
rename to old/src.bak/news/2014-10-22-CIDR-Program.md
diff --git a/src.bak/news/2014-10-22-SIGMOD.md b/old/src.bak/news/2014-10-22-SIGMOD.md
similarity index 100%
rename from src.bak/news/2014-10-22-SIGMOD.md
rename to old/src.bak/news/2014-10-22-SIGMOD.md
diff --git a/src.bak/news/2014-11-02-Ying-Syslunch.md b/old/src.bak/news/2014-11-02-Ying-Syslunch.md
similarity index 100%
rename from src.bak/news/2014-11-02-Ying-Syslunch.md
rename to old/src.bak/news/2014-11-02-Ying-Syslunch.md
diff --git a/src.bak/news/2014-11-21-CIDR.md b/old/src.bak/news/2014-11-21-CIDR.md
similarity index 100%
rename from src.bak/news/2014-11-21-CIDR.md
rename to old/src.bak/news/2014-11-21-CIDR.md
diff --git a/src.bak/news/2014-12-17-HotMobile.md b/old/src.bak/news/2014-12-17-HotMobile.md
similarity index 100%
rename from src.bak/news/2014-12-17-HotMobile.md
rename to old/src.bak/news/2014-12-17-HotMobile.md
diff --git a/src.bak/news/2015-01-14-562-syllabus.md b/old/src.bak/news/2015-01-14-562-syllabus.md
similarity index 100%
rename from src.bak/news/2015-01-14-562-syllabus.md
rename to old/src.bak/news/2015-01-14-562-syllabus.md
diff --git a/src.bak/news/2015-03-13-summary-cidr.md b/old/src.bak/news/2015-03-13-summary-cidr.md
similarity index 100%
rename from src.bak/news/2015-03-13-summary-cidr.md
rename to old/src.bak/news/2015-03-13-summary-cidr.md
diff --git a/src.bak/news/2015-06-06-vldb.md b/old/src.bak/news/2015-06-06-vldb.md
similarity index 100%
rename from src.bak/news/2015-06-06-vldb.md
rename to old/src.bak/news/2015-06-06-vldb.md
diff --git a/src.bak/news/2015-07-08-phonelab-logs.md b/old/src.bak/news/2015-07-08-phonelab-logs.md
similarity index 100%
rename from src.bak/news/2015-07-08-phonelab-logs.md
rename to old/src.bak/news/2015-07-08-phonelab-logs.md
diff --git a/src.bak/news/2015-08-11-mist.md b/old/src.bak/news/2015-08-11-mist.md
similarity index 100%
rename from src.bak/news/2015-08-11-mist.md
rename to old/src.bak/news/2015-08-11-mist.md
diff --git a/src.bak/news/2015-08-31-tpctc.md b/old/src.bak/news/2015-08-31-tpctc.md
similarity index 100%
rename from src.bak/news/2015-08-31-tpctc.md
rename to old/src.bak/news/2015-08-31-tpctc.md
diff --git a/src.bak/news/2015-09-17-oliver-cse501.md b/old/src.bak/news/2015-09-17-oliver-cse501.md
similarity index 100%
rename from src.bak/news/2015-09-17-oliver-cse501.md
rename to old/src.bak/news/2015-09-17-oliver-cse501.md
diff --git a/src.bak/news/2015-10-30-Stratos.md b/old/src.bak/news/2015-10-30-Stratos.md
similarity index 100%
rename from src.bak/news/2015-10-30-Stratos.md
rename to old/src.bak/news/2015-10-30-Stratos.md
diff --git a/src.bak/news/2015-12-14-CSE662-demo-day.md b/old/src.bak/news/2015-12-14-CSE662-demo-day.md
similarity index 100%
rename from src.bak/news/2015-12-14-CSE662-demo-day.md
rename to old/src.bak/news/2015-12-14-CSE662-demo-day.md
diff --git a/src.bak/papers/2010/ICDE-pip.pdf b/old/src.bak/papers/2010/ICDE-pip.pdf
similarity index 100%
rename from src.bak/papers/2010/ICDE-pip.pdf
rename to old/src.bak/papers/2010/ICDE-pip.pdf
diff --git a/src.bak/papers/2011/SIGMOD-demo-jigsaw.pdf b/old/src.bak/papers/2011/SIGMOD-demo-jigsaw.pdf
similarity index 100%
rename from src.bak/papers/2011/SIGMOD-demo-jigsaw.pdf
rename to old/src.bak/papers/2011/SIGMOD-demo-jigsaw.pdf
diff --git a/src.bak/papers/2011/SIGMOD-jigsaw.pdf b/old/src.bak/papers/2011/SIGMOD-jigsaw.pdf
similarity index 100%
rename from src.bak/papers/2011/SIGMOD-jigsaw.pdf
rename to old/src.bak/papers/2011/SIGMOD-jigsaw.pdf
diff --git a/src.bak/papers/2013/WebDB-laasie-final.pdf b/old/src.bak/papers/2013/WebDB-laasie-final.pdf
similarity index 100%
rename from src.bak/papers/2013/WebDB-laasie-final.pdf
rename to old/src.bak/papers/2013/WebDB-laasie-final.pdf
diff --git a/src.bak/papers/2014/BIRTE-context-final.pdf b/old/src.bak/papers/2014/BIRTE-context-final.pdf
similarity index 100%
rename from src.bak/papers/2014/BIRTE-context-final.pdf
rename to old/src.bak/papers/2014/BIRTE-context-final.pdf
diff --git a/src.bak/papers/2014/VLDBPhD-ondemand-final.pdf b/old/src.bak/papers/2014/VLDBPhD-ondemand-final.pdf
similarity index 100%
rename from src.bak/papers/2014/VLDBPhD-ondemand-final.pdf
rename to old/src.bak/papers/2014/VLDBPhD-ondemand-final.pdf
diff --git a/src.bak/papers/2015/BIGDATA-pigout-final.pdf b/old/src.bak/papers/2015/BIGDATA-pigout-final.pdf
similarity index 100%
rename from src.bak/papers/2015/BIGDATA-pigout-final.pdf
rename to old/src.bak/papers/2015/BIGDATA-pigout-final.pdf
diff --git a/src.bak/papers/2015/CIDR-jitd-final.pdf b/old/src.bak/papers/2015/CIDR-jitd-final.pdf
similarity index 100%
rename from src.bak/papers/2015/CIDR-jitd-final.pdf
rename to old/src.bak/papers/2015/CIDR-jitd-final.pdf
diff --git a/src.bak/papers/2015/CIDR-jitd-submitted.pdf b/old/src.bak/papers/2015/CIDR-jitd-submitted.pdf
similarity index 100%
rename from src.bak/papers/2015/CIDR-jitd-submitted.pdf
rename to old/src.bak/papers/2015/CIDR-jitd-submitted.pdf
diff --git a/src.bak/papers/2015/HotMobile-maybe-final.pdf b/old/src.bak/papers/2015/HotMobile-maybe-final.pdf
similarity index 100%
rename from src.bak/papers/2015/HotMobile-maybe-final.pdf
rename to old/src.bak/papers/2015/HotMobile-maybe-final.pdf
diff --git a/src.bak/papers/2015/MIST-ontology-final.pdf b/old/src.bak/papers/2015/MIST-ontology-final.pdf
similarity index 100%
rename from src.bak/papers/2015/MIST-ontology-final.pdf
rename to old/src.bak/papers/2015/MIST-ontology-final.pdf
diff --git a/src.bak/papers/2015/SIGMOD-IND-mimir-submitted.pdf b/old/src.bak/papers/2015/SIGMOD-IND-mimir-submitted.pdf
similarity index 100%
rename from src.bak/papers/2015/SIGMOD-IND-mimir-submitted.pdf
rename to old/src.bak/papers/2015/SIGMOD-IND-mimir-submitted.pdf
diff --git a/src.bak/papers/2015/SIGMOD-mimir-submitted.pdf b/old/src.bak/papers/2015/SIGMOD-mimir-submitted.pdf
similarity index 100%
rename from src.bak/papers/2015/SIGMOD-mimir-submitted.pdf
rename to old/src.bak/papers/2015/SIGMOD-mimir-submitted.pdf
diff --git a/src.bak/papers/2015/TPCTC-sqlite-final.pdf b/old/src.bak/papers/2015/TPCTC-sqlite-final.pdf
similarity index 100%
rename from src.bak/papers/2015/TPCTC-sqlite-final.pdf
rename to old/src.bak/papers/2015/TPCTC-sqlite-final.pdf
diff --git a/src.bak/papers/2015/TPCTC-sqlite-submitted.pdf b/old/src.bak/papers/2015/TPCTC-sqlite-submitted.pdf
similarity index 100%
rename from src.bak/papers/2015/TPCTC-sqlite-submitted.pdf
rename to old/src.bak/papers/2015/TPCTC-sqlite-submitted.pdf
diff --git a/src.bak/papers/2015/VLDB-lenses-final.pdf b/old/src.bak/papers/2015/VLDB-lenses-final.pdf
similarity index 100%
rename from src.bak/papers/2015/VLDB-lenses-final.pdf
rename to old/src.bak/papers/2015/VLDB-lenses-final.pdf
diff --git a/src.bak/papers/2015/VLDB-lenses-submitted.pdf b/old/src.bak/papers/2015/VLDB-lenses-submitted.pdf
similarity index 100%
rename from src.bak/papers/2015/VLDB-lenses-submitted.pdf
rename to old/src.bak/papers/2015/VLDB-lenses-submitted.pdf
diff --git a/src.bak/papers/2016/ERMIS-final.pdf b/old/src.bak/papers/2016/ERMIS-final.pdf
similarity index 100%
rename from src.bak/papers/2016/ERMIS-final.pdf
rename to old/src.bak/papers/2016/ERMIS-final.pdf
diff --git a/src.bak/papers/2016/ERMIS-submitted.pdf b/old/src.bak/papers/2016/ERMIS-submitted.pdf
similarity index 100%
rename from src.bak/papers/2016/ERMIS-submitted.pdf
rename to old/src.bak/papers/2016/ERMIS-submitted.pdf
diff --git a/src.bak/papers/2016/HILDA-vizier-submitted.pdf b/old/src.bak/papers/2016/HILDA-vizier-submitted.pdf
similarity index 100%
rename from src.bak/papers/2016/HILDA-vizier-submitted.pdf
rename to old/src.bak/papers/2016/HILDA-vizier-submitted.pdf
diff --git a/src.bak/papers/2016/TAPP-PVVDW-submitted.pdf b/old/src.bak/papers/2016/TAPP-PVVDW-submitted.pdf
similarity index 100%
rename from src.bak/papers/2016/TAPP-PVVDW-submitted.pdf
rename to old/src.bak/papers/2016/TAPP-PVVDW-submitted.pdf
diff --git a/src.bak/papers/2016/VLDB-Ettu-submitted.pdf b/old/src.bak/papers/2016/VLDB-Ettu-submitted.pdf
similarity index 100%
rename from src.bak/papers/2016/VLDB-Ettu-submitted.pdf
rename to old/src.bak/papers/2016/VLDB-Ettu-submitted.pdf
diff --git a/src.bak/papers/2016/VLDB-Inference-submitted.pdf b/old/src.bak/papers/2016/VLDB-Inference-submitted.pdf
similarity index 100%
rename from src.bak/papers/2016/VLDB-Inference-submitted.pdf
rename to old/src.bak/papers/2016/VLDB-Inference-submitted.pdf
diff --git a/src.bak/papers/2016/VLDB-Mimir-submitted.pdf b/old/src.bak/papers/2016/VLDB-Mimir-submitted.pdf
similarity index 100%
rename from src.bak/papers/2016/VLDB-Mimir-submitted.pdf
rename to old/src.bak/papers/2016/VLDB-Mimir-submitted.pdf
diff --git a/src.bak/papers/index.html b/old/src.bak/papers/index.html
similarity index 100%
rename from src.bak/papers/index.html
rename to old/src.bak/papers/index.html
diff --git a/src.bak/rants/2015-08-13-incorrect-dbs.md b/old/src.bak/rants/2015-08-13-incorrect-dbs.md
similarity index 100%
rename from src.bak/rants/2015-08-13-incorrect-dbs.md
rename to old/src.bak/rants/2015-08-13-incorrect-dbs.md
diff --git a/src.bak/rants/2015-10-23-iCloud-Login.md b/old/src.bak/rants/2015-10-23-iCloud-Login.md
similarity index 100%
rename from src.bak/rants/2015-10-23-iCloud-Login.md
rename to old/src.bak/rants/2015-10-23-iCloud-Login.md
diff --git a/src.bak/rants/2016-01-01-Project-Based-Learning.md b/old/src.bak/rants/2016-01-01-Project-Based-Learning.md
similarity index 100%
rename from src.bak/rants/2016-01-01-Project-Based-Learning.md
rename to old/src.bak/rants/2016-01-01-Project-Based-Learning.md
diff --git a/src.bak/seminar/2015fa.md b/old/src.bak/seminar/2015fa.md
similarity index 100%
rename from src.bak/seminar/2015fa.md
rename to old/src.bak/seminar/2015fa.md
diff --git a/src.bak/seminar/index.html b/old/src.bak/seminar/index.html
similarity index 100%
rename from src.bak/seminar/index.html
rename to old/src.bak/seminar/index.html
diff --git a/src.bak/teaching/cse-462/checkpoint1.tgz b/old/src.bak/teaching/cse-462/checkpoint1.tgz
similarity index 100%
rename from src.bak/teaching/cse-462/checkpoint1.tgz
rename to old/src.bak/teaching/cse-462/checkpoint1.tgz
diff --git a/src.bak/teaching/cse-462/checkpoint2.tgz b/old/src.bak/teaching/cse-462/checkpoint2.tgz
similarity index 100%
rename from src.bak/teaching/cse-462/checkpoint2.tgz
rename to old/src.bak/teaching/cse-462/checkpoint2.tgz
diff --git a/src.bak/teaching/cse-462/index.md b/old/src.bak/teaching/cse-462/index.md
similarity index 100%
rename from src.bak/teaching/cse-462/index.md
rename to old/src.bak/teaching/cse-462/index.md
diff --git a/src.bak/teaching/cse-462/slides/01-IntroAndStructure.pdf b/old/src.bak/teaching/cse-462/slides/01-IntroAndStructure.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/01-IntroAndStructure.pdf
rename to old/src.bak/teaching/cse-462/slides/01-IntroAndStructure.pdf
diff --git a/src.bak/teaching/cse-462/slides/02-RelationalAlgebra.pdf b/old/src.bak/teaching/cse-462/slides/02-RelationalAlgebra.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/02-RelationalAlgebra.pdf
rename to old/src.bak/teaching/cse-462/slides/02-RelationalAlgebra.pdf
diff --git a/src.bak/teaching/cse-462/slides/03-SQL.pdf b/old/src.bak/teaching/cse-462/slides/03-SQL.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/03-SQL.pdf
rename to old/src.bak/teaching/cse-462/slides/03-SQL.pdf
diff --git a/src.bak/teaching/cse-462/slides/04-SQLToRAAndEval.pdf b/old/src.bak/teaching/cse-462/slides/04-SQLToRAAndEval.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/04-SQLToRAAndEval.pdf
rename to old/src.bak/teaching/cse-462/slides/04-SQLToRAAndEval.pdf
diff --git a/src.bak/teaching/cse-462/slides/05-ExtendedRAProj1.pdf b/old/src.bak/teaching/cse-462/slides/05-ExtendedRAProj1.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/05-ExtendedRAProj1.pdf
rename to old/src.bak/teaching/cse-462/slides/05-ExtendedRAProj1.pdf
diff --git a/src.bak/teaching/cse-462/slides/06-Storage.pdf b/old/src.bak/teaching/cse-462/slides/06-Storage.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/06-Storage.pdf
rename to old/src.bak/teaching/cse-462/slides/06-Storage.pdf
diff --git a/src.bak/teaching/cse-462/slides/07-Indexes.pdf b/old/src.bak/teaching/cse-462/slides/07-Indexes.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/07-Indexes.pdf
rename to old/src.bak/teaching/cse-462/slides/07-Indexes.pdf
diff --git a/src.bak/teaching/cse-462/slides/08-Indexes2.pdf b/old/src.bak/teaching/cse-462/slides/08-Indexes2.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/08-Indexes2.pdf
rename to old/src.bak/teaching/cse-462/slides/08-Indexes2.pdf
diff --git a/src.bak/teaching/cse-462/slides/09-Optimization.pdf b/old/src.bak/teaching/cse-462/slides/09-Optimization.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/09-Optimization.pdf
rename to old/src.bak/teaching/cse-462/slides/09-Optimization.pdf
diff --git a/src.bak/teaching/cse-462/slides/10-Review.pdf b/old/src.bak/teaching/cse-462/slides/10-Review.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/10-Review.pdf
rename to old/src.bak/teaching/cse-462/slides/10-Review.pdf
diff --git a/src.bak/teaching/cse-462/slides/11-ExternalSort.pdf b/old/src.bak/teaching/cse-462/slides/11-ExternalSort.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/11-ExternalSort.pdf
rename to old/src.bak/teaching/cse-462/slides/11-ExternalSort.pdf
diff --git a/src.bak/teaching/cse-462/slides/12-Checkpoint2.zip b/old/src.bak/teaching/cse-462/slides/12-Checkpoint2.zip
similarity index 100%
rename from src.bak/teaching/cse-462/slides/12-Checkpoint2.zip
rename to old/src.bak/teaching/cse-462/slides/12-Checkpoint2.zip
diff --git a/src.bak/teaching/cse-462/slides/13-DataModeling.pdf b/old/src.bak/teaching/cse-462/slides/13-DataModeling.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/13-DataModeling.pdf
rename to old/src.bak/teaching/cse-462/slides/13-DataModeling.pdf
diff --git a/src.bak/teaching/cse-462/slides/14-CostBasedOptimization.pdf b/old/src.bak/teaching/cse-462/slides/14-CostBasedOptimization.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/14-CostBasedOptimization.pdf
rename to old/src.bak/teaching/cse-462/slides/14-CostBasedOptimization.pdf
diff --git a/src.bak/teaching/cse-462/slides/15-TransactionCorrectness.pdf b/old/src.bak/teaching/cse-462/slides/15-TransactionCorrectness.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/15-TransactionCorrectness.pdf
rename to old/src.bak/teaching/cse-462/slides/15-TransactionCorrectness.pdf
diff --git a/src.bak/teaching/cse-462/slides/16-TransactionsAndLocking.pdf b/old/src.bak/teaching/cse-462/slides/16-TransactionsAndLocking.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/16-TransactionsAndLocking.pdf
rename to old/src.bak/teaching/cse-462/slides/16-TransactionsAndLocking.pdf
diff --git a/src.bak/teaching/cse-462/slides/17-TransactionOCC.pdf b/old/src.bak/teaching/cse-462/slides/17-TransactionOCC.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/17-TransactionOCC.pdf
rename to old/src.bak/teaching/cse-462/slides/17-TransactionOCC.pdf
diff --git a/src.bak/teaching/cse-462/slides/18-Logging.pdf b/old/src.bak/teaching/cse-462/slides/18-Logging.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/18-Logging.pdf
rename to old/src.bak/teaching/cse-462/slides/18-Logging.pdf
diff --git a/src.bak/teaching/cse-462/slides/19-Review.pdf b/old/src.bak/teaching/cse-462/slides/19-Review.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/19-Review.pdf
rename to old/src.bak/teaching/cse-462/slides/19-Review.pdf
diff --git a/src.bak/teaching/cse-462/slides/21-Views.pdf b/old/src.bak/teaching/cse-462/slides/21-Views.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/21-Views.pdf
rename to old/src.bak/teaching/cse-462/slides/21-Views.pdf
diff --git a/src.bak/teaching/cse-462/slides/22-Streams.pdf b/old/src.bak/teaching/cse-462/slides/22-Streams.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/22-Streams.pdf
rename to old/src.bak/teaching/cse-462/slides/22-Streams.pdf
diff --git a/src.bak/teaching/cse-462/slides/23-ParallelQueries.pdf b/old/src.bak/teaching/cse-462/slides/23-ParallelQueries.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/23-ParallelQueries.pdf
rename to old/src.bak/teaching/cse-462/slides/23-ParallelQueries.pdf
diff --git a/src.bak/teaching/cse-462/slides/24-ParallelJoins.pdf b/old/src.bak/teaching/cse-462/slides/24-ParallelJoins.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/24-ParallelJoins.pdf
rename to old/src.bak/teaching/cse-462/slides/24-ParallelJoins.pdf
diff --git a/src.bak/teaching/cse-462/slides/25-ParallelUpdates.pdf b/old/src.bak/teaching/cse-462/slides/25-ParallelUpdates.pdf
similarity index 100%
rename from src.bak/teaching/cse-462/slides/25-ParallelUpdates.pdf
rename to old/src.bak/teaching/cse-462/slides/25-ParallelUpdates.pdf
diff --git a/src.bak/teaching/cse-462/trek.sqlite3 b/old/src.bak/teaching/cse-462/trek.sqlite3
similarity index 100%
rename from src.bak/teaching/cse-462/trek.sqlite3
rename to old/src.bak/teaching/cse-462/trek.sqlite3
diff --git a/src.bak/teaching/cse-562/checkpoint0.html b/old/src.bak/teaching/cse-562/checkpoint0.html
similarity index 100%
rename from src.bak/teaching/cse-562/checkpoint0.html
rename to old/src.bak/teaching/cse-562/checkpoint0.html
diff --git a/src.bak/teaching/cse-562/checkpoint1.html b/old/src.bak/teaching/cse-562/checkpoint1.html
similarity index 100%
rename from src.bak/teaching/cse-562/checkpoint1.html
rename to old/src.bak/teaching/cse-562/checkpoint1.html
diff --git a/src.bak/teaching/cse-562/checkpoint2.html b/old/src.bak/teaching/cse-562/checkpoint2.html
similarity index 100%
rename from src.bak/teaching/cse-562/checkpoint2.html
rename to old/src.bak/teaching/cse-562/checkpoint2.html
diff --git a/src.bak/teaching/cse-562/checkpoint3.html b/old/src.bak/teaching/cse-562/checkpoint3.html
similarity index 100%
rename from src.bak/teaching/cse-562/checkpoint3.html
rename to old/src.bak/teaching/cse-562/checkpoint3.html
diff --git a/src.bak/teaching/cse-562/img/accept.png b/old/src.bak/teaching/cse-562/img/accept.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/accept.png
rename to old/src.bak/teaching/cse-562/img/accept.png
diff --git a/src.bak/teaching/cse-562/img/create.png b/old/src.bak/teaching/cse-562/img/create.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/create.png
rename to old/src.bak/teaching/cse-562/img/create.png
diff --git a/src.bak/teaching/cse-562/img/gitclone.png b/old/src.bak/teaching/cse-562/img/gitclone.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/gitclone.png
rename to old/src.bak/teaching/cse-562/img/gitclone.png
diff --git a/src.bak/teaching/cse-562/img/gitrepo.png b/old/src.bak/teaching/cse-562/img/gitrepo.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/gitrepo.png
rename to old/src.bak/teaching/cse-562/img/gitrepo.png
diff --git a/src.bak/teaching/cse-562/img/groupcreated.png b/old/src.bak/teaching/cse-562/img/groupcreated.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/groupcreated.png
rename to old/src.bak/teaching/cse-562/img/groupcreated.png
diff --git a/src.bak/teaching/cse-562/img/invitations.png b/old/src.bak/teaching/cse-562/img/invitations.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/invitations.png
rename to old/src.bak/teaching/cse-562/img/invitations.png
diff --git a/src.bak/teaching/cse-562/img/invite.png b/old/src.bak/teaching/cse-562/img/invite.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/invite.png
rename to old/src.bak/teaching/cse-562/img/invite.png
diff --git a/src.bak/teaching/cse-562/img/login.png b/old/src.bak/teaching/cse-562/img/login.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/login.png
rename to old/src.bak/teaching/cse-562/img/login.png
diff --git a/src.bak/teaching/cse-562/img/odin_submissions.png b/old/src.bak/teaching/cse-562/img/odin_submissions.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/odin_submissions.png
rename to old/src.bak/teaching/cse-562/img/odin_submissions.png
diff --git a/src.bak/teaching/cse-562/img/project.png b/old/src.bak/teaching/cse-562/img/project.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/project.png
rename to old/src.bak/teaching/cse-562/img/project.png
diff --git a/src.bak/teaching/cse-562/img/pubkey.png b/old/src.bak/teaching/cse-562/img/pubkey.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/pubkey.png
rename to old/src.bak/teaching/cse-562/img/pubkey.png
diff --git a/src.bak/teaching/cse-562/img/pubkey2.png b/old/src.bak/teaching/cse-562/img/pubkey2.png
similarity index 100%
rename from src.bak/teaching/cse-562/img/pubkey2.png
rename to old/src.bak/teaching/cse-562/img/pubkey2.png
diff --git a/src.bak/teaching/cse-562/index.html b/old/src.bak/teaching/cse-562/index.html
similarity index 100%
rename from src.bak/teaching/cse-562/index.html
rename to old/src.bak/teaching/cse-562/index.html
diff --git a/src.bak/teaching/dubstep/NBA_Query_Examples.tgz b/old/src.bak/teaching/dubstep/NBA_Query_Examples.tgz
similarity index 100%
rename from src.bak/teaching/dubstep/NBA_Query_Examples.tgz
rename to old/src.bak/teaching/dubstep/NBA_Query_Examples.tgz
diff --git a/src.bak/teaching/dubstep/Sanity_Check_Examples.tgz b/old/src.bak/teaching/dubstep/Sanity_Check_Examples.tgz
similarity index 100%
rename from src.bak/teaching/dubstep/Sanity_Check_Examples.tgz
rename to old/src.bak/teaching/dubstep/Sanity_Check_Examples.tgz
diff --git a/src.bak/teaching/dubstep/checkpoint0.md b/old/src.bak/teaching/dubstep/checkpoint0.md
similarity index 100%
rename from src.bak/teaching/dubstep/checkpoint0.md
rename to old/src.bak/teaching/dubstep/checkpoint0.md
diff --git a/src.bak/teaching/dubstep/checkpoint1.html b/old/src.bak/teaching/dubstep/checkpoint1.html
similarity index 100%
rename from src.bak/teaching/dubstep/checkpoint1.html
rename to old/src.bak/teaching/dubstep/checkpoint1.html
diff --git a/src.bak/teaching/dubstep/checkpoint2.html b/old/src.bak/teaching/dubstep/checkpoint2.html
similarity index 100%
rename from src.bak/teaching/dubstep/checkpoint2.html
rename to old/src.bak/teaching/dubstep/checkpoint2.html
diff --git a/src.bak/teaching/dubstep/checkpoint3.html b/old/src.bak/teaching/dubstep/checkpoint3.html
similarity index 100%
rename from src.bak/teaching/dubstep/checkpoint3.html
rename to old/src.bak/teaching/dubstep/checkpoint3.html
diff --git a/src.bak/teaching/dubstep/img/accept.png b/old/src.bak/teaching/dubstep/img/accept.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/accept.png
rename to old/src.bak/teaching/dubstep/img/accept.png
diff --git a/src.bak/teaching/dubstep/img/create.png b/old/src.bak/teaching/dubstep/img/create.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/create.png
rename to old/src.bak/teaching/dubstep/img/create.png
diff --git a/src.bak/teaching/dubstep/img/gitclone.png b/old/src.bak/teaching/dubstep/img/gitclone.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/gitclone.png
rename to old/src.bak/teaching/dubstep/img/gitclone.png
diff --git a/src.bak/teaching/dubstep/img/gitrepo.png b/old/src.bak/teaching/dubstep/img/gitrepo.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/gitrepo.png
rename to old/src.bak/teaching/dubstep/img/gitrepo.png
diff --git a/src.bak/teaching/dubstep/img/groupcreated.png b/old/src.bak/teaching/dubstep/img/groupcreated.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/groupcreated.png
rename to old/src.bak/teaching/dubstep/img/groupcreated.png
diff --git a/src.bak/teaching/dubstep/img/invitations.png b/old/src.bak/teaching/dubstep/img/invitations.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/invitations.png
rename to old/src.bak/teaching/dubstep/img/invitations.png
diff --git a/src.bak/teaching/dubstep/img/invite.png b/old/src.bak/teaching/dubstep/img/invite.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/invite.png
rename to old/src.bak/teaching/dubstep/img/invite.png
diff --git a/src.bak/teaching/dubstep/img/login.png b/old/src.bak/teaching/dubstep/img/login.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/login.png
rename to old/src.bak/teaching/dubstep/img/login.png
diff --git a/src.bak/teaching/dubstep/img/odin_submissions.png b/old/src.bak/teaching/dubstep/img/odin_submissions.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/odin_submissions.png
rename to old/src.bak/teaching/dubstep/img/odin_submissions.png
diff --git a/src.bak/teaching/dubstep/img/project.png b/old/src.bak/teaching/dubstep/img/project.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/project.png
rename to old/src.bak/teaching/dubstep/img/project.png
diff --git a/src.bak/teaching/dubstep/img/pubkey.png b/old/src.bak/teaching/dubstep/img/pubkey.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/pubkey.png
rename to old/src.bak/teaching/dubstep/img/pubkey.png
diff --git a/src.bak/teaching/dubstep/img/pubkey2.png b/old/src.bak/teaching/dubstep/img/pubkey2.png
similarity index 100%
rename from src.bak/teaching/dubstep/img/pubkey2.png
rename to old/src.bak/teaching/dubstep/img/pubkey2.png
diff --git a/src.bak/teaching/index.md b/old/src.bak/teaching/index.md
similarity index 100%
rename from src.bak/teaching/index.md
rename to old/src.bak/teaching/index.md
diff --git a/publications.json b/publications.json
deleted file mode 100644
index e69de29b..00000000
diff --git a/src.bak/research/astral/index.md b/src.bak/research/astral/index.md
deleted file mode 100644
index 7671fe72..00000000
--- a/src.bak/research/astral/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
-# ASTral
-
-__Students:__ {{list projectStudents.astral}}
-
-Recently, a swath of specialized data management systems has attempted to displace traditional relational databsaes, each sacrificing a measure of physical independence for the consequent performance gains. However, relying on an entire data management system built around a specific set of performance/capability tradeoffs requires making strong assumptions about (often unpredictable) workload expectations. ASTral does for specialized databse systems what self-describing data did for specialized schemas. ASTral involves several sub-projects:
-
-## Just-In-Time Data Structures
-
-ASTral is based on an idea called Just-in-time datastructures, where data structure manipulation and access logic are decoupled from the physical representation. A just-in-time data structure uses a set of simple semantic and structural building blocks both to emulate the behavior of existing data structures, and to dynamically create new data structures synthesized on-the-spot to match presented workloads.
-
-## User-Facing App Benchmarks
-User-facing applications regularly encounter some of the most dynamic environments possible, and are an ideal fit for just-in-time data structures and ASTral in general. Understanding these changing workloads is critical, and with that in mind we're partnering with PhoneLab to understand how user-facing apps interact with SQL. Using to real-world data gathered from an instrumented version of SQLite, we're developing a benchmark for pocket-scale data management.
-
-_(The ASTral project is being developed in collaboration with Luke Ziarek, and Geoff Challen)_
-
-------
-
-## Software
-
-* Just-In-Time Data Structures (GitHub)
-
-## Publications
-
-{{#each projectPubs.astral}}
-* __{{title}}__
_{{venue}}_ {{{resourcesFormat}}}
-{{/each}}
diff --git a/src.bak/research/insider-threats/index.md b/src.bak/research/insider-threats/index.md
deleted file mode 100644
index 9228d795..00000000
--- a/src.bak/research/insider-threats/index.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Insider Threats
----
-
-
-
-# Insider Threat Detection
-
-__Students:__ {{list projectStudents.insider-threats}}
-
-One of the greatest threats to a the security of a database system comes from within: Users who have been granted access to data using it in a malicious or illegitimate way. Often this is simply a matter of practicality; It is rarely feasible to establish an access control policy that is sufficiently permissive to be usable, while still being sufficiently restrictive to preclude malicious use. Our goal is to develop new types of statistical signatures for a user or role's behavior as they access a database. Using these signatures, we can identify non-standard behvaior that could be evidence of malicious activity.
-
-_(Insider Threats is supported by NSF Grant #69110 and is in collaboration with Hung Ngo, Shambhu Upadhyay and Varun Chandola, Rick Jesse and Manish Gupta)_
-
-------
-
-## Publications
-
-{{#each projectPubs.insider-threats}}
-* __{{title}}__
_{{venue}}_ {{{resourcesFormat}}}
-{{/each}}
diff --git a/src.bak/research/pocketdata/index.md b/src.bak/research/pocketdata/index.md
deleted file mode 100644
index 5c3e9ce5..00000000
--- a/src.bak/research/pocketdata/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: PocketData
----
-
-# PocketData
-
-__Students:__ {{list projectStudents.pocketdata}}
-
-The world’s 2 billion smartphones represent the most powerful and pervasive distributed system ever built. Open application marketplaces, such as the Google Play Store, have resulted in a vibrant software ecosystem comprising millions of smartphone and tablet apps in hundreds of different categories that both meet existing user needs and provide exciting novel capabilities. As mobile apps and devices become even more central to the personal computing experience, it is increasingly important to understand and improve their performance. In partnership with UB's PhoneLab, we are analyzing SQLite logs from smartphones deployed in the wild.
-
-The usage of embedded databases by smartphone apps differs from traditional database access patterns in two important ways. First, mobile app embedded databases support interactive workloads where queries arrive in bursts separately by long periods of idleness. Thus, raw throughput is a poor way to evaluate their performance, and opportunities exist to reorganize data after interactive bursts to prepare for future requests.
-
-Second, mobile app embedded databases support single apps that may issue queries with very specific properties. For example, our initial analysis has demonstrated that many Android apps use SQLite purely as a key-value store. In other cases, query patterns indicate that apps are using existing object-relational mapping libraries (ORMs) to persist objects, which produce their own distinctive access patterns. We have also seen cases where SQLite database were never updated by apps, indicating that the entire database may serve as a cache of structured app data that is only updated during app upgrades. In all of these cases, the freedom of the embedded database to couple itself tightly to a specific app may open up new optimization opportunities.
-
-To explore these ideas we are beginning by building a smartphone embedded app database benchmark—actually a benchmark generator, which will be able to use traces of database activity to synthesize a benchmark for any app. This feature is critical to ensure that we can support the variety of app database usage patterns and update the benchmark suite easily as they change. We are also evaluating the performance and energy consumption of SQLite, the embedded database provided by default to Android apps, against alternatives such as BerkeleyDB and H-Store.
-
----
-
-## Publications
-
-{{#each projectPubs.pocketdata}}
-* __{{title}}__
_{{venue}}_ {{{resourcesFormat}}}
-{{/each}}
-
-## Resources
-
-* Publicly Available Query Traces ( documentation | more info )
diff --git a/src/research/astral/index.erb b/src/research/astral/index.erb
new file mode 100644
index 00000000..f2324493
--- /dev/null
+++ b/src/research/astral/index.erb
@@ -0,0 +1,39 @@
+---
+title: ASTral
+---
+/astral.png" width="86" height="86" style="float: left; margin-top: 20px"/>
+
+
Students: <%= LabMetadata::members_on_project("astral").map { |m| LabMetadata::link_for(m) }.join(", ") %>
+ +Recently, a swath of specialized data management systems has attempted to displace traditional relational databsaes, each sacrificing a measure of physical independence for the consequent performance gains. However, relying on an entire data management system built around a specific set of performance/capability tradeoffs requires making strong assumptions about (often unpredictable) workload expectations. ASTral does for specialized databse systems what self-describing data did for specialized schemas. ASTral involves several sub-projects:
+ +ASTral is based on an idea called Just-in-time datastructures, where data structure manipulation and access logic are decoupled from the physical representation. A just-in-time data structure uses a set of simple semantic and structural building blocks both to emulate the behavior of existing data structures, and to dynamically create new data structures synthesized on-the-spot to match presented workloads.
+ +User-facing applications regularly encounter some of the most dynamic environments possible, and are an ideal fit for just-in-time data structures and ASTral in general. Understanding these changing workloads is critical, and with that in mind we're partnering with PhoneLab to understand how user-facing apps interact with SQL. Using to real-world data gathered from an instrumented version of SQLite, we're developing a benchmark for pocket-scale data management.
+ +(The ASTral project is being developed in collaboration with Luke Ziarek, and Geoff Challen)
+ +Students: <%= LabMetadata::members_on_project("insider-threats").map { |m| LabMetadata::link_for(m) }.join(", ") %>
+ +One of the greatest threats to a the security of a database system comes from within: Users who have been granted access to data using it in a malicious or illegitimate way. Often this is simply a matter of practicality; It is rarely feasible to establish an access control policy that is sufficiently permissive to be usable, while still being sufficiently restrictive to preclude malicious use. Our goal is to develop new types of statistical signatures for a user or role's behavior as they access a database. Using these signatures, we can identify non-standard behvaior that could be evidence of malicious activity.
+ +(Insider Threats is supported by NSF Grant #69110 and is in collaboration with Hung Ngo, Shambhu Upadhyay and Varun Chandola, Rick Jesse and Manish Gupta)
+ +Students: <%= LabMetadata::members_on_project("pocketdata").map { |m| LabMetadata::link_for(m) }.join(", ") %>
+ +The world’s 2 billion smartphones represent the most powerful and pervasive distributed system ever built. Open application marketplaces, such as the Google Play Store, have resulted in a vibrant software ecosystem comprising millions of smartphone and tablet apps in hundreds of different categories that both meet existing user needs and provide exciting novel capabilities. As mobile apps and devices become even more central to the personal computing experience, it is increasingly important to understand and improve their performance. In partnership with UB's PhoneLab, we are analyzing SQLite logs from smartphones deployed in the wild.
+ +The usage of embedded databases by smartphone apps differs from traditional database access patterns in two important ways. First, mobile app embedded databases support interactive workloads where queries arrive in bursts separately by long periods of idleness. Thus, raw throughput is a poor way to evaluate their performance, and opportunities exist to reorganize data after interactive bursts to prepare for future requests.
+ +Second, mobile app embedded databases support single apps that may issue queries with very specific properties. For example, our initial analysis has demonstrated that many Android apps use SQLite purely as a key-value store. In other cases, query patterns indicate that apps are using existing object-relational mapping libraries (ORMs) to persist objects, which produce their own distinctive access patterns. We have also seen cases where SQLite database were never updated by apps, indicating that the entire database may serve as a cache of structured app data that is only updated during app upgrades. In all of these cases, the freedom of the embedded database to couple itself tightly to a specific app may open up new optimization opportunities.
+ +To explore these ideas we are beginning by building a smartphone embedded app database benchmark—actually a benchmark generator, which will be able to use traces of database activity to synthesize a benchmark for any app. This feature is critical to ensure that we can support the variety of app database usage patterns and update the benchmark suite easily as they change. We are also evaluating the performance and energy consumption of SQLite, the embedded database provided by default to Android apps, against alternatives such as BerkeleyDB and H-Store.
+ +