This website would not be possible without a large assortment of technologies.
All of the code that handles, identifies, and responds to the requests sent from your web browser
as well as code that performs periodic or asynchronous background processing to maintain this site
runs on top of Google App Engine, which is a part of the larger Google Cloud Platform. While, as a Googler,
I am obviously biased, I highly recommend you check out the Google Cloud Platform and Google App Engine; using
App Engine both simplifies the process of running a website and, at the same time, makes the website more robust and fault tolerant.
The code that runs on the server that your browser is talking to is written in the Python programming language. Python is a language
that is both easy to use -- the code reads much more similarly to English than other languages, so much so that I have
ocassionally joked that Python is my pseudo-coding language of choice -- and also extremely powerful. Because
Python is interpreted (meaning that the code is evaluated by a program called an interpreter rather than translated
to binary, first, and then run by the machine), one can see the results of a change much more quickly
than with a compiled language and thus it is particularly well-suited for quick iteration and prototyping. This quick
turnaround time is why I selected Python for my website.
Jinja2 is a templating engine (think replacement or substition of data in a pre-made template) for Python. Jinja2 was an
obvious choice because it supports auto-escaping, an important security feature, and is very easy to set up within the
App Engine environment. It also has an active developer community, has syntax and capability similar
to Django templates but without other parts of the Django framework that I don't need, among other features.
This website obviously uses all the standard web technologies you'd expect: HTML for the structure of the page,
CSS for the configuration of the presentation, and JavaScript for interactivity. You can, of course, see this
for yourself by using the development tools in your web browser. In addition to the usual web technologies,
this website uses Google's Closure Compiler for minifying and optimizing the included JavaScript
as well as a combination of clean-css and csso to minify the CSS code (the
tooling for this website runs the CSS code through both minifiers and selects whichever output of the two has the smaller file size).
While we're giving credit, the neat HTML/CSS/JS image came from the
Logic Studio website.