torsdag 28 januari 2016

The software revolution

The industrial revolution occurred because someone came up with the idea that instead of making items, we should make machines that makes items. Now, could the same be applied to software? A software revolution when we stop making software and start making machines that makes software.

For this to come true, entirely new programming models will probably be required. We also need to start thinking of when the multitude of software will be required.

One interesting thought in connection to this is my previous post discussing communication as transmission of software. Thus; the communication revolution we see now, really corresponds to the industrial revolution in the sense that we produce software that is used only for a very short time (the "message" in classical terms). Maybe only once.

onsdag 6 januari 2016

A solution to the Fermi paradox and the missing 96%

96 % of the universe mass is missing. At the same time we have the problem of the Fermi paradox. Combine them, and what do you get? Lots of type II and II civilizations.

söndag 3 januari 2016

I just learned about the dining philosophers problem...

The dining philosophers problem is an interesting one, invented by Dijkstra, and important in multi-threaded programming. I read the Wikipedia article and some others on the subject, and noted that the problem is very similar to what is faced in a wireless communication scenario where several clients needs a way to share the channel.
In communication the problem seem to have been solved in some other ways that in programming. E.g. Cellular systems usually employ a scheduler. 802.11 instead uses CSMA/CA. It is interesting to note that the communication system problem description actually is closes to the original problem formulation by Dijkstra where he considered shared access to a tape recorder system.
It would be very interesting to investigate how the computer science solutions perform in a wireless scenario, and vice versa, how would the wireless (and wired, e.g. Ethernet) solutions perform in concurrent programming scenarios.
I will have to get back on that.

On language and communication

I like philosophy. Especially philosophy of language. Recently I wrote an essay on the subject employing a, at least to my knowledge, new view on communication as transport, not of data which is the classical view I would say, but rather as transport of programs. The essay is attached. It is a draft with ideas sketched and not finalized. Mathematical notation in the text should be viewed in a lose kind of informal way. I am not trying to derive any mathematical theorems in this text.