Which problems need solving in computer science?

Inspired by Joe Armstrong:

Which problems do you think need solving?


Note sure whether this constitutes a CS problem, but I wish someone would solve email spam!

(What on earth happened to that computational email handshake idea/‘solution’ where any computer sending an email would need to perform a calculation to verify it’s not a spam machine - apparently the computational overhead would make it difficult to send huge amounts of email. I might be wrong though, read that a long time ago…)


Cache invalidation and naming things, obviously.



1 Like

Just do not accept any email that is not encrypted to your public PGP key, there is your computationally infeasible anti-spam method (for now). ^.^

Now, getting everyone else to use PGP emails properly, well, most people I know do but not all. ^.^;


I thought caching in Rails was pretty smart :lol: it’s great that it’s needed less in Phoenix (but awesome that it can be done easily in Elixir).

That looks interesting! Why aren’t major email providers and operating systems incorporating it or making it into a standard?

Yep, it has to be easy enough for everyone to use :lol:

Simple plugin for about every email client out there. ^.^

Everything from Thunderbird to Outlook to browser extensions for webmails, then it is just all automatic. ^.^

It needs to be a standard tho - i.e on by default.

Perhaps they need to kill email. Or rather, 1.0, and introduce email 2.0 and eventually kill off 1.0 :lol:

1 Like

Oh if only!

But what standard? :wink:

Matrix or something? ^.^

1 Like

The one that https://www.w3.org might be able to come up with? (Or whichever is the most appropriate organisation.)

Your public PGP-key is public knowledge, so spammers could make clever use of that (Although right now, none do).

@AstonJ The reason Hashcash hasn’t seen widespread usage is the following, I think (quoted from Wikipedia)

One plausible analysis[4] concluded that only one of the following cases is likely: either non-spam e-mail will get stuck due to lack of processing power of the sender, or spam e-mail is bound to still get through. Examples of each include, respectively, a centralized e-mail topology (like a mailing list), in which some server is to send an enormous amount of legitimate e-mails, and botnets or cluster farms with which spammers can increase their processing power enormously.


I have to admit that the main thing that would concern me is the combined processor/power usage required (for the world’s emails) that would make it incredibly environmentally unfriendly.

Back to the drawing board I guess…

1 Like

Very problematic on mobile devices, at least for android I wasn’t able to find a solution that integrates well into the email application, except for one tool, but that doesn’t support key servers and you need to manually import public keys in a very complicated manor, also it forces you to use K9 as email client and seems not to have got any updates for a few years.

Also most people tend to use their browsers as email client and even if mailvelope exists, its not an easy to handle tool. I was not able to correctly sign a single email…

Therefore I’m currently caught in a situation where I have to be at my PC to read or send encrypted mails via thunderbird, while managing the mails still happens through the web interface, because I really need those features that Google-Inbox provides to manage my personal and working day.


The two hardest things in computer science is: caching, naming things and off-by-one errors.


@NobbZ I use K9 on my Android phone, which is a great email client, that receives updates regularly.
However, its PGP-adapter only works properly when you’ve rooted your phone, and it still cannot read PGP/Mime-encrypted emails, which is the current default used by most PGP software.

@Linuus @hubertlepicki said the same thing already, but maybe this itself is a case of cache invalidation :stuck_out_tongue:.

To be honest, I’d love some kind of database where computing scientists could keep track of what they have named things, so we can get a feeling for what to name new things in the future.
However, usually the hard thing is mostly to know what it is, and a name comes once you know that. (Although some descriptions can be understood conceptually but not named in a way that is clear for newcomers who do not grasp the concept yet. An example would be the Monad here :grin:. )

1 Like

He missed one. Off-by-one errors. So…he was off by one? :wink:


“What is the Answer to the Ultimate Question of Life, The Universe, and Everything ?”

I’m already out :wink:

1 Like

Great minds think alike.

1 Like

When I took a look the last time the interface looked still very 2.x-ish, Also its interface was cluttered and I never found what I actually searched for.

Which is out of question for me, since my phone was provided to me by my employer and has some strict restrictions. Even though I am allowed to have a personal account side by side to my office account, I’m not allowed to root it, since it were circumventing safety measures of the office account.

And another showstopper I haven’t been aware of so far.

As I said, GPG is not an option for mobile devices…

1 Like

How so? You can encrypt with it so only the public can can decrypt, but what else can you do with it? Plus my public key is already public on a PGP key registry (feel free to add me to your WoT!) and has been for a long long time. ^.^

Lol, I’ve been resisting for so long on making my own monad blog, there are way too many out there. ^.^;

Ick, I have to root my phone! I’ve found no other way to tunnel all communication over ssh (if anyone knows how, please tell me) otherwise! I’d not accept that for purely security reasons… (plus xposed for locking down, well, everything, and systemwide adblock, etc…).

1 Like