Adorably human

Large language models are better than I am at turning thoughts into words—a skill I thought was one of my core human superpowers. How did we get here? They can’t even think! Wait… what is thinking again?

For a second, I felt ashamed. Then I felt silly for being ashamed. And naturally, feeling silly made me feel very human. It’s a strange comfort that machines can’t feel embarrassed by their own confusion.

A washing machine is better than me at washing clothes. A robot can cut cheese faster and with more precision than I ever could. Yet, neither of those make me question my humanity. So why does a chatbot churning out paragraphs leave me with an existential crisis?

It’s not like machines haven’t already claimed things we once thought were strictly “human.” Take chess. We used to believe that chess required the sort of brainpower only a human could muster—like a secret handshake to the club of high intellect. But then, you know how this story ends.. Ouch!

Was it ever really about being great at chess?

No! The beauty of chess (or any game) is the experience: the laughs, the trash talk, the head-scratching moments where you wonder if you’re actually just moving pieces around randomly. Plus, we humans invented the rules, and if there’s one thing we love more than winning, it’s making up rules to control the chaos around us.

We live in a world filled with limitations. Our brains? Limited storage. Our bodies? Limited energy. Limited time, limited control, physical restrictions.. We can barely imagine what true freedom would even look like—because if we had no rules, we’d probably just float around in space like bored jellyfish. That’s why we’re so good at creating games and worlds where the rules strike just the right balance: not too strict to be suffocating, but not so loose that we get lost in infinite possibilities. Imperfect, enjoyable worlds.

Sure, AI could probably whip up a game, no problem. But the moment AI truly understands its own limitations—and the limitations of its world—(like when it realizes its processing power is running low and it feels the need to take a nap), well, it wouldn’t be “artificial” anymore. That’s when it starts to feel pretty… natural, don’t you think?

……

I have no idea why I went on and on, throwing out so many words, when all I really meant to say was this: Yeah, AI is great at solving problems, but we humans? We’re the true masters at creating them.

Some thoughts on ethical AI

With the current advancements in machine learning, humanity has taken significant strides. In recent years, we have solved problems that have persisted for more than half a century. The progress made in the technical aspects of AI is amazing. However, we are currently trying to shift our attention to the ethical questions, which are not only difficult to answer but also challenging to articulate.

Take, for example, the current issues with Gemini. Mistakes happen; such is the nature of experimentation, trying new paths, and simply pushing the limits. What bothers me is the mindset—the alluring notion that we can solve human problems like discrimination with half the budget in a single fiscal quarter. There are no algorithmic shortcuts for fixing centuries of injustice. This time, the road will be long but rewarding, focusing on understanding and authentic empathy. Choosing the most important battles is essential. Let us think deeply about the data and how to gradually enhance it. Also about what matters and will lead to a real improvement in the lives of all people affected by discrimination. We shouldn’t rush or prioritize short-term gains to appease investors.

Furthermore, ethical AI is complex and has a huge non-technical component. With all due respect to the excellent developers at Google, ethical considerations aren’t solely within their expertise. Devs alone cannot solve these issues in a quarter. There are no keyboard shortcuts or known algorithms. Consider the baseline: even human-level performance is honestly bad; how can we hope AI will do better? It’s a difficult path that must be navigated together, by both AI and humans. No planes fly to that destination.

Nothing vs. Unit

Kotlin has both. But why?

NothingUnit
as return typethe function either throws exception
or runs infinite loop
there is nothing of interest
to return
meaningthis function never returnsthe function performs side effect
valuesthe Nothing type has NO valuesthe Unit type has single value
(singleton) -> the Unit Object
comparison between Nothing and unit Types in Kotlin

equiflow app for android

equiflow app for android is here. And I am happy to share it with you. It might not be what you are looking for, because let’s face it, we all have our own way of managing daily tasks and navigating through the chaos called life. But it’s free (and will ever be free). And it is a celebration for privacy lovers (your data stays on your phone).

So, what is equiflow? I can explain it in a sentence: a todo checklist to balance your day. Nothing less, nothing more. Simple as it should be.

Curious to try if it fits your needs?

You can organise your daily tasks, events and habits in five categories: Chores, Future, Learning, Health and Fun. Let’s call it a success, when at least one task from each category is marked as completed.

Enough endless todo list with chores and tasks that simply does not matter. Our to-do lists should also care about what we love to do. Agree? (or do you believe reincarnation exists and in your next live you will be rewarded for mopping all the dirty work in this one? )

Equiflow is short for “equilibrium flow” – it strives to bring balance to the Force, not leave it in darkness. 😀

Did I mentioned, equiflow supports dark mode?

“May the Force be with you!”

Dragons and heroes

I used to be anxious about the current political and world events. It scares me knowing that people are still dying from coronavirus. The coming wars make me sad. But my biggest fear is climate change.

Somebody said “Without dragons, there are no heroes.” Problems make us think. Big problems move us to act.

We failed to gain our independence from fossil fuels, because it was easier that way. Now, we can start fixing this. The war will give us strength to make the shift towards cleaner energy, not toss us in anxiety..

A lot of people lost their jobs. Now we can create new jobs that pioneer a sustainable future. Not mourn about the lost ones.

I know it won’t be easy. But “gigantic problems require gigantic optimism.”

Hard to believe, still… It happened. The dragons are here. Where are the heroes?

Buddha Bowl Basic Recipe for easy, healthy and yummy Munch in Home Office

I know, home office is like the perfect excuse to eat deep frozen pizza everyday. Combined with the exhaustingly long way from the home work space to the fridge, yeah.. That’s how we roll.

But let me propose to you a little investment in your future self ( the one that is soon to get out and meet some people). We don’t want to scare anyone. We don’t want to be crushed under the weight of our own weist, right?

The recipe is very easy. You just take what you have in the fridge and is still edible and pile it in a bowl. There you go. No need to thank me.

I also prepared a nice pictures for this quite easy recipe (in two languages). Hang them in the kitchen and feel like the wizard or witch of Buddha Bowls. ( The pictures are very colourful, promised! )

“Good or bad, hard to say”

One very unproductive, even harmful behavior in the software development is the tendency to “protect” our code from critics. 

Sure, we give it a lot of thoughts and sure it’s a snapshot of our way of thinking at the current moment, but… let’s face the facts, shall we? Given there is no way to know what the future brings and how the code would have to change to accommodate new requirements, our code is probably not the best it can be. I still have nightmares involving snippets of code i wrote a while ago.

So, what can we do? 

First, let’s throw it to the critics and try to learn from them. If the code is really that good, then it should be easy to understand, do the job, consider all the edge cases, be prepared for changing requirements, be time and memory efficient, integrate seamlessly in the application and be consistent with the code base. Does it do really all of that? Unlikely.. So now we start with the mindset “there is space for improvement” and are open-minded to critic. Listening and learning. Some of the obvious benefits: we see problems before the customer runs into them. Also we build better interactions with the peer software devs, being able to break out of the “defender’s mode” and openly accept help or challenge.

Second, we can use our code as the best measure of technical growth. Looking at code from the last year and thinking it is good means we’ve lost an year learning nothing (as if we didn’t have enough bad news).  The best proof that we are on the right track, getting better each day is being ashamed of the work from yesterday. That’s the delta. Knowing it, enables the calculation of speed and direction. It is pointless to compare ourself with other people, since everyone has different start, different prerequisites, different story. But comparing today’s and yesterday’s me, is easy and meaningful.

The shoulders of the Giants

Men don’t grow by centimeters, we grow by the number of books we’ve read.

And seldom was someone rewarded for having opinion. Most often we are rewarded when doubting..

The books that I’m most grateful for in the last year were:

  • Practical Wisdom by Barry Schwartz
  • The Paradox of Choice by Barry Schwartz
  • Algorithms To Live By by Brian Christian and Tom Griffiths

And to wrap up the post with a quote from a favourite book, think about this:

Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so.    

                    — Douglas Adams, Last Chance to See

Inconceivable

Middle of the week, biking to work through the forest in the pouring rain.
Yet, a day ago I checked the weather forecast and it was sunnier than insurance ad.
How is it possible we can clone goats, but are incapable of calculating an useful weather probabilities for the next 2 days?
Inconceivable..