I use my favorite images as screensavers, and this “hoodie” image of Luke Skywalker from Star Wars Movie #7 is a recent favorite. I found an image online, then worked with it in Gimp to get a decent effect. This Luke Skywalker sketch shows another approach you can take with Gimp.

Until a little while ago I don’t think I had ever thought about intentionally casting a null value in Java, but then I ran into a problem and realized that the solution was to cast a null value, like this:

FileDialog d = new FileDialog((java.awt.Frame) null);

You have to do that in this case because FileDialog has several one-argument constructors, including one that takes a JFrame and another that takes a JDialog. If you just put null in the constructor the Java compiler or your favorite IDE will complain, so you have to cast the null value to one of those specific types, and this syntax shows how to do this. (My app uses multiple frames, and at the moment I’d rather put null in the FileDialog constructor than try to determine which frame is currently in the foreground.)

Google might do well to buy Yahoo Finance, if just that part is available for sale. I was just using the Yahoo Finance app on my Android Nexus 9 tablet, and for a few moments I forgot that I was using an Android app; it was so smooth I thought I was using an iOS app. The more great apps like that on Android, the better.

Conversely, the Yahoo Mail app on Android is just an average Android app, imho. The 2015 release was much better than earlier versions, but it still has a long ways to go to be a great app.

Personal reminder for the day: It’s easy to be a critic, and it’s hard to do the actual work, to ship a great product. It takes no energy at all to be a critic, but it takes hundreds or thousands of hours to do great work.

I was going to share a story about someone who was a harsh critic of the Scala Cookbook when I was about 80% done with it, and how he later went on to have major problems shipping a product himself, but rather than get into all of those details, I’ll just stick with that reminder. Okay, I’ll add one point here because it is important: As a critic he had a number of good ideas, but also several crazy ideas. This got to the point of being such a distraction that I had to ask my editor to thank him for his contributions to date, but that his assistance would no longer be needed.

Getting back to how easy it is to be a critic, I used to say to one critical employee, “You get 10 points for pointing out the problem. You get 90 points for solving it.” To his credit he took this well, and became a valuable employee and co-worker.

(A final note: When I first became a manager, I thought of employees as being productive on a scale of 1 to 10, with 10 being the most productive. Initially this worked well, but after a few bad hires I realized that some people deserved negative numbers, meaning that they slowed down existing teams. While that sounds harsh, think of it this way: If you have two employees who are each giving you 10 units of work every week, you have a total of 20 units of work. But if you add someone to that team who keeps causing problems (it constantly takes time to explain things to them, they break things, they are a distraction) and is adding no good work of his own, he will slow the first two down so that their output is now less than 20. Therefore, this person’s contribution to the team speed is a negative number. (New team members will often slow down an existing team when they’re first added, but after that they should help the team’s speed, but if they don’t help improve the team speed after a while you have to take them off the team.))

I always wondered what was going on in the song, “MacArthur Park.” When I was very young I remember Donna Summer singing it, and I used to think, “Just make another cake. Why won’t you have that recipe again? Shoot, just buy a cake if cooking makes you that upset.”

Jimmy Webb discusses the lyrics to the song on newsday.com.

In this image, Peyton Manning, Mindfulness Master, talks about staying in the moment.

Due to a health problem, I’ve passed out several times over the last few years, and in the moments before losing consciousness I always told myself the same thing, “Just breathe ... stay in this moment.” *lights out*

(Image from this espn.com page.)

The song of the day today is “Those Shoes,” by The Eagles, and it’s inspired by a young woman I saw working her way through 8-10 inches of fresh snow today in red pumps. (I tried wearing high heels for Halloween one year, and I have no idea how women can walk in those things, let alone walking in snow.) I also thought of it after watching The History of the Eagles again recently.

Facebook tells me that I posted this image there a year ago today. Zen koans are often like this, like Abbott and Costello routines.

As a quick note, I was just reminded that when you have a Scala tuple instance, you can assign the tuple fields to Scala values. This tends to be more readable than accessing the tuple elements using the underscore syntax.

For example, if you have a Scala function like this that returns a tuple:

def getUserInfo = {
    // do some stuff here, then return a tuple (a Tuple3 in this case)
    ("Al", 42, 200.0)

you can assign the tuple fields to Scala val fields like this:

Business Insider and others are reporting that uninstalling Facebook makes Android faster, and improves battery life by up to 20%.

When you first start working with immutable values and functional programming (FP), you quickly wonder, “If I can’t mutate a variable value, how do I, well, mutate it? (What can I do?)”

The answer is that you don’t mutate it; you update the fields you need to modify as you copy the old value to a new value. This is okay for simple objects, but when you have deeply nested objects, i.e., cases classes inside of case classes inside of case classes, your code will look like the second part of this image.

Without getting too much into the problem, the solution is something that FP devs call a lens. This image comes from this article that discusses scalaz lenses (and I show a Quicklens example at this URL).

I may explain this more in the future, but for now, here’s some source code for an example of how to use Quicklens in a Scala functional programming project.

Given some model/ADT definitions like this:

If you want to share your life with that someone special, the Android Wear “Together Watch Face” is pretty cool.

“Side effects are essentially invisible inputs to, or outputs from, functions.”

A great quote from the book, Real World Haskell.

When it comes to mobile apps, 60% of app users in a 2014 Forrester survey chose performance/speed over features and functionality. Of course that’s not the same as 99.9%, and a big problem is that for most mobile apps, the network is the bottleneck.

As I’ve mentioned before, I can’t see an image these days without wanting to do something with it in the Gimp. This is a Gimp “sketch” of Luke Skywalker from Star Wars movie #7. It would probably be better in plain black and white with a little less realism, but I have to get to work now. ;)

“We shall not cease from exploration
And the end of all our exploring
Will be to arrive where we started
And know the place for the first time.”

T.S. Eliot, Four Quartets

“I love you so much that I want you to be happy, even if that happiness no longer includes me.”

From the movie, The Longest Ride.

“I meditate for your protection.”