Using Kotlin for Data Builders

In Kotlin, functions whose last argument is a lambda, i call them end-lambda's, make natural expressions of tree-shaped data builders. Say you're building Performances, where a Performance includes (possibly) the list of songs being performed. making shit up here, it might look like: performance { song { } song { } } First thing you notice: this thing is building…

Continue Reading

Great Geeks Are Great Humans

You can't be a great geek w/o being a great human. I get how the tradition says you can. I get how much you wish it were so. You can't be a great geek w/o being a great human. Being a great human is fabulously hard. It's the hardest thing humans have ever conceived of. So, raise your game. I…

Continue Reading

Try Different, Not Harder

Change Pro-Tip: I give the same advice to myself as a coach that I do to my teams: "Try Different, Not Harder". A while back we covered Alice's vision of how to change things. In countering it, I offered the adjustment "from final to iterative". The idea of iterative change is straightforward: It means that we change a thing, and…

Continue Reading

A Question Of Humbling Proportion

The road to hell is lined with convenient parking spaces. I said recently that we need fewer addresses and more routes. These slugs are attempts to get at what I think keeps going wrong for us -- in the trade, possibly in entire culture. There are numerous systems for software development out there competing in mindspace. (Stock word for these…

Continue Reading

Create Experiences Not Arguments

Change Pro-Tip: When I can give people an experience, I get dramatically better results than when I give them reasoning. I'mo tell you one of my stories. Twenty years ago, with a considerable amount of "Shut up, I'm the pro from Dover", I got permission to do TDD in a corner of the app I was working on, an app…

Continue Reading

Seek Judgements Not Numbers

Change Pro-Tip: I try to prioritize getting human judgments -- opinions, reactions, feelings -- because the quest for numbers holds too many easy traps. When I go to the doctor, she asks me how things are going. Here's an answer I never ever give: "2.354". Could I? Sure. I could take all the numbers from all the parts of me.…

Continue Reading

Finding the Pivot Mount

Refactoring Pro-Tip: When I choose a side-by-side approach, I start by finding (or making) the "pivot mount". the place where the final switchover can take place safely. (So, I re-read that last muse, the one driving this, and I blanched. I didn't say that very well. The price we pay for extempore musing, I spoze. Still, it's a worthy topic,…

Continue Reading

Refactoring: Side-by-Side v. In Situ

Refactoring Pro-Tip: As soon as I move beyond small-scope refactorings, I ask whether my change would be easiest side-by-side or in situ. Before we even start this conversation, remember remember remember: easiest nearest owwie first, and keep repeating it. This conversation happens after we've found everything we can do in a scope of one or two classes. We write code…

Continue Reading
Close Menu
×
×

Cart