Dino Morelli * Raleigh, NC, USA * (919) 413-3112 dino@ui3.info * http://ui3.info/d/ Skills Linux/UNIX: 9 years, daily use, administration, scripting. Expert with many Linux distributions. Favorites include Arch Linux and Debian. Experienced with Solaris. Android: Two titles in the Market (SpectraHex, Wallaby), full development lifecycle experience, skilled in developing with both Java and Scala for Android. Professional mobile UI design. Haskell: 6 years, author of several projects, open-source contributor, worked as a Haskell professional for several organizations. Libraries, UNIX tool development, UNIX system software and web development. Scala: 1 year, current Scala professional and authored a commercial Android game with Scala Perl: 9 years, expert level, comfortable writing OO Perl XML: 13 years using a variety of languages, experienced with XSL, RelaxNG and more Java: 13 years, everything from end-user GUI applications to server software, experienced Android Java developer. C/C++: 5 years, Windows GUI development, GNU tools Miscellaneous: Apache, HTML and CSS web development with jQuery, MySQL, EPUB, many source control management systems, virtualization, experienced telecommuter. Employment history AirDat LLC (Morrisville, NC, USA) 2011 Mar - present * Software Engineer (contract) Working with the software team responsible for processing weather data gathered from equipment aboard aircraft * Tasked with new development redesigning existing projects written in languages like Java and Perl and rewriting in Scala. All new development work is in Scala * Heavy emphasis on concurrent data processing and parallelization with Actors and Condor * Various other technologies are part of these projects such as storing data in MySQL and producing XML for customers * Am in an advisory role mentoring people in functional programming * I do work with maintaining our build for various projects and have been the git admin Android software development 2010 Jun - present I am responsible for design and development of titles for the Google Android platform, self-published through the Market. * A puzzle game called SpectraHex. Written entirely in Scala and relying heavily on functional (as opposed to object-oriented) design. * I learned both Scala and the Android framework during SpectraHex's 3-month development cycle. * A wallpaper utility called Wallaby, written in Java. * Try these software titles now in the Android Market Burlington Aviation Technology School (Burlington, VT, USA) 2009 Aug - present * Software Engineer (contract) Worked as an independent contractor developing custom web-based education solutions for students of the Avionics program. * Worked on a website called GROLPrep which is a study tool and test simulator for the FCC GROL and Radar Endorsement examinations. * This software was written in Haskell and uses SQL database. * Explore GROLPrep now: http://www.burlingtonaviationtech.org/fcc-grol-prep AT&T Network Security (Morrisville, NC, USA) 2007 Oct - 2009 Jun * Software Engineer (contract) The Network Security group responds to complaints such as spam and copyright violations * I was the architect and principal developer on a project automating responses to network abuse complaints. This project was built with Haskell as a set of daemon programs communicating through SQL database. * Wrote custom email APIs and extensive unit test automation for an existing large complaint processing project written in Perl * Technologies: Haskell, Perl, MySQL, XML, email parsing and generation, HTML, daemons, syslog, concurrency, process control, unit testing, Debian, Gentoo, scripting McClatchy Interactive (Raleigh, NC, USA) 2007 May - 2007 Sep * Software Engineer (contract) Newspaper industry, web presence. Perl, Haskell programming. * Perl programming on a variety of projects. Enhancement of existing APIs and new design and implementation work. * Worked on REST services with Haskell and happs * Technologies: Perl, Haskell, happs, MySQL, HTML, unit testing, RedHat, Debian, scripting Qualcomm (Cary, NC, USA) 2006 Jul - 2006 Dec * Senior Software Engineer (contract) Object-oriented Perl programming in Linux and UNIX environments * Reading microchip manufacturing data from Microsoft Excel documents with Perl. Processing this data into other formats, one being Tcl scripts. * Technologies: Perl, RedHat, Solaris Network Appliance (NetApp) (RTP, NC, USA) 2005 Dec - 2006 May * Tools and Automation Engineer (contract) SnapManager for Oracle group. Object-oriented and procedural Perl programming in Linux and UNIX environments. * Designed and implemented a comprehensive automated testing framework with Perl * Technologies: Perl, Oracle, HTML, RedHat, Debian SCK Direct (Stratford, CT, USA) 2005 Mar - 2005 Aug * Software Engineer (contract) Monitoring, integration and analysis of commercial kitchen appliance data using Java and SQL database * Standalone Java server to format appliance status data from Sybase into XML and send results via JavaMail or https * Perl and shell scripting of configuration and installation tools * Technologies: Java, JavaMail, iBatis, Sybase, XML, https, Perl, sh, Fedora, Debian CentrPort (Westport, CT, USA) 2003 Mar - 2005 Mar * Software Engineer (permanent) Web advertising company. Java programming, XML specialist. * Designed an XML data format representing a domain specific language for ad campaign maintenance. Developed software with Java and XSL to compile this data to/from another machine-readable form. * Maintenance of a Java J2EE ad campaign web application * Technologies: Java, WebLogic, servlets, JSP, Swing applets, JDBC, Solaris, Perl, sh Scholastic (Danbury, CT, USA) 2002 Mar - 2002 Aug * Software Engineer (contract) Scholastic is a large publisher of reference and child-oriented media * C++ Windows GUI programming for the Grolier Multimedia Encyclopedia * Developed tools and utilities in C, C++ and sh * Java web application development of an educational book ordering system * Technologies: C/C++ Windows UI, Java, iPlanet, Oracle, Solaris admin, sh, CVS administration Anthem Blue Cross/Blue Shield (North Haven, CT, USA) 2000 Dec - 2001 Dec * Software Engineer (contract) Java middleware programming, XML, JMS * Servlet programming for translating requests in XML to DB2 data using JMS (MQ Series) * Maintained an insurance policy web application * Technologies: Java, JMS, MQ Series, XML, WebLogic, Perl, sh, Windows Grolier Interactive (Danbury, CT, USA) 2000 Mar - 2000 Aug * Software Engineer (contract) Grolier was a large publisher of reference and child-oriented media * C++ Windows GUI programming for the Grolier Multimedia Encyclopedia * Developed tools and utilities in C, C++ and sh * Developed a prototype PalmOS application written in C to bring encyclopedia content to Palm OS users * Technologies: C/C++ Windows UI, Palm, sh Concentrex Inc. (formerly MECA LLC) (Trumbull, CT, USA) 1998 Sep - 2000 Mar * Senior Software Engineer (permanent) Java programming in the banking and ecommerce space * Java Swing GUI programming for personal finance software * Designed and implemented an API for navigating DOM document objects similar to XPath (which would emerge at a later date) * Technologies: Java, Swing, XML, DOM, XSL IBM Watson Research Center (Yorktown Heights, NY, USA) 1997 Sep - 1998 Sep * Software Engineer (contract) This goal of this project, called Wired For Learning, was to bring Java applet based tools to elementary school students in a networked classroom setting. * Developed Java AWT and Swing components as individual applets to be used as html form components * Technologies: Java, AWT, Swing, html Macmillan/McGraw-Hill (Farmington, CT, USA) 1996 Oct - 1997 Sep * Software Engineer (contract) This company is a large publisher of reference and child-oriented media. My role was Windows C++ GUI programmer. * Visual C++ Windows programming for the MathVan Junior project, a math education package for children from K through 3rd grade * Debugging and maintainance for a similar product called Multimedia Literature Grolier Interactive (Danbury, CT, USA) 1993 Nov - 1996 Sep * Software Engineer (permanent) Grolier was a large publisher of reference and child-oriented media * C++ Windows GUI programming for the Grolier Multimedia Encyclopedia. I also performed build engineer duties for this project. * Developed tools and utilities in C, C++ * QA work of Windows and Macintosh education software Open source projects * Wallaby - Simple Android utility for wallpaper setting. Java. http://ui3.info/darcs/wallaby/ * epub-tools is a suite of command-line utilities for creating and manipulating epub book files. Included are: epubmeta, epubname, epubzip. Haskell. http://ui3.info/d/proj/epub-tools.html * epub-metadata - Haskell library for parsing and manipulating ePub metadata. Haskell, XML. http://ui3.info/d/proj/epub-metadata.html * cltw - Twitter command-line utility. Haskell, curl, XML. http://ui3.info/d/proj/cltw.html * uacpid - Userspace ACPI event daemon. Haskell, daemon, socket IPC, signal handling, multithreaded. http://ui3.info/d/proj/uacpid.html * hscurses-fish-ex - hscurses swimming fish example. Haskell, hscurses, threading. http://ui3.info/d/proj/hscurses-fish-ex * photoname - Rename/move photo files based on EXIF data. Haskell. http://ui3.info/d/proj/photoname.html * grolprep - A web-based study tool and test simulator for the FCC GROL and Radar Endorsement examinations. Haskell, cgi, sqlite. http://ui3.info/grolprep/bin/fcc-grol-prep.cgi * fequiz-pl - A command-line program for study of the FCC Commercial Radio Operator License exam questions. Perl. http://ui3.info/d/proj/fequiz-pl.html * fez-conf - Simple Haskell library for loading config files. http://ui3.info/d/proj/fez-conf.html * cargs - Turns the contents of a config file into a shell command and executes it. Haskell. http://ui3.info/d/proj/cargs.html * multiplicity - Configuration file driven wrapper around the duplicity encrypted incremental backup utility. Haskell. http://ui3.info/d/proj/multiplicity.html * storylen - Story word count and categorization. Haskell. http://ui3.info/d/proj/storylen.html Contributory work * darcs - Distributed revision control system http://darcs.net (2010) I contributed a bug fix for converting d1 repos. * TagSoup - Haskell API for working with possibly malformed HTML-like markup http://community.haskell.org/~ndm/tagsoup/ (2009) I contributed changes to add support for CDATA sections. * cabal-install - Haskell software installation utility http://hackage.haskell.org/trac/hackage/wiki/CabalInstall (2009) Minor contribution to make cabal-install's own installation script more flexible * EPUB edition of "(Nothing But) Flowers" by John G. McDaid http://www.torvex.com/jmcdaid/node/984 (2009) I built a high-quality EPUB edition of this Creative Commons licensed work of fictional writing * Lion's Den Software I was a contributing consultant, assisting this company with Linux training and system support http://www.lionsdensoftware.com/ * Jim Baen's Universe Magazine (2007) Volunteer software development work for this science fiction magazine involving design of an XML format and sofware to convert the ebook data into common formats. Haskell, XML * Perl 6/Parrot (2005) Contributed Perl5 unit test code for the new Perl6 grammar engine 2011-10-30