pull/1/head
Oliver Kennedy 2019-12-26 15:52:58 -05:00
parent 316b930bd3
commit 2854972827
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
5 changed files with 166 additions and 4 deletions

BIN
KennedyOliver-CV.pdf Normal file

Binary file not shown.

View File

@ -14,6 +14,7 @@ require "nsfconflicts.rb"
require "ubreporting.rb"
require "bootstrap_markdown.rb"
require "disqus.rb"
require "ABET"
include GemSmith
$db = JDB.new("db")
@ -236,6 +237,16 @@ file "okennedy_full.pdf" => "okennedy_full.tex" do
system("pdflatex okennedy_full.tex")
end
file "KennedyOliver-CV.tex" => (["db/cv/okennedy.json", "lib/cv.rb", "lib/ABET.rb", "Rakefile"]+Dir["db/cv/okennedy/**"]) do
File.open("KennedyOliver-CV.tex", "w+") do |fh|
ABET_CV.new(fh).gen
end
end
file "KennedyOliver-CV.pdf" => "KennedyOliver-CV.tex" do
system("pdflatex KennedyOliver-CV.tex")
end
task abet_cv: "KennedyOliver-CV.pdf"
file "artifacts/okennedy_collaborators.txt" => ($db.files + ["lib/nsfconflicts.rb"]) do
NSFConflicts.new("Oliver Kennedy", $db).
render("artifacts/okennedy_collaborators.txt")

View File

@ -161,7 +161,7 @@
}
],
"chairs" : [
{ "venue" : "pVLDB", "track" : "Reproducability", "years" : [ 2018 ] },
{ "venue" : "pVLDB", "track" : "Reproducability", "years" : [ 2018, 2019, 2020 ] },
{ "venue" : "SoCC", "track" : "Scholarship", "years" : [ 2019 ] }
],
"reviewer" : [
@ -199,7 +199,8 @@
]
},
{ "org" : "Coder Dojo Mentor", "years" : [2013, 2014] },
{ "org" : "Science is Elementary Class Leader", "years" : [2014, 2015, 2016] }
{ "org" : "Science is Elementary Class Leader", "years" : [2014, 2015, 2016] },
{ "org" : "CSExplore", "years": [2019] }
],
"service" : {
"general" : [

150
lib/ABET.rb Normal file
View File

@ -0,0 +1,150 @@
require "text.rb"
require "latex.rb"
class ABET_CV < CV
def initialize(output)
super("okennedy", output,
title: "ABET CV: Oliver Kennedy",
include_pending_papers: true,
include_pending_grants: true,
include_rejected_grants: false,
include_blurb: false,
since: {
employment: 2012,
service: 2017,
publications: 2010
}
)
end
def do_section(title)
noindent
textbf { puts title }
yield
puts ""
medskip
end
def make_section(title)
end
def gen()
documentclass("12pt", "article")
usepackage "fullpage"
usepackage "bibentry"
usepackage "enumitem"
puts_direct("\\usepackage[margin=.75in]{geometry}")
puts_direct("\\setlist[itemize,1]{leftmargin=\\dimexpr 26pt-.2in}")
document do
pagestyle "empty"
do_section("Name") do
puts "Oliver Kennedy"
end
do_section("Education") do
puts_direct "\\vspace*{-3mm}"
render_education
end
do_section("Academic Experience") do
puts_direct "\\vspace*{-3mm}"
render_employment_history(@data["employment"].take(2))
end
do_section("Non-academic Experience") do
puts "None"
end
do_section("Certifications or professional registrations") do
puts "None"
end
do_section("Current membership in professional organizations") do
puts "ACM, IEEE"
end
do_section("Honors and awards") do
puts_direct "\\vspace*{-3mm}"
render_honors
end
do_section("Service activities") do
puts ""
noindent
textit { puts "Leadership:" }
puts(@data["chairs"]
.map do |meta|
"#{LabMetadata.venue_name(meta, size: :short)} (#{duration(meta)})"
end.join(", "))
puts ""
noindent
textit { puts "Program Committees: " }
puts(@data["reviewer"]
.select { |r| r.fetch("pc", true) }
.map do |meta|
"#{LabMetadata.venue_name(meta, size: :short)} (#{duration(meta)})"
end.join(", "))
puts ""
noindent
textit { puts "Reviewer: " }
puts(@data["reviewer"]
.select { |r| r.fetch("pc", false) }
.map do |meta|
"#{LabMetadata.venue_name(meta, size: :short)} (#{duration(meta)})"
end.join(", "))
puts ""
noindent
textit { puts "Outreach: " }
puts(@data["volunteering"]
.map do |meta|
"#{meta["org"]} (#{duration(meta)})"
end.join(", "))
puts ""
noindent
textit { puts "Departmental Service: " }
puts(@data["service"]["dept"][0]["service"]
.map do |meta|
"#{meta["org"]} (#{duration(meta)})"
end.join(", "))
end
do_section("Recent publications and presentations") do
top_venues = [ "SIGMOD", "ICDE", "CIDR" ]
top_pubs =
LabMetadata.publications_for(@who)
.select do |pub|
get_venue_type(pub) == "journal" or
( top_venues.include?(pub["venue"]) and
not pub.has_key? "track" )
end
.select { |pub| pub["year"].to_i >= @since[:publications] }
.each do |pub|
puts ""
noindent
textit {
puts "``#{pub["title"]}\""
}
puts " --- #{pub["authors"].join(", ")} (#{pub["venue"]} #{pub["year"]})"
end
# .map { |pub| pub["title"] }
# .join(", ")
# puts "#{top_pubs}"
end
do_section("Recent professional development activities") do
puts "None"
end
end
end
end

View File

@ -192,9 +192,9 @@ class CV < Latex::Builder
############### EMPLOYMENT HISTORY ################
def render_employment_history
def render_employment_history(elems = @data["employment"])
make_section("Employment History")
build_filtered_itemize(:employment, @data["employment"]) do |r|
build_filtered_itemize(:employment, elems) do |r|
puts "#{r["title"]}, #{r["employer"]}"
hfill
puts duration(r)