Mario Blažević
adx8m3@r.postjobfree.com
Curriculum Vitae
Software developer - ideally, a programming language and domain-specific lan- guage developer.
* ****NICAL SKILLS
2.1 Programming Languages:
• C, C++, Clean, Clipper, Forth, Haskell, Elm, Java, JavaScript, Type- Script, PureScript, Lisp, Modula 2, Oberon, OmniMark, Object Pascal, Pascal, Prolog
• Bourne Shell, Makefile, SQL, Dhall, Nix, Plutarch
• CSS, HTML, LATEX, Markdown, SGML, XML
• BNF, SGML & XML DTD, XML Schema, RELAX NG
2.2 Development Tools:
• Shell, Eclipse, Chrome Developer Tools, Microsoft Visual Studio
• Brief, Emacs
• GDB, GHCi
• Darcs, Git, Mercurial, Perforce
2.3 Intangibles:
• Extensive consulting experience
• Analytical thinking and problem solving
• Fast learner
• Good team player
1
3 PUBLICATIONS
• Packrats Parse in Packs, Haskell Symposium 2017, Oxford, England
• Adding Structure to Monoids, Haskell Symposium 2013, Boston, USA
• Coroutine Pipelines, The Monad.Reader issue 19, pages 29 - 50 http://themonadreader.files.wordpress.com/2011/10/issue19.pdf
• Grammar-driven Markup Generation, Balisage: The Markup Conference 2010, Montréal, Canada
http://www.balisage.net/Proceedings/vol5/html/Blazevic01/BalisageVol5-Blazevic01. html
• Composable Templates, Extreme Markup Languages 2007, Montréal, Canada http://conferences.idealliance.org/extreme/html/2007/Blazevic01/ EML2007Blazevic01.xml
• Streaming component combinators, Extreme Markup Languages 2006, Mon- tréal, Canada
http://conferences.idealliance.org/extreme/html/2006/Blazevic01/ EML2006Blazevic01.html
• With Zoran Budimac: An Environment-based Multiparadigm Language, MPOOL 2001, Budapest, Hungary, pages 97-110
http://www2.fz-juelich.de/nic-series/Volume7/nic-serie-band7. pdf
• With Zoran Budimac and Mirjana Ivanović: Theoretical Foundations of an Environment-Based Multiparadigm Language, INFORMATICA 2000, Vol 11 no. 1, pages 3-14
http://www.mii.lt/informatica/pdf/INFO194.pdf
4 OPEN SOURCE PROJECTS
• grammatical-parsers, a combinator parsing Haskell library that enables grammar specification as PEG or left-recursive CFG and grammar reuse https://hackage.haskell.org/package/grammatical-parsers
• incremental-parser, a simple combinator parsing library for building streaming parsers
https://hackage.haskell.org/package/incremental-parser
• canadian-income-tax, an executable to fill out the Canadian income tax forms
https://github.com/blamario/canadian-income-tax
• language-Modula2, parser and pretty-printer for the Modula-2 program- ming language
https://hackage.haskell.org/package/language-oberon 2
• language-oberon, parser and pretty-printer for the Oberon programming language
https://hackage.haskell.org/package/language-oberon
• monad-coroutine, an early implementation of free monads meant for pipelining
https://hackage.haskell.org/package/monad-coroutine
• monad-parallel, a Haskell library that defines the MonadParallel type class and its instances; used for writing parallel monadic algorithms with- out confining them to a specific monad
https://hackage.haskell.org/package/monad-parallel
• monoid-subclasses, a Haskell library defining subclasses of Monoid with a solid thoretical foundation and practical purposes https://hackage.haskell.org/package/monoid-subclasses
• rank2classes, a Haskell library defining the equivalents of standard type constructor classes but whose methods have rank-2 types https://hackage.haskell.org/package/rank2classes
• deep-transformations, a Haskell library extending the rank2classes idioms to heterogenous trees, commonly produced by real-workld language parsers
https://hackage.haskell.org/package/deep-transformations
• SCC or Streaming Component Combinators, a pipeline library built on top of monad-coroutine and incremental-parser
https://hackage.haskell.org/package/scc
5 EMPLOYMENT HISTORY
5.1 Flint
• Oct 2022 to June 2023
Role: Developer
Project: Web applications for internal use and for nurse students, CQRS and event-sourcing architecture
Technology: Haskell, Elm, Nix, PostgreSQL, Kubernetes 5.2 MLabs
• Sep 2021 to Oct 2022
Role: Consultant, designer, and developer
3
Projects: Various customer DApps on the Cardano blockchain Technology: Haskell, PureScript, TypeScript, Nix, GitHub
• Dec 2021 to Oct 2022
Role: Developer
Project: Plutarch, an embedded design-specific language compiling to Plutus smart contracts for the Cardano blockchain. Technology: Haskell, Nix
• Jun 2022 to Oct 2022
Role: Designer and developer
Project: Transaction-families, a type-level DApp specification language with diagram generation
Technology: Haskell, Template Haskell, GraphViz
5.3 Stilo International plc
• May 2020 to June 2021
Role: Designer and developer
Project: Analyzer, a web portal for analysing the repetitiveness and op- timization opportunities in uploaded documentation sets. Technology: Python, Django, PostgreSQL, OmniMark, Haskell, GraphQL
• Feb 2014 to Apr 2021
Role: Designer and developer
Project: AuthorBridge, a web-based editor for XML documents that pro- vides XML schema guidance and saves a valid XML document instance but allows editing almost as fluid as in a WYSIWYG editor.
Technology: Haskell, JavaScript, TypeScript, OmniMark, Python, RELAX NG, XML, Node.js, jQuery, jsDOM, Mocha, Selenium
• Oct 2009 to Dec 2021
Role: Designer, developer, and maintainer
Project: Migrate, a portal for automated conversion from Microsoft Word, Adobe FrameMaker, Adobe InDesign, Quark Express, and other presentation-oriented document formats into DITA, DocBook, and other XML-based formats.
4
Technology: Haskell, OmniMark, RELAX NG, XML
• Sep 2000 to Dec 2021
Role: Designer, developer, tester, documentation writer, technical sup- port
Project: OmniMark, a rule-based programming language specialized for text processing. The components include a compiler, virtual machine, libraries, external API, and a visual debugger imple- mented as an Eclipse plug-in.
Technology: C, C++, GDB, Valgrind, Purify, Eclipse SDK, Java, Omni- Mark, SGML
• May 2009 to Dec 2009
Role: Designer and developer
Project: Pipeline for user-guided translation from Adobe InDesign to DocBook and EPub.
Technology: OmniMark, XML
• Feb 2007 to Jul 2007
Role: Designer and developer
Project: Re-implementation of OmniMark Documentation Engine as a set of templates and the template language interpreter. Technology: OmniMark, SGML, HTML
• Mar 2004 to Jan 2005
Role: Designer and developer
Project: CF2, a Content Management System with change impact anal- ysis.
Technology: OmniMark, SOAP, PostgreSQL, XML
• Mar 2001 to Apr 2001
Role: Designer and developer
Project: OmniMark Licensing System, a Web application for issuing and tracking of the OmniMark software licenses.
Technology: OmniMark, Linear, HTML, CGI, MS SQL Server
• Sep 2000 to Oct 2000
Role: Designer and developer
Project: Compiler from a template language Linear to OmniMark. Technology: OmniMark
5
5.4 Cinfo, Center of informatics
Novi Sad, Serbia
• Sep 1999 to Jun 2000
Role: Technical lead and software developer
Project: Application framework for Java database applications with au- tomated code generation and visual programming capabilities. Technology: Java (JDK 1.2), JDBC, Swing, SQL, SQL Plus, Oracle 8i, In- terbase 6, RedHat Linux 6.0
• Feb 1999 to Apr 2000
Role: Technical lead, System analyst, Database designer, Software de- veloper
Project: Database application for hierarchical project management with heavy reuse of existing project schedules.
Technology: Delphi 5, BDE
• Oct 1996 to Sep 1999
Role: Database designer, Software developer
Project: A client/server set of database and media applications for radio station program planning, editing and emitting.
Technology: Delphi 5, Java, JMF
• Dec 1997 to Jan 1999
Role: Technical lead, System analyst, Database designer, Software de- veloper
Project: A client/server Point-of-Sale database application with distri- bution capabilites.
Technology: Clipper, Delphi 3
• Aug 1993 to Jul 1999
Role: Technical lead, System analyst, Database designer, Software de- veloper
Project: Database application for calculation, archiving and reporting of payrolls and taxes.
Technology: Clipper, C++, CodeBase 4
6
• Mar 1997 to Dec 1998
Role: Database designer, Software developer
Project: Database application for fruit supply and payment. Technology: Clipper
• Apr 1993 to Nov 1997
Role: Software developer
Project: Development of libraries and frameworks for database applica- tions.
Technology: Clipper
6 EDUCATION
6.1 2020-2021
Coursera
• Deep Learning Specialization
6.2 1996-1999
University Of Novi Sad, Yugoslavia: M.Sc. in Computer Science Courses taken:
• Artificial Intelligence
• Compilers and Interpreters
• Operating Systems
• Programming Languages
6.3 1991-1996
University Of Novi Sad, Yugoslavia: B.Sc. in Computer Science Courses taken:
• Artificial Intelligence
• Compilers and Interpreters
• Computer Geometry and Graphics
• Digital Electronics
7
• Formal Languages
• Mathematics
• Methods of Programming
• Operating Systems
• Organization of Computers
• Programming Languages
• Software Engineering and Information Systems
8