1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
---
title: Home
lang: en_US
---
Hi, I'm Matthew Wozniak. Currently a first-year Computer Engineering student at
the University of Michigan, I am interested in firmware engineering, CPU
architecture, and reverse engineering.
I can be contacted by email at `me (at) woz.blue` or `woz (at) umich.edu`.
### Some things I've done
#### Source Engine plugin development and reverse engineering
I've used Ghidra, Cheat Engine, and a source code
leak to interact with and learn about how the Source Engine works. I've a few
contributed a few features to to
[Source Speedrun Tools](https://mikes.software/sst) and I wrote my own demo
renderer in [rendertool](https://git.woz.blue/rt). I learnt a lot about
assembly and what compiled code actually looks like and how it works.
#### Homelabbing
I currently have a fairly beefing computer running a bunch of stuff on
[PVE](https://www.proxmox.com/en/products/proxmox-virtual-environment/overview),
like a NAS, media server, Windows VMs for gaming/Windows specific development,
etc. I also run my own e-mail server on a Hetzner VPS, which also hosts
everything else on this site.
#### Custom keyboard
I used [KiCAD](https://kicad.org) to create a PCB layout that supports a RP2040
daughterboard to create a custom keyboard for
[Plover](https://www.openstenoproject.org/plover/).
**Languages:** C, C++, Zig, Rust, Python, Julia (a bit)
<details>
<summary>OpenPGP Public Key</summary>
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEZ4nenxYJKwYBBAHaRw8BAQdA6iJDytzWhFTvD5u1hIOqbfUKcYH+Eg4YevBK
Cv5cKUm0HU1hdHRoZXcgV296bmlhayA8bWVAd296LmJsdWU+iJMEExYKADsWIQT8
oW1+TnSOK6gInzwC9pNgmsedqwUCZ4nenwIbAwULCQgHAgIiAgYVCgkICwIEFgID
AQIeBwIXgAAKCRAC9pNgmsedq9RwAQDSfjnpVwH1TRBAGCTJJ9UZSlTwvOo3BKmB
xbZ0zDN5gQEAlM4F2oCChU9ehGi4fWgptqA+15qB6r8fAF6TgKh8PQm4OARnid6f
EgorBgEEAZdVAQUBAQdAjVsdjY824MDxcuIP/HzIINh/10wzJJF+t8LgzmVEFBsD
AQgHiHgEGBYKACAWIQT8oW1+TnSOK6gInzwC9pNgmsedqwUCZ4nenwIbDAAKCRAC
9pNgmsedqxZzAP0e7vkfJXWgUWv0MD/Xu5C4mxmORriXSDAQQAQB1Yoo0wD+IHC6
4E631zZIrcjFNIJttq5EGdvAyYhq7uUFB6GGJAy4MwRnid6/FgkrBgEEAdpHDwEB
B0AsW/Azy6DL3RGkDqZjpZb9to7sNPSUbxbtn+DQS2CW04h4BBgWCgAgFiEE/KFt
fk50jiuoCJ88AvaTYJrHnasFAmeJ3r8CGyAACgkQAvaTYJrHnavCcwEAua/iu/je
7Sx5BAINyGcvWcRYWEhKGcVz6FN4trqX75gA/2DOe6ifvxP5f3JWKXKDybF0WEPt
7pE2CnNkKCxZj/cJ
=EADe
-----END PGP PUBLIC KEY BLOCK-----
```
</details>
|