Tony Morris
Phone: 0408711099
Email: <cv@tmorris.net>
Eyecon Pty Ltd, 2010 -- present §
Tony implements gaming solutions using the Java Programming Language.
Paycorp Payment Solutions Pty Ltd, Sydney, 2008 -- 2009 §
Tony implements payment business solutions using the Scala Programming Language and related advanced programming techniques to ensure a timely delivery with a high assurance of correctness and fast adaptation to changing requirements with minimal adverse impact.
Tony works from his home office in Brisbane.
Researcher in Computer Science and Programming Language Theory
Workingmouse Pty Ltd, Brisbane, 2006 -- 2008 §
In collaboration with colleagues, Tony researches, investigates and educates on programming language theory and paradigms with an emphasis on Functional Programming and Type Theory and the applicability to commercial software application development. Specific languages of interest include Haskell, Scala, F# and O'Caml. Tony has led and contributed to commercial applications using the Scala and Ruby programming languages. Tony also participates in the Scala community by making contributions to the core Scala libraries and is the author of the Scalaz extension to the core Scala libraries §.
Tony delivers courses and material to interested corporate clients as well as colleagues in-house. Course material covers a variety of topics including functional programming (FP), type systems and specification testing and more general programming language theory. Tony creates course material to meet specific needs and requests of the course participants.
IBM Corporation, Gold Coast, 2002 -- 2006 §
Working under the Tivoli security brand, Tony implemented the IBM Tivoli Risk Manager adapter for IBM Tivoli Access Manager targetting seven operating system platforms. This work was followed by several projects that integrated with IBM Tivoli Risk Manager including the DB2 (JDBC) integration for IBM Tivoli Risk Manager §, which was completed in Austin, Texas -- with assistance from the Risk Manager development team.
Tony implemented the IBM Tivoli Privacy Manager integration software for DB2 Content Manager and was
subsequently assigned to the IBM WebSphere Application Server (version 6) development team to implement the
JSR-115 § for IBM Tivoli Access Manager. Tony spent
2005 to early 2006 working on the java.security API and the IBM Java Cryptography Extension (JCE)
implementation of the IBM Java Development Kit (JDK) version 1.5.
Griffith University, Gold Coast, 2001 -- 2006 §
Tony lectured and tutored subjects on COBOL, Java, C/UNIX, C++ and Object-Oriented Analysis & Design.
Softlink International, Brisbane, 2001 -- 2002 §
Tony worked on a small team of developers contributing to the ALICE library software § using C# and ASP.NET.
Self Employed, Gold Coast, 1999 -- 2001
The Competitive Option, Gold Coast, 1996 -- 1999 §
Programming Languages: Java/J2EE, C# .NET, Haskell, Scala, C, C++, F#, Objective Caml, Python, Ruby, Scheme
Processes: eXtreme Programming (XP), Agile software development, Pair programming, SCRUM
Application Servers: IBM WebSphere, BEA WebLogic, JBoss, Apache Tomcat, Caucho Resin
RDBMS: IBM DB2 UDB, Microsoft SQL Server, Oracle, MySQL, PostgreSQL
Operating Systems: GNU Linux, Microsoft Windows, Sun Solaris, IBM AIX, HP-UX
Certificate II in Emergency Medical Service First Response HLT21107, 2008
Sun Certified Programmer for the Java 2 Platform 5.0, May 2005
Sun Certified Developer for the Java 2 Platform, December 2003
Sun Certified Programmer for the Java 2 Platform 1.4, October 2002
Griffith Award for Academic Excellence for studies in the Bachelor of Information Technology, Griffith University, December 2001
Bachelor of Information Technology, Griffith University, December 2001
Tony has a special interest in teaching programming concepts to further the knowledge of peers and to advance the software development industry. Tony delivers presentations to interest groups and universities.
21 June 2009 Monadic Parsers using Haskell Slides
A hands-on introductory tutorial to monadic parsers using the Haskell Programming Language delivered to the Brisbane Functional Programming Group §.
26 May 2009 Advanced Programming Concepts using Haskell Slides
A hands-on tutorial introduction to Automated Specification-based Testing delivered to the Brisbane Functional Programming Group §.
November 2008 Patterns: Reduction to the Inconsequential Slides
An invited guest lecture delivered to students of Queensland University of Technology on programming concepts that are used commonly in industry and what they actually mean.
28 July 2008 Introduction to High-level Programming with Scala Slides Video
An introduction to functional programming concepts using the Scala programming language delivered to the Queensland Java User Group (QJUG) §
Tony actively participates and contributes to the free open source software (FOSS) community.
Geodetic is a collection of libraries for computing with map data using advanced programming languages and techniques in a practical environment, including parsers for GPS Exchange (GPX) and OpenStreetMap (OSM) format.
Kinet § (C#)
Kinet is a C# 3.0 library that seeks the limits of the advanced features of the language. Similar to the libraries on which Kinet is based, it is also for the practical use of advanced programming techniques in .NET production environments.
Lastik § (Haskell)
Lastik is a software build management library for Scala, Java and C# projects that is written using the Haskell programming language for greatest flexibility without sacrificing ease of use. Lastik is used as a practical alternative to Make, Apache Ant, NAnt and the like for improving software development time and standards.
Functional Java § (Java)
Functional Java is an open source library that aims to prepare the Java programming language for the inclusion of closures. It also serves as a platform for learning functional programming concepts by introducing these concepts using a familiar language. The library is intended for use in production applications and is thoroughly tested using the technique of automated specification-based testing.
Slinky web application framework § (Scala)
Tony has implemented a HTTP library for authoring web applications using the Scala Programming Language. The unique implementation takes the general ideas of Why Functional Programming Matters by John Hughes.
Scala core libraries § (Scala)
Tony has made several bug fixes and contributions to the Scala core libraries. In particular, Tony authored the
disjoint union algebraic data type (scala.Either), which is scheduled for inclusion from
Scala 2.7.1
§.
ScalaCheck § (Scala)
Tony has a special interest in software correctness verification techniques and is one of two contributors to ScalaCheck Automated Specification-based Test framework -- an open source project which is based on an original idea called QuickCheck for Haskell §.
Tony continues to contribute to ScalaCheck as an advanced alternative to traditional unit testing.
Scalaz § (Scala)
Scalaz is an ongoing third-party addition to the Scala core libraries. Tony's contributions to Scalaz are a product of application development using the Scala programming language and serve as the basis for potential future inclusions into the Scala core libraries.
Scalaz implements a variety of ideas including; abstractions based on Category Theory -- the functor, monad, catamorphism, anamorphism, monoid/semigroup and a transparent memoisation library.
JTiger § (Java)
JTiger is a unit test framework implemented using the Java programming language and is intended to be used in the application of traditional unit testing techniques. Tony is the sole author of JTiger, but has since retired from the project.
JUnitX § (Java)
JUnitX is an extension to the JUnit unit testing framework written by Tony for IBM alphaWorks. It provides additional library support for users of JUnit.
OpenStreetMap § (XML)
OpenStreetMap creates and provides free geographic data such as street maps to anyone who wants them. Tony contributes geographic data obtained using Global Positioning System devices and cartographic software for producing accurate and detailed maps of locations of eastern Australia.