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

I have gone through some health issues, for sure, but I always feel much worse when I see little children in the hospital fighting some illness or disease. Seeing that breaks my heart, and I have nothing but love and respect for those kids and all of the medical professionals that help them.

And as I was writing that, I received an email about Marybeth Hoffman, who has gone through 132 rounds of chemo to fight pancreatic cancer. Anything I have gone through pales in comparison to what many other people have to deal with.

132 rounds of chemo

On Sunday, November 3, 2019, I had just finished lunch, looked at the clock, and saw that I could fit in about an hour of work before the Broncos game started. I was looking forward to see how Broncos’ quarterback Brandon Allen would do in his first career start.

A minute later I had severe chest pain. At first I thought I was having an allergic reaction to lunch — Wolfgang Puck’s potato soup, which I’ll never eat again — but I quickly realized it was something heart-related.

So I eventually got myself to the hospital. Because of the way the pain instantly came on I was guessing blood clot, but the doctors think it’s something called Pericarditis, as explained in this image.

(The last song I heard before going into the hospital was Someone Saved My Life Tonight, and while the lyrics don’t fit the event, I was hoping the title would be a good match.)

Pericarditis - details from the hospital

I like these White Doe Prints, which I just found on Amazon back in 2016. Unfortunately Amazon won’t let me add the prints to my wish list, so I’m linking to them from here.

White Doe Prints (on Amazon)

This is a nice photo of Zach Greinke’s changeup grip when he pitched for the Dodgers. I never did master the changeup before I hurt my arm, but in retrospect I wish I had learned how to throw it when I learned how to throw a curve. My ERA my junior season (before the injuries started) was 1.00, and I have no doubt it would have been 1/2 of that if I had known how to throw one. (I don’t remember where I got this image, but it was probably espn.com.)

There’s an important lesson here about (a) role models and (b) expanding your horizons that I need to write up at some point, but the short story is that Cubs pitchers at the time threw fastballs, curves, and splitters, so as a teenager that’s what I threw.

Zach Greinke’s changeup grip

Back in 2016, Hit 105 on Facebook posted a series of funny “Shane” whiteboard signs like this. Apparently Shane also tends to send customers to other stores, and asks customers if this is their “final answer” when they place an order (at which point he lets them phone a friend).

Funny Shane signs

I don’t know where this originated, but I just saw it on a friend’s Facebook feed. Nothing like Java humor. :)

IT guy: I have successfully installed Java

My favorite Midsomer Murders episode is ... one that nobody else has ever seen. It keeps coming to me in a recurring dream. There’s something to do with a warm swimming pool, then Ben Jones is undercover, with a beard, dark/dirty skin, and unkempt hair. Then a group of people get in the back of a large car, including Jones, Tom Barnaby, and me. (It’s nice to be in the middle of an episode). It must be something like the back of a limousine, because there are five or six of us sitting in two rows, looking at each other and talking.

A little later there’s something about an oriental woman and some gold. Near the end of the episode Tom starts singing, and he sounds really good, but the group can’t get funding for what they’re doing, presumably putting on some kind of show, but a famous woman helps them out, something to do with a commercial. Cully is involved around this time, and there’s also a black bear named William Hanks (I don’t know where that came from). Joyce is involved at several points, especially the end, and fortunately she doesn’t cook anything. :)

At the end of the episode Tom is sitting in a chair, and I’m standing on his left and Joyce is standing on his right. I say to them, “This is the best episode ever, it’s much more of a movie than an episode.” Joyce agrees, and Tom doesn’t say anything, but sits there with a satisfied smile.

I’ve had this dream at least twice so far, and I look forward to seeing it again the next time it’s on. :)

I went to a local coffee shop and a talkative man behind the counter asked what I do for work. I told him I’m currently writing three books on computer programming, one young adult novel, and a mindfulness app for iOS and Android, in addition to running this website. When you say it out loud it sounds a little crazy, but in the midst of it it’s not a problem, I like bouncing between the projects.

“When there is no attachment to the past and no expectation of the future, there is only this moment — the eternal present, here and now.”

~ Ram Dass, in be love now

I did something wrong in a previous blog entry that led me to use the pax command to create a large backup/archive. There’s nothing wrong with using pax — other than the fact that it’s not available for Cygwin — and I really needed to created a huge archive.

What wasn’t working

In my earlier blog post I stated that something like this did not work for me when trying to create a large backup using find, xargs, and tar:

find . -type f -name "*.java" | xargs tar cvf myfile.tar

What was happening was that as xargs was managing the input to the tar command, tar kept re-writing the archive. That is, each time xargs passed a new block of input files to tar, tar perceived it as a new command, and went on to re-create the file named myfile.tar. So, instead of the huge myfile.tar that I expected, I ended up with only a few files in the archive.

Happy Halloween, 2019, from some folks at Texas A&M University (one of four colleges I spent time at).

(Image from this TAMU LinkedIn page.)

Happy Halloween, 2019, from some folks at Texas A&M University

I’ve known about Ram Dass for a long time, but I don’t think I considered his work too much until I stumbled across the book, Polishing The Mirror, which I now consider to be the best spiritual book I’ve ever read. More recently I started reading his newer book, Walking Each Other Home, and the following quote comes from that book.

~~~

There is no inherent self — we are boundless. The ego is a structure of mind that organizes the universe, particularly around the relationship to separateness. It is the steering mechanism for you as a separate entity surviving and functioning within this world, on this plane.

“The ego is frightened of death, because ego is part of the incarnation and ends with it. For the soul, death is just another moment.”

~ Ram Dass, be love now

October 29, 2019: We already have a few inches of snow on the ground, and reports call for another five inches today, with temps in the teens.

Let it snow? (October 29, 2019)

One year for Christmas I got a bunch of cookies and a car charger for my phone. It was a good Christmas. :)

Twas the Christmas of 2013

“The more you are motivated by love, the more fearless and free your action will be.”

~ The Dalai Lama

Flutter Quick Reference - book cover

When I started working with Flutter a couple of months ago to develop iOS and Android apps from one code base, I started keeping notes about how to do things with Flutter and Dart (the programming language behind Flutter). These notes became my own personal cheatsheet, and then those notes just kept getting larger, and larger.

From there, I started to create a book I titled “Flutter Quick Reference” based on those notes. Right now this “book” is really just a very large Flutter/Dart cheatsheet, but because some of the content in it can’t be found elsewhere on the internet, I thought I’d share it here. Also, because I don’t know if I’ll ever take the time to finish making this into a real book, I made this first release free.

Table of Contents1 - Sample data2 - From match expressions to higher-order functions3 - Notes4 - Resources5 - Comments

I originally wrote a long introduction to this article about Scala Options, but I decided to keep that introduction for a future second article in this series. For this article I’ll just say:

  • idiomatic Scala code involves never using null values
  • because you never use nulls, it’s important for you to become an expert at using Option, Some, and None
  • initially you may want to use match expressions to handle Option values
  • as you become more proficient with Scala and Options, you’ll find that match expressions tend to be verbose
  • becoming proficient with higher-order functions (HOFs) like map, filter, fold, and many others are the cure for that verbosity

Here’s what the 10 a.m. sunrise looks like in Anchorage, Alaska on October 27th.

10 a.m. sunrise, Anchorage, Alaska

While the Super Bowl was a disaster (from a Denver, Colorado, perspective), I’ll try to remember February 2, 2014, as the day I watched Love Actually. Still a favorite quote:

“Okay, dad. Let’s do it. Let’s go get the shit kicked out of us by love.”

Let’s go get the ---- kicked out of us by love