module OCharles.Org.Uk where
type Email = String
type URL = String
import Data.Time (Day, fromGregorian)
cv :: URL
cv = "http://ocharles.org.uk/documents/cv.pdf"
email :: Email
email = "ollie@ocharles.org.uk"
blog :: URL
blog = "http://ocharles.org.uk/blog"
publicKey :: URL
publicKey = "http://ocharles.org.uk/documents/ocharles.pub"
gpgKey :: URL
gpgKey = "http://ocharles.org.uk/documents/gpg.pub"
twitter :: URL
twitter = "http://twitter.com/acid2"
github :: URL
github = "http://github.com/ocharles"
cpan :: URL
cpan = "http://search.cpan.org/~cycles"
data Job = Job { jobName :: String
, jobStart :: Day
, jobEnd :: Maybe Day
, jobSummary :: String
}
workExperience :: [Job]
workExperience =
[ Job { jobName = "MetaBrainz Foundation"
, jobStart = fromGregorian 2008 04 21
, jobEnd = ongoing
, jobSummary = unlines [
" The MetaBrainz Foundation is a non-profit organisation that "
, "runs the MusicBrainz project - one of the most comprehensive "
, "online music meta-information databases. I was the first hired "
, "consultant for the MetaBrainz foundation and focused on "
, "overhauling the old code base in order to move to a much "
, "anticipated new database design. I helped move a legacy code "
, "base to use cutting edge Perl technology such as Catalyst, "
, "Moose and Template Toolkit, and also managed the transition of "
, "the database between 2 drastically different schemas."
, " My work at MusicBrainz continues, and I have mentored "
, "during summer of code 3 times, along with helping organize "
, "various activities outside work directly"
] }
, Job { jobName = "Last.fm"
, jobStart = fromGregorian 2011 11 01
, jobEnd = ongoing
, jobSummary = unlines [
" I was contracted by Last.fm at the end of 2011 to help them "
, "restructure their core database, and alleviate problems with "
, "similarly named artists. I was part of a small planning team "
, "to analyze the scope and impact of the project, and am now "
, "currently helping implement the designed solution."
, " I also help the small system administration team with day-to-day "
, "tasks such as database and server operation."
] } ]
where ongoing = Nothing