From 094a3da6eb789b30329996a8996c09f34e0e0aa7 Mon Sep 17 00:00:00 2001 From: Michael Pivato Date: Wed, 2 Aug 2023 08:44:16 +0000 Subject: [PATCH] Add navigation, license, and finish off site --- LICENSE.md | 9 ++ index.html | 259 ++++++++++++++++++++++++++++++++++++++++++++++------- main.go | 2 +- site.css | 24 +++++ 4 files changed, 263 insertions(+), 31 deletions(-) create mode 100644 LICENSE.md create mode 100644 site.css diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..bdb09df --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright © 2023 Michael Pivato + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/index.html b/index.html index ea4bfc1..6ab74aa 100644 --- a/index.html +++ b/index.html @@ -3,29 +3,27 @@ Michael Pivato + -
@@ -35,27 +33,228 @@

Career summary and interests

+

+ A driven and highly motivated full-stack developer, I am always ready to + improve and learn. With a vast knowledge of multiple programming + languages, paradigms and related technicologies, I have successfully + implemented many applications that have been used and loved by clients. +

Career

-
+
+

PowerHealth Solutions

+

2019 - Current

+
+

Key Responsibilities

+
    +
  • + Redesign and maintain the PowerHealth Solutions costing product + (PPM). +
  • +
  • + Create and maintain various front- and back-end components to + support consistent theming, quality, and developer experience across + PPM and now the billing product. +
  • +
  • + Respond to internal and client feedback to improve the costing + product. +
  • +
  • Develop automated tests to improve code quality.
  • +
+

Key Achievements

+
    +
  • + Significant contributions to the redesigned costing product, that is + now in production use and enjoyed by clients. +
  • +
  • + Create and setup front-end and associated web server back-end + components on the costing and billing products, as well as internal + products. +
  • +
+
+ DST Group
-

PowerHealth Solutions

-

2019 - Current

+

Cadet at DST Group

+
2018 - 2019
-

Key Responsibilities

+
Key Responsibilities
    -
  • +
  • + Research distributed systems and middleware for use in tactical + situations. +
  • +
  • Develop a project to show this research.
  • +
  • + Write about new technologies, their benefits to defence, and how + they can be used. +
  • +
  • Held a Negative Vetting 1 (NV1) Security Clearance.
-

Key Achievements

+
Key Achievements
    -
  • +
  • Implementation of Raft algorithm for the camera network.
  • +
  • + Implementation of Hand Detection using CNN, and finger recognition + with alternative algorithm. +
-
+ +
+ Kilburn Software +
+

Software Developer at Kilburn Software

+
2016 - 2018
+
+
Key Responsibilities
+
    +
  • Develop Mac and iOS applications using Xamarin and C#.
  • +
  • + Network and MS-SQL Server Troubleshooting and Implementation. +
  • +
  • + Adhere to quality standards regarding privacy of information for + schools. +
  • +
  • + Liaise with stakeholders of the application being developed. +
  • +
+
Key Achievements
+
    +
  • Rollout of macOS and iOS applications to several schools.
  • +
  • + Set up a testing station in the office to simulate a Catholic + Primary School. +
  • +
+
-
-
+
+

Education

+
+

Bachelor of Information Technology

+

2016 - 2018

+
+

University of South Australia

+

GPA: 6.89

+

Awards

+
    +
  • + University of South Australia 25th Anniversary Excellence + Scholarship +
  • +
  • 2nd year Scholarship in Information Technology
  • +
  • 3rd year Scholarship in Information Technology
  • +
  • Chancellors Letters of Commendation
  • +
-
+
+

Skills

+
    +
  • Java
  • +
  • Angular and Web - including Typescript/Javascript, CSS, HTML
  • +
  • SQL - primarily MSSQL/T-SQL
  • +
  • Rust
  • +
  • Flutter/Dart
  • +
  • Xamarin + C#/.Net
  • +
  • Python
  • +
+
+
+

Hobby Projects

+

+ Over the years I've hacked away at various personal projects. More + recently I've experimented with . My preference is always to build, + run and host applications locally, which includes this page! +

+

+ Recently my interesets have shifted slightly to large machine learning + models, and have messed around with Stable Diffusion (mainly with + Invoke AI) and Llama + language models in + rustformers. The + latter has been a bit dissappointing (at least for its programming + ability), and I think my job will stick around a while longer! +

+

+ Finally I've thoroughly enjoyed writing in Rust, mainly the + efficiency, ease of use and correctness that come from using this + programming language. One example was in the + FastCoster + project, where I reduced the time taken for processing some demo data + on the costing product from ~1.5 hours to ~7 seconds on a + laptop/desktop, or ~36 seconds on a smartphone. This was mainly due to + not using SQL Server, and using a custom algorithm in overhead + allocation that significantly reduced memory consumption and the + number of required calculations. +

+
+

PiCar

+ Source +
+

+ This project originally involved communication between a Raspberry Pi + and a Traxxas Slash using the Pi's GPIO to control the steering and + throttle of the RC Car. This was mounted on some 3D printed + brackets.The steering and throttle are set using an iPhone/Android + application connected over WiFi. +

+

Over time this worked as a base to explore other ideas, namely:

+
    +
  • + SLAM: Using BreezySLAM and a 2D RP Lidar A1, the Pi can map out an + area and send this information to the controlling phone. +
  • +
  • + Depth Prediction: Using the Pi's camera and an Intel Neural Compute + Stick (NCS), the Pi could process camera data and use a custom + implementation of the + FastDepth + Neural Network to add 3D sensing capabilities. +
  • +
+

+ Recently there have been efforts to port the backend to Rust, with the + 2D Lidar sensing and control completed. The Python BreezySLAM + implementation is currently unfinished, mainly due to distractions + from other projects +

+
+

Depth Prediction

+ Source +
+

+ From the PiCar project, I explored many different implementations of + monocular depth Prediction and 3D SLAM solutions, including + implementing my own algorithms and trainers for depth prediction that + perform well on constrained devices. +

+

+ This gave me a solid foundation on Tensorflow/Keras and computer + vision. It also helped expand my knowledge on machine learning from + university/online study, as I previously had not explored models this + large, or specifically computer vision related models. +

+
+
diff --git a/main.go b/main.go index 75f1db3..8df70df 100644 --- a/main.go +++ b/main.go @@ -9,7 +9,7 @@ import ( "net/http" ) -//go:embed node_modules/@picocss/pico/css/pico.min.css index.html +//go:embed site.css node_modules/@picocss/pico/css/pico.min.css index.html var static embed.FS func main() { diff --git a/site.css b/site.css new file mode 100644 index 0000000..0769c2e --- /dev/null +++ b/site.css @@ -0,0 +1,24 @@ +.closed-on-mobile { + display: none; +} + +@media (min-width: 992px) { + main { + --block-spacing-horizontal: calc(var(--spacing) * 1.75); + grid-column-gap: calc(var(--block-spacing-horizontal) * 3); + display: grid; + grid-template-columns: 200px auto; + } + + .closed-on-mobile { + display: block; + } + + main > aside nav { + position: fixed; + width: 200px; + max-height: calc(100vh - 5.5rem); + overflow-x: hidden; + overflow-y: auto; + } +} \ No newline at end of file