More refactoring + MD switch

+ Switched to Markdown
+ Removed RST module and tests
+ Converted RST pages to MD
+ Updated a few pages
+ Clippy + Fmt
This commit is contained in:
2022-12-26 20:48:29 -06:00
parent 33a6056445
commit 813c16a00c
15 changed files with 255 additions and 259 deletions
@@ -1,24 +1,22 @@
Joey Hines - joey@ahines.net - Westminster, CO
==============================================
# Joey Hines - joey@ahines.net - Westminster, CO
Education
---------
## Education
* Masters of Science in Electrical and Computer Engineering
* Auburn University, Auburn, AL. GPA: 3.9. May 2021
* Bachelors of Science in Computer Engineering
* The University of Texas at Dallas, Richardson, TX. GPA: 3.59. May 2019
Technical Skills
----------------
## Technical Skills
* Programing Languages: C, Python, Rust, Java
* Operating Systems: Linux, Windows
* Version Control: Git, SVN
Work Experience
---------------
## Work Experience
Blue Canyon Technologies - Flight Software Engineer - May 2021 to Present
* Developed flight software for small satellite missions
* Developed flight software for multiple small satellite missions across the BCT product line range
* Collaborated with mission operations to improve ground station capabilities
* Improved test infrastructure and scripting
* Supported the summer internship program as a mentor
Auburn University - Graduate Research and Teaching Assistant - August 2019 to May 2021
* Command and Data Handling (CDHS) team lead for a cube satellite project
+21
View File
@@ -0,0 +1,21 @@
# Motion Detector
A project made for Auburn ELEC 7450: Digtal Image Processing. The source code can be found on my
[GitHub](https://github.com/joeyahines/motion_detector)
## Goal
The goal of this project was to detect motion on a video stream from a [VideoForLinux](https://en.wikipedia.org/wiki/Video4Linux) source.
The algorithm can also be tested by loading in individual frames.
## Implementation
The project was written in C and VideoForLinux for grabbing image data and [SDL](https://www.libsdl.org/)
for rendering the video output. A background model is built by implementing a moving average of the image.
In addition to this, a motion mask is implemented to desensitise the algorithm from background motion objects.
Webcam output w/ motion highlighted:
![motion capture](https://github.com/joeyahines/motion_detector/blob/master/docs/final_report/motion.png?&raw=true)
Motion detection layer:
![motion detection layer](https://github.com/joeyahines/motion_detector/blob/master/docs/final_report/motion_image.png?raw=true)
@@ -1,5 +1,34 @@
This Website
============
# This Website (V3)
This is the 3rd iteration of this website. The 1st iteration was a simple HTML page built with bootstrap
that looked similar to the current design. The 2nd iteration moved to Rust and the Rocket framework and
was more dynamic allowing for RST pages to be rendered to html. This latest iteration uses Axum and Markdown
rendered to HTML for the dynamic content.
## Moving away from Rocket
Rocket is a great framework and will probably be the Rust goto. However, it is very complex and comes
with a lot of bells and whistles I don't need. Its also in active development which meant it became very
hard to update the site. Everytime I wanted to add a new feature I would go to update Rocket and have something
break.
I originally tried Warp, which I have used for some other projects. While I like it mostly, I find it very
hard to move past the basic examples. And when you run into issues with it, the compiler loves to spit out
very esoteric errors that are a pain to debug.
I'm also a low level developer. I like working at lower levels of interfaces. Axum is pretty high level
in the grand scheme of things, but it doesn't seem overly opinionated in its design. Axum has its own issues
and I doubt this will be the last time I switch the framework...
## Moving away from RST
I lied, in the last updated for this site I said how much I loved RST. After using more Markdown for note-taking
and for some documentation, I realized I like it more. I always decided to not write my own parse for it.
Rust has some good libraries that render MD to HTML.
# This Website (V2)
> NOTE: This is the old version of this page for the second version of this site. It's here for archival purposes.
This was originally written in RST and has been converted to MD for v3.
## This Website
This is the 2nd version of my personal website, the first version was very similar to this but written in plain HTML
using Bootstrap. I was never very happy with how it looked and it being raw HTML limited what I could do with it. To
improve it, I set out with a few goals:
@@ -10,19 +39,15 @@ improve it, I set out with a few goals:
* Improve aesthetics
* Ensure mobile version also looks good
Picking Rust and Rocket
-----------------------
As I am not much of a UI person, the website update was put on the back burner for sometime. The old site was "good
### Picking Rust and Rocket
As I am not much of a UI person, the website update was put on the back burner for sometime. The old site was "good
enough." I originally considered doing it in Python and using Django. But that fails the criteria of being easily
deployable. In early 2020, I began learning Rust out of curiosity and the need to use it for research.
I decided to tackle the website backend in Rust as a learning exercise. I went with the `Rocket`_ framework. It
deployable. In early 2020, I began learning Rust out of curiosity and the need to use it for research.
I decided to tackle the website backend in Rust as a learning exercise. I went with the Rocket framework. It
seemed to suit my needs and supported Tera templates. Tera templates are very similar to Django's templates that I
had already had experience in.
.. _Rocket: https://rocket.rs/
Easily Editable
---------------
### Easily Editable
As the style of the site is a simplistic linux terminal, I decided it would be nice to have the longer pages be in
raw reStructuredText. This fits the aesthetic of the site well and unlike HTML files, they are raw text and are easy to
write and read while editing them. RST files can also easily be built into PDFs, which is great for generating a resume.
@@ -32,8 +57,7 @@ the Rust backend looks for all pages and lists them. To control ordering, I impl
character of a file name is its rank. For example, my resume is in a file called 1resume.rst. This gives it rank of
1 so it shows up on the main page before other links.
Improving Aesthetics
--------------------
### Improving Aesthetics
Like stated earlier, I am no UI designer. The terminal style meant I could put very little effort into the design of the
actual website. Somehow in version one, I still managed to mess that up. This was mainly due to hacking together
bootstrap to give me something that looked like a terminal. This time, I dumped Bootstrap and wrote my own CSS. I should
@@ -1,33 +0,0 @@
Motion Detector
===============
A project made for Auburn ELEC 7450: Digtal Image Processing. The source code can be found on my `Github`_
.. _GitHub: https://github.com/joeyahines/motion_detector
Goal
++++
The goal of this project was to detect motion on a video stream from a `VideoForLinux`_ source. The algorithm
can also be tested by loading in individual frames.
.. _VideoForLinux: https://en.wikipedia.org/wiki/Video4Linux
Implementation
++++++++++++++
The project was written in C and VideoForLinux for grabbing image data and `SDL`_ for rendering the video
output. A background model is built by implementing a moving average of the image. In addition to this,
a motion mask is implemented to desensitise the algorithm from background motion objects.
.. _SDL: https://www.libsdl.org/
Webcam output w/ motion highlighted:
.. image:: https://github.com/joeyahines/motion_detector/blob/master/docs/final_report/motion.png?&raw=true
:width: 60%
:height: auto
Motion detection layer:
.. image:: https://github.com/joeyahines/motion_detector/blob/master/docs/final_report/motion_image.png?raw=true
:width: 60%
:height: auto
+2 -2
View File
@@ -6,7 +6,7 @@
}
.text {
font-family: "Ubuntu Mono", monospace;
font-family: "Hack", monospace;
color: whitesmoke;
}
@@ -15,7 +15,7 @@
}
.heading {
font-family: "Ubuntu Mono", monospace;
font-family: "Hack", monospace;
color: limegreen;
}