Kyle Lahnakoski

kyle@arcavia.com
(416) 892-7784
92 Main St. N. Newmarket, Ont. L3Y 4A1
Application Developer
Arcavia Software Ltd.

Last updated January 2004

TECHNOLOGY SUMMARY:

Graduated University of Waterloo; Computer Science and Pure Math.

  • Expert (in order)
Java, PL/SQL, T-SQL, Javascript, Servlets
  • Occasional Use
Visual Basic, C, C++, Unix Scripting
  • Familiar (past use)
JSP, PHP, Perl, 8086 Assembly, Scheme
  • Database Software
Oracle 8i & 10g, SQL Server, MS Access, DB2
  • Operating Systems
Linux, MVS, OS/390, CICS, TSO/ESP

Click to view my work experience


TECHNOLOGY SPECIFICS:

Java (J2EE, EJB, Swing) (8 years experience, current)

Database OS: A reflective development environment intended for database and application redesign. It uses the principles of reflection to deliver greater expressiveness with lesser code. It also uses refactoring to alter data structures without having to alter the dependent code. Has a generic GUI interface for viewing any object, a compiler, a debugger, automatic persistence, meta object reflection, and database query ability. See http://www.arcavia.com//kyle/Software/DBOS/index.html for details.

Circuit Order System: Designed and built a circuit order system for Emfisys. It tracked the circuits for the digital branch network. Had a GUI interface, e-mailed orders, processed e-mail confirmations, and stored all data in an Oracle backend.

Megabyte Mailer: Simple application, with GUI interface, that takes a directory and mails it to another Megabyte mailer. It breaks up the files into 1/2 megabyte chunks for delivery through even the most temperamental firewalls.

Glyph Rendering: A GUI application that is used to generate the glyphs in a font. Used multidimensional coordinate system to allow each glyph to adjust size and shape depending on the other glyphs around it. Also used Bezier curves for rendering.

Oracle 8i (2 years experience, current)

Bill Reconciliation and Analysis: A large database used for analyzing several years worth of billing data for various inconsistencies. Optimization and performance tuning was required to make queries reasonably fast.

Circuit Order System: (Same as above)

Bill Processing and Chargeback: A set of tables and stored procedures that processed electronic billings and calculated the appropriate charges to the business units. The database kept track of all billed items in order to facilitate corrections in the event of a billing error. The Oracle database required index and query optimization to run at a reasonable speed.

IBM DB2 (1 year experience, last used 2001)

Database OS: (Same as above) The Database Cruiser has used both Oracle and DB2 RDMSs. Their use has been phased out in favour of a faster memory database implementation.

MS SQL Server (3 years experience, current)

Temporal Database Extension: Extended a third party inventory product by coordinating their inventory and work order systems, effectively building a temporal inventory database.

  • Generates orders for changes made directly to inventory
  • Changes inventory based on work order, and triggers on date requested.
  • Allows inventory history view and change
  • Consequently, changes can be retroactive for billing purposes
  • C++ (4 years experience, last used 2000)

    Formula Rendering: A GUI application that designed glyphs (like above) and rendered mathematical formulas in a richness true to handwritten equivalents. Also allowed WYSIWYG editing of the formulas.

    Call Costing Application: A DOS based application that processed call details from a Centrex switch, and delivered printed reports to all the users in the Harris Bank of Chicago.

    TSR Screen Scraper: A DOS based application that stayed in memory after execution. It waited for a specific host application to appear before executing its script. The script would "look" at the screen and key-enter information into the system, or generate reports. The scripting language, and interpreter was also designed by me.

    Visual Basic and VBA (6 years experience, current)

    Reporting Software: A GUI application that allowed the analysts to design their own reports. The interface was simple enough to be learned quickly, but dynamic enough to select fields, sort, and specify criteria.

    Switch Dump Processing: Several DOS based applications that process and report on Centrex DMS and Meridian switch dumps. Reports were used to reconcile with Bank of Montreal internal inventory.

    Paperless Order System: GUI application that screen scraped an order/inventory application and FAXed the order to the telephone company.

    C (2 years experience, last used 1997)

    University Projects: Used in 3rd and 4th year for a variety of university assignments: Compilers, operating systems and multithreaded code to name some.

    Ray Tracer: Created a fully functional ray tracer. Could render spheres, chords, planes, triangles, reflective surfaces, and refractive surfaces. See http://www.arcavia.com/kyle/Projects/csS488/index.html for an example of its output.

    Microsoft Access (4 years experience, current)

    Temporal Database Extension: (Same as above)

    Billing System: Database containing the rules and users of the WorldCom Internet services. The application was used to deliver usage reports, and bill back the internet usage to the individual user's and cost center.

    Inventory Reconciliation: An application used to verify the consistency of the telecom database based on set rules, and billing information.

  • Imports Meridian, Centrex DMS, ROLM and Octel dumps for comparison with inventory on a SQL Server database.
  • Imports electronic bill information for comparison.
  • Clean, user friendly discrepancy reporting facility.
  • Government Programs: A user application used to enter and report on Government programs in the Waterloo region. It consists of a local Access application, and an Internet mirror built in PERL.

    PHP, PERL (1 year experience, last used 2003)

    Web Telecom Billing: A web application that shows call details. It also has summary reports by cost center.

    Telephony Bill Processing: A series of PERL scripts that processed over 20 thousand pages of text bills monthly to extract the call details. These details were put into CSV form for database import.

    Government Programs: (same as above)

    Javascript, DHTML, DOM (1 year experience, current)

    Super Table: A simple demonstration of a DOM-independent class library and a column resizing table.