Variance and Immutability

I got home from the blood lab. Got some test drawn in preparation for my next appointment. Returned home. Fell asleep.

Now that I woke up. Its a little into the evening. Before my nap, I thought about what I wrote. Discussing with my mother about what I am learning. This helps me. It broadens my thinking and deepens everything.

I got up. Booted my server and then turned on my PC. Again. I ssh into my server. I opened up my markdown project. From my discussion earlier, where my mom just sat and listen to me pretty much give a small lecture, bless her golden heart, I realized I needed to go smaller. Yes. I thought I broke my project modules down. Still. I was thinking too big.

Thankfully in the world of symbols less is more. Build small potent symbols and then reuse them. A lot of times. In different contexts, situations and configurations. Assemble a certain combination create a snapshot. Then that becomes a new building block. Reuse the module heavily and in conjunction with the previous generation of symbols.

Which is perfect for how I think. Even if I go really small, and redo that small piece over and over, eventually I will be satisfied with the chosen path forward. Then the path becomes a foundational piece, and I work towards and with the adjacent piece. Building a hierarchy of pieces that will eventually build my engine. Engine being any software I create. Or writing. Even drawing. Anything symbols touches and sees. Yes. I am getting pretty close to Lion King here.

Anyways. I coded. I let my source file get really messy. To the point where I would be too ashamed to openly upload to Github. I hope I will get over that. Who cares if it is messy? The work will be cleaned and organized and pretty. That is part of the given path.

If I am writing something, and think, you know what? Let's try it this way. I stop keybinding. Duplicate the function down a few lines and rewrite it. I do not delete anything. This avoids anxiety. Oh ho ho! Beautiful! Incredible! Immutable for the win! Just clone, duplicate and transform. Rewrite a copy. Never change the original.

Because the original pings my sensory and I remember what I was thinking at the time. Deleting that function before I am ready means removing that train of thought. This process makes everything messy for a while. Again. Who cares.

All of this hinges on going small enough in design. Over time the horizontal growth will overshadow the time investment sink creating a snowball effect. Where my collection of functions have greater and greater reach. Just like the concept discussed in the "The Richest Man in Babylon" book. Have your code create other code and that code more code. Until you watch it practically by itself. Love the cycle of creation. And the trajectory of accumulative design.

Comments

Popular posts from this blog

Where It All Goes

Details to the Journey

Code - What Do You See (Part 1)