My Tech Stack

Notepad and a Web Browser

I chose to focus web development because of the accessibility (all you need is notepad), and how I could see use for it compared to my life in music. I've used this tech stack in the production of dozens of Applications.

A Man on the Horse and the horse has its face right on the screen of a desktop
"I believe I can see myself in this"

Launguages

  • JavaScript:I consider myself a JavaScript expert... and then they release a new language feature (☺). Some of it is really cool. I'm often worried about using the newest features on front-facing public applications, because of the lag of adoption on older devices. I flex my JS harder in administrative sections, and login dashboards. Typescript could be a solution to this, as its type information allows for the transpiling down to any arbitrary target of support you desire; transpiling is just not available to vanilla JS, due to its lack of type information
  • CSS: I try to put as much of the tranformation and animation into CSS as I can, because the browser can put what it can onto the GPU.
  • HTML: Recently, in order to make a shorthand html editor, I dove very deeply into the vast array of tags available in HTML. The dialog tag! And the details tag! It's super awesome that these things are afforded to us in HTML.
  • php: I chose php as my server language because of the sentence: 'If they discontinued support for php, the web would shut down'. Php seemed safe because of its indelibility.
  • HTACCESS: My dev server is XAMPP, so learning HTACCESS was a natural progression.
  • mySQL:I have dove deep into mySQL, including a lot of Meta-Coding of mySQL.
  • SQLite:I've built multiple applications with SQLite and love it for many reasons. The greatest of which is the ability to easily copy and move around the database files

Other Tech

  • WebDev Suite:
    A group of tools used for the production of web applications.
    • VCR.js: A front-end application framework. Manages application state. Features nested applications.
    • Site Generator: A program to configure and generate the file-tree of complete, correct and performant websites. This with VCR.js answers many similar problems as Angular.
    • Server Manager: A precursor to the Site Generator, the Server Manager can place files, edit or remove them from the server. It also features an application rendering engine, which allowed for the easy and flexible management and development of applications using VCR.js.
    • Ready Made Form (Database Manager): This is an ORM. It was extremely difficult to create. It took 3 years. It features a type-system, that is connected to a database editor. Once a table is created, the interface for interacting with the table is rendered at a click of button (meta-coding the MYSQL and php necessary for the basic CRUD interface).

See some Applications I've produced with this tech stack.

Web APIs

Some of the APIs I've Implemented

  • Google Maps:I've used the Google Maps API in several different projects, creating several different tools. Far deeper than just embedding a map.
  • Google Recaptcha:I've implemented Google Recaptcha multiple times.
  • Twillio:An easy API for sending and recieving automated texts.
  • E-Commerce:
    Let's accept some credit cards!
    • PayPal
    • Stripe (My Favorite)
    • Braintree
  • PriceCharting.com:A small API for checkign up-to-date prices on video games.
  • Ship Station:A shipping API. Posting orers with contents, sizes and destinations. Deeper than just hooking it to a paypal, I've had to post orders directly due to strange packaging requirements.

Honorable Mention

  • C++:C++ was actually the first language I learned, way back in middle school. Music took me away from diving any further into it. I came back into computer programming through C++, where I used it in the beginning of my number theory research .
  • Windows MSDN:I've written a few small programs using Windows OS calls. Mostly things with CreateProcess. Web Dev Suite uses a windows program to warm up my server, launch a hub, and launches a thread to monitor a folder on my machine for files. A long time ago, I wrote a progam to take a folder of files, and launch the programs needed to print off pdfs of them (for mystudents). The best factoring program I've written could factor any 64 bit number on an old laptop.
  • BASIC:I've ventured into BASIC just a tad, through writing procedures for OpenOffice Calc (an open source alternative to excel).
  • Haskel:I've written a small amount of Haskel. Mostly for number theory research.

My Tech Portfolio

A in-depth breakdown of how all of this fits together can be found in my Tech Portfolio. Check it out! It was fun to make.

A faux diagram for bringing a UI into reality.
"The man with the plan"

Jump Around the Site

Music
Math
Software

(These buttons will take you to new sections)