Scala, Java, Unix, MacOS tutorials (page 1)

Since I’ve written two functional programming books, I thought it might help to provide a comparison of them.

The short story is that both books have “limited technical jargon,” and as shown, The Little FP Book essentially has one purpose, which is to help Java/Kotlin/OOP developers learn functional programming as fast as possible, using a technique that I “discovered” over the last few years. Conversely, The Big FP Book covers many topics in great detail.

Here are links to the two books:

Functional programming books, comparison

As a brief note today, I just released the first version of a new, free book/booklet that I’ve titled Learning Recursion.

Learning Recursion: A free booklet by Alvin Alexander

I’ve been slowly working on a series of new Scala programming books, and today I’m proud to announce the first of these:

Learn Scala 3 The Fast Way! (book cover)

Starting today you can buy the PDF version of Learn Scala 3 The Fast Way! for just ten dollars — $10 (USD) — at this Gumroad.com URL.

MARCH, 2023: This book was previously named, Learn Functional Programming Without Fear, but I have renamed it to Learn Functional Programming The Fast Way!. I think this name is more reflective of the ZIO and Cats Effect libraries being easier to learn than ever before (without having to know category theory), and the name is also consistent with my other book, Learn Scala 3 The Fast Way!.

NOV., 2022: My new book, Learn Functional Programming Without Fear, is currently an Amazon Java and functional programming #1 new release. The book is now available in three formats:

PDF Format
$10 (USD) on Gumroad.com

Learn Functional Programming The Fast Way! (PDF Version)

Paperback
$30 on Amazon

Learn Functional Programming The Fast Way (Paperback)

Kindle
$10 on Amazon

Learn Functional Programming The Fast Way! (Kindle Edition)

If you’re interested in baseball — especially pitching — this is a terrific discussion between “Pitching Ninja” Rob Friedman and Hall of Fame pitcher Greg Maddux.

In a personal note, back in the day I had an opportunity that would have allowed me to pitch with Greg’s brother Mike Maddux, but my shoulder wouldn’t hold up.

To my surprise, I saw that this favorite old Zen book was sponsored by the late Prince Philip.

Similarly, many people have thanked me for creating my free Scala and Functional Programming training videos, but the thanks go to Ziverge. These videos will take months to create, and I could not do this without them.

Zen, the arts, patronage, Scala, and Functional Programming

As a brief note, here are my favorite songs of late:

I’m pleased to announce that my 100% Free “Introduction to Scala 3” video training course is now online. I say it’s 100% Free because there are no ads and no paywalls — just free Scala 3 training videos.

This video training course is free thanks to Ziverge, which is sponsoring my work.

Dateline May 30, 2023: Today I just released a new version of my book, Functional Programming, Simplified. This is Version 0.08, and it adds “App 4”, where we get into traits, inheritance, generics, variance, bounds, modules, Nothing, and more.

May 30, 2023: New release of Functional Programming, Simplified

The realized yogi continues to function and act in the world, but in a way that is free. She is free from the desires of motivation and free from the desires of the rewards of action.

The yogi is utterly disinterested but paradoxically full of the engagement of compassion. She is in the world but not of it. The yogi is beyond cause and effect, action and reaction.

Later we shall see the role that Time plays in this — how there is freedom because the Illusion of Time no longer exists to bind us to the past and future.

~ from Light on Life, by B.K.S. Iyengar

“The most beautiful people we have known are those who have known defeat, known suffering, known struggle, known loss, and have found their way out of the depths. These persons have an appreciation, a sensitivity, and an understanding of life that fills them with compassion, gentleness, and a deep loving concern. Beautiful people do not just happen.”

~  Elisabeth Kubler-Ross

In my experience, some “judgy” people will make up their own opinion about you — about what you should do or shouldn’t do — when they don’t know all the facts.

(I use the word judgy, because if you’re a Christian, Jesus was very clear on this point: “Judge not, that ye not be judged.”)

To wit, sometimes you just have to let people be wrong about you.

From this tweet by TinyBuddha.

Sometimes you just have to let people be wrong about you

This is a recipe from the Scala Cookbook (2nd Edition). This recipe is titled, Working with Parameterized Traits in Scala.

Problem

As you become more advanced in working with Scala types, you want to write a trait whose methods can be applied to generic types, or limited to other specific types.

Solution

Depending on your needs you can use type parameters or type members with traits. This example shows what a generic trait type parameter looks like:

If only ... I had a little bit more time
If only ... I had a little bit more time with you

I fell down, down, down
Into this dark and lonely hole
There was no one there to care about me anymore
And I needed a way to climb and grab a hold of the edge
You were sitting there holding a rope

...

And maybe someday I’ll see you again
We’ll float up in the clouds and we’ll never see the end

~ from Clouds (Up Up Up) by Zach Sobiech

A poem from the tv series Monk:

“Hold me, Adrian,
my darling husband.

True love’s touch is so rare a gift.
How much more precious is your caress
who loves so deeply,
yet fears the warmth,
of hand on hand.

Still your love is given free,
only to me,
only to me.”

~ Trudy Monk

Possibly my favorite part of the movie Spanglish is when Cloris Leachman’s character says, “I love you. I love everyone. That’s what’s killing me.”

From a Zen/Buddhist perspective, that’s the emotion of a Bodhisattva (an enlightened being who chooses to stay here out of compassion, to save all beings). You love everyone, and there are consequences of that.

I started watching Dawson’s Creek recently because I was curious what Joshua Jackson was like before Fringe, and I have to say — I know their conversations are intentionally verbose — but even in the short talks between Dawson and his parents, my relationship with my parents was nothing like that. We never talked about things because my mom was very sick and my dad was very domineering and abusive. So I watch this show and wonder, is that what parental relationships are really like in a healthy household?

I think I managed to alienate all of my “Facebook friends” by writing about things like Zen, meditation, mindfulness, yoga, and all the experiences that come from studying and practicing these things. And I also understand that alienation, because there are many “spiritual” things I’m not interested in from certain other spiritual/religious perspectives. (I’m more open than that sounds, but I have a hard time when people don’t practice what they preach, or cherry-pick a few things Jesus taught while ignoring the teachings they don‘t like.)

That being said, the things that Shinzen Young — a modern day meditation master in the U.S. — speaks about here and in this two-minute video echo everything I’ve discovered on my own and wrote about. So while, yes, I feel bad about oversharing about this sort of thing with people who don’t have similar interests on my now-defunct Facebook account, well, at least I was right. :)

Dateline April 22, 2023: Learn Functional Programming The Fast Way! is still the #1 New Release in Amazon’s Functional Programming category.

#1 functional programming book, April 22, 2023