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 ---- - - -BlackHat -# 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 -# 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 Tracesdocumentation | 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"/> + +

ASTral

+ +

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:

+ +

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

+ + + +

Publications

+ + diff --git a/src.bak/research/index.md b/src/research/index.md similarity index 100% rename from src.bak/research/index.md rename to src/research/index.md diff --git a/src/research/insider-threats/index.erb b/src/research/insider-threats/index.erb new file mode 100644 index 00000000..5fe52cdd --- /dev/null +++ b/src/research/insider-threats/index.erb @@ -0,0 +1,27 @@ +--- +title: Insider Threats +--- + + +/BlackHat.png" alt="BlackHat" width="104" height="104" style="float: left; margin-top: 20px"/> + +

Insider Threat Detection

+ +

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)

+ +
+ +

Publications

+ + diff --git a/src.bak/research/mimir/index.html b/src/research/mimir/index.erb similarity index 87% rename from src.bak/research/mimir/index.html rename to src/research/mimir/index.erb index efc0242c..8151fe7f 100644 --- a/src.bak/research/mimir/index.html +++ b/src/research/mimir/index.erb @@ -16,7 +16,7 @@ pageLinks: title: For Researchers --- -mimir_logo_final +mimir_logo_final

What is Mimir?

@@ -40,7 +40,7 @@ pageLinks:
The Team
-
{{list projectStudents.mimir}}
+
<%= LabMetadata::members_on_project("mimir").map { |m| LabMetadata::link_for(m) }.join(", ") %>
Research Advisors
Oliver Kennedy, Boris Glavic, Jan Chomicki
Industry Advisors
@@ -50,15 +50,18 @@ pageLinks:

Downloads

-
+ /GitHub-Mark.png" />
Fork me on GitHub

Publications

-