Michael Whatcott - 2021

Here's what I wrote in 2021:

20 Mar 2021 ~ The Atoning Power of Jesus Christ
The ordinance of the Sacrament is an important way for us to receive the Savior's power!

15 May 2021 ~ gunit vs. testify
Surprisingly similar on the surface...

25 Jun 2021 ~ Go Test Helpers
Just a few suggestions.

28 Jun 2021 ~ Faith and Fairness
We'd like more of both, but when fairness feels fleeting, we can always exercise our faith!

11 Jul 2021 ~ Hearts Knit Together In Unity
...and in love one towards another

2 Aug 2021 ~ Clean Coders: Resident Apprentice
I'm now a resident apprentice at Clean Coders Studio!

2 Aug 2021 ~ Let's Go Bowling!
Learning something new? Try bowling with it...

2 Aug 2021 ~ Getting Started with 'speclj'
Just a 'speclj' of tests here and there...

3 Aug 2021 ~ Functional Bowling Game Kata
(as opposed to...disfunctional bowling game kata?)

4 Aug 2021 ~ Threading Speclj Assertions
Just a crazy idea

5 Aug 2021 ~ Prime Number Iteration
An effective, but not overly complicated, solution.

6 Aug 2021 ~ List vs Vector
Round 1...FIGHT!

9 Aug 2021 ~ Destructuring in API Design
Applying destructuring to smooth out helper methods.

10 Aug 2021 ~ Extract Till You Drop
How to go about extracting functions isn't always obvious at first.

11 Aug 2021 ~ The Bowling Game Kata in Clojure
My variation on a theme by Robert C. Martin

12 Aug 2021 ~ SOLID: The Single Responsibility Principle (SRP)
Software entities should have only one reason to change.

12 Aug 2021 ~ SOLID: The Open/Closed Principle (OCP)
Software entities should be 'open for extension but closed for modification'.

12 Aug 2021 ~ SOLID: The Liskov Substitution Principle (LSP)
Subtypes must be substitutable for their base types.

12 Aug 2021 ~ SOLID: The Interface Segration Principle (ISP)
Clients should not be forced to depend on methods they do not use.

12 Aug 2021 ~ SOLID: The Dependency Inversion Principle (DIP)
High level policy should depend on abstractions rather than low-level implementations.

16 Aug 2021 ~ Working with Grids in Clojure
My head hurts.

17 Aug 2021 ~ The Prime Factors Kata in Clojure
With music by Bach*, Beethoven, and Brahams, all performed by Michael Whatcott

18 Aug 2021 ~ Manual Vertical Code Alignment in Clojure
...if you're into that sort of thing.

18 Aug 2021 ~ Manual Vertical Code Alignment
Just a little bit here and there can really spruce up the place.

19 Aug 2021 ~ KISS: Keep It Simple, Smarty!
Smart people keep things simple.

20 Aug 2021 ~ Mocking With Speclj
A phrase which here means "designing functional code to be more testable".

23 Aug 2021 ~ Clojure Maps as Functions
Just a little Monday morning 'ah-hah!'

24 Aug 2021 ~ Managing GUI Screens with Quil
It's all just data.

25 Aug 2021 ~ When the going gets 'gui'...

26 Aug 2021 ~ "Tic-Tac-Toe! 4-in-a-row!"
That's how it goes, right?

27 Aug 2021 ~ A Lapse in Discipline
Has this ever happened to you?

27 Aug 2021 ~ Clojure Map Keys as Functions
A twist on a previous post.

30 Aug 2021 ~ Filtering Set Intersections In Clojure
A convenient little trick!

30 Aug 2021 ~ When everything is a 'one-liner'
It's no wonder so many programmers are hesitant to adopt the functional paradigm!

31 Aug 2021 ~ Back in the groove
Ah, much better!

1 Sep 2021 ~ Mocking External Library Functions in Clojure + Speclj
I'm finally 'grok'-ing the approach!

2 Sep 2021 ~ Inverting 'If' Statements in Clojure
How about a little code golf?

3 Sep 2021 ~ The "Game of Life" Kata in Clojure
Along with a case for using random inputs in certain testing scenarios.

7 Sep 2021 ~ Threading Through Map Keys in Clojure
An alternative to the `get-in` function.

8 Sep 2021 ~ Mocking Without Dependency Inversion
Just a few thoughts and musings.

9 Sep 2021 ~ The Open-Closed Principle, for GUIs
Remember, systems should be open for extension and closed for modification.

10 Sep 2021 ~ "In the Wisdom of Him Who Knoweth All Things"
The Fall of Adam and Eve is a nuanced example of the infinite wisdom that permeates Heavenly Father's Plan of Redemption!

10 Sep 2021 ~ Simplifications
It's amazing how often we assume that things should be more complicated than needed.

13 Sep 2021 ~ "If the Savior Stood Beside Me"
(Spoiler Alert: He actually already does!)

14 Sep 2021 ~ Contrast
Java: equal parts comforting and clunky.

15 Sep 2021 ~ Another Layer
The fundamental theorem of software engineering in action

16 Sep 2021 ~ Nifty Bits of Java
Mostly discovered via Intellij's very helpful suggestions.

20 Sep 2021 ~ Double-brace Initialization in Java Considered Harmful
...to garbage collectors and kittens.

21 Sep 2021 ~ 'Threading' a Pedagogical Needle (part 1)
IMHO, threading macros should be introduced started with `as->`.

22 Sep 2021 ~ 'Print-line' Debugging with the 'Thread-as' Macro
Yet another plug for my new friend: `as->`

22 Sep 2021 ~ 'Threading' a Pedagogical Needle (part 2)
IMHO, let's introduce threading as a variation on the `let` form.

24 Sep 2021 ~ Getting Started with ClojureScript
Is this a really tricky thing, or was it just me?

29 Sep 2021 ~ Getting Started Test-driving ClojureScript
Q. So, when does it get easier? A. Right now!

30 Sep 2021 ~ Keywords with Hiccup
Isn't it nice when a hunch turns out to be a supported feature?

1 Oct 2021 ~ 'Partial' String Formatting in Clojure
The 'partial' function effectively creates constants from incomplete function calls!

4 Oct 2021 ~ Mapping over multiple collections in Clojure
The map function maps 'n' collections to functions that recieve 'n' arguments.

8 Oct 2021 ~ Sometimes Coding in Clojure Feels like Cheating
(maniacal laughing in background)

11 Oct 2021 ~ Apply vs. Reduce
When they are the same, and when they are different.

12 Oct 2021 ~ Generating Random Alphanumeric Codes in Clojure
Just a fun assortment of functional building blocks!

13 Oct 2021 ~ Your (Recursive) Loop Needs Reducing
Mind == Blown!

14 Oct 2021 ~ Solving Problems in Clojure
Just a few little functional adventures.

15 Oct 2021 ~ Clojure Reader Dispatch Overload
Also, how to return a collection literal from an anonymous function literal.

15 Oct 2021 ~ Counting Frequencies In Clojure
"There's a function for that"

15 Oct 2021 ~ Benchmarking Clojure Code, Part 1
My first Clojure macro!

18 Oct 2021 ~ Brute Force vs. Indexing
Shorter + Faster = Win-win

19 Oct 2021 ~ An Apostle's Prayerful Pattern
Elder David A. Bednar's consistent invitation to us throughout the years.

19 Oct 2021 ~ Map Merging in Clojure
How to combine various kinds of data into maps.

20 Oct 2021 ~ Vectors: last vs peek
Why it's important to understand the defining characteristics of data structures.

21 Oct 2021 ~ 'Partial' Predicates in Clojure
Honestly, I'm still on the fence with this one.

22 Oct 2021 ~ Benchmarking Clojure Code, Part 2
My first Clojure library!

25 Oct 2021 ~ Let's talk about Clojure's 'if-let' form
The if-let and when-let forms are mini violations of SRP!

26 Oct 2021 ~ Clojure's 'comp' and 'juxt' functions
Just a few illustrative examples.

3 Nov 2021 ~ I'm a Clean Coder!
The apprenticeship was a wonderfully intense period of growth and learning.

7 Nov 2021 ~ "Make Time for the Lord"
Thoughts on President Russell M. Nelson's latest general conference talk.

19 Nov 2021 ~ "Unto such it shall be given"
Disciples of Jesus Christ are given great promises.

21 Nov 2021 ~ The Simple Terms of Eternal Life
Familiar scriptures, restructured to expose a common theme

29 Nov 2021 ~ With His Stripes We Are Healed
Messianic passages are sometimes just as much about *us* as they are about Jesus!

18 Dec 2021 ~ "The Family"
A Proclamation to the World by the Apostles of The Church of Jesus Christ of Latter-day Saints, cross-referenced with the scriptures.

18 Dec 2021 ~ Scripture Scavenger Hunt
Just a little something constructive for youth on Sabbath afternoon...

2022 ~ 2021 ~ 2020 ~ 2019 ~ 2018 ~ 2017 ~ 2016 ~ 2015 ~ 2014 ~ 2013 ~ 2012 ~ Archives