Dr Sean Seefried
Education
PhD in Computer Science
University of New South Wales, Sydney, AustraliaGraduated 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
- Languages: OCaml, Haskell, Agda, Ruby, C, Java, Scala, sh/bash, LaTeX, HTML, CSS, Javascript, C++.
- Frameworks: Ruby on Rails, ASP.NET
- CMSs: Drupal, Joomla!
- Operating systems: Mac OS X/Darwin, Linux, BSD, Solaris, Windows XP
- Source control: CVS, Subversion, git, darcs
- Databases: PostgreSQL, MySQL, SQL Server
- Tools: Emacs, Apache, nginx, mongrel, Phusion Passenger
- ...and many more that escape my mind
Employment History
Researcher, NICTA (November 2010 to present)
- Researcher on the Scalable Vision Machines project &emdash; developing a Haskell EDSL to make the programming of GPUs much easier.
Software Engineer, Bang the Table (July 2010 – October 2010)
- Bang the Table provides moderated forums for community engagement. My duties so far have been implementing automated testing and improving the reporting functionality.
Software Engineer, Kinesis (December 2009 – June 2010)
- Maintained and extended existing online carbon accounting tool - CCap. This tool allows organisations to account for their carbon emissions at a very fine grained level taking into account all aspects of their carbon foot print -- fleet fuel, electricity, gas, refrigerants. It is fully compliant with the Australian government's NGERS legislation.
- Developed and deployed a carbon emissions modelling tool called CCap City. CCap City allows councils to account for the carbon footprint of an entire Local Government Area (LGA) and models the effects of policy changes. Policies include improvements in public transport, lighting and appliance efficiency, vehicle efficiency standards, the installation of co-generation (aka. combined heat and power (CHP), tri-generation), purchase of green power, solar hot water systems, solar photovoltaics to name just a few. The tool incorporates a sophisticated modelling engine, GIS capabilities, and an intuitive interface.
Software Engineer, System Administrator and Farm Hand: Munch Crunch Organics (Nov 2008 to Dec 2009)
- Developed an online store, munchcrunchorganics.com.au, for an Organic Home Delivery business. It was built from scratch after deciding Drupal didn't fit the specific and evolving requirements of a new business venture. Integrated with Paypal, it also includes extensive administrative capabilities to add/remove/change price of products, track and provide statistical data about customers. Also integrated with an SMS gateway and Twitter.
- Technologies: Ruby on Rails, PostgreSQL, nginx, Phusion Passenger, Linux
- Also planted, irrigated, weeded and picked organic produce and assisted in the management of an organic farm.
- I now maintain the website from Sydney.
Research Engineer: RedLizard Software/NICTA (Nov 2006 – Jul 2008. Jul 2009 – Dec 2009)
- Lead developer from Nov 2006 to July 2008. Presently contracting.
- Developing a static analysis tool, Goanna, that finds memory leaks, null pointer dereferences, bad coding practises, etc, in C/C++ programs.
- Took over the administration and development of redlizards.com website from contractor.
- Goanna is written in OCaml (a strict, strongly-typed functional programming language). The website is a combination of Joomla, phpBB and WordPress containing a significant amount of custom code. Goanna, being a developer tool, needs to run on a variety of systems: Linux, Mac OS X, Cygwin/Windows, MinGW/Windows. Also worked on a plug-in, written in Java, for the Eclipse IDE.
- Set up the issue tracker, FogBugz, and the Subversion revision control system.
Software Engineer and Systems Administrator: Dawson Media (Aug 2006 – Mar 2007. July 2008 – present)
- I developed and maintain an in-house, internal customer relationship manager (CRM) for tracking Dawson Media (aka Sydney Pink Pages) customers, their products and contact history.
- I took over development of and maintain, DirectClicks, a web application that provides customers with data about their managed Google Adwords spending, calls to their allocated 1300 numbers and email they have received.
- Ruby on Rails, PostgreSQL, Apache, mongrel_rails, Linux
Software Engineer: MacromatiX (Mar 2006 – Nov 2006)
- Developed a web-based application, the MacromatiX Retail Operating System for managing franchise sales and inventory. Used by KFC, Nandos, Jamaica Blue, Red Rooster, Oporto among others.
- ASP.NET, VB.NET, Windows XP, SQL Server
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)
- Assisted Dr George Havas in investigating the pathological algorithmic behaviour of transforming matrices over fields to Hermite Normal Form.
- Mercury, Linux
Research Assistant: University of Queensland (Summer of 1999/2000)
- Assisted Dr Keith Matthews with the development of the CALC Number Theory program
- C, Linux
Open Source Projects/Recreational coding
- Aleph You — my submission to the 2012 "Love" themed JS1K competition. Rule is: create something cool in the HTML canvas in less than 1024 bytes.
- PlaySpace Online — A web application that allows you to write interactive 3D effects in Conal Elliott's Shady language
- A re-implementation of the Pan Embedded Domain Specific Language -- a language for the composition of interactive images and animations.
- Contributed to a branch of the GHC compiler that allowed one to extend the optimisations of the compiler using plug-ins.
- CALC, a number theory calculator.
Talks/Presentations/Essays
I am passionately interested in sustainability, particularly limits to growth, ecological economics, and steady-state economics. I have given a number of talks at the conference Students of Sustainability.
- Limits to Growth
- A portion of the Limits to Growth talk can be found on YouTube here.
- I have also written essays about energy security and the fundamental limitations we operate under in exploiting new sources at Olive Drab. The two I'd recommend reading most are Transformity and transitioning to renewable energy and Sorry Al, you're not taking transformity into account.
Selected Papers
- Ansgar Fehnker, Joerg Brauer, Ralf Huuck, Sean Seefried
Goanna: Syntactic Software Model Checking
6th International Symposium on Automated Technology for Verification and Analysis (ATVA), October 20-23, 2008 Seoul, Korea. - Ansgar Fehnker, Ralf Huuck and Sean Seefried
Counterexample Guided Path Reduction for Static Program Analysis
In the Festschrift of Correctness, Concurrency, and Compositionality for Willem-Paul de Roever, Kiel, Germany 2008. -
Sean Seefried and Manuel M. T. Chakravarty
Solving the expression problem in Haskell with true separate compilation
UNSW Tech Report, UNSW-CSE-TR-0715, June 2007 - Sean Seefried
Language extension via dynamically extensible compilers
PhD thesis, University of New South Wales, Sydney, Australia, 2006. - André Pang, Don Stewart, Sean Seefried, Manuel M. T. Chakravarty,
Plugging Haskell In.
Haskell Workshop 2004. - Sean Seefried, Manuel M. T. Chakravarty and Gabriele Keller
Optimising Embedded DSLs using Template Haskell
Generative Programming and Component Engineering, 2004
Hobbies, Interests
- Surfing, Squash, Cycling, Karate
- I read voraciously on many topics of sustainability: energy security, sustainable agriculture, system dynamics, ecological economics to name a few.
- Music, Literature, Theatre, Film