• Reflections on the Process of Writing a Chess Engine

    Posted by Brock Grassy | July 31, 2018, 2:26 a.m.

    Over the last year, I have sporadically been working on writing a chess engine from scratch in. As an avid chess player in my youth, I decided that the project would provide a good opportunity to both revisit my interest in the subject and further my applied programming experience. Prior to this project, I had not spent very much time working in C++; as such, I used the project as an opportunity to furnish my skills. In this post, I'll briefly discuss the process of writing the engine, as well as certain issues I encountered along the way.

    First Attempts

    Read More →

  • Applying Machine Learning to Predict the NFL Draft

    Posted by Brock Grassy | April 27, 2018, 2:43 a.m.

    Recently, I spent some time thinking of possible machine learning projects I could work on. I had planned on taking part in Kaggle's March Madness Machine Learning competition, but due to school commitments was unable to fit the time in my schedule to do so. Consequentially, I set my mind on doing another sports-related analysis. The NFL Draft was right around the corner at the time, so I decided that would be a good target for analysis.

    There are previous instances of people who have attempted to undertake a similar problem, most notably here. For my analysis, I decided that I would take a look at similar data and see what sort of predictions I could make.

    Read More →

  • Keyboard Layout Project: Update

    Posted by Brock Grassy | May 26, 2017, 1:15 a.m.

    Link: https://keyboard-layout-generator.herokuapp.com/

    As I discussed in my last blog post, I was in the process of making additions to my keyboard layout project to allow for various additional functionalities. The main addition I made was the construction of a web app that allows for users to enter in their own strings and calculate layouts from there. There are natural pitfalls for this, of course, primarily the lack of scalability and resources available to run the app. I had to manually include a stop after fifteen seconds to limit the server load. This is still a rather long run time for a web app, but I feel that's a fine sacrifice to make for additional performance within the app itself.

    Read More →

  • Keyboard Layout Project Version 1

    Posted by Brock Grassy | April 18, 2017, 3 a.m.

    Project link: https://github.com/bgrassy/keyboard-layout-generator

    The QWERTY keyboard layout is something most people take for granted; it is a safe bet that nearly any given computer or keyboard in America comes with that layout as the default. However, its ingrained nature in our culture certainly does not mean that it is "good" by any measure. Numerous studies have found that QWERTY is inferior to other alternative layouts such as Dvorak or Colemak in practically every measure, such as ergonomics and typing speed. Those other layouts have a rather niche following; however, QWERTY still reigns supreme in most of the world.

    Read More →