Compare commits

..

No commits in common. "4829e36a06f1dcf9bcb304e2782f3933acaca3b6" and "0812e2c80310fb97ed2b1356e75cbcaf4e24b779" have entirely different histories.

5 changed files with 54 additions and 162 deletions

View file

@ -1,28 +1,15 @@
<div> <div>
<h1 style="margin-bottom: 0px;">Blog</h1> <h1 style="margin-bottom: 0px;">Blog</h1>
<p style="margin-top: 0px;">A collection of my thoughts, some of them may be interesting</p> <p style="margin-top: 0px;">A collection of my thoughts, some of them may be interesting</p>
<p><a href="./blogs/fpga-fun.html">[ FPGA Fun (CHIP-8 in hardware) ]</a> - April 20th, 2024</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/fpga-fun.html">[ FPGA Fun (CHIP-8 in hardware) ]</a></h3> <p><a href="./blogs/nws-postmortem-11-8-23.html">[ NWS Postmortem 11/08/23 ]</a> - November 16th, 2023</p>
<p style="margin-top: 0px;">April 20th, 2024</p> <p><a href="./blogs/side-project-10-20-23.html">[ Side Project Log 10/20/23 ]</a> - October 20th, 2023</p>
<p><a href="./blogs/side-project-8-15-23.html">[ Side Project Log 8/15/23 ]</a> - August 15th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/nws-postmortem-11-8-23.html">[ NWS Postmortem 11/08/23 ]</a></h3> <p><a href="./blogs/side-project-8-8-23.html">[ Side Project Log 8/08/23 ]</a> - August 8th, 2023</p>
<p style="margin-top: 0px;">November 16th, 2023</p> <p><a href="./blogs/side-project-7-12-23.html">[ Side Project Log 7/12/23 ]</a> - July 12th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-10-20-23.html">[ Side Project Log 10/20/23 ]</a></h3> <p><a href="./blogs/side-project-4-29-23.html">[ Side Project Log 4/29/23 ]</a> - April 29th, 2023</p>
<p style="margin-top: 0px;">October 20th, 2023</p> <p><a href="./blogs/side-project-3-27-23.html">[ Side Project Log 3/27/23 ]</a> - March 27th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-8-15-23.html">[ Side Project Log 8/15/23 ]</a></h3> <p><a href="./blogs/side-project-3-20-23.html">[ Side Project Log 3/20/23 ]</a> - March 20th, 2023</p>
<p style="margin-top: 0px;">August 15th, 2023</p> <p><a href="./blogs/spring-break-2023.html">[ Spring Break 2023 ]</a> - January 20th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-8-8-23.html">[ Side Project Log 8/08/23 ]</a></h3> <p><a href="./blogs/doing-c-assignments-in-csharp.html">[ Doing C assignments in C# ]</a> - March 18th, 2022</p>
<p style="margin-top: 0px;">August 8th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-7-12-23.html">[ Side Project Log 7/12/23 ]</a></h3>
<p style="margin-top: 0px;">July 12th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-4-29-23.html">[ Side Project Log 4/29/23 ]</a></h3>
<p style="margin-top: 0px;">April 29th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-3-27-23.html">[ Side Project Log 3/27/23 ]</a></h3>
<p style="margin-top: 0px;">March 27th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/side-project-3-20-23.html">[ Side Project Log 3/20/23 ]</a></h3>
<p style="margin-top: 0px;">March 20th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/spring-break-2023.html">[ Spring Break 2023 ]</a></h3>
<p style="margin-top: 0px;">January 20th, 2023</p>
<h3 style="margin-bottom: 0px;"><a href="./blogs/doing-c-assignments-in-csharp.html">[ Doing C assignments in C# ]</a></h3>
<p style="margin-top: 0px;">March 18th, 2022</p>
</div> </div>

View file

@ -74,39 +74,4 @@
<td>Texas Union Underground</td> <td>Texas Union Underground</td>
</tr> </tr>
</table> </table>
<!--
<h2>In the news</h2>
<p>
<a href="https://www.kxan.com/video/kxan-viewers-react-to-highland-lanes-closing/9431847/">[ Video of a strike I threw on the news ]</a>
</p>
<p>
<a href="https://www.kxan.com/video/highland-lanes-will-remain-on-burnet-a-little-longer-than-anticipated/9888905/">[ Same bowling video played again! ]</a>
</p>
<p>
<a href="https://www.youtube.com/watch?v=v9qSFdAjmFQ">[ Coverage of transit rally I spoke at (the news cut my speaking part) ]</a>
</p>
-->
<h2>PGP Key</h2>
<div style="background-color: #1E1E2E; color: #FFFFFF; padding: 10px; overflow: scroll;">
<p>
-----BEGIN PGP PUBLIC KEY BLOCK-----
<br>
mDMEZ8J/bhYJKwYBBAHaRw8BAQdAGaG9EehhWlKQQXP42W3Uvv6qkyo1NPzYASkR
vx4m0Y20K05pY2hvbGFzIE9ybG93c2t5IDxuaWNrb3Jsb3dAbmlja29ybG93LmNv
bT6IkwQTFgoAOxYhBPFsfG56tNFpdTscKKnzukwKp6cLBQJnwn9uAhsDBQsJCAcC
AiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEKnzukwKp6cLrHYBAOFT953mpAY3yVE9
tvcA4sdpkmWw/OIrsd24vW74ykWyAQCvtqwLfsVvZxXRzvWOau3P+IrnYP5UGXJj
snieP3vXDLg4BGfCf24SCisGAQQBl1UBBQEBB0BOiEhnLnikOTCENkGfgmIRdswh
0qzryW9PMq5BN24BaAMBCAeIeAQYFgoAIBYhBPFsfG56tNFpdTscKKnzukwKp6cL
BQJnwn9uAhsMAAoJEKnzukwKp6cLyF8A/i46c9EPhzwlvkgLRJzsuHAoWX9DcCLR
JH39kfjZ5ecTAP4kQ+aw/oD3lhaDiIrEo1MobVDzoCM5wV39ci6klBsVCw==
=p51G
<br>
-----END PGP PUBLIC KEY BLOCK-----
</p>
</div>
</div> </div>

View file

@ -16,8 +16,7 @@
<p> <p>
I'm a computer science student at the University of Texas at Austin. I'm particularly I'm a computer science student at the University of Texas at Austin. I'm particularly
interested in computer architecture and systems programming, with a focus on interested in infrastructure, distributed systems, and systems programming.
performance-critical applications.
</p> </p>
<p> <p>
@ -28,10 +27,6 @@
<p> <p>
Outside of computers, I enjoy biking and weightlifting. I'm also a public transit enthusiast Outside of computers, I enjoy biking and weightlifting. I'm also a public transit enthusiast
and I take pictures of trains that I see and train stations that I visit. I also like to and I take pictures of trains that I see, especially rare or special ones.
play poker. I'm not particularly good except for
<a href="https://www.linkedin.com/posts/susquehanna-international-group_after-two-full-days-of-competition-in-the-ugcPost-7227726250465730560-0f8k">
one tournament run I had, where I came in 5th out of roughly 150.
</a>
</p> </p>
</div> </div>

View file

@ -1,31 +1,6 @@
<div> <div>
<h1 style="margin-bottom: 0px;">Projects</h1> <h1 style="margin-bottom: 0px;">Projects</h1>
<div>
<h2>Project Warminster: yayacemu, yacemu, yagbemu</h2>
<p><i>C, C++, and SystemVerilog</i></p>
<p>
<a href="https://git.nickorlow.com/nickorlow/yacemu">[ Git Repo: yacemu ]</a>
<a href="https://git.nickorlow.com/nickorlow/yayacemu">[ Git Repo: yayacemu ]</a>
</p>
<p>
<a href="https://files.nickorlow.com/videos/warminster/yayacemu_tetris.mp4">[ Tetris Demo: yayacemu ]</a>
<a href="https://files.nickorlow.com/videos/warminster/yayacemu_bowling.mp4">[ Bowling Demo: yayacemu ]</a>
</p>
<p>
Project Warminster is a collection of 3 subprojects:
<ul>
<li><b>yacemu (Yet Another Chip Eight Emulator):</b> A CHIP-8 emulator written in C</li>
<li><b>yayacemu (Yet Another Yet Another Chip Eight Emulator):</b> A CHIP-8 hardware implementation in SystemVerilog (that works on real hardware)</li>
<li><b>yagbemu (Yet Another Gameboy Emulator):</b> A Gameboy hardware implementation in SystemVerilog (WIP, not public yet)</li>
</ul>
This project taught me a lot of practical hands-on things about Computer Architecture. Designing the hardware driver for the ST7920 LED display was
the most challenging part. Debugging hardware adds a lot of complications, you don't get breakpoints or a nice debugger like gdb. Additionally,
interference, faulty wires, timing, and debouncing all throw wrenches into the mix.
</p>
</div>
<div> <div>
<h2>Nick Web Services (NWS)</h2> <h2>Nick Web Services (NWS)</h2>
<p><i>C#, Kubernetes, Rancher, and HAProxy</i></p> <p><i>C#, Kubernetes, Rancher, and HAProxy</i></p>
@ -33,77 +8,49 @@
<p> <p>
Nick Web Services is a cloud infrastructure provider service that I created and run. Nick Web Services is a cloud infrastructure provider service that I created and run.
It allows people to deploy containerized versions of their web apps across our multiple It allows people to deploy containerized versions of their web apps across our multiple
points of presence. It provides geo-distributed high availability by default with no extra configuration servers. It provides geo-distributed high availability by default with no extra configuration
needed from users hosting their webapp with us. needed from users hosting their webapp with us.
</p> </p>
<p> <p>
Hardware-wise we use old Dell PowerEdge servers running Proxmox. We then have VMs running Hardware-wise we use old Dell PowerEdge servers running Proxmox. We then have VMs running
in Proxmox that run Kubernetes clusters. At the peak I had 4 points of presence: Austin, Hill Country, in Proxmox that run Kubernetes clusters. We have 4 clusters currently: Austin, Hill Country,
Schuylkill, and Philadelphia. The deployments are managed through GitOps with Rancher Fleet. Unfortunately, Schuylkill, and Philadelphia. The deployments are managed through GitOps with Rancher Fleet.
we only have one point of presence at the moment due to a number of factors, however that should
change this fall.
</p>
<p>
NWS maintained 100% uptime for the period from 11/8/2023 to 11/28/2024 (over a year!).
</p>
<p>
The website you're reading this on right now is hosted on NWS!
</p> </p>
</div> </div>
<div> <div>
<h2>Anthracite Web Server</h2> <h2>Anthracite Web Server</h2>
<p><i>C++, CMake, and Python</i></p> <p><i>C++ &amp; Python</i></p>
<a href="https://git.nickorlow.com/nickorlow/anthracite">[ Git Repo ]</a> <a href="https://git.nickorlow.com/nickorlow/anthracite">[ Git Repo ]</a>
<p> <p>
Anthracite is a web server written for Linux in C++. It currently supports both HTTP/1.0 and HTTP/1.1 and TLS. Anthracite is a simple web server written in C++. It currently supports HTTP/1.0 and HTTP/1.1.
It heavily uses a dependency injection design pattern to allow for a high degree of customization. The benchmarking tools for Anthracite are written in Python. Anthracite is optimized for performance
It currently uses an event-loop threading model and uses the epoll() system call to efficiently detect and rivals the performance of NGINX &amp; Apache in our testing. It uses a thread-per-connection
events. Previously, it used a connection per thread model. architecture, allowing it to process many requests in paralell. Additionally, it caches all
</p> files that it serves in memory to ensure that added latency from disk reads do not slow down requests.
<p> Through writing Anthracite, I have learned to use different C++ profilers as well as some general
Anthracite's HTTP request parser is able to parse roughly 27 million requests per second on my laptop, compared optimization techniques for C++.
to Boost's HTTP parser which parsed roughly 1 million per second. I'd imagine a lot of this is due to missing
functionality in Anthracite's HTTP parser, but it's enough to get by! While I haven't run extensive end-to-end
tests on the newest version of Anthracite, in the limited tests I've done during development, it's been able to
handle ~300k RPS on my laptop, a comparable number to NGINX.
</p>
<p>
The website you're reading this on right now is hosted with Anthracite!
</p> </p>
</div> </div>
<div> <div>
<h2>RAZZLE</h2> <h2>CavCash</h2>
<p><i>C, ASM, and CMake</i></p> <p><i>C#, Kubernetes, SQL Server, and MongoDB</i></p>
<a href="https://git.nickorlow.com/nickorlow/razzle">[ Git Repo ]</a> <a href="https://cavcash.com">[ Project Website ]</a>
<p> <p>
RAZZLE is a monolithic kernel. Currently, it's very limited and I haven't made a lot of progress on it. CavCash was a company that I founded which built a debit-based payment system similar to
It's currently single-core but supports preemptive timesharing. It has basic I/O interfaces for ps2, PayPal and Venmo. I assembled a 5 person team and took on a technical role in the company,
serial, and vga. It currently has a very limited in-ram filesystem using a proprietary filesystem. writing most of our backend codebase. Our backend used C#, ASP.NET, Microsoft SQL Server,
I'm currently working on adding an ATA driver so I can have programs run on RAZZLE without including and MongoDB. Our infrastructure changed throughout the lifetime of the company, initially
them at build-time. it was on Microsoft Azure using Azure App Service. We then pivoted to AWS using Elastic
</p> Beanstalk. We also ran on Google Cloud Platform using Compute Engine. Finally, we setup our
</div> own servers in-house and managed our deployments with Kubernetes.
<div>
<h2>Open Source Contributions</h2>
<p>
I've made various (minor) open source contributions. I'd say the only one worth anything was the cgroups2 support in
nginx-ingress.
</p> </p>
<p> <p>
<a href="https://github.com/kubernetes/ingress-nginx/pull/9816">[ kubernetes nginx-ingress: cgroups2 configuration support ]</a> We launched in 2021, with the ability to send money between real banks using the ACH network.
</p> We ended up processing a few hundred dollars in transaction volume before ultimately shutting
<p> down due to a lack of funding. The website is now back up and everything works as it did in
<a href="https://github.com/argoproj/argo-cd/pull/13060">[ argo cd: fix styling issue on dashboard ]</a> 2021, except adding funds from a bank account is not supported.
</p>
<p>
<a href="https://github.com/endeavouros-team/endeavouros-i3wm-setup/pull/90">[ endeavouros: update default i3 config to work with numpad keys ]</a>
</p>
<p>
<a href="https://github.com/trivago/hamara/pull/15">[ trivago hamara: documentation update ]</a>
</p> </p>
</div> </div>
@ -121,23 +68,24 @@
</div> </div>
<div> <div>
<h2>CavCash</h2> <h2>Olney</h2>
<p><i>C#, Kubernetes, SQL Server, and MongoDB</i></p> <p><i>Rust, Postgres, Svelte, TypeScript, and OpenAI's API</i></p>
<!--<a href="https://cavcash.com">[ Project Website ]</a>--> <a href="https://github.com/nickorlow/olney">[ GitHub Repo ]</a>
<p> <p>
CavCash was a company that I founded which built a debit-based payment system similar to Olney is a job application tracker that aims to be better than using a <a href="https://trello.com">Trello</a> board or a spreadsheet.
PayPal and Venmo. I assembled a 5 person team and took on a technical role in the company, It allows users to create jobs and log custom events such as interviews, assessments, and other communication.
writing most of our backend codebase. Our backend used C#, ASP.NET, Microsoft SQL Server,
and MongoDB. Our infrastructure changed throughout the lifetime of the company, initially
it was on Microsoft Azure using Azure App Service. We then pivoted to AWS using Elastic
Beanstalk. We also ran on Google Cloud Platform using Compute Engine. Finally, we setup our
own servers in-house and managed our deployments with Kubernetes.
</p> </p>
</div>
<div>
<h2>SEPTA Site</h2>
<p><i>Svelte, TypeScript</i></p>
<a href="https://github.com/nickorlow/septa-site">[ GitHub Repo ]</a>
<p> <p>
We launched in 2021, with the ability to send money between real banks using the ACH network. SEPTA Site is a website that I created which can get your trip history, SEPTA Key balance,
We ended up processing a few hundred dollars in transaction volume before ultimately shutting and ridership statistics for your SEPTA Key. It utilizes SEPTA's new metro wayfinding instead
down due to a lack of funding. <!--The website is now back up and everything works as it did in of their current wayfinding. I wrote the project to get a basic introduction to Svelte and
2021, except adding funds from a bank account is not supported.--> so that I could try to improve upon the UX of SEPTA's current website and mobile app.
</p> </p>
</div> </div>

View file

@ -2,7 +2,6 @@
<title>Nicholas Orlowsky</title> <title>Nicholas Orlowsky</title>
<link rel="stylesheet" href="/style.css"> <link rel="stylesheet" href="/style.css">
<link rel="icon" type="image/x-icon" href="/favicon.ico"> <link rel="icon" type="image/x-icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head> </head>
<body> <body>
<nav> <nav>
@ -13,14 +12,12 @@
<hr/> <hr/>
</nav> </nav>
<div style="padding: 10px;">
{{ body_area }} {{ body_area }}
</div>
<footer> <footer>
<hr /> <hr />
<p style="margin-bottom: 0px;">Copyright &#169; Nicholas Orlowsky 2025</p> <p style="margin-bottom: 0px;">Copyright &#169; Nicholas Orlowsky 2025</p>
<p style="margin-top: 0px; margin-bottom: 0px;">Hosting provided by <a href="https://nws.nickorlow.com">NWS</a></p> <p style="margin-top: 0px; margin-bottom: 0px;">Hosting provided by <a href="https://nws.nickorlow.com">NWS</a></p>
<p style="margin-top: 0px;">Powered by <a href="https://git.nickorlow.com/nickorlow/anthracite">Anthracite Web Server</a></p> <p style="margin-top: 0px;">Powered by <a href="https://git.nickorlow.com/nickorlow/anthracite">Anthracite Web Server</a> 0.3.0</p>
</footer> </footer>
</body> </body>