Michael Whatcott

...upon these I write the things of my soul, and many of the scriptures...For my soul delighteth in the scriptures, and my heart pondereth them, and writeth them for the learning and the profit of my children. (2 Nephi 4:15)


Brute Force vs. Indexing 2021.10.18

> Shorter + Faster = Win-win

Clojure Reader Dispatch Overload 2021.10.15

> Also, how to return a collection literal from an anonymous function literal.

Counting Frequencies In Clojure 2021.10.15

> "There's a function for that"

Benchmarking Clojure Code 2021.10.15

> My first macro!

Solving Problems in Clojure 2021.10.14

> Just a few little functional adventures.

Your (Recursive) Loop Needs Reducing 2021.10.13

> Mind == Blown!

Generating Random Alphanumeric Codes in Clojure 2021.10.12

> Just a fun assortment of functional building blocks!

Apply vs. Reduce 2021.10.11

> When they are the same, and when they are different.

Sometimes Coding in Clojure Feels like Cheating 2021.10.08

> (maniacal laughing in background)

Mapping over multiple collections in Clojure 2021.10.04

> The map function maps 'n' collections to functions that recieve 'n' arguments.

'Partial' String Formatting in Clojure 2021.10.01

> The 'partial' function effectively creates constants from incomplete function calls!

Keywords with Hiccup 2021.09.30

> Isn't it nice when a hunch turns out to be a supported feature?

Getting Started Test-driving ClojureScript 2021.09.29

> Q. So, when does it get easier? A. Right now!

Getting Started with ClojureScript 2021.09.24

> Is this a really tricky thing, or was it just me?

'Threading' a Pedagogical Needle (part 2) 2021.09.22

> IMHO, let's introduce threading as a variation on the `let` form.

'Print-line' Debugging with the 'Thread-as' Macro 2021.09.22

> Yet another plug for my new friend: `as->`

'Threading' a Pedagogical Needle (part 1) 2021.09.21

> IMHO, threading macros should be introduced started with `as->`.

Double-brace Initialization in Java Considered Harmful 2021.09.20

> ...to garbage collectors and kittens.

Nifty Bits of Java 2021.09.16

> Mostly discovered via Intellij's very helpful suggestions.

Another Layer 2021.09.15

> The fundamental theorem of software engineering in action

Contrast 2021.09.14

> Java: equal parts comforting and clunky.

Talk: "If the Savior Stood Beside Me" 2021.09.13

> (Spoiler Alert: He actually already does!)

"In the Wisdom of Him Who Knoweth All Things" 2021.09.10

> The Fall of Adam and Eve is a nuanced example of the infinite wisdom that permeates Heavenly Father's Plan of Redemption!

Simplifications 2021.09.10

> It's amazing how often we assume that things should be more complicated than needed.

The Open-Closed Principle, for GUIs 2021.09.09

> Remember, systems should be open for extension and closed for modification.

Mocking Without Dependency Inversion 2021.09.08

> Just a few thoughts and musings.

Threading Through Map Keys in Clojure 2021.09.07

> An alternative to the `get-in` function.

The "Game of Life" Kata in Clojure 2021.09.03

> Along with a case for using random inputs in certain testing scenarios.

Inverting 'If' Statements in Clojure 2021.09.02

> How about a little code golf?

Mocking External Library Functions in Clojure + Speclj 2021.09.01

> I'm finally 'grok'-ing the approach!

Back in the groove 2021.08.31

> Ah, much better!

When everything is a 'one-liner' 2021.08.30

> It's no wonder so many programmers are hesitant to adopt the functional paradigm!

Filtering Set Intersections In Clojure 2021.08.30

> A convenient little trick!

A Lapse in Discipline 2021.08.27

> Has this ever happened to you?

Clojure Map Keys as Functions 2021.08.27

> A twist on a previous post.

"Tic-Tac-Toe! 4-in-a-row!" 2021.08.26

> That's how it goes, right?

When the going gets 'gui'... 2021.08.25

> ¯\_(ツ)_/¯

Managing GUI Screens with Quil 2021.08.24

> It's all just data.

Clojure Maps as Functions 2021.08.23

> Just a little Monday morning 'ah-hah!'

Mocking With Speclj 2021.08.20

> A phrase which here means "designing functional code to be more testable".

KISS: Keep It Simple, Smarty! 2021.08.19

> Smart people keep things simple.

Manual Vertical Code Alignment in Clojure 2021.08.18

> ...if you're into that sort of thing.

Manual Vertical Code Alignment 2021.08.18

> Just a little bit here and there can really spruce up the place.

The Prime Factors Kata in Clojure 2021.08.17

> With music by Bach*, Beethoven, and Brahams, all performed by Michael Whatcott

Working with Grids in Clojure 2021.08.16

> My head hurts.

SOLID: The Liskov Substitution Principle (LSP) 2021.08.12

> Subtypes must be substitutable for their base types.

SOLID: The Open/Closed Principle (OCP) 2021.08.12

> Software entities should be 'open for extension but closed for modification'.

SOLID: The Dependency Inversion Principle (DIP) 2021.08.12

> High level policy should depend on abstractions rather than low-level implementations.

SOLID: The Interface Segration Principle (ISP) 2021.08.12

> Clients should not be forced to depend on methods they do not use.

SOLID: The Single Responsibility Principle (SRP) 2021.08.12

> Software entities should have only one reason to change.

The Bowling Game Kata in Clojure 2021.08.11

> My variation on a theme by Robert C. Martin

Extract Till You Drop 2021.08.10

> How to go about extracting functions isn't always obvious at first.

Destructuring in API Design 2021.08.09

> Applying destructuring to smooth out helper methods.

List vs Vector 2021.08.06

> Round 1...FIGHT!

Prime Number Iteration 2021.08.05

> An effective, but not overly complicated, solution.

Threading Speclj Assertions 2021.08.04

> Just a crazy idea

Functional Bowling Game Kata 2021.08.03

> (as opposed to...disfunctional bowling game kata?)

Let's Go Bowling! 2021.08.02

> Learning something new? Try bowling with it...

Getting Started with 'speclj' 2021.08.02

> Just a 'speclj' of tests here and there...

Clean Coders: Resident Apprentice 2021.08.02

> I'm now a resident apprentice at Clean Coders Studio!

Hearts Knit Together In Unity 2021.07.11

> ...and in love one towards another

Faith and Fairness 2021.06.28

> We'd like more of both, but when fairness feels fleeting, we can always exercise our faith!

Go Test Helpers 2021.06.25

> Just a few suggestions.

gunit vs. testify 2021.05.15

> Surprisingly similar on the surface...

The Atoning Power of Jesus Christ 2021.03.20

> The ordinance of the Sacrament is an important way for us to receive the Savior's power!

"The Living Christ" 2020.10.05

> The Testimony of the Apostles of The Church of Jesus Christ of Latter-day Saints, cross-referenced with the scriptures.

"Let your light so shine before this people..." 2020.10.05

> ...but not "to be seen of them."

Go Testing With Functional Fixtures 2020.09.18

> Writing expressive tests with nothing more than the "testing" package.

Hymn #11 2020.08.02

Go Starter Kit 2020.06.09

> Helpful resources for Go programmers

Mob Programming 2020.03.18

> Why not give it a try?

Be strong, and of a good courage... 2020.02.01

"What is to be done?" 2020.01.21

> "...if any person needed wisdom from God, I did; for how to act I did not know..."

When the going gets tough... 2020.01.19

> ...the tough turn to the scriptures.

Composition: "The Lost is Found" (SATB+Piano) 2020.01.01

> by Michael and Jenny Whatcott

Assignmnents and Ifs 2019.11.30

> Should assignment statements be inlined into if statements by default?

Discipline => Traction 2019.10.29

> The counterintuitive constraints of discipline provide empowering traction!

Reciever Names in Go 2019.10.28

> Commentary on the 'Receiver Names' section of 'Code Review Comments'. You may not like it.

According to Our Infirmities 2019.08.11

> Part of Jesus' amazing grace is the merciful truth that he suffered through the very infirmities he gave to us.

The Physical Body 2019.08.08

> Heavenly Father's Amazing Gift

Church Music 2019.07.01

> Comprehensive indices of my church music compositions and collaborations.

Hymn: The Atonement of Christ 2019.06.23

> by Dirk and Michael Whatcott

Hymn: On This the Sabbath Of Our Lord 2019.06.16

> by Jenny Whatcott and Michael Whatcott

Hymn: We Worship God 2019.06.13

> by Dirk Whatcott and Michael Whatcott

Hymn: In Temples 2019.06.01

> by Joyce Holladay Glenn and Michael Whatcott

Song: I Can Have Joy 2019.05.31

> by Jenny and Michael Whatcott

Hymn #10 2019.05.12

Nephi's wife 2019.04.04

> Who saved his life on at least one occasion.

More Sister Scriptures 2019.04.01

> The scriptures are consistent and self-fulfilling.

Hymn #9 2019.03.30

Moving in his Majesty and Power 2019.02.24

> The creations and servants of God allow us to see him moving in his majesty and power.

Hymn #8 2019.02.10

Hymn: The Redemption of Zion 2019.01.20

> by Dirk and Michael Whatcott

Hymn: As Saints We Gather 2019.01.09

> by Jana Amundson and Michael Whatcott

Hymn #7 2019.01.06

Hymn: Come Unto Christ 2018.11.12

> by Bryan and Jana Amundson and Michael Whatcott

Hymn #6 2018.10.30

Prophetic Promises 2018.10.16

> From October 2018 General Conference

Song: The Gathering of Israel 2018.09.21

> by Michael Whatcott

If this, then that... 2018.09.20

> The scriptures are full of conditional logic.

Hymn: Sufficient Yet My Grace Shall Be 2018.09.17

> by Michael Whatcott

Hymn: Preach My Gospel 2018.09.10

> by Dirk Whatcott and Michael Whatcott

I Belong to The Church of Jesus Christ of Latter-day Saints 2018.08.19

Hymn: Remember Me 2018.08.16

> by Bryan Amundson and Michael Whatcott

Hymn #5 2018.08.16

Hymn: The Lost is Found 2018.07.30

> by Michael and Jenny Whatcott

Hymn: The Glory Of God 2018.07.29

> by Michael and Dirk Whatcott

Footnote Expansion - "With One Accord", by Sis. Reyna I. Aburto 2018.07.28

Hymn #4 2018.07.22

Hymn #3 2018.07.08

Hymn #2 2018.06.25

Hymn #1 2018.06.19

Call for Collaborators: New Hymns and Primary Songs 2018.06.18

> Have you ever wanted to team up with a composer to write a hymn or primary song? Now's your chance!

The Clean Coder 2018.01.04

> Thank you "Uncle Bob" Martin!

What's your next step? 2017.10.08

> Why not let the Master Teacher show you?

Ten Years Since "Teach Yourself to Program in Ten Years" 2017.09.26

> Thank you Peter Norvig!

Sister Scriptures 2017.09.03

> Selected references bear striking resemblance to one another.

1 Tomato, 2 Tomato, 3 Tomato, 4! 2017.08.15

> How discipline with time management facilitates pair programming.

Great Expectations 2017.07.19

> God has promised amazing blessings to those that meet his expectations.

A few of my favorite TLAs 2017.06.26

> How GTD helped me learn a bit more about TDD.

The Power of Prayer 2016.12.14

All things shall work together for your good 2016.11.27

Happiness == Righeousness 2016.11.24

Your (home teaching) family 2016.09.19

> The nature of home teaching asks us to open our hearts to people as if they are part of our extended family.

A "Divine Design" Document 2016.09.11

> The Family: A Proclamation to the World

Angelic Zeal 2016.08.31

> O, that I were an angel!

To Honor and Magnify the Priesthood 2016.05.15

> What it means to me personally.

Jesus Christ - Related Study Help Entries 2015.12.11

Lehi's Vision of the Tree of Life 2015.10.16

> (In a single verse)

Sustain the Prophet 2015.08.09

> In both word and deed

The Sabbath is a Sign 2015.07.30

> The Lord gave the Sabbath day as a 2-way sign between us and him.

Continuous [Spiritual] Integration 2015.06.10

> Is there a test suite for our spirits?

The heart of the Shepherd 2015.05.11

> To what lengths will the shepherd go for his sheep?

Nephi had charity for his people 2015.02.21

> ...and great faith in Christ that [he would] meet many souls spotless.

Embedding is beneficial 2015.02.18

> ...whereas an explicit interface keyword is harmful

Go code that stutters 2015.02.12

> "You keep using that word...I don't think it means what you think it means..."

On the morrow 2015.01.13

> ...in the place where Jesus would show himself...

Personal Affirmations in the Scriptures 2015.01.06

> Powerful positive statements that can help shape our thoughts and actions

The Main Thing 2014.12.30

> ...is to keep the Main Thing the Main Thing...

Jacob Marley's Regret 2014.12.08

> "At this time of the rolling year I suffer most..."

"For the power is in us" 2014.12.01

> A review of "Choices for a New Year"

Spiritual Health 2014.10.23

> Our spirits, like our bodies must be cared for.

Let us be wise and look forward...for the peace of this people. 2014.09.29

> Mosiah, the last Nephite King, made the world a better place for his children and his people.

Productivity 2014.09.15

> What do the scriptures teach about personal productivity?

GTD: Mastering Workflow - Processing (as an algorithm) 2014.08.30

> Surprisingly, this is even more helpful than the diagram.

Magnifying our calling 2014.07.23

> What's an effective way to think about the word 'magnify'?

Extending Our Mortal Probation 2014.07.15

> ...is actually an attainable blessing, worth striving for.

Shameless and blameless 2014.07.02

> Don't believe the voice that encourages you to hide.

Nephi would have had a great blog... 2014.06.11

> "...upon these I write the things of my soul, and many of the scriptures...For my soul delighteth in the scriptures, and my heart pondereth them, and writeth them for the learning and the profit of my children." (2 Nephi 4:15)

Home Teaching Reporting 2014.05.29

> (V)oluntary - (F)requent - (D)etailed

To hold the Priesthood is to repent 2014.05.18

> Alma 13 isn't just about the Priesthood, it's about how Priesthood holders repent.

A continuum of spiritual growth 2014.04.14

> Continuum: a sequence in which adjacent elements are imperceptibly different from each other, although the extremes are quite distinct.

Brvty 2014.03.28

Life is like a 3-act play 2014.03.23

> Otherwise entitled: 'How can we explain stuff that seems unfair?'

A Firm Mind 2014.01.13

Media and Leisure 2014.01.07

> Appropriate use of media and keeping leisure activities in proper perspective

Prospective Elder Course 2014.01.02

Choices for a New Year 2014.01.01

> A handout provided by the Spring Creek 8th Ward

Faith-promoting Scriptures 2013.12.30

> ...and some memorization hints.

Jacob the poet-prophet 2013.12.30

> A gifted writer, much of his writings are evocative in their imagery.

GoSublime + GoImports = :) 2013.12.25

> Had enough? -- build failed: imported and not used: 'fmt' --

A few 'bits' of python 2013.06.13

pyspecs - Minimalistic BDD in Python 2012.05.31

> pyspecs is a testing framework that strives to achieve more readable specifications (tests) by leveraging some fancy syntactic sugar and auto-discovery of tests/specifications (specs).