Hi, I'm Andrew Z Allen a freelance software developer living in Denver, Colorado.

  1. Simple inbound HTTP server

    Andrew Z Allen
    ,

    I wanted to show a webpage I've been toying with to a friend today. The project is in Django and I didn't want to take the time to deploy it to a permanent host like heroku. I know it is easy to do that, but I was just feeling lazy. I came up with a cool trick today for doing exactly this. I have a server that I leave on 100% of the time.

    I realized that I could use this server as a simple proxy and forward any web requests that came to a special domain.

    Using ...

    [Read More]
  2. Rock Paper Scissors

    Andrew Z Allen
    ,

    Want to play a game?

    Loading...

    This is a very simple implementation of a Rock Paper Scissors (RPS) game.

    Weighing in at 157 lines of JavaScript and 179 lines of Python, the application tracks previous users play patterns to create a probability distribution of your next throw. Given this probability distribution, the game takes a weighted guess at your next throw and then throws whatever will beat that.

    All source is available at my github.

    [Read More]
  3. The Frontend

    Andrew Z Allen
    ,

    The frontend worked so perfectly into the backend, I wrote about this last time,

    The great thing about this set up is the decoupling it provided. A lot of web apps rerender the whole page from scratch and therefore transmit their markup over and over again to the user. Instead we transmitted our entire package of logic and templates in a single js file. This file, which clocked in at \(\lt 200\,\textrm{kb}\) thanks to Google Clousre Compiler's advanced mode, is hosted on cloudfront which made it super fast.

    On top of using a CDN, every deployment of ...

    [Read More]
  4. The Backend

    Andrew Z Allen
    ,

    Writing any kind of mobile application for B2B requires some central command and control server. For GoSpotCheck, that is the beaver, the hub and spoke of the SpotChecking system.

    Beaver operates as a grails application that is constantly running, managed by Amazon EC2. The service accesses the database and essentially provides a very simple interface for client interaction. All API requests came through in a JSON format and all responses were in kind. The same beaver server also serves the GoSpotCheck homepage/admin panel which prevented the pain that is CORS from entering our lives.

    All requests were atomic, no ...

    [Read More]
  5. Hello World

    Andrew Z Allen
    ,

    I just quit my job, 1 week ago in fact. I've had a lot of time to think about it, and there were some things that didn't go well, but there were some things that really did. I worked for a company called GoSpotCheck and helped them build one of the best systems I have ever had the pleasure to be involved with.

    When I started doing web development, website design was static pages with all content fully loaded. Everything was loaded through a portal, a phrase that I still don't fully understand. After a few years ...

    [Read More]