website

Website contents
git clone git://git.reagancfischer.dev/website.git
Log | Files | Refs

projects.html (6459B)


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 
      4 <head>
      5   <meta charset="utf-8" />
      6   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      7   <meta name="description" content="Welcome to my alright blog" />
      8   <meta name="author" content="Reagan Fischer" />
      9   <title>Reagan Fischer's Website</title>
     10   <link rel="stylesheet" href="/inter.css" />
     11   <link rel="stylesheet" href="/new.css" />
     12   <link rel="icon" type="image/x-icon" href="/images/win95.png" />
     13   <link rel="apple-touch-icon" href="/images/win95.png" />
     14   <!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>-->
     15   <style>
     16     /* Add CSS for the image */
     17     .cminus {
     18       float: left;
     19       /* Float the image to the left of the text */
     20       margin-right: 20px;
     21       /* Add some margin to separate it from the text */
     22       border: 2px solid #ccc;
     23       /* Add a border around the image */
     24       padding: 5px;
     25       overflow: hidden;
     26       max-width: 20%;
     27 
     28       /* Add padding inside the border */
     29       /* New styles for smaller screens (e.g., max-width: 768px) */
     30       @media only screen and (max-device-width: 768px) {
     31         float: none;
     32         /* Remove float to center the image */
     33         display: block;
     34         /* Display the image as a block element */
     35         margin: 0 auto 20px;
     36         /* Center the image horizontally and add margin for spacing */
     37       }
     38     }
     39   </style>
     40 </head>
     41 
     42 <body>
     43   <header style="padding: 20px 0; text-align: center">
     44     <h1>Reagan's Code Corner</h1>
     45     <nav style="display: inline-block">
     46       <a href="/">Home</a> | <a href="/projects.html">Projects</a> |
     47       <a href="/blog.html">Blog</a> | <a href="/resume.pdf">Resume</a> |
     48       <a href="/contact.html">Contact Me</a> |
     49       <a href="/cat/index.html">Cat</a>
     50     </nav>
     51   </header>
     52 
     53   <main>
     54     <h2>Table of Contents</h2>
     55     <ul>
     56       <li><a href="#cminus">C-Minus Interpreter</a></li>
     57       <li><a href="#net">Mock Networks</a></li>
     58       <li><a href="#editor">Windows API/C++ text editor</a></li>
     59       <li><a href="#website">This Website!</a></li>
     60     </ul>
     61 
     62     <br />
     63 
     64     <h2 id="cminus" name="C Minus">C-Minus Interpreter</h2>
     65     <img src="images/cminus.jpg" alt="C Minus" class="cminus" />
     66     <p>
     67       I'm working on writing a basic interpreter for a subset of C99 I'm
     68       calling C-Minus.
     69     </p>
     70     <p>
     71       The interpreter is being written in C99 and will (hopefully) be
     72       self-hosting. It'll support all C99 features except for:
     73     </p>
     74     <ul>
     75       <li>Inline Assembly</li>
     76       <li>Variable Length Arrays</li>
     77       <li>Complex/Imaginary numbers</li>
     78       <li>Bitfields</li>
     79       <li>Varadic functions (for now)</li>
     80     </ul>
     81     <p>
     82       You can follow my progress at the
     83       <a href="http://git.thespringstechguy.com/reagan/Interpreter">git page</a>
     84       for this project. I'll also post links to progress updates below.
     85     </p>
     86     <ol>
     87       <li>
     88         <a href="projects/cminus/lexer.html">Step 1: Lexing</a>
     89       </li>
     90     </ol>
     91     <h2 id="net" name="net">Mock Networks</h2>
     92     <img src="images/activedirectory.png" alt="Network" />
     93     <p>
     94       I've used the GNS3 network modelling software to experiment with various
     95       network architectures, and have gone as far as to set up a full active
     96       directory domain (pictured here) with multiple users attached.
     97     </p>
     98     <p>
     99       One aspect of active directory domains I'm interested in is properly
    100       integrating them with Linux DNS/LDAP architecture to allow for
    101       successful mixed-system environments.
    102     </p>
    103     <p>
    104       Outside of active directory domains, I've also experimented with setting
    105       up mock DSL ISPs with RADIUS authentication and integrated DNS servers,
    106       along with web CDNs.
    107     </p>
    108     <p>
    109       I plan to update this space with a link to a writeup on one of these
    110       projects soon.
    111     </p>
    112     <h2 id="net" name="net">Win32/C++ Text Editor</h2>
    113     <img src="images/editor.png" alt="Editor" />
    114     <p>
    115       I built a semi-functional text editor using the Windows console API and
    116       C++ for PPSCs CSC161, Computer Science II. This project implemented
    117       various facets of object-orientated design such as polymorphism,
    118       encapsulation, and exception handling.
    119     </p>
    120     <p>
    121       While it's a bit buggy, it's still able to edit files. Designing it was
    122       challenging as many aspects of the windows API are poorly documented,
    123       and the console API specifically is not intended for use as a TUI design
    124       tool, unlike for instance NCurses.
    125     </p>
    126     <p>
    127       The code is available
    128       <a href="https://github.com/F-OS/ComputerScienceII-PPCC-Final/tree/main">here</a>
    129     </p>
    130     <h2 id="website" name="website">This Website!</h2>
    131     <img src="images/website.png" alt="Website" />
    132     <p>
    133       This website was hand-coded by me and is hosted via Nginx on a Virtual
    134       Private Server. Most of the CSS is either my own work or from the NewCSS
    135       framework. I've also installed a git server, an email server, and a
    136       personal VPN.
    137     </p>
    138     <p>
    139       The part of it I'm most proud of is the cat picture finder. Go to
    140       <a href="cat/index.html">cat</a> to get one of 9937 beautiful cat
    141       pictures. The cat pictures are sourced from a Kaggle dataset meant for
    142       AI training. I used multiple python scripts to deduplicate them, move
    143       them into their own folders, clean them up for the web, and properly
    144       number them.
    145     </p>
    146     <br />
    147     <hr />
    148     <i>I'll soon have more projects to showcase, watch this space!</i>
    149   </main>
    150 
    151   <footer>
    152     <hr />
    153     <p style="text-align: center; font-size: 0.75em">
    154       &copy; Copyright 2024. Made with
    155       <a href="https://newcss.net/">love and NewCSS</a> by Reagan Fischer.
    156     </p>
    157     <hr />
    158   </footer>
    159 
    160   <!-- Matomo -->
    161   <script defer>
    162     var _paq = (window._paq = window._paq || []);
    163     /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
    164     _paq.push(["trackPageView"]);
    165     _paq.push(["enableLinkTracking"]);
    166     (function () {
    167       var u = "//matomo.thespringstechguy.com/";
    168       _paq.push(["setTrackerUrl", u + "matomo.php"]);
    169       _paq.push(["setSiteId", "1"]);
    170       var d = document,
    171         g = d.createElement("script"),
    172         s = d.getElementsByTagName("script")[0];
    173       g.async = true;
    174       g.src = u + "matomo.js";
    175       s.parentNode.insertBefore(g, s);
    176     })();
    177   </script>
    178   <!-- End Matomo Code -->
    179 </body>
    180 
    181 </html>