Post Job Free

Resume

Sign in

Senior Software Developer

Location:
Ottawa, ON, Canada
Salary:
$160000
Posted:
July 11, 2023

Contact this candidate

Resume:

Mario Blažević

adx8m3@r.postjobfree.com

+1-613-***-****

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



Contact this candidate