Dr Sean Seefried


Education

PhD in Computer Science

University of New South Wales, Sydney, Australia
Graduated Dec, 2006
Thesis: Language Extension via Dynamically Extensible Compilers

Bachelor of Science majoring in Computer Science

Hons. 1st class with a University Medal

University of Queensland, Brisbane, Australia.
Graduated Dec, 2000.
Thesis: Towards Totally Functional Programming

Skills

Programming Languages, Development Platforms, Applications and Tools

Employment History

Web development contractor (March 2014 to present)

Researcher, NICTA (November 2010 to March 2014)

Software Engineer, Bang the Table (July 2010 – October 2010)

Software Engineer, Kinesis (December 2009 – June 2010)

Software Engineer, System Administrator: Munch Crunch Organics (Nov 2008 to Dec 2009)

Research Engineer: RedLizard Software/NICTA (Nov 2006 – Jul 2008. Jul 2009 – Dec 2009)

Software Engineer and Systems Administrator: Dawson Media (Aug 2006 – Mar 2007. July 2008 – present)

Software Engineer: MacromatiX (Mar 2006 – Nov 2006)

Tutor: University of New Wouth Wales (early 2003 – late 2005)

Assisted in the teaching of the Haskell programming language to first year students. This involved, at various stages, marking, design of assignments, monitoring and answering of email, and teaching. This was my job while I was a PhD candidate.

Tutor: University of Queensland (early 1999 - late 2001)

Tutored various subjects in Mathematics and Computer Science while I was an undergraduate.

Research Assistant: University of Queensland (Summer of 2000/2001)

Research Assistant: University of Queensland (Summer of 1999/2000)

How I got into functional programming

  • In 2001 a friend of mine told me about a course he was taking that I was unfortunately unable to take (as I had no electives to spare). He sat me down in front of a terminal and showed me a language called Haskell. I was immediately hooked and set out to learn it by myself over that summer.
  • I undertook an honours project looking at a particular style of functional programming
  • I embarked upon a PhD in 2002. The thesis was completed and submitted in 2006 and was called "Language Extension via Dynamically Extensible Compilers". The thesis was inspired by Haskell's (and other functional languages) ability to create libraries that, in a sense, were tiny Domain Specific Languages. Scoobi, the library I had a small part in developing early on, exemplifies this approach.
  • After completing my thesis I worked at NICTA on the Goanna project. Goanna is a tool which finds bugs in C programs. However, it is written in OCaml. Functional languages are very good at writing compilers and programs to analyse programs. They are sometimes called "domain specific languages for writing compilers".
  • In late 2010 I started work with Rami Mukhtar and Ben Lever. Initially I was working on Accelerate, a Haskell library for writing high-level descriptions of highly parallel programs that run on GPUs. The approaches used in that library could also be applicable to Big Data.
  • I then moved laterally within NICTA to work on program verification. NICTA is the first research institute in the world to have verified an operating system kernel. Program verification is the highest level of assurance of program correctness you can get and a lot of functional programming techniques are used in program verification. (The theorem prover itself is written in Standard ML, a close cousin of OCaml.)
  • Open Source Projects/Recreational coding

    Talks/Presentations/Essays

    Selected Papers

    Hobbies, Interests