Showing posts from September, 2020

Gutenberg Concordance

    The Gutenberg Concordance program was written in one of my favorite languages: Elixir! It uses Project Gutenberg to scrape the text files of books to compile a concordance (a report) of the amount of times a word appears. It uses GenServers to distribute the load across multiple processors, and then places the results into a text file.      It was a unique challenge to great a system of GenServers managed by a supervisor, but this is what makes Elixir so great! We can easy create tons of subroutines to handle the work. It works quick too, and can search through hundreds of books in less than a minute.

The Throne of Rot

    The 'Throne of Rot' is a simple adventure game I made for my final project in an introductory web development class. It's built in Vue.js, although most of the heavy lifting is done in JavaScript. The game sees a player exploring a five by five map, meeting characters, fighting monsters, and making decisions that impact how the game is played. It was a fun challenge to track state management the player and the board as a whole. For example, in one space there is a fruit tree. If the player chooses to pick the fruit, it will be gone for the rest of the game.     It was a fun way to learn Vue. Vue event handlers made it easy to handle player movement over the board, and it would all automatically refresh upon each change. It made movement feel snappy and natural. I wouldn't say it made me a master of Vue, but I use it any time I need to stand up a quick web page.     In order to style the board I used CSS Grid to neatly arrange the tiles and JavaScript dictionaries an