Step Into the Light and Be Free

When we step into the light of Christ, we break free of the shadows of sorrow, depression, failure and sin. There in that light our soul absorbs the power of the Son through the gift of His Atonement. He suffered all that mortality has ever caused all of us to suffer, individually and infinitely. 

Because He knows exactly what we are going though, He can make our burdens light when we take His yoke upon ourselves, when we step into His light and bask in the glow of knowing that we are not alone, that we are loved and worthy of love!

Come unto Christ, all you who labor under the burdens of mortality, and He will give you rest. He will give you living water to drink and soothe your tired soul. In His hands you will find the loving embrace of one who truly does know exactly how you feel. And He made it through. You are not alone. He will never abandon you.

People Are Like Cows

Yesterday I had the pleasure of hearing one of the best sermons I've ever heard from a pulpit. I was visiting the services held for the residents of the care center where my dad is now being cared for because of advanced Alzheimer's disease. Mom and I and two of my children were there with Dad. 

The speaker was an old rancher who apologized for his lack of experience in religious speaking and knowledge of scripture and doctrine. Instead he said he would talk about cows because that's what he knows. He said cows are a lot like people.

He told a story of when he was nearly 12 years old and assigned the responsibility of moving the herd from winter range in the valley to summer range on the mountain. He was excited to be named trail boss as his only hand was another boy a few months younger than himself. The two boys were to get the herd to a midway point where they would meet the older boy's dad who would help them finish the drive.

Eager to show his dad how good of a cowboy he could be, the young trail boss worked very hard to keep all the cows on the road and moving along perfectly. His horse was doing a lot of work and once the two boys arrived at the midpoint, the horse had worked up a lather of sweat.

As the boys ate their breakfast, brought by the dad, the cows and horses rested. Before getting started up the mountain again, the father took his son aside and told him, "Son, a good cowboy doesn't work his horse on cows that are headed in the right direction."

Our speaker said he has thought about that wisdom his entire life. He continued with the story, indicating that when they got the cows moving again, he noticed that most of them were heading in the right direction. Some would wander a little off the road. Some would take a little shortcut when the road turned. 

When they arrived at the gate to the winter range, he had to ride up ahead of the herd to open the gate so the cows could go through. He opened the gate and looked back. There were about a dozen trails leading to the gate from all directions made from so many previous years. He realized that most of the cows were always going in the right direction generally and would eventually get to the gate from one direction or another.

He told us that people are like those cows and the gate is like baptism and other ordinances of the gospel. Many of us wander by the wayside, but as long as we're headed in the right direction, the Lord through His grace will help us get through the gate. 

So if you're riding herd on your kids or others in your life who need to get through the gates, you ought to take it easier when they are heading in the right direction. Just follow along and keep 'em going toward the gate. The Lord will do the rest.

Hearken Unto the Words of Christ

Nephi left Jerusalem with his family 600 years before Christ was born, his father Lehi leading them. Years later after recording the "things of the ministry" including many prophecies and the words of Isaiah as well as Nephi's brother Jacob, he leaves us with this firm testimony and promise.

2 Nephi 33 (The Book of Mormon)

10 And now, my beloved brethren, and also Jew, and all ye ends of the earth, hearken unto these words and believe in Christ; and if ye believe not in these words believe in Christ. And if ye shall believe in Christ ye will believe in these words, for they are the words of Christ, and he hath given them unto me; and they teach all men that they should do good.

11 And if they are not the words of Christ, judge ye—for Christ will show unto you, with power and great glory, that they are his words, at the last day; and you and I shall stand face to face before his bar; and ye shall know that I have been commanded of him to write these things, notwithstanding my weakness.

12 And I pray the Father in the name of Christ that many of us, if not all, may be saved in his kingdom at that great and last day.

13 And now, my beloved brethren, all those who are of the house of Israel, and all ye ends of the earth, I speak unto you as the voice of one crying from the dust: Farewell until that great day shall come.

14 And you that will not partake of the goodness of God, and respect the words of the Jews, and also my words, and the words which shall proceed forth out of the mouth of the Lamb of God, behold, I bid you an everlasting farewell, for these words shall condemn you at the last day.

15 For what I seal on earth, shall be brought against you at the judgment bar; for thus hath the Lord commanded me, and I must obey. Amen.

Let us believe in Christ. Let us hearken to his words. Let us pray to the Father in his name. Let us partake of his goodness, of the atoning sacrifice he made for us. He knows our sorrows. Let us set aside our sins and take upon ourselves his yoke. He pulls harder than any man. And if we do, life and its many burdens will be made lighter, easier. And we will meet him again and fall down at his feet to worship him, our tears bathing the prints of the nails in his feet. And he will gently pull us up to with strong arms to receive his loving embrace and hear the words, "Well done, my good and faithful servant. Enter into my rest."

Reference Architectures for Cloud Computing

AWS Architecture and Azure Architecture sites provide a variety of resources for architects including reference architectures. With AWS you get a brief one page PDF diagram for each scenario. With Azure you get a more in-depth documentation style following the infographic. Here are two examples. The first is an AWS financial services grid computing architecture.

image

The second here is an Azure machine learning architecture.

image

The reference architectures and additional architectural helps provided by your cloud provider can be very valuable.

And here's the BUT.

But you should not simply copy and paste. Use these guidelines to provide you with ideas and help you to think of things that you are missing in your own cloud architecture solutions. Take the good ideas and use a skeptical eye to pick and choose what works best for your organization's use cases.

Think of it as if you're building a car. Do you look at how other cars are built? Or do you put on blinders and make the same mistakes as everyone else had to make before you came along?

Wrapping Up and Moving On

I've been laid off and the reasons don't matter. It's just business. My last official day is tomorrow. My soon-to-be former employer has a product that enterprises need and good people to back it up. Happily the future is bright and there are opportunities in the world of technology for the taking.

I'm excited for the future and know that soon I'll be doing something new, interesting and challenging. The friends and colleagues I leave behind will do well in the technology economy no matter where they go.

It's a prosperous time to live if you have valued technical skills. I'm grateful for all of the experience I've had that has brought me to this point. I look forward to utilizing it to help other organizations solve their technology problems and advance their organizational goals.

I believe that whatever changes the future holds, I will continue to blog from time to time and work on my personal OSS projects. Stay tuned.

What is Happiness?

The Prophet Joseph Smith taught, “Happiness is the object and design of our existence; and will be the end thereof, if we pursue the path that leads to it; and this path is virtue, uprightness, faithfulness, holiness, and keeping all the commandments of God” (Teachings of the Prophet Joseph Smith, sel. Joseph Fielding Smith [1976], 255–56).

I believe him.

Keith D. Jensen - My Father

Dad is a mountain of a man. At 79 his grip is still firm. His hands are made from the large bones and rawhide of decades of daily hard work. His eyes pierce you as he looks through your exterior to see your soul with love beyond comprehension, as if to say, "It'll be alright. Just keep'a goin'."

Born the second youngest of four boys and four girls, Dad grew up working at the saw mill and on the farm. His own father suffered from allergies and alcoholism, so Dad spent his teen years taking care of the farm by himself. He learned quickly to rely on himself to solve the problems that come with running a farm. 

As a boy he responded to the invitation of a neighbor to attend church and became a devoted servant of God, attending his meetings, reading the scriptures and serving others. He wanted to serve a mission but funds were scarce. Instead he attended Carbon College, married his high school sweetheart, LaRue McElprang, and started a family.

Dad and Mom raised eight kids on a farm just outside of Roosevelt, Utah -- Todd, me, Ruth, Melissa, Rebecca, Maria, David, and Leo. We all learned to work and shoulder responsibility. We learned to love one another and to get along (not always perfectly). 

Dad raised a lot of hay. He fed some of it to his own cows and horses. He sold most of it to pay the bills. And he gave much of it away to neighbors who promised to pay one day but never could. He never bothered them about it. Eventually, when David was old enough to go to school, Mom went to work at the hospital to make up for the dwindling of the farm income. But Dad never gave up on the farm. He worked and worked and some years were good and others not so much.

As Alzheimer's began to take it's toll, Dad did the bravest and most humble thing I have ever witnessed. He agreed with Mom to sell all the equipment he had accumulated over the years to pay off the farm and house and hang up his farmer's hat. It may have been the most difficult thing I ever saw him do. He put on a brave face as friends, neighbors and relatives attended the auction to take away the instruments of his livelihood, the tools and machines that had come to symbolize and define so much of his life.

Even then for years after that, Dad would put on his hat and coat twice a day to venture out to the corrals to feed the dwindling number of horses and cows. He wore a trail through to the ground making this trip more than 700 times a year. This ritual is such a part of him, that he still puts on his hat and coat to go out. He gets as far as the garage and cannot remember what's next, eventually returning to the house, not knowing why.

Now with his memories beyond his reach, I introduce myself to him when I visit and tell him, "I'm Tyler. I'm your son," and he smiles with sweet surprise and joy, hugs me and asks, "Did I do a good job?" 

Yes, Dad, you did a very good job!

Happy Father's Day!

Hello World in D, Go and Rust in VS Code

A few days ago a friend asked me what languages I’m learning. I told him I had been rather lazy of late and was not currently studying any new languages in my programming repertoire. So he said something like this:

每天早上刷牙后研究一种新语言。
Měitiān zǎoshang shuāyá hòu yánjiū yī zhǒng xīn yǔyán.

When I told him I had no idea what he just said, he laughed and explained that he is learning Mandarin and had just told me, “Study a new language after you brush your teeth every morning.” To be honest, I pulled the above Mandarin from Google Translate because I had no way to remember exactly how he had said what he said. But he had successfully goaded me into getting back on the polyglot track. We talked about Rust and Go and D. I’ve played with D some years ago, but have never done anything real with Rust, Go or D.

Here’s Part 1 of my journey through these three languages. The Hello World with a tiny input twist looks like this:

image

I decided to get each of them working in Visual Studio Code. I’m a Windows user, so if you’re on a Mac or using Linux, your mileage will vary. Hopefully what I’ve found here will help you get a start on one or all of these languages as well.

Visual Studio Code

First things first. If you don’t already have it installed, follow the link in the header above and get and install it. It’s simple so I won’t walk you through it here. My first love is the big old fashioned Visual Studio and I’ll continue using it for most of my work, but I wanted to learn more about VS Code as I learn more about these three programming languages. Here’s the version I’m using:

image

Of course you can use your own favorite editor. We’re not going to use any special integrations in VS Code for the Hello World examples here.

Hello in DLang

You can get a pretty good history of DLang here. There are three compilers that support D. In this post, we will only use the DMD compiler, the reference compiler for the language. Download and install DMD. Once installed, open a new console and enter the command DMD. You should get something like this:

[path]>dmd 

DMD32 D Compiler v2.086.0
Copyright (C) 1999-2019 by The D Language Foundation, All Rights Reserved written by Walter Bright

Once you have the compiler installed, install the DLang VS Code extension for D. (There are several. After some experimentation, I found that I liked this one the best but this is by no means a comparison of them, so I’m not mentioning the ones I decided not to use.)

I created the following Hello World in app.d and ran the DMD app.d command in the terminal window in VS Code.

import std.stdio;

void main()
{
	string name;
	write("Hello, what's your name? ");
	readf("%s\n", &name);
	writeln("Hello, ", name);
}

The app.exe produced was 312KB in file size. At run time, it consumed 1,728KB.

Hello in GoLang

I downloaded and installed Go and then the Go VS Code extension. The extension is built by Microsoft, so I expected the VS Code experience to be superior to the other two languages. I was right. This included the automatic suggestion to install several additional Go related extensions which I did.

I was able to run the following code through the debugger, but rather than get into debugging these languages for this post, I wanted to focus on building an executable that would be as close to the same modified Hello World as I could get.

package main

import "fmt"

func main() {
	var name string
	fmt.Printf("Hello, what's your name? ")
	fmt.Scanf("%s\n", &name)
	fmt.Printf("Hello, %s\n", name)
}

The command line to build the executable was a little more tricky but not bad. There are many sites that can help you here. The command go build -o app.exe app.go produced an app.exe that 2,164KB file size but only consumed 1,424KB at runtime. That surprised me a bit. I expect that Go is packing in a whole lot of things into the executable that my little code base is not using.

Hello in Rust-Lang

Next I downloaded and installed Rust for Windows and then added the Rust(rls) VS Code extension. When I first tried to compile this bit of code, I got an error error[E0601]: `main` function not found in crate `app` which seemed odd since there was definitely a main function. After closing and starting VS Code again, the rustc app.rs command line compiled the executable just fine. Perhaps a path had not been picked up.

use std::io;

fn main() {
	let mut name = String::new();
	println!("Hello, what's your name? ");
	io::stdin().read_line(&mut name).expect("Failed to read line.");
	println!("Hello, {}", name);
}

The Rust compiler wins the size competition with an executable coming in at on 154KB for a file size and only 324KB at runtime. Call me impressed.

Video Tutorials

If you like to learn by watching, here are three fairly good YouTube tutorials that I’ve found. There are many more of course. I’m not saying these are the best, but I liked them. I will return to them a few more times as I continue to learn each of these languages.

What’s Next

Most programming language documentation will take you on a journey of variables, control flow, etc. I figure you can read those on your own. Google works just as well for you as it does for me. So next I want to explore the following. Hold me to it.

  1. How to write object oriented code
  2. How to write SOLID code
  3. How to write a RESTful service client and server
  4. How to write scalable code (threading, message passing, etc.)

That seems like a fair number of things to explore. There are a multitude of others that may emerge as I walk down these three learning paths.

Update

In preparation for more on this language exploration, I have create a GitHub repo here.