Devlin Delves InAlpha-Beta Pruning in Clojure and Lessons LearnedIn my previous post, I explained how I coded the basic minimax algorithm for my Tic Tac Toe command-line game using Clojure’s reduce…Oct 11, 2018Oct 11, 2018
Devlin Delves InMinimax in Clojure (Using Reduce)My most recent project in my apprenticeship with my company, 8th Light, was to develop a Tic Tac Toe command-line game in Clojure. This…Oct 10, 2018Oct 10, 2018
Devlin Delves InNegamax in Clojure (Tic Tac Toe) — Work-ThroughUpdate — the solution below has a significant kink in it. Please refer to this post where I explain the corrected the solution.Sep 18, 2018Sep 18, 2018
Devlin Delves IninDevlin Delves In… To Software DevelopmentSOLID Principles With Simple Examples — Part 2In my first blog post on SOLID, I examined the Single Responsibility Principle and Open-Closed Principle and related them to examples from…Jun 1, 2018Jun 1, 2018
Devlin Delves InSOLID Principles With Simple Examples — Part 1Robert ‘Uncle Bob’ Martin in his 2000 paper Design Principles and Design Patterns was the first to group together and promote the SOLID…May 31, 2018May 31, 2018
Devlin Delves IninDevlin Delves In… To Software DevelopmentGit Basics 1Git is a distributed version control system. If a document is under version control, this simply means that a record is kept of all changes…May 10, 2018May 10, 2018
Devlin Delves IninDevlin Delves In… To Software DevelopmentSinatra Data Persistence Using Sessions and Cookies— Sinatra Battleships Project Part 6In my previous posts, I examined how to enable data persistence in Sinatra using only the params hash and query parameters.Apr 16, 2018Apr 16, 2018
Devlin Delves IninDevlin Delves In… To Software DevelopmentSinatra Data Persistence Using Params 2 — Sinatra Battleships Project Part 5My main story this week was to present a grid of ‘X’s to a web user — the first step in creating a web version of my console Battleships…Apr 16, 2018Apr 16, 2018
Devlin Delves IninDevlin Delves In… To Software DevelopmentSinatra Data Persistence Using Only Params 1 — Sinatra Battleships Project Part 4In my previous post, I explained the basics of Sinatra — how to set up your first GET route, making use of embedded Ruby templates and the…Apr 11, 2018Apr 11, 2018
Devlin Delves IninDevlin Delves In… To Software DevelopmentIntroduction to Sinatra — Sinatra Battleships Project Part 3In my previous post, we created a very simple Sinatra application to demonstrate how embedded Ruby works, and now we will delve much deeper…Apr 11, 2018Apr 11, 2018