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

The movie The Hidden Fortress is said to have a major impact on the Star Wars series. From Wikipedia: “George Lucas has acknowledged the heavy influence of The Hidden Fortress on Star Wars, particularly in the technique of telling the story from the perspective of the film's lowliest characters, C-3PO and R2-D2. Lucas's original plot outline for Star Wars also had a strong resemblance to the plot of The Hidden Fortress, which would be reused for The Phantom Menace.”

I live in Colorado, where cellular reception can be very hit or miss. As just one example there are only two spots in my apartment where I can make a phone call. So when I’m at home trying to view a website using Safari on my iPhone and the page is loading really slow, I find it really annoying that my iPhone is trying to use my cellular data rather than my home wireless network (WiFi).

Note: Apple implies that the cellular data is “assisting” the WiFi, but with the poor cell reception here, I can confirm that this feature just slows down my iPhone internet speed.

“Besides a mathematical inclination, an exceptionally good mastery of one’s native tongue is the most vital asset of a competent programmer.”

~ Edsger Dijkstra

A website named has a collection of images and short stories they call Daniel Kottke’s Amazing Apple Relics. If you’re interested in Apple history it’s a nice little find.

I like the quote by Pema Chodron (PC) that’s shown in this image, but personally a better one for me is, “You know what, I screwed up here, and I need to own that.”

It took me about 43 years to stop blaming other people for my problems. Then one day I finally said to myself, “The only reason I don’t live in Alaska is because of me. The only reason I don’t practice yoga more is me. The only reason I don’t meditate more is me.”

A couple of times a year I still open my mouth to start blaming other people or situations for my problems, but I try to catch myself before the words actually come out, and when I wrongfully accuse someone else for my problem of the moment, I do try to apologize.

(It’s worth noting that I think PC and I are talking about two different circumstances. I’m talking about things that are under my control, which are the 99.9% of the things that happen to me in my daily life. I have read several books by PC, and I suspect that this quote is about people who have been harmed by things out of their control, such as family violence. I absolutely agree with her quote in that context.)

Personal responsibility

While reading Carlos Santana’s autobiography I’ve been trying to explore more of his music. This video shows two of his songs — Soul Sacrifice and Evil Ways — at Woodstock in 1969.

Chapters from The Handbook of Applied Cryptography are available from the publisher and authors as PDFs at this link.

When it’s finished, this series of articles by José Manuel may be a good read on functional programming.

This image is from an article about Ubuntu named, How to make your desktop look like my desktop. has another article on customizing the Ubuntu UI with themes.

Customizing Ubuntu with themes

“The dogs have just returned from 10 days of breaking trail to Toklat and back.”

~ A note from this Denali National Park and Preserve page on Facebook

Denali, Alaska: 10 days of breaking trail

This photo from January 12, 2012 of the Rocky Mountains behind Boulder, Colorado made me feel like I was living on the Moon.

Rocky Mountains behind Boulder, Colorado

Lightbend has a good article by Jonas Boner and Viktor Klang titled Reactive Programming versus Reactive Systems. This quote describes the article: “looking at the differences between writing code in a Reactive Programming style, and the design of Reactive Systems as a cohesive whole.”

This is a nice article on the best Linux laptops of 2016, including what to look out for in graphics chips and other hardware issues. As I become more disgruntled with Apple and the direction of Macs and MacOS, I thought I’d start looking for a Linux laptop.

During a recent cross-country drive I listened to the book The Universal Tone: Bringing My Story to Light by Carlos Santana. I’m not a huge fan of his music — though I love this work with Faith Hill — but I am interested in him because he’s very open about his spirituality. Although I haven’t finished the book yet, I’ll give it a “thumbs up” rating. The book is his autobiography, and includes stories about playing professionally and hanging around in strip clubs when he was 13, everything related to the band Santana, growing up with a strict mother and abusive father, and much more.

Carlos Santana: The Universal Tone

I sometimes think the quality of the lucid dream environment (aka, the dream holodeck) isn’t quite like it is back here in the physical world, but during lucid dreams the last two mornings I’ve been walking around and exploring the details, and I keep saying,“Man, this is good.” The environment is so life-like I have to keep checking my hands to make sure I’m asleep.

A quote from this article:

“You know who said it best? Leonard Cohen. He meditated all those years at Mt. Baldy Zen Center, often for twelve hours at a time. In an interview, he said his storyline just wore itself out. He got so bored with his dramatic storyline. And then he made the comment, ‘The less there was of me, the happier I got.’”

January 5, 2011, Wasilla, Alaska: Our parking lot, a half-inch or more of ice, and black gravel they’ll sweep up and re-use come March or April.

A thick layer of ice in the parking lot, Wasilla, Alaska

If you add ScalaCheck to an SBT project like this:

libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.13.4" % "test"

it’s only available in the SBT “test” scope. This means that when you start a Scala REPL session inside of SBT with its console command, the ScalaCheck library won’t be available in that scope.

To use ScalaCheck with the SBT console (REPL), don’t use its console command — use test:console instead. A complete example looks like this:

$ sbt

> test:console

scala> import org.scalacheck.Gen.choose

Note that after you type test:console your project may be compiled, so that step may take a few moments.

In summary, use SBT’s console command to start a “normal” Scala REPL inside SBT, and use test:console to start a REPL that you can run tests inside of. (Note that this same advice also applies to using ScalaTest or specs2.)

“Do not try to experience satori. Do not try to drive away illusion. Do not hate the thoughts that arise, and do not love them, either. Above all, do not entertain them. Just practice the great sitting, here and now. If you do not continue a thought, it will not come back of its own accord.”