Scala, Java, Unix, MacOS tutorials (page 154)

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.

“The best thing you can do is find a person who loves you for exactly what you are ... good mood, bad mood, ugly, pretty, handsome, what have you, the right person is still going to think the Sun shines out your ass. That’s the kind of person that’s worth sticking with.”

~ from the movie Juno

I watched The Time Traveler’s Wife for the first time tonight (I think). It was very good, but I wish he could sing.

Version 0.1.4 of “Functional Programming, Simplified” is now available. The latest changes are:

- 13 new chapters on the StateT monad and monad transformers
- Ten new chapters on Domain Modeling
- Two new chapters on ScalaCheck
- New appendices on Anonymous Functions, and using def vs val in traits
- The PDF now has small 113 chapters, four appendices, and is 983 pages long

To accompany this latest update, the book is on sale for a few days.

“You process things a little better when you put pen to paper.”

~ Trevor Siemian, Denver Broncos QB on something he learned from Peyton Manning (and something a professor told me in college many years ago)

Just found a checkbook from the college years. Balance peaked at $271, almost half of the “balances” were below zero.

The next release of Functional Programming, Simplified should be available by the end of the day (my day here in Colorado) Tuesday, September 12, 2017. If I add everything in, it will contain over 30 new lessons.

This is an image from a calendar I found in Boulder, Colorado a few years ago. Each month had a different “peace” or “love” image like this one.

Calendar art: Go Places

Here are a few notes about using Scala traits as mixins, specifically:

- The order in which mixed-in traits are constructed
- The order in which overridden methods in traits are called when multiple traits are mixed in

A “Luke/Vader” light switch. Clever. Geeky.

Luke/Vader light switch

I don’t know the original source of this image, but I’m going to take it to my surgeon next week and see if he gets a laugh out of it.

Husky with tennis ball in car

“If you understand Zen, all work is the same.”

I was wondering how dry cleaning works, and this HowStuffWorks article and this MentalFloss article that explain the process (and refer to the same video). The short story is that it works like “wet cleaning,” but the process uses a petroleum solvent called perchloroethylene instead of soap and water.

Here’s a long read about something most techies know: At Facebook, you are the product.

“Who you think you are will always be frightened of change. But it doesn’t make any difference to who you truly are.”

~ Ram Dass