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

I’m working on a little app for my Scala & functional programming book I currently call “Future Board.” It works a little like Flipboard in getting news headlines from different sources, but it uses Scala Futures and a few other functional programming techniques.

Future Board (like Flipboard, with Scala Futures)

I was just reminded of the time a recruiter told me to “play dumb” when a particular person interviewed me, because that person didn’t like to be challenged, and had to feel like he was the smartest person in the room. I couldn’t bring myself to do that; I figured if that was the way it was going to be, I didn’t want to work there.

I had my old RAV4 for about eight years. I bought it because Toyota supposedly had good quality, but I sold it on this date a few years ago because I had a lot of problems with that car, including the time it filled up with water shortly after I bought it.

Traded in the RAV4

A few more September colors from Talkeetna, Alaska

September colors, Talkeetna, Alaska

“Monad transformers are not too intuitive, especially in Scala, and are known to produce hard to understand code structure.”

~ Debasish Ghosh, Functional and Reactive Domain Modeling

Every once in a while someone asks what writing a book is like. For me, it usually looks like this. I hate to waste paper (and I recycle almost everything), but I think much better on paper.

What writing a book looks like

deelay.me looks like a good website to use if you’re writing network-access code and want to simulate accessing a slow web server.

Back in April when I was 2,000 miles from home, my iPhone began crashing and I had to learn the “hard reboot” technique. Then right before my surgery last month it quit working for cell calls, and I learned more iPhone restoration techniques. After that, the Bluetooth failed. I bought a cheap Moto E so I could make calls.

Over the weekend I dropped a phone for the first time in my life, and I ended up with some iPhone 5s Gorilla Glass in my fingers. But still, it works for music and messages.

The slow death of the iPhone 5s

Here’s a little example of how exceptions work with Scala Futures, specifically looking at the onComplete ‘Failure’ case.

In this example I start three Futures that run for different lengths of time, and the shortest-running Future throws an exception:

Notes from a long, ongoing dream this morning:

- some sort of wild thing in the basement of a home was
  killing things
- it was like the basements of many (or all) homes were 
  connected
- people were trying to kill it with guns and rifles
- somehow we realized it was an electromagnetic thing, 
  not human or animal
- realized we couldn’t kill it with guns and rifles
- as we were having this realization, Monk appeared and figured 
  out the thing was feeding off of anger and hate
- we put the weapons down and focused on love, even just the 
  small things we loved
- no matter how scary things got, we kept focusing on love
- we were outside on the grass, and in time the thing came to
  the surface
- it emerged as a combination of a lion with a female human head
- it was in great pain and the face was peeling off, shedding
- we were afraid, but kept focusing on love
- then it morphed into a complete human female
- in time the female didn’t die ... the shedding finished, 
  and it was freed

I don’t know if there’s a metaphor in there or not, but it was an interesting morning.

Around this date ten years ago I left the little cabin in Talkeetna, Alaska, and started the long drive back to the Lower 48.

Leaving the cabin in Talkeetna, Alaska

Went to hear Bach last night. Very disappointing. It was just some cover band.

“I don’t have talent. I have tenacity. I have discipline. There was no choice for me but to work really hard.”

~ Henry Rollins

Denali, as seen from the rivers in Talkeetna, Alaska, in September, 2007.

Denali, as seen from Talkeetna

“When someone learns to drive a race car, one of the first lessons taught is that when you are going around a curve at 200 mph, do not focus on the wall; focus on the road. If you focus on the wall, you will drive right into it. If you focus on the road, you follow the road. Running a company is like that.”

~ Ben Horowitz, The Hard Thing About Hard Things

Summary: I use Function Point Analysis (FPA) and Yesterday’s Weather to make “back of the envelope” software cost estimates when discussing potential new software projects with decision makers.

The problem

Many times when a software project is in its earlier stages (the conceptualization phase), the people that control the money at an organization (the CEO, CFO, CIO, etc.) want the best estimate they can get regarding the time and cost of a software development project. This is often very early in the project lifecycle, typically shortly after someone said, “Hmm, that sounds like a very interesting idea” and well before the first check is cut. In short, they want the best back of the envelope, ballpark cost estimate you can give them.

The solution

I used to dread these discussions, because I hated estimating the time and cost of software projects. I wasn’t any good at it, and the developers I worked with weren’t any good at it either. But once I learned two things:

In what will hopefully be my last health-related post for a long time ... after seeing 11 specialists and making about 15 ER trips, I think that I/we finally have a good idea of what is happening.

Just like finding a bug in software, once you figure out what’s going on it explains everything, including the passing out, the raccoon eyes, getting sicker when eating ‘healthier’ food, feeling like bones spontaneously break, bad reactions to the statin medication and the last MRI contrast dye, the fake heart attack, everything.

And finally, it’s time for a nice, long party. :) I started celebrating today by going up to RMNP, where it snowed for me.

Working with yoga is often interesting. You stretch and twist and focus, trying to be very conscious of your movements, and then one day in the middle of a twisting pose you see your left foot coming out from behind your right ear. At first that’s a real surprise, a shock. You think, “Well, that can’t be my foot over there,” and then you realize it is your foot, and with that comes a strong sense of accomplishment, and maybe a little smile.

Then you do the same pose in the opposition direction, but twist and stretch as you might, your right foot doesn’t come out from behind your left ear. You know you can’t push it any more, at least not while doing the pose properly, so you realize there’s a bit of an imbalance. You accept that there’s still more work to do, but it’s a good thing, so you push on.

I think life is like that too, or can be like that. If you enjoy the struggle, if it’s a worthy struggle — a path with heart — the effort comes willingly, and with its own rewards.

“It’s very hard to grow, because it’s difficult to let go of the models of ourselves in which we’ve invested so heavily.”

~ Ram Dass

To fish in Alaska, you have to really want it.

To fish in Alaska, you have to really want it. Kenai Peninsula, Alaska.