philip r brenan

Video conference with me - always gratis, always free!

Perl, PHP, Python, C, Java, JavaScript Developer

Mentat, Mentor and Maven

(with a 10 gigabit per second fiber optic Internet connection)

philiprbrenan@gmail.com

CPAN

GitHub

Android

Resume in:

Codility

AppaApps Inc. Austin, Texas

2010 onwards

Created Database on a Chip using Electronic Design Automation that I wrote in Java to design, simulate and layout a custom chip.

The Java version was based on an initial prototype I wrote in Perl:

  1. as an assembler to emulate the B-Tree algorithm in assembly code
  2. to design, the corresponding application specific integrated circuit
  3. to place the logic digital logic gates
  4. to route the connections between the digital logic gates
  5. to successfully create a 𝘀ilicon 𝘃ersion of the 𝗯tree 𝗮lgorithm.

Solved two of the hardest problems on Kattis :

Knights Tour using this Perl code to generate a solution in C written in the C programming language that was fast enough to meet the stringent speed and memory requirements specified.

Connect The Dots using Scalar Vector Graphics to visualize the problem before writing a solution written in Java .

Scored 175 on an LSATS logical reasoning test:

.

Designed the hardware for a fully automated warehouse system for managing millions of books using Perl, Scalar Vector Graphics and Data::Edit::Xml.

Designed and developed AppaApps Photo App, a web application written in Perl and Java, to enable instructors to create immersive, educational Android apps like this one without having to write any code.

Converted 1719 manuals from DocBook Xml to Dita Xml for Hewlett Packard Enterprise using Perl.

Published over 250 immersive educational Android apps written in Java on Amazon App Store

Contributed code to the Template Toolkit and DateTime module projects on CPAN: these are Perl modules that you are probably already using.

Developed and printed a 3 dimensional corner dragger on a three dimensional printer.

Managed the development an extension to JPG to enable very large images to be displayed at high resolution in realistic motion on Android devices to create immersive educational games.

Developed a CI/CD pipeline to extract documentation from Perl and Java programs then publish these documents in Dita with automated link checking.

Successfully mentored new programmers in Java, JavaScript, Perl, SQL and Python.

Novosoft Inc., Houston, Texas

2004-2010

Developed a system in Perl to parse, extract, transform and load data on world wide carbon dioxide emissions into a database used to drive carbon futures and options pricing models designed to quickly spot new arbitrage opportunities in carbon rights trading.

Neon Systems Inc. Sugarland, Texas

1993-2004

As a Software Development Manager I managed team of ten remote programmers to develop an LR(1) parser in C programming language to parse SQL statements and convert them from dynamic to static SQL. Neon Systems was able to go public on the strength of this innovation.

Compuware Inc, Farmington Hills, Michigan

1989-1993

As a Programming Language One DB2 software developer working on IBM System 390 I developed front-end and back-end software to automate the management of large DB2 database systems.

TransAmerica Occidental Life Insurance Company, Los Angeles, California

1984-1989

As a Database Administrator I designed and built TransRelate: a system to parse control information describing large IBM System 390 installations in order to capture and reuse the expertise required to drive efficient maintenance and upgrades to manage the 1,100 IMS database systems in use at ta.

Arabian American Oil Company, Dhahran, Saudi Arabia

1981-1984

As a Systems Programmer I developed automation scripts for the IBM Patient Care System used at the Saudi Aramco Dhahran hospital to capture and display data on each patient to allow the medical departments to more fully coordinate the delivery of patient care.

Joint European Torus, Oxford, England

1979-1981

As a physics programmer, I designed and developed software written in Programming Language One to simulate the Neutral Beam Injection systems at Joint European Torus responsible for heating the fusion plasma to 150 million degrees centigrade as described in the Guardian and Physics design calculations for the JET neutral injectors. This system enabled physicists to describe three dimensional objects in the neutral injection assembly then calculate the power deposition on these objects and displayed the results graphically, allowing the physics design team to evaluate new plasma heating system configurations more quickly and cost effectively than live testing with expensive and radioactive tritium on a megawatt beam line.

Degree

Bachelors of Science in Theoretical Computational Physics, University of Lancaster, United Kingdom, 1976-1979

Technical Skills

  1. GitHub

    I am a member of the GitHub Developer Program and an active user of GitHub with 64K contributions in the last year across 158 repositories.

  2. Perl.

    Please see my Perl module Data::Table::Text which I wrote to spread work across multiple instances running on Amazon Web Services EC2 while converting all 1719 of Hewlett Packard Enterprise 's manuals describing their operations from DocBook Xml to Dita Xml as noted in this email:

    A Perl one line program to transpose a two dimensional square array $a:

    {($$a[$$_[1]][$$_[0]], $$a[$$_[0]][$$_[1]]) = ($$a[$$_[0]][$$_[1]], $$a[$$_[1]][$$_[0]]) for grep {$$_[1] > $$_[0]} map {[$_ / @$a, $_ % @$a]} 0..@$a**2-1}
    
  3. Python.

    I have published this Python module: Vectors In Two Dimensions. I mentor new programmers in Python programming on Codementor using my gigabit Internet connection. One of my mentees recently won a university scholarship as a result of our Python pair programming procedure.

  4. Postgres.

    I created this github repository to demonstrate various ways of connecting to pgdb . I have written lots of SQL for pgdb, DB2 and MySql.

  5. Back-end applications programming.

    I have programmed in Java, Python, Perl, JavaScript on Amazon Web Services since 2010: As an example: this document contains Buttons to reverse the order of its sections and the experience sections can be dragged into a different order.

  6. Highly available product systems

    I worked as a database administrator at Transamerica managing their online payment and accounting system systems running on IBM System 390 for 5 years.

  7. Automated testing (unit, functional etc.)

    I have published 57 Perl modules on CPAN each of which makes extensive use of automated testing. These modules are also present on GitHub where they are tested using a GitHub Action.

  8. Knowledge of Linux/Unix

    I use Kubuntu on my local systems and Ubuntu when on Amazon Web Services - the ability to move work to and from identical local and remote server operating systems is conducive to getting work done with dispatch.

  9. Parsing text.

    I wrote Data::Edit::Xml to parse the Xml in all of the 1719 manuals written by Hewlett Packard Enterprise describing their operations so that I could convert them from DocBook Xml to Dita Xml as noted above.

  10. Payment gateways API implementation

    I recently set up a payment gateway which connects to the New Jersey Department of Agriculture to allow vets to pay bills via credit cards.

  11. Geometry: The construction of the pentagon

    Created this Perl program available on cpan to construct the pentagon in green:

    Created Math::Algebra::Symbols and used it to produce confirm the proof of various theorems in Conic Sections and to compute a formula for the area of a triangle from the length of its sides:

     1/2*$C * sqrt(1/2*$A**2 + 1/2*$A**2*$B**2/$C**2 + 1/2*$B**2 - 1/4*$C**2 - 1/4*$A**4/$C**2 - 1/4*$B**4/$C**2);
    
     is_deeply area(3,4,5),      6 ; # ok 1
     is_deeply area(2,2,2), sqrt(3); # ok 2
    

    using propositions derived from this sketch as shown in this Perl program.

    G. H. Hardy said: Beauty is the first test: There is no permanent place in this world for ugly mathematics. But as the above example clearly shows: a formula produced by a computer can be useful but ugly, or, as Enzo Ferrari said to Lee Ioacocca: Torna a la sub fabrica bruta a fare le sue automobile brute.

    Finally proved the derivation of the vector dot and cross products in two dimensions:

    A cross B is B dot C where C is obtained by rotating A by a 1/4 turn.

    The above theorems are based on The Theorem of Pythagoras .