# Dino Morelli [dino@ui3.info][mail] | [github][gh] Experienced software engineer specializing in functional programming with Haskell on Linux systems. Strong background and experience in back-end data processing and tool building. ## Skills * Languages: Haskell, Scala, Python, bash, Java, Perl * Web: REST, Apache, Servant, happstack, LetsEncrypt * Database: MongoDB, PostgreSQL, MySQL * Cloud/devops: AWS, Azure, Ansible * Linux/UNIX: Arch, Ubuntu, Debian, Solaris, CentOS, slurm * Miscellaneous: Android, epub, GenAI, LangChain ## Experience ### Pramana Labs LLC (Morrisville, NC, USA) #### 2023 Apr to 2024 Aug Senior Scala and Haskell software engineer * REST server and data storage development for the SHIFT data mining platform * Implemented storage and retrieval of product usage data for billing purposes * LLM SQL generation with LangChain, ChatGPT, Mistral * Technologies used: Scala, Haskell, Python, AWS, HubSpot ### Input/Output Global (remote) #### 2022 Apr to 2023 Mar - Software Engineer Haskell programmer on the Marlowe Smart Contract team * Worked on the the runtime and cli tools to create and execute Marlowe smart contracts on the Cardano blockchain. * Worked on a web-based explorer prototype for Marlowe smart contracts for examining contract information on-chain. ### Input/Output Global (remote) #### 2021 Apr to 2021 Sep (unpaid volunteer) Student and volunteer for the [Plutus Pioneer Program][ppp], learning about building smart contracts on IOG's Cardano blockchain * Participated in the inaugural smart contract development course with Haskell and Plutus. Plutus is the on-chain form of Cardano smart contracts. * Mentoring and teaching first-time Haskell programmers * Contributed a large amount of [critical community documentation][pppdoc] for Plutus development on Linux systems. Including installation and maintenance of Nix. * Contributed systemd unit files for developing with the Plutus Playground, a web-based environment for developing and running Cardano smart contracts on a local blockchain simulator. ### Edwards Lifesciences (remote) #### 2020 Apr to 2021 Mar - Software Engineer (contract) Updates and new features for a system tracking chemical composition and regulatory compliance across Edwards' entire medical devices enterprise * Complex report generation leveraging Haskell and Oracle SQL database * Significant developer environment and docs work for deployment on AWS * REST servers using the happstack framework ### HERE Technologies (remote) #### 2019 Jun to 2019 Dec - Software Engineer (contract) Location data transformation work using the HERE Tech Open Location Platform * Wrote Protocol Buffer schemas and processed them into Scala * Wrote Scala software to manipulate these data structures * Performed location data transformations on the Spark-based OLP system ### Honu Apps LLC (Raleigh, NC, USA) #### 2014 Nov to present - Co-founder, Software Engineer Software development consulting services * [Kitchen Snitch][kslp] restaurant health inspection app. Back-end [data-acquisition][kdsrc] and [REST server][krsrc] made with Haskell, MongoDB, Google Maps, Geocoding and Places APIs, AWS * SigMet Solutions weather forecast HPC cluster automation and web development. Haskell * SpectraHex Android puzzle game. Written in highly-functional Scala. [Source][shsrc] ### Panasonic Weather Solutions (Morrisville, NC, USA) #### 2011 Mar to 2018 Feb - Senior Software Engineer Producing weather forecast products on high-performance computing (HPC) clusters * Haskell and Scala used extensively to parallelize weather forecasting processes on a high-performance computing cluster. CentOS, Slurm, Lustre * Scala REST server work in support of various products * All system design features functional programming techniques ### Burlington Aviation Technology School (Burlington, VT, USA) #### 2009 Aug to 2011 Jun - Software Engineer (contract) Custom web-based education solutions for Avionics students * Designed and built the GROLPrep website, a study tool and test simulator for the FCC GROL and Radar Endorsement exams * Haskell, happstack, SQLite. [Source][gsrc] * [Try GROLPrep yourself][glive] ### AT&T Network Security (Morrisville, NC, USA) #### 2007 Oct to 2009 Jun - Software Engineer (contract) Member of the Network Security group responding to spam and copyright violation complaints * Architect and lead developer on a copyright infringement notification system written in Haskell * Wrote custom email APIs and extensive Perl unit test automation for an existing complaint processing system * Haskell, Perl, MySQL, XML, email parsing and generation, UNIX daemons, concurrency, process control ## Open source software development I have been a contributor to open-source projects, mostly Haskell: xmobar, cabal-install, darcs, [string-conv][scsrc], TagSoup. I created and maintain many open-source projects including: [py-mkvenv][pmsrc], epub-tools, epub-metadata, hsinstall, uacpid, hscrtmpl, photoname. Over 50K lines of original code in Haskell alone, representing nearly 20 years of deep experience with the language. These projects are hosted and documented in detail on [github][gh]. I run the Haskell Meetup in downtown Raleigh, NC, USA. I am experienced in epub creation and maintain the epub edition of ["(Nothing But) Flowers"][nbfsrc] by John G. McDaid, a Creative Commons licensed work of fiction. ## Education **Plutus Pioneer Program** Input Output Global's [online class][ppp] for smart contract development with Haskell/Plutus on the Cardano blockchain **Functional Programming Principles in Scala** Ecole Polytechnique Federale de Lausanne via [Coursera][crsfp] **Statistics 1** Princeton University via [Coursera][crs] [mail]: mailto:dino@ui3.info [gh]: https://github.com/dino- "Dino's github projects" [kdsrc]: https://github.com/dino-/ks-download "Kitchen Snitch data acquisition" [krsrc]: https://github.com/dino-/ks-rest "Kitchen Snitch REST server" [kslp]: http://getks.honuapps.com/ [shsrc]: https://github.com/dino-/spectrahex [gsrc]: https://github.com/dino-/grolprep [glive]: http://ui3.info/grolprep/bin/fcc-grol-prep.cgi "GROLPrep live site" [scsrc]: https://github.com/Soostone/string-conv [pmsrc]: https://github.com/dino-/py-mkvenv [nbfsrc]: https://github.com/dino-/McdaidJohnG-NothingButFlowers_2008 [ppp]: https://developers.cardano.org/en/plutus-pioneer-program/ [pppdoc]: https://github.com/nstankov-bg/docs.plutus-community.com [crs]: https://www.coursera.org/ [crsfp]: https://www.coursera.org/learn/progfun1? --- 2024-11-13