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 "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")
|
||||
|
|
|
@ -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" : [
|
||||
|
|
|
@ -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 ################
|
||||
|
||||
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)
|
||||
|
|
Loading…
Reference in New Issue