ABET CV
parent
316b930bd3
commit
2854972827
Binary file not shown.
11
Rakefile
11
Rakefile
|
@ -14,6 +14,7 @@ require "nsfconflicts.rb"
|
||||||
require "ubreporting.rb"
|
require "ubreporting.rb"
|
||||||
require "bootstrap_markdown.rb"
|
require "bootstrap_markdown.rb"
|
||||||
require "disqus.rb"
|
require "disqus.rb"
|
||||||
|
require "ABET"
|
||||||
|
|
||||||
include GemSmith
|
include GemSmith
|
||||||
$db = JDB.new("db")
|
$db = JDB.new("db")
|
||||||
|
@ -236,6 +237,16 @@ file "okennedy_full.pdf" => "okennedy_full.tex" do
|
||||||
system("pdflatex okennedy_full.tex")
|
system("pdflatex okennedy_full.tex")
|
||||||
end
|
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
|
file "artifacts/okennedy_collaborators.txt" => ($db.files + ["lib/nsfconflicts.rb"]) do
|
||||||
NSFConflicts.new("Oliver Kennedy", $db).
|
NSFConflicts.new("Oliver Kennedy", $db).
|
||||||
render("artifacts/okennedy_collaborators.txt")
|
render("artifacts/okennedy_collaborators.txt")
|
||||||
|
|
|
@ -161,7 +161,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"chairs" : [
|
"chairs" : [
|
||||||
{ "venue" : "pVLDB", "track" : "Reproducability", "years" : [ 2018 ] },
|
{ "venue" : "pVLDB", "track" : "Reproducability", "years" : [ 2018, 2019, 2020 ] },
|
||||||
{ "venue" : "SoCC", "track" : "Scholarship", "years" : [ 2019 ] }
|
{ "venue" : "SoCC", "track" : "Scholarship", "years" : [ 2019 ] }
|
||||||
],
|
],
|
||||||
"reviewer" : [
|
"reviewer" : [
|
||||||
|
@ -199,7 +199,8 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "org" : "Coder Dojo Mentor", "years" : [2013, 2014] },
|
{ "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" : {
|
"service" : {
|
||||||
"general" : [
|
"general" : [
|
||||||
|
|
|
@ -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
|
|
@ -192,9 +192,9 @@ class CV < Latex::Builder
|
||||||
|
|
||||||
############### EMPLOYMENT HISTORY ################
|
############### EMPLOYMENT HISTORY ################
|
||||||
|
|
||||||
def render_employment_history
|
def render_employment_history(elems = @data["employment"])
|
||||||
make_section("Employment History")
|
make_section("Employment History")
|
||||||
build_filtered_itemize(:employment, @data["employment"]) do |r|
|
build_filtered_itemize(:employment, elems) do |r|
|
||||||
puts "#{r["title"]}, #{r["employer"]}"
|
puts "#{r["title"]}, #{r["employer"]}"
|
||||||
hfill
|
hfill
|
||||||
puts duration(r)
|
puts duration(r)
|
||||||
|
|
Loading…
Reference in New Issue