Alvin Alexander | Java, Scala, Unix, Perl, Mac OS X

This made me wonder how a Zen student is supposed to drive a car when mountains aren’t mountains and rivers aren’t rivers (and presumably, roads aren’t roads).

Before you study Zen, mountains are mountains

If you like “works in progress,” I’m currently in the process of moving the HTML version of my new book to this website ( You can find the first page here at Learning Functional Programming in Scala.

(The motivation for moving it here is that I want to a) make my life easier, and b) make it so I can find my own content by just searching this website.)

“True self appears when we actively practice in the present moment, not waiting for enlightenment to appear in some special way.”

~ Les Kaye, Zen at Work

If you’re interested in “meta” programming in Scala, check out the Scalameta project. It’s described on its website like this:

“Scalameta is a clean-room implementation of a metaprogramming toolkit for Scala, designed to be simple, robust and portable. We are striving for scalameta to become a successor of scala.reflect, the current de facto standard in the Scala ecosystem.”

“Scalameta provides functionality that's unprecedented in the Scala ecosystem. Our killer feature is abstract syntax trees that capture the code exactly as it is written — with all the original formatting and attention to minor syntactic details.”

I don’t send cards at Christmas, but if I did, I might send this “Fox looking at Santa and the Moon” Christmas card that I saw in Santa Fe, New Mexico this week.

'Fox looking at the Moon' Christmas card from Santa Fe

On May 24, 2013, I finished with the last hardcopy chapters of the Scala Cookbook. I put all of the chapters next to the paper shredder as a way to show what I had just done. The final edits would be finished with a copywriter over the next several weeks, and I signed off on the final edition while I was at Virginia Beach.

Last draft of the Scala Cookbook

Somewhere around the year 2006, my writing style was influenced by the CIO of a company I was working with. When trying to get a new project started, a project manager gave me a very vague description of what he wanted, and as a result, the cost estimate and Statement of Work I wrote (so I would get paid) was vague as well.

The CIO called me to her office, and then told me that I didn’t have to write anything fancy, I just had to “say what I mean.” Since then, that simple approach has been a key to my writing style.

I love these quotes:

- My happiness depends on me.
- Do not give anyone else responsibility for how you feel.

Unfortunately, many people blame other people for their problems. I hear people say, “If only so-and-so would do xyz, I’d be happy.” Guess what? No you won’t! Nobody else is ever going to give you lasting happiness. If your friend/sibling/whatever is a slacker, they’re a slacker! (And guess what else? You’re judging them, and that makes you judgmental!) Get over it, move on! Tend to your own garden. You make yourself miserable, and you can also make yourself happy. It’s your choice. Stop blaming others.

My happiness depends on me

For people who have life partners (spouses, etc.), I think it’s important to ask, “Is there joy in my partner’s life?”

Sometimes we get so caught up in our own lives, we forget to check in with our partners and ask how they’re doing, if they’re happy. (And if they’re not, what we can help do about that.)

Being a “life partner” is a commitment to the other person, and to their well-being.

If you’re interested in a simple introduction to mindfulness meditation, search the Internet for a free, 25-page PDF booklet named, “Buddha in Blue Jeans,” by Tai Sheridan. Despite that name, the booklet has good, non-denominational tips about meditating and mindfulness (and only mentions the name “Buddha” twice in the main text).

Here’s a favorite quote: “Be like a cat purring. Follow your breath like ocean waves coming in and out.”

“I thought once everybody could speak freely and exchange information and ideas, the world is automatically going to be a better place,” Mr. Williams says. “I was wrong about that.”

~ Evan Williams, in a N.Y. Times article, The Internet is broken.

A farmer plowing a field in Palmer, Alaska on May 20, 2015.

At 10:30 pm.

A farmer plowing a field

Lately I’ve been in the process of “making the switch” from macOS to Linux Mint, and to that end, I just installed the Java 8 JDK/SDK, Scala 2.12, and SBT 0.13 on a new Linux Mint system, and I want to note here how I did that while it’s still fresh in my mind. Here are my notes in a compact form.

Guess. Apologize. Compensate. This is a nice slide from a talk by Jonas Bonér‏, CTO of Lightbend.

Guess. Apologize. Compensate.

Tried to use someone’s software library.
Documentation was bad, couldn’t get it to work.
Used someone else’s.


“Do not let the behavior of others destroy your inner peace.”

~ The Dalai Lama

Do not let the behavior of others destroy your inner peace

I’d like to meet the person who first drank milk from a cow. I’m curious about what led up to that decision.

Today’s mindfulness “lesson of the day” (mostly for myself) is a reminder to keep practicing, even when you don’t feel like it. You don’t get to choose when moments of enlightenment happen, so the best thing you can do is keep practicing so those moments will be possible when the right circumstances (karma?) come into alignment.

What happens is that over time, both the mindfulness and the enlightenment bits change the wrinkles in your brain, change your perspective and attitude, and cleanse the environmental conditioning of whatever happened to get you to this point. With continued practice you evolve (think “metamorphosis”) into a new person over time — this time a person of your own choosing, rather than a person conditioned by where and when you were born and lived.

(And who knows, maybe one day you’ll break free from the endless cycle of karmic existence, if you’re into that sort of thing.)

Namaste. ;)