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