Here’s a note about the Scala 2.13 Collections Feature Freeze., which includes a link to this post on how/why the Scala 2.13 collections were redesigned from scratch.
Alvin Alexander | Java, Scala, Unix, Perl, Mac OS X
Tho’ much is taken, much abides; and tho’
We are not now that strength which in old days
Moved earth and heaven, that which we are, we are;
One equal temper of heroic hearts,
Made weak by time and fate, but strong in will
To strive, to seek, to find, and not to yield.
~ Part of the poem Ulysses, by Lord Alfred Tennyson
(In the process of writing Functional Programming, Simplified, I had to make thirteen trips to the emergency departments of three different hospitals. So this poem has some meaning to me.)
The Farnam Street Blog has a nice set of core principles in regards to “all that we write about, think about, and strive to achieve”:
- Direction Over Speed
- Live Deliberately
- Thoughtful Opinions Held Loosely
- Principles Outlive Tactics
- Own Your Actions
I came across quite a few bald eagles in Canada and Alaska, but didn’t know we had them right next door here in Colorado. I knew construction on this project had been held up for at least two years, and now I know why.
I have a rough surgery coming up in a couple of weeks, and when I came across the saying, “Collect beautiful moments,” it reminded me that that’s pretty much all we can do in life.
I’ve watched so many British tv shows, I have a hard time driving on the right side of the road.
The people behind IntelliJ IDEA released their JetBrains Scala developer survey recently.
Two days ago Google announced their “Principles/Objectives for using AI”:
1. Be socially beneficial
2. Avoid creating or reinforcing unfair bias
3. Be built and tested for safety
4. Be accountable to people
5. Incorporate privacy design principles
6. Uphold high standards of scientific excellence
7. Be made available for uses that accord with these principles
ramdass.org has an article titled, 17 ways to use meditation for anxiety relief right now.
I was reminded of this “If at first you don’t succeed, call it Version 1.0” saying this morning. You can find this t-shirt on Amazon if you’re interested.
After watching the movie Powder and hearing an electrical arc device referred to as Jacob’s Ladder, I looked into it and found this Jacob’s Ladder page on the Popular Science website (where this image comes from). I was familiar with the term in a religious context, but I didn’t know that’s what the name for this device is.
“You have no responsibility to live up to what other people think you ought to accomplish. I have no responsibility to be like they expect me to be. It’s their mistake, not my failing.”
~ Richard Feynman (one of the great physicists of the 20th century)
I like the “No New Rationale” rule, which I learned about in this blog post by Aaron Turon, who writes about the Rust RFC process:
“No New Rationale rule: decisions must be made only on the basis of rationale already debated in public (to a steady state).”
“At some point, a member of the subteam will propose a “motion for final comment period” (FCP), along with a disposition for the RFC (merge, close, or postpone). This step is taken when enough of the tradeoffs have been discussed that the subteam is in a position to make a decision. That does not require consensus amongst all participants in the RFC thread (which is usually impossible). However, the argument supporting the disposition on the RFC needs to have already been clearly articulated, and there should not be a strong consensus against that position outside of the subteam.”
A friend once told me he had no self-confidence. “That’s good,“ I said, “You’re halfway there. All you need now is no no-self-confidence.”
If you or someone you know has a mast cell disease — a type of autoimmune disease — the tmsforacure.com website has several great infographics. I printed them out so I can take them to new doctors who don’t know me, when I have to go to emergency departments, and for things like my upcoming surgery.
scala-lang.org has an article titled Speeding Up Compilation Time with `scalac-profiling` where they demonstrate how they reduced a project’s compilation time from 32.5 seconds down to 4 seconds. In addition to all of the scalac and profiling details, it demonstrates a nice use of flamegraphs.
Per this tweet, back on May 15 Martin Odersky shared a slide with these contents:
The essence of Scala: Fusion of functional and object-oriented programming in a typed settings.
- Functions for the logic
- Objects for the modularity
I originally wrote a long introduction to this article, but I decided to keep that introduction for the 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 to become an expert at using
- initially you may want to use match expressions to handle
- 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
Given that background, the purpose of this article is to show how to use HOFs with
Option values rather than match expressions.
In theory this is my biological grandfather, who I was partially named for. We don’t know if actually is our biological grandfather because my dad’s older brothers were about five and a half feet tall and bald, and my dad was 6'3" and wasn’t bald. The man shown in the picture here died in a fire when my dad was six or seven years old, and he said he only knew his adopted father, who was also tall and had some similar features with my dad.
We joked with our dad about this before he died, but he had no way of knowing which man was his biological father, but he did say that his adopted father was the only one he ever knew, and he considered him to be his father. Either way, all of them were Assyrian.