RSS Reader adventure

I ran out of max feeds on Feedly. I like the tool, but since I do not want to any more subscription-based software, so I looked for an alternative RSS reader.

Newsblur came up as best

It is a service but based on open source.

Tried to install in on my laptop.

  • Install Docker Desktop
  • Clone Newsblur repo
  • Install cygwin – I am running on Windows here – need to make newsblur
  • make nb

Runs for a while, tries to run a sudo. That won’t work on Windows… 🙁

Immediately gave up. Considered for a minute running it on my Linux server, but I am actually looking for something simple.

Then tried RSS owl

Install, needs Java. Installed Java.

Needs Java 1.5. That is a very old version.

Gave up.

Tried QuiteRSS

QuiteRSS screenshot RSS reader

Installed like a charm.

Unfortunately no OPML import. So took some time to copy from the OMPL export from feedly into this tool.

Now trying this out.

Lovely old-style interface.

Reminds me of the old RSS reader I had years ago.

  • Post author:

AI credibility

Some thoughts regarding the current Artificial Intelligence hype.

I am not among the people that believe AI technology is going to make humans superfluous. Like any technology, AI technology can be a blessing and a curse. AI technology does have its dangerous sides, and we should focus our attention on these aspects, and try not to get lost in religious debates. I think we should look at:

  • Transparency on the (quality of the) inputs for the AI-based software solutions.
  • Transparency on the (energy) cost of AI solutions.
  • Clarity about the possibilities and more importantly, the limitations of AI solutions.
  • Regulations on ownership of important data sets.

The quality of AI outputs

The most fundamental threat from AI technologies comes from its inputs. The quality of the output of the AI is directly dependent on the quality of the data fed into the AI’s learning process. If you cannot control the quality of the data you use to train the AI model, you cannot control the quality of the output either. (Most research in this respect is done in the area of so-called biases. What I mean here is more generic: how to assure the reliability of any data feed into an AI.)

The role of AI on social media

Any benevolent social medium platform that exploits AI technology has a great challenge: how do you curate the social media fed into the platform? How to distinguish real trends from fake ones. How do you prevent bots from people or organizations with malicious intentions to enter unreliable information into the stream, thereby using the social media platform to spread incorrect information, or ‘fake news’ as it become known by since Donald Trump.

Governments are debating how to regulate these unreliable and often uncontrollable social media streams. The first and probably the easiest thing to demand from social media companies is to apply journalistic principles: transparency over the sources of information. I think this is the most reliable and easiest measure that can be taken. Examining the algorithms, as is suggested sometimes, is very difficult, for the provider as well as the examiner. Instead of looking inside the AI box, we can judge the input to the AI, and make significant judgments on the reliability of the AI’s outputs.

AI and humanity

AI technology de-humanizes. When AI takes over more of our jobs and activities, what is left over to humans? What if AIs at some point have gained superior thinking power over humans? What is the purpose of men then? Humans become subordinate to AI intelligence. We lose the one thing that has always distinguished us from the rest of the living creatures on this planet: our superior thinking abilities. I do not think that the current AI technology is even close to taking over our thinking abilities. Later in this article, I will argue why I think so. Yet, in the sense that AI technology is the next step in taking over tasks that so far only humans could do, yes, AI takes some of that ‘humanity’ away. Jobs will be lost. But that is not a very revolutionary development. The calculator took over calculations, the early computer took over bookkeeping, and the later computer replaced our paper agendas, assembly lines, and our cars.

Energy consumption

Our brains need a lot of energy: our 2% brain is responsible for 20% of the energy consumption of our body. AI requires a lot of energy as well. In January 2023, ChatGPT used as much energy as a mid-size town. A single question requires Apple’s Siri about 5 Wh of energy. A household uses something like 5000 kWh (in Europe, in the US it is double that figure). So, 200 questions to Siri is 1kWh. Then 1 million questions to Siri needs as much energy as a household in Europe in a year. That’s a lot.

If I ask Siri 3 questions per day, that is about 1000 questions per year. That is 5 kWh.

Does your Siri also tend to spontaneously answer questions you did not ask? 5W each.

Who benefits from the AIs?

Currently, large organizations drive the development of AI technology. Microsoft, Google, and IBM, all promise to make the world a better place, but skepticism is justified. Not only history has proven these companies strive to dominate the marketplace. According to economic theories, this is totally in line with expectations. And this is not the thing to be afraid of. Monopolies never last at are not scalable. At some point, monopolists can sell a greater quantity only by cutting its price. Microsoft came down, after years of trying to dominate the market with inferior Windows technology. (Yes Microsoft Office still dominates the text processing market, though I am not sure why that is the case, as very viable free products are available for quite some time now). IBM came down. Our own East-India Company came down. Google will come down. Facebook will come down.

What is problematic, however, is when technologies like AI end up solely in the hands of a single or a few parties and a power balance is disrupted. These parties can dominate others with these technologies. Totalitarian ruling could become a big problem. A relativizing thought, however… AI technologies are much more difficult, if not impossible, to contain then technologies nuclear weapons, for example.
You only need moderate capital for AI solutions. Open-source AI technologies are available for everyone. The problem is not the technology, the problem would be when a single party could claim exclusive access to data sources.
GPS data for example.

Why AI is miles away from human intelligence

The current AI technology is an analytical, stochastic process, invented in the last two decades of the 20th century. The process is very compute-intensive. Only recently our computers have become strong enough so we can make practical use of AI inventions.

The AI technology analyses past data, and is very clever at “predicting” future values for this data, or gathering ‘facts’ from data. The technology looks at input data and separates noise from signal by throwing out outliers and assigning likelihood values to remaining data points. With this, it can predict (not even calculate) probabilities for future values. That is all.

Nicholas Nassim Taleb has written a book called Fooled by Randomness. One of the points he proves in this book is that you can not predict “black swan” events from past data. The existence of black swan events can be proven through analytical math, but not predicted through stochastical math.
So AI is worthless when it comes to predicting black swan events. More specifically AI then useless for supposed applications like stock market predictions. Even professors in AI research areas are ignorant of these “black swan” limitations, arguing that just further growth of datasets would enable AI to become perfect predictors of the future (and become uber-humanly intelligent).

Out of curiosity, I asked ChatGPT about its ability to predict black swan events.
Here is his honest, modest answer.

AI systems, including those based on advanced algorithms like GPT-3.5, have limitations when it comes to predicting black swan events. Black swan events are extremely rare, unpredictable, and have a significant impact. These events are, by definition, unforeseen and often fall outside the range of normal expectations.

AI models, including machine learning algorithms, are generally trained on historical data. If black swan events have never occurred in the training set, the AI model would not have learned to predict them explicitly. Traditional AI models work based on patterns and correlations found in the data they were trained on. They are not capable of inventing entirely new and unprecedented events beyond the scope of their training data.

However, it’s essential to note that AI can help prepare for unexpected events, even if it cannot predict black swan events directly. Here’s how:

Despite these capabilities, it’s important to maintain a cautious approach when relying on AI for preparing for black swan events. Human judgment, expert analysis, and continuous monitoring are essential elements in mitigating the impacts of truly unforeseen and exceptional events.

Next, I will argue that the learning process of AI is so inherently different than human learning, that it would be naïve to expect that such processes would ever be able to teach an AI so much that they can mimic human intelligence. AIs could mimic aspects of human intelligence, but for development of more human-like intelligence, a different learning model would be required.

When we look at the AI learning process, machine learning, we see this is significantly different from human learning and experience. The difference between human learning and experience and Machine Learning in short. The AI takes larger amounts of information and learns from it. Sometimes this learning is (self-)directed. Humans take in large amounts of data, information, and experience. This human experience includes sensory
information. Humans undergo years of learning from interactions with people. They get complex and ambiguous feedback. They learn from experiences. AI’s do not undergo experiences. At best experiences could be simulated. The learning processes for humans and AIs are so different from Machine Learning that is silly to expect that the two could ever produce similar results.

The AI gets:

  • Many data sets, in huge volumes, and these are largely uncurated.
  • Large undirected learning.

Man gets:

  • A curated (culturally, geographically, …) stream of information streams books, tv, anything internet,
    school, discussion, talks, magazines, Youtube, art, music …

  • Music,… What is music to an AI? Music is the thing that plugs right into our brains…
  • A in-born character (depending on where you are in the nature/nurture dimension).
  • Years of growing up, interactions with people, animals, things, …
  • Years of sensory information from 5 sources.
  • Emotional feedback from humans, animals…

I do not think there is much reason to be freightened of AI. The current state of AI is very very far from human intelligence. And the current technology misses fundamental functions to close that gap. We should not be afraid of that. Rather than getting distracted by pessimistic stories warning of the end of humankind, we should focus our efforts on the dangerous aspects of AI.

AI is just a tool not a miracle, and its health depends on what you feed it

AI-based social media enables the spreading of incorrect and potentially dangerous information. Other AI based applications struggle with curating the information fed into the tools. Without stringent curation, the AI application undermines its own credibility, as do the providers of services based on unreliable services. Which benevolent being wants to believe a social media channel that bases its information on unreliable data?
Who wants to rely on AI-based decisions if the decisions are learned from an unreliable data set?

  • Post author:

AI hulpeloos tegenover Black Swans

Ik herlees Nicholas Nassim Taleb’s Fooled By Randomness. Heel veel voorspellingskracht wordt gevonden in historische data. Maar niet de Black Swans. Ik moet denk aan de hype rond AI die momenteel heerst.

AI en ML leven van historische data. Black Swan events komen niet voor in historische data.

De AI is dus net zo stom als mensen: onze AI ziet grote hoeveelheden witte zwanen. Als je de AI vraag welke kleur een zwaan heeft, zegt hij dus: wit. Zwarte zwanen bestaan ook voor de AI niet.

AI is waardeloos waar het gaat om Black Swan Events.

ChatGPT zegt het zelf:

AI systems, including those based on advanced algorithms like GPT-3.5, have limitations when it comes to predicting black swan events. Black swan events are extremely rare, unpredictable, and have a significant impact. These events are, by definition, unforeseen and often fall outside the range of normal expectations.

AI models, including machine learning algorithms, are generally trained on historical data. If black swan events have never occurred in the training set, the AI model would not have learned to predict them explicitly. Traditional AI models work based on patterns and correlations found in the data they were trained on. They are not capable of inventing entirely new and unprecedented events beyond the scope of their training data.

However, it’s essential to note that AI can be helpful in preparing for unexpected events, even if they cannot predict black swan events directly. Here’s how:

Despite these capabilities, it’s important to maintain a cautious approach when relying on AI for preparing for black swan events. Human judgment, expert analysis, and continuous monitoring are essential elements in mitigating the impacts of truly unforeseen and exceptional events.

  • Post author:

AI, negeer alsjeblieft de wereld die voor je ligt

Malcolm Gladwell legt in zijn nieuwe boek Talking to Strangers uit dat we niet op intuïtie moeten vertrouwen. In plaats daarvan moeten we ons realiseren dat we omgaan met mensen van wie de aannames, perspectieven en achtergronden verschillen van de onze, en voordat we conclusies trekken eerst intern onderzoek doen.
Dit lijkt aan te sluiten bij het onderzoek van Daniel Kahneman, zoals gepubliceerd in Thinking Fast and Slow, waarin ons Systeem 1-denken ons tot snelle conclusies leidt die ons Systeem 2-denken zal proberen te rechtvaardigen.

Nu de link naar AI:
Kunstmatige Intelligentie neemt mogelijk niet alleen beslissingen omdat het meer (dieper) weet over een onderwerp en al die informatie snel kan verwerken. Het lijkt er ook op dat AI betere beslissingen kan nemen omdat het veel informatie kan negeren die in het hoofd van mensen zit, en het kan de fysieke aanwezigheid van de dingen voor ons negeren.
Als dat zo is, kan AI maar beter niet menselijker worden. Dat zou rampzalig zijn voor de kwaliteit van haar beslissingen.

  • Post author:

Ubuntu

Deze zaterdag installeerde in Ubuntu Linux op de oude laptop van mijn moeder, een Dell Vostro Intel Core i3 met 4GB uit ik weet niet welk jaar, ik denk 2013. De installatie was een makkie, met balenaEtcher een image naar een USB stick geschreven.

Nu nog kijken wat ik er mee ga doen. Een website hosten die ik helemaal zelf programmeer in Django/Python?

Ubuntu betekent zoveel als openstaan voor anderen, je wijden aan anderen, compassie en respect tonen.

Wie staat open voor mijn Ubuntu laptop ?

  • Post author:

Programming languages and what’s next

My review of programming languages I learned in during my years in IT.

BASIC

On the TI99-4a.
Could do everything with it. Especially in combination with PEEK and POKE. Nice for building small games.
Impossible to maintain.
GOTO is unavoidable.

Assembler

In various variants.
Z80, 6802, PDP 11, System 390.
Fast, furious, unreadable, unmaintainable.

Algol 68

Liked this language. REF!
Have only seen it run on DEC 10. Mainly used in academic environments (in the Netherlands?)?

Pascal

Well. Structured. Pretty popular in the early 90s.
Again is this widely adopted?

COBOL

Old. Never programmed extensively in it – just for year 2000.
Totally Readable.
Funny (rediculous) numbering scheme.
Seems to be necessary to use GOTO in some cases which I do not believe.

Smalltalk

Beautiful language.
Should have become the de facto OO programming language but failed for unclear reasons.
Probably because it was way ahead of it’s time with it’s OO base.

Java

Totally nitty gritty programming language.
Productivity based on frameworks, which no one knows which to use.
Never understood why this language was so widely adopted – besides it’s openness and platform independency.
Should never have become the de facto OO programming language but did so because Sun made it open (good move).
Far too many framework needed. J(2)EE add more complexity than it resolves.
Always upgrade issues. (Proud programmer: We run Java! Fed up business person: Which Java?)

Rexx

Can do everything quickly.
But nothing structurally.
Ugly code. Readable but ugly.
Some very very strong concepts.

Php

Hodge-podgy language of programming and html.
Likely high programmer productivity if you maintain a stark discipline of programming standards. Stark danger of creating unmaintainable crap code mix of html and php.

Python

Nice structured language.
Difficult to set up and reuse.
Can be productive if nitty gritty setup issues can be overcome.

Ruby (on Rails or off-track)

Nice, probably the most elegant OO language. Too nitty gritty to my taste still. Like it though.
I would start with this language if I had to start today.

What is next?

Visual programming? Clicking building blocks together?

In programming we should maybe separate the construction of applications from the coding of functions (or objects, or whatever you call the lower level blocks of code.

Programming complex algorithms (efficiently) will probably always remain a craft for specialists.

Constructing applications from the pieces should be brought to a higher level.

The industry (well – the software selling industry) is looking at microservices but that gives operational issues and becomes too distributed. We need a way to build a house from software bricks and doors and windows and roof elements.

Probably we need more standards for that.

Some bold statements

AI systems “programming” themselves is nonsense (I have not seen a shred of evidence).
AI systems are stochastical systems.
Programming is imperical.

In summary, up to today you can not build software without getting into the nitty gritty very quickly.
It’s like building a house but having find your own tree and rocks first to cut wood and blicks from.
And then construct nails and screws.
A better approach to that would help.

What do you think is the programming language of the future? What need should it address.

  • Post author:

In Layman’s Terms: (Visa) Format-Preserving Encryption

One of my clients asked me about Visa Format-Preserving Encryption. Could look into this. I am sharing a summary here.

FPE is …

Format-Preserving Encryption (FPE) is about encrypting so-called structured data, such as credit card or Social Security numbers.

With FPE you can encrypt data in such a way that does it not alter the data format.

Your data may be credit card numbers, account numbers, social insurance numbers, addresses, postal code, FPE will encrypt the data and the outcome will look like a credit card number, account number, social insurance number, address, postal code.

That’s it.

With this you can encrypt data per field without having to make big modifications to your existing application.

Then we come to the real goal.
We can have better data privacy and security. We can agree and adhere to certain industry standards for data privacy and security, such as PCI DSS in the Payment Card industry.

And the Visa?

Visa have invented and patented an algorithm to realize FPE and use this in their card handling. Called VISA Format-Preserving Encryption.visa format-preserving encryption

Why do we need this format preservation?

Sensitive data must be encrypted so that malicious people can not read that data. In financial transactions this is of course very important.

A problem is that with encryption the format of field could change. Traditional encryption algorithms take data as a byte stream, and turn it into another byte stream.

If you have a string of text, such as a name, after encryption this encrypted field may become larger than the original field, it may contain numbers or funny characters, or it may have become be a bigger field. Or if you have an account number, after encryption there may be characters in the result. Or there may be more digits in the result than in the account number.

This change of format of fields can cause several issues in applications.

Column sizes in databases may be too small to contain encryption results.
Fields in programs may become too small
Test data for application can become problematic.
It can become impossible to implement if these fields are used as keys in relational databases.
Your analytics may become problematic.

To prevent all these issues Format Preserving Encryption was invented. With it we can encrypt fields, but process these field in the programs as if they were not encrypted. The program is not aware of the encryption.

Clearly I am leaving out details. Fill me in where you feel necessary, I’s appreciate it.

  • Post author: