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

I found this Warren Buffett quote in this Inc. Magazine article back in 2018:

“If you could invest in only one of your fellow classmates, who would you choose? If you could buy, say, 10% of the future earnings of just one classmate, who would you choose? What would you look for?”

The idea is that you won’t just necessarily look at raw IQ, you’ll look at other personality attributes, such as drive, ambition, and hopefully other attributes like honesty and integrity.

Warren Buffett: If you could invest in one classmate ...

My college admission story is that my dad said, “Son, go to college, I’ll figure out a way to pay for it.” Then after my freshman year he said, “Sorry, it turns out I can’t really afford to pay for it. Go get yourself some more grants and loans, and keep up the good work. May the Force be with you.”

Jeyes, a Java version of Xeyes

In my spare time back in 2011 I created a Java version of the old Unix/X-Windows “Xeyes” application. If you ever used Xeyes, you know it as a set of eyes that are displayed on-screen, and follow the mouse cursor as you move it around.

Now in 2019 I just brought it back to life, and here’s a 56-second video that shows how it works:

The people at Triplequote looked at the performance of Scala compilers on different Amazon EC2 instance types in an effort to answer the question, “What is the (cloud) cost per build?”

Triplequote: A Guide to Amazon EC2 instance types

“Keep it small, but keep it going.”

~ a good quote from Pete Seeger, via John Mellencamp (from the IndyStar)

Keep it small, but keep it going

Looks like they might get up to 50” of snow this week in Seward, though it also looks a little warm for that to happen.

When I lived in Alaska, people told me the only way you’d survive winter is if you love winter activities. I don’t ski, but I would enjoy cross-country skiing and snowmachine-ing (they don’t call them snowmobiles). Did I mention it’s March 10th? (Image from this wunderground.com page.)

Up to 50" of snow this week in Seward, Alaska

“If you’re best player has an unhappy attitude when he shows up to work, there’s no joy, there’s no passion to what he brings, that affects the team, it affects the locker room, it’s huge. Teams need leaders, teams need passion, teams need energy, they need positiveness, they need joy.”

~ Chad Brown, about thirteen minutes into this 104.3 The Fan recording, in a discussion about star player Kyrie Irving of the Celtics constantly appearing unhappy, and the team being 10-2 without him.

If you can handle the weather in Boulder, Colorado this winter (2018-19) you can probably handle the weather in Alaska. Well, southern Alaska, anyway. This is the weather in Talkeetna, Alaska or Boulder, it doesn’t really matter because they’re about the same. Of course the huge difference is the darkness in the winter. (Image from wunderground.com).

This Boulder, Colorado winter reminds me of Alaska

I’ll write more about this shortly, but yesterday I created a little video of a demo application I call Futureboard. It’s a Scala/Swing application, but it works like Flipboard in that it updates a number of panels — in this case Java JInternalFrames — simultaneously every time you ask it to update.

The “update” process works by creating Scala futures, one for each internal frame. When you select File>Update, a Future is created for each news source, and then simultaneous calls are made to each news source, and their frames are updated when the data returns. (Remember that Futures are good for one-shot, “handle this relatively slow and potentially long-running computation, and call me back with a result when you’re done” uses.)

Here’s the two-minute demo video:

“Pursue something so important that even if you fail, the world is better off with you having tried.”

~ Tim O’Reilly

“Strive for beauty and elegance in every aspect of your work.”

~ Daniel Read

It’s important to remember that even when successful people say things, they’re often just opinions, not facts. Starbucks’ CEO Howard Schultz once told Jeff Bezos of Amazon, “You have no physical presence. That is going to hold you back.” The reality was that not having a physical presence at that time is what propelled Amazon forward.

March 5, 2019: For a limited time only, I put the paperback version of “Hello, Scala” on sale for $10 (US) on Amazon.

P.S. - It won’t get any cheaper than this.

Hello, Scala paperback book cover

Back in the 1990s I was fortunate enough to work for a very smart, energetic man. In a way, working for him — or at least in the position he gave me — helped change the trajectory of my career into what I wanted it to be.

Skipping 99% of that story ... one thing he did exceptionally well was troubleshoot problems, and troubleshoot them very fast. I didn’t know it at the time, but he was using something called The Scientific Method. After observing him for a while, I saw him repeat these steps so precisely that I thought he must have them on a tattoo on the inside of his eyelids:

  1. Observe some feature, in our case, a bug
  2. Hypothesize a model consistent with the observations
  3. Predict future events the hypotheses should yield
  4. Verify the predictions by making further observations
  5. Validate by repeating

“Always stretch from the source, the core, the foundation of each asana. Keep your attention internal, not worrying about what others see, but what the Self sees. Each movement must be an art, an art in which the Self is the only spectator.”

B.K.S. Iyengar, Light on Life: The Yoga Journey (with a few minor edits by me)

On March 4, 1993, Jim Valvano gave a very emotional and inspirational video. “Time is very precious to me, and I don’t know how much I have left, and I have some things I would like to say.”

A terrific quote from Kareem Abdul-Jabbar about auctioning off his memorabilia and giving the $3M+ proceeds to his Skyhook Foundation charity that helps kids learn about science, technology, engineering and math:

“When it comes to choosing between storing a championship ring or trophy in a room or providing kids with an opportunity to change their lives, the choice is pretty simple: Sell it all. Looking back on what I have done with my life, instead of gazing at the sparkle of jewels or gold plating celebrating something I did a long time ago, I’d rather look into the delighted face of a child holding their first caterpillar and think about what I might be doing for their future. That’s a history that has no price.”

If you ever think you have to be perfect with a product or service in its first release, I encourage you to watch the Match Game tv series on Amazon Video. The first episodes of Match Game 73 were horrible; Gene Rayburn wasn’t comfortable, the writing was extremely poor, and all the celebrities (except for Jack Klugman) seemed uncomfortable. Then flash forward to Match Game 75 (or 78) and you’ll see a much better show.

For another example, take a look at the original iPhone and compare it to what’s available now. It was revolutionary, but it was also a minimum viable product.

As a brief note, and assuming that you already know a little bit about RxJava, here’s the simplest possible RxJava 2 “Hello, world” example I think you can create:

package hello;

import io.reactivex.Observable;

public class HelloWorld {

    public static void main(String[] args) {
        Observable<String> observable = Observable.just("Hello, world");
        observable.subscribe(System.out::println);
    }

}

“Testing takes time, just like structural analysis takes time. Both activities ensure the quality of the end product. It’s time for software developers to take up the mantle of responsibility for what they produce. Testing alone isn’t sufficient, but it is necessary.”

~ Neal Ford (as seen on this tweet)