Dak Ariyaratne Portfolio - Overview (1997-Present)

Below are few of the many applications I have developed over the years. More details on softwate section here.

  • Panel Scheduling Program
    • C# MVC Web Application
  • Fantech Mobile Fan Selector
    • Developed in Ionic, Angular 4, TypeScript
  • Fantech PR-V Selection Tool / Make Up Air Calculator
    • PHP web based application using MySQL, jQuery.
    • Mobile friendly application is designed with responsive web theme.
  • SEMCO web site
    • Redesigned SEMCO website using a new CMS I developed. Allows users to add and manage content.
    • Makes the site easier to intergrate with other SEMCO applications without need to figure out plug-in architectures.
  • SEMCO Web applications - Expense Report Program and Vacation and Travel Request Program
    • Expense applications allow users to login and create expense reports and submit for approval
    • Vacation request system allows users to request vacation or travel requests that appears on SEMCO calendar
    • Email notifications, LDAP intergrations, work flow for approval process.
  • SugarCRM for SEMCO
    • Implement SugarCRM for SEMCO sales force.
    • Customize application for sales requirements.
    • Create reports using Jasper Reports and iReports.
    • Standard alone custom quick Dash boards for Executive staff to view forcasts, product trendst and rep utilization.
  • Intergration with Syteline (SEMCO ERP) System
    • Due to limitations with old ERP system user interface and data entry was a difficult process for SEMCO. Users have been utilizing lots of Excel documents for document record keeping and manually input those information to ERP system.
    • Developed 8 applications that will parse current excel files and upload data into Syteline.
    • Benfits: removed double entry, ability to batch process mutiliple item input from single Excel document, reduce need to jump to multiple screens for data entry.
    • According to Accounting staff it has removed significant amount of work load from their daily routine allowing them to focus on quality of work instead of data entry and error corrections
  • Microstock - Web based stock product selection and ordering system
    • This applications allows cutomers to order items from a stock databased dedicated to their customer profile.
    • Application takes orders and takes it through the system work flow approval process.
    • Factory receives the orders from the system with all production information including CNC cutting programs.
  • Authentication Server

    1. Previously all users had to use a key that expires every 6 months. The key is created by a separate application which another employee creates and emails to all the users. This is a painful process because users will not update the software or the key when we intend it to.
    2. The new system will authorize any application with a key and pc configuration. The configuration is used to lock the application to a specific machine, therefore ensuring no abuse and verify for latest updates.
    3. As this application required me to use a web based application I came up with a php /MySQL solution.
    4. This application will help the company in many aspects. With customers approval it will do data mining for the sales application. This will help us generate statistical trends and forecast to better serve our customers. Basic idea is it behaves like Windows XP activation process. You have a key to install application and then you have to call home to activate it once for that machine. If user changes any vital hardware identities they will have to re-register to run application.
    5. Air Advisor and Microlink will both use this system to receive keys and register users using this server.
    6. The new system is setup so that future updates of application will be automatically distribute from the system.
  • Air Advisor – Single tier sales and engineering tool for SEMCO DWP department
    • Windows based distributable client application
    • This system gives the user ability to choose SEMCO products available and configure those using engineering standards and pricing. Engineers are able to configure and find the best product based on performance, cost, size and compatibility with other restrictions such as power, third party products.
    • Create sales orders, engineering submittals and create customer friendly quotes to make sales to order process seamless.
    • Report generation and build PDF packages for customers.
    • Full life cycle of Air Advisor.
    • Ability to move to a two tier system for customers that requires a shared job database for setup. Using ODBC and ADO.NET.
    • Methods used : C++, COM, ADO, SQL, Crystal Reports, Acrobat PDF
      More Screen Shots
  • Bill of material to Excel Convertor

    This application was created by the request of Adam Rooks. Engineering needed a way to take the output from the AutoCad bill of materials and convert it to Excel friendly format.

    BreakCSV program converts the output Bill of material into two different Excel files while breaking them by Special Purchase items and Standard items.

  • Calculators - Static Calculator and Performance Calculator

    This calculator lets users calculate to get desired performance based on pressure, cfm and temperature. All the engineers will be able to make accurate selections based on the performance. This calculator is intended to replace some spreadsheets.

    Another calculator that allows users to calculate pressure based on components added to a given product.

    This calculator will allow engineers to select the correct fan motor size based on performance results returned by other calculators.

    Instead of hard coding few formulas into an application I created a complete customizable calculator. User can add your own formulas into it. The application will give user a simple input area to insert the data and then you get an answer.

    Automated LTL Reader


    This application will allow us to read all our Freight rate lookups from different companies to be automated. Previously Greg Bolton had to go into each individual Freight company website and do manual entry for each origin to destination zip codes and get a quote. This process was time consuming process.

    [151 destinations] x [3 plant origins] x [6 weight class] = 2718 entries.

    User had to submit data 2718 times for each freight carrier which would take at least 2 or 3 months of data entry and user error percentage would be higher.

    With LTL Reader it will automatically read all the freight information for each carrier and generate a spread sheet of LTL rates for each plant designated.

    Scheduling Editor – And PDF Generator

    This application allows the schedulers to edit all reports generated from the current Scheduling process plus generate PDF versions of them.

    Report editing


    Generating PDF

    New Scheduling Interpreter Program

    This application will replace the old Scheduling Interpreter I created for SEMCO in 2002. The new app is being designed using the latest RAD Studio 2009 vs the old Visual Studio 6. New version will contain the scheduling editor previously mention and many of the bug fixes requested from the Scheduling.

    Advantages of New Scheduling Interpreter

    1. Performance Calculator (Prototype Stage)
    2. Static Calculator
    3. Fan Selection Calculator
    4. SMACNA Standard calculator
    • Schedulers occasionally require changing reports printed from the current scheduling program. This was previously done manually by highlighters and pen.
    • This application lets the user edit/insert or delete any information generated from the scheduling interpreter application.
    • The users can also add additional comments and watermarks to the reports such that the plant would not overlook certain process such as Mylar Wrap, etc.
    • With accordance with the Paperless initiative all reports can be automatically converted to PDFs for distribution.
    • All reports and labels are automatically stored to hard drive so that we can have a record of everything sent for production in digital format.
    • This will allow plants to be able to print labels at demand at the plant and also reprint missing or damaged labels without contacting the schedulers here.
    • Easier to debug and change application using RAD Studio vs Visual Studio and XML.
    • Will be faster in process or running with new database access and system performance.
    • Using Crystal Reports XI R2 vs the old Crystal Reports 8.5 used in the older version.
    • Scheduling Editor Integration will allow the schedulers to generate PDFs directly instead of going in to another application to do so.
  • MicroLink Scheduling- Converting ordered products to manufacture ready data
    • Windows based distributable client application for production schedulers
    • This system reads ordered data from other applications and converts them into raw parts required to build each product. It creates all bills of material and labels required for plant to get ready to build a given product or job. It also checks product restrictions and notify the scheduler of problems and ability to change product information.
    • After creating required reports and material requests this application will also allow the scheduler to create cut patterns for each job and send them to production. All products that are sent in will be optimized and configured based on plant by plant configuration.
    • In order to allow full power over this application I created a XML based interpreted language that allows complete customizing of any setting or future setting possible.
      More Screen Shots
  • Anslid Structural Integrity Calculator – Create a windows based application to calculate structural
    • Windows based distributable client application for production schedulers
    • This standalone application was created for engineers to calculate structural stability and limitation of wall panel design. Work with Structural Engineer firm used by SEMCO to come up with working solution. Calculus based math was used to find the limits and integrity calculations.
    • Implemented using Delphi 6.0 and Quick Reports
  • MicroLink – Two tier sales and distribution application
    • This application lets customers create orders using a client interface and be able to send each job by email to SEMCO. All items are highly customizable for user giving optimal flexibility to create a product suitable for each construction project.
    • Application can be populated using a digitizer. Customer is able to place blue print on digitizer and select items, lengths, material and other options directly from digitizer and create a complete order.
    • Simple dynamic graphical representations for customers to change product settings.
    • Implement software to convert from raw data to metal instructions for cutting machines (MG systems, automated plasma cutters) in plants.
      More Screen Shots
  • MicroLink Sound – Distributed plug-in for MicroLink
    • This application add-on lets customers order Sound Silencer Products from SEMCO.
  • MicroLink Accuflange – Distributed plug-in for MicroLink
    • This application add-on lets customers order Accuflange Products from SEMCO.
  • Sound Calculator – Distributed plug-in for MicroLink
    • This application add-on lets customers perform engineering test analysis to find the best Sound Products. 
  • Rectangular Duct Calculator – Distributed plug-in for MicroLink
    • This application add-on lets customers figure Rectangular to Round Duct size conversion calculations.
  • PanelProg – Standalone application to create Panel Scheduling data
    • This application lets drafters to generate scheduling data from there AutoCAD drawings into SEMCO labor and material reports.
  • Full software cycle for each project. Applications written using Borland Delphi, XML, Quick Reports, ODBC, BDE.
  • Other tasks
    • Come up with product, and pricing standards. Create standardized reporting.
    • Product planning and meetings for each department. Strategies and ideas.
    • Design and implement databases and connections to existing and immerging applications.
    • Lead 3 software cycles from Data Analysis, Coding, and Maintenance to distribution.
    • Internal and customer Tech Support for more than 7 applications.
    • Departmental training for each new applications and new strategies for handling new products.
    • Implementing and training use of Digitizer for existing software applications.

Monet Desauw Incorporated, Fulton, MO (Full time Senior Developer and contract 2002-2007)

  • Desawyer 2000 – Machine Automation Software Package
    • Windows XP multi-threaded client application for machine operator
    • Import Design Software from all major Truss Design Software available
    • Mathematically orient truss parts according to machine’s optimum setup speeds and highest quality output. Ability to re-orient or completely customize each individual element giving operator fast and accurate production.
    • Job flow control for plant production, recording current jobs on production, priority checking, notifies other stations in plant of completed products for transfer.
    • Sorting/Ordering/Queuing tasks and batches for machine operator base on server
    • Server Application to distribute jobs to machines based on availability and machine restrictions
    • Two tier client/server production reporting software to record machine production by job, operator, day, season, etc. Help management get statistical information to get production forecasts, system downtime and production bottle neck analysis.
    • Remote Production Reporting software using Crystal Reports, used for live production report viewing for management and maintenance.
    • Socket communication with server, other machinery in the production system such as lumber stackers, conveyor belts, forklifts, and various marking equipment.
    • Other communication used such as OFS/OPC Server, Modbus TCP/IP to communication with machinery PLC for full machine control. (Modicon Telemecanique PLC used)
    • Using serial and parallel communication for use with label printers, inkers and other marking systems.
    • Full life cycle from product design, implementation, testing to distribution was my responsibility.
  • Desawyer ES/ESC – Next Generation Of Desawyer 2000 (2006 – 2007)
    • This application is using the current SERVO technology for Machinery automation
    • Includes all features discussed as Desawyer 2000 with additional enhancements and technologies
    • Using Allen Bradley closed looped network system for PLC.
    • Added new web based interfaces to view production information.
  • Deroto Sawyer – roto bit techonolgy with use to cut trusses (2005 – 2006)
    • Windows XP client application for machine operator
    • Import Design files from all available industry standards
    • Optimize multiple components of trusses to be cut using one standard size components. Minimize scrap by nesting cut patterns using custom algorithms.
    • Organize and help operator keep track of production requests and flow control.
    • Communicate and synchronize with server for job requests and request required material to delivery systems.
    • Communication with SquareD – Modicon Telemecanique PLC using Modbus TCP/IP. 
  • Single Arm Sawyer – Next Generation Deroto Sawyer (2006 – 2007)
    • Windows XP client application for machine operator
    • 6 axis of motion control for component design. Single blade will be coordinated to create custom truss components with 3D 360 motions of control to create double beveled cuts on a given component.
    • Optimize multiple components to minimize scrap and number of cuts required to create components.
    • Communication using G&L Motion Control PLC technologies
  • Two Bladed Sawyer –Simple 2 angle Sawyer (2006 )
    • Windows XP client application for machine operator
    • High production 2 bladed saw with networking and job management systems
    • Communication using Allen Bradley PLCs with DDE server.
  • Other Applications and tasks performed at Monet Desauw (2002-2007 )
    • Create and maintain company website http://www.desauw.com
    • Tech-support and training for all products on the software end
    • Company network administrator
    • BCMC Trade show preparation and product demoing at show (2002-2006)
  • Methods used for development: C++, COM, ADO, SQL, Crystal Reports, Sockets, Dreamweaver, Adobe Creative Suite, SQL Server 2000

Universal Forest Products/Westplains Electric Motors, MO 2006-2007

  • Truss Beam Pattern Nailer – Windows Touch Screen application for Machine Interface.
    • Design applications to create and manage custom nail patterns. Reporting and Labeling.
    • Communication with Allen Bradley PLC using DDE Server technology.
    • Job scheduling for management using remote server.
    • Propriety software with royalties for products sold. 

Pioneer Truss, Owensville, MO 2005-2006

  • Custom Conversion Software for converting data from Truss Design to be ported in to TCT Computer Saw.

Toll Brothers, NC 2005-2006

  • Custom Conversion Software for converting data from Truss Design to be ported in to Randak Computer Saw.
  • Create labels and reports.

Con Tech, Troy, MO 2003-2006

  • Upgrade old integrated DePauw Saw computer from old 486 to new Pentium pc and improve speed and reliability.
  • Upgrade includes changing all I/O ports and IRQ to work with legacy (dos 6.0) DePauw protocols.
  • Custom Conversion Software for converting data from Truss Design to be ported in to DePauw Saw.

Darren Woods Excavation LLC, Harrisburg, MO 2004-2005

  • Excavation Volume and Estimation Program
    • Create windows based application that which civil engineers can use to calculate excavation data using elevation maps.
    • Use GTCO digitizer to trace elevation information into application and convert it to GUI that customer can modify and figure volume, labor and cost calculations. Will calculate accurate volumes of dirt to move fill or transfer in 3D space. Also be able assign machinery by task and do cost analysis.

Viewpoint, New York, NY 2000-2002

Software Engineer II (Full time position)

All applications written using Visual C++ with XML, ActiveX, Java, OpenGL, DirectX, COM technologies

  • Viewpoint Media Player – 3D Graphical Render Plug-in for browsers
    • Work with a team of engineers to design and upgrade the 3D Media Player technology
    • Create a data tracker for content behavior event logging and notifying Viewpoint data server.
    • Add object viewer that handles object animation to plug-in architecture.
    • MP3 streaming project integration.
    • Porting source to Mac OS and VXWorks for embedded support for devices.
    • All content descriptors are XML files which get downloaded from the server. XML describes all content geography, behavior, bit maps and animation.
    • SQL server to download and mange customer content databases.
  • Develop Scene Builder Studio – Content Design Application for Media Player
    • 3D scene design application for developing animations and timelines for viewpoint media player.
    • In charge of the code base and control engineering changes.
    • Create test cases and distribute for third party clients such as Poser.
    • Add new features to Scene Builder and maintain distributions.

Misc Tools Written

Click to see of misc applications written