My name is Joe Hirschfeld. I'm about to get married, so in a few weeks my name will be Joseph Hirschfeld-Patrick. This is my website. I used to not have anything here, but then I realized that I really should have something here as the homepage of who I am. I like fast and efficient computer projects that just work, and I decided my website should follow the same methodology. Everyone should have somewhere to tell the world who they are, so here is mine.

Here is my resume. I am looking for full-time employment after May 2019. I have a wide range of experience, from embedded development and circuit design all the way to Kubernetes cluster management and high performance computing. When I work I want to make something that helps the world function better. I enjoy embedded and low-level development, networking, efficient computing, and complex data storage.

Contacting me

If you want to get in touch with me, you can email me through joe @ this domain. If for some reason you want to encrypt whatever you are going to send me, I use Keybase. I am also on Telegram, and will respond over Google Hangouts - its just my email.

Links to stuff

github.com/ichbinjoe - My Github
github.com/parallelblock - ParallelBlock LLC's Github, my development company
linkedin.com/in/ichbinjoe - My LinkedIn page: it basically says what I say here
ucrobotics.gitlab.io - University of Cincinnati Robotics Team - I'm the Vice President
keybase.io/ibj - My Keybase
github.com/ichbinjoe.keys - My SSH keys in case you need them for some reason

Places I have worked

Xetron Corporation, Northrop Grumman Corporation in Cincinnati, Ohio

I worked at Xetron on co-op primarily as an embedded engineer from January to May of 2018. I wrote embedded firmware and drivers which efficiently used the ARM Cortex-M4 and the associated peripherals in a way which was power efficient yet was able to achieve the goal of the system with high performance. I was contributed to embedded designs, and was in the design approval group for my project. Before this co-op, I had minimal embedded experience and learned all of what I needed on the job. During my time, I exceeded the expectations of even a full time employee in both my work quantity and quality.

Rockwell Automation in Mayfield Heights, Ohio

I worked at Rockwell Automation on co-op as a software engineer from May 2016 to December 2016 and from May 2017 to August 2017. I performed significant work on multiple features in Studio 5000 during my time at Rockwell, and also provided extensive support for the devops team of Studio 5000. On devops, I helped manage a Windows VM cluster of 15 physical computers and 60 virtual machines. I helped with the automation of this cluster as well as notification and visualization technologies for use by the developers. When on feature teams, I worked on a codebase that was millions of lines of C++ on sections of code that were older than I was. I added both new features as well as fixed anomalies which were deemed non-trivial by other staff.

Cincinnati Children's Hospital Medical Center, CAGE Department in Cincinnati, Ohio

706

I worked part time at Cincinnati Children's Hospital from January to May of 2017. During my time, I converted a Perl script which calculated covariances of a set of DNA sequence into a multi threaded C++ program. The C++ effectively used all cores for computation which it was given and as a result had four times faster execution and used 1/10th of the memory of the previous Perl script. The research publications which rely on my work have been submitted for publication by Alexey Porollo.

Some other stuff I've done

Minecraft stuff

I do a lot of stuff for Minecraft servers. When I was 15 I started developing software for Minecraft with the goal of modifying the behavior of the game. Since that time, I've taken it professionally, writing lots of different software for lots of different facets of Minecraft. These include some of the following:

I also help manage the only known Minecraft network to run powered by Kubernetes (that I know of, at least). I am generally proud of my work within Minecraft - I have been able to work on a lot of first-ever projects that may not have gotten off the ground had I not been on the team working on it.

Homelab stuff

I have a bunch of servers networked up together on the same network. I really like my homelab, and because of it I am able to run a bunch of applications locally in my house, including this website. While this is generally a bad idea, its a really cool experiment in virutalization, software defined networking, and just a mini-testtube of how things work out on the Internet. I made a diagram of my home network below:

Internet
Internet
DOCSIS 3.0 Modem
Spectrum
[Not supported by viewer]
VPN Provider
VPN Provider
uctinc.net peers
uctinc.net peers
Firewall / NAT / Routing
Firewall / NAT / Routing
DHCP/DNS Servers
DHCP/DNS Servers
Remote Access OpenVPN Server
<div>Remote Access OpenVPN Server<br></div>
Tinc Client
Tinc Client
pfsense.ibj.io
pfsense.ibj.io
switch.ibj.io
switch.ibj.io
VLAN 1 - Normal
VLAN 1 - Normal
VLAN 10 -VPN Gateway
VLAN 10 -VPN Gateway
VLAN 30 - uctinc.net
VLAN 30 - uctinc.net
upstairs-switch.ibj.io
upstairs-switch.ibj.io
desktop.ibj.io
desktop.ibj.io
xps.ibj.io
xps.ibj.io
freenas.ibj.io -
NFS Shares
[Not supported by viewer]
t0.ibj.io - Application Server 0
t0.ibj.io - Application Server 0
t1.ibj.io - Application Server 1
t1.ibj.io - Application Server 1
nuc.ibj.io - Application Server 2, LDAP
nuc.ibj.io - Application Server 2, LDAP
Proxmox Cluster
Proxmox Cluster
WiFi Access Point
WiFi Access Point
Wireless Clients
Wireless Clients
You are here
You are here
As seen in the diagram, I have a pfSense server, a FreeNAS R510 loaded with 5x10TB NAS grade hard drives, two T120 "application" tower servers, and one Intel NUC which contains my network LDAP. t0, t1, and nuc are in a 3-server Proxmox virtualization cluster. This allows me to run many different applications in both QEMU and LXC virtualization. Each VM or container sits on one of three VLANs, determining which virtualized network the network interface sits on. VLAN 1 routes normally to the Internet, VLAN 10 routes first through a VPN then to the Internet, and VLAN 30 only routes to uctinc.net peers. This homelab has helped me learn a ton about cloud hosting, virtualization, networking, as well as many other aspects of modern computing.

UC Robotics

I am the vice president of the UC Robotics Team. Each year, the UC Robotics Team competes in the International Ground Vehicle Competition (IGVC). In IGVC 2018, UC placed 6th in the auto-navigation portion of the competition. For the 2018-2019 season, I am leading software development for the robot. The UC Robotics Team website is a great place to see more about the team during the year.

uctinc.net

Through my love of computers and networking, I have started a public Tinc mesh network. I am looking for peers! If this is something you may be interested in, you can check it out at uctinc.net.

About this website

This page is a single HTML document. All supporting documents (CSS, Images) have been in-lined into the document, and as a result your browser makes exactly one HTTP call to my web server, and the same exact file will render on any web-browser that supports SVGs! You can check out the code for this website here.