Programming Skills

  • Python
  • Javascript
  • VBA
  • SQL
  • HTML & CSS

Patricknoll.com

This website started as a portfolio for my mechanical engineering work and a way to learn web design. Fully static was chosen to ensure low maintenance, low hosting cost and focus on learning HTML and CSS.

As I got more comfortable with web development, more features were added. I used Javascript to interactively render one of my 3D models. After that, I put together a blog to help with SEO. The last improvement of the static site was adding a map of all my OpenStreetMap work up to that point, using Leaflet. You can see the final fully static site at pnoll1.github.io.

Writing html to update a blog is a bit cumbersome so I decided to ditch the fully static ethos and switch to Django so I could easily use the admin interface to add posts written using markdown. I already had experience with Python and MVC, but learning Django is its own challenge since it encompasses everything and has opinions on everything. Django-Markdownx is used interpretate and preview Markdown in the admin interface. The blog is shown on the home page in a paginated feed with links to each post using slugs as you can see on the home page.


Crane Capacity Look Up

Excel Capacity Look Up

Looking up crane capacities for each lift involved using info on the Excel cover sheet to find the capacity in a 3" binder. The tedious, error prone process meant I looked up and manually entered capacities 20-80 times per lift plan.

I automated this process using python with a sqlite db and excel for the frontend. The capacities for each crane are entered into a sqlite db. The script uses the xlwings module to pull the info from the Excel coversheet, then uses the sqlite module to query the database and fills in the capacity cell on the coversheet with the info from the db.

The result saved hours per plan between quicker lookups and eliminating errors.

The code is available to view on Github, it's the xlCapLookUp.py file in this repository.

Capacity Look Up with GUI

A byproduct of the Excel capacity look up project is the accompanying Qt GUI I created. It reuses the db infrastructure from the excel project and makes the db accessible to all users on all platforms.


Tally Block Fill

Filling tally blocks involved manually copying info from the Excel coversheet to the tally block sheet for each lift then copying that sheet into the vertical views of each lift.

I attacked this issue by learning VBA, writing a macro to automatically copy the latest tally block workbook to the job folder, select the correct worksheet(it varied based on crane configuration), renaming the workbook and filling in the appropriate worksheet.

The script decreased errors on the drawings which lead to an average savings of an hour per plan.

The code is available to view on Github.