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..

Of cucumbers and men

“You look like a cucumber to me. Actually all humans look like cucumbers.” That is how Pepper tried to explain to me what she sees. In front of the Aldebaran Robotics stand there were many cucumbers gathered to touch their heros – the Naos or just to check for fun with the new futuristic looking Pepper bot.

Friendship between cucumber and robot

Friendship between cucumber and robot

Pepper can’t play soccer, at least, not very well. But she is charming like hell and easily captured the attention and the hearts of the majority visitors at RoboCup 2016. Which is quite an achievement in the buzzing of thousands people and robots trying to find their way from A to B via C. If you were a kid grown up on science fiction books and dreams of the never coming future, then there is no reason to be anywhere else on Earth at that particular instance of time (except if you own time machine and can come back later to check).

Affection between elk and cucumber or how Pepper sees the world

Affection between elk and cucumber or how Pepper sees the world

Two gigantic halls full of toys, curiosity and heavy atmosphere of unhealthy amount of sleep shortage. Especially in the humanoid arenas where the world’s 2050 robot soccer team is making its first steps towards the goal. I mean first steps, literally. These autonomous friends are training hard for the big challenge in 34 years, to win against the human world soccer champion team. The problems at the present moment are many and obvious. Not only the software is experimenting with the limits, but also the hardware is far away from the point we’d like to see. Even the artificial grass introduced to the rules last year presents a huge obstacle for the mechanics. On the positive side, there was no chance to miss a goal while fetching coffee or pancake.

DSC_3331

DSC_3196

Moving to the central attraction of RoboCup, the tiny Naos from the Standard Platform League (SPL) are already capable of provoking real sport emotions among the audience. The point of the SPL is to measure the performance of the algorithms. Teams from all over the world develop algorithms for the same hardware. Every year a new rule is introduced to shift the robot soccer towards the real game. For example, this year the ball was changed – previously red and very easy to recognize, now the Naos had to handle the new black and white soccer ball. The beginning was hard and most players were confused, but at the end they learned a new skill. Last year the goal bars were changed from yellow to white. Every problem solved leads to another one. It might sounds like an infinite loop, but in fact, it is an upward spiral. Believe it or not, this is how champions are born… or assembled.

DSC_3450

DSC_3351

DSC_3227

DSC_3158

DSC_3154

RoboCup is not only about robot soccer, it is also the event to see what is going on in the service, entertainment or education areas. Amazon was sponsoring the so called “Pick-Up” challenge starring robo-workers competing in recognition and grabbing objects out of carton boxes. From gripper-handed to self-built bots using vacuum cleaners as actuators, every invention had the equal opportunity to prove its value.

DSC_3484

DSC_3392

DSC_3215

DSC_3203

DSC_3212

Looking back to RoboCup 2016 in Leipzig I would like to say this: we are far from beating the world’s soccer cucumber masters in 2050. We are far even from beating the famous Ronaldo-cucumber alone. Even if he plays with crutches… Drunk.. And with his eyes folded.. But then again, since when the impossibility of something awesome would stop us from doing it? Since never.
Remember, when we were kids, watching Star Trek and they had this amazing technology to do video conference? Oh, boy seemed that cool and impossible. And 10 years later we had it. The point is, 35 years are eternity in the hands of a dreamer.