To be clear, the word "human" is used determine who can use the software because I am convinced that, when a company, institution, organization or corporation is created, it has its own intelligence, means and interests that go beyond and above the interests of human beings.
Many are scared of the singularity, thinking that general artificial intelligence out of human control is the greatest threat for humanity.
I am convinced that the greatest threat for humanity is more probably just a corporation operating to achieve its own interests.
A one man company consulting another would apply the software for commercial purposes. Commercial use is not comtemplated by the license. The one man company should contact me and buy a different license.
I am not sure about:
>"This is my project, you can use it if you want. If you want a patch added, pay me. If you want support, pay me."
Because if you are an experimenter asking for a patch I could be also interested in, that could help the project in any way, I could consider doing it for free as part of effort required to develop the project.
Hobby clubs could not use it because they are an organization, members of the club could use it because they are individuals playing with their hobby. Non-profit organizations could not use it.
I must say often non-profit organizations even if not producing money have strong conflicts of interest.
The idea is, let experimenters tinker with it and help you develop your idea, while at the same time exclude companies, institutions, organizations and corporations. If the software is interesting for them they can contact the copyright holder to buy a different license.
Instead of giving away for free our work to entities that may work against our own interests, we give it away for free only to people like us.
> It needs to supports, out of the box, cloud connected or wifi enabled (wireless lan connected) devices.
When the physical layer of devices in the home don’t offer Wireless connectivity, hardware communication modules needs to be adopted to bridge the existing connectivity.
Until it ultimately relies on Amazon S3 and a commercial network provider all the effort to obtain "decentralization" looks wasted. I hope IPFS will someday run on top of protocols like PJON ( https://github.com/gioblu/PJON ). Decentralization and democratization of networking will happen from the lower end, when the network infrastructure will be ours, and we will not be forced to pay multiple corporations to temporarily store our data or get it from one end to the other. Then, IPFS may have sense.
In my opinion we should:
1. Specify new data link and network standards for decentralized networking over private and decentralized networks
2. Build the networks
3. Start to think about high level stuff like IPFS
BIPLAN: https://github.com/gioblu/BIPLAN
is a programming language, which comes with its own virtual machine and its compiler. It is really simple and it is an early protototype, although benchmarking it looks astonishingly quicker than other interpreted programming languages like python. How can be 3 orders of magnitude quicker than python? O_O
I really need some help on real-time operative systems, the interface for windows is more or less ready, and the code should work on win out of the box, it should be rather simple to create a console program that can:
BIPLAN compile program.txt (compiles in program.bp/bip/bipl)
BIPLAN run program.bp/bip/bipl
would be helpful and fun to have it running on windows or linux.
Thinking about it more in detail, functions require the parentheses to show where the call ends. I obviously could count the number of expected parameters as function is defined, but that leaves room for error, and a creepy syntax,
ie: sum 2, multiply 2, 2, 2
for which function is the last parameter for?
You are right about the function names, I am not forced to use the camel form which I do not love, it could be serial_write or even serial write
I have worked on it few years because I would like to use it on a custom computer design I have in mind. Something like 80s BASIC computers with a more modern language and quicker speed.
Ciao, yes I agree with you, I will work to remove parentheses from functions. What you would suggest instead of the arduino function names? You are right also about next and continue, thank you. The fact that the machine language is an ASCII string looks like really handy for many different reasons.
Ciao besn, yes it is designed for constrained environments and now runs only on Arduino compatible devices, although it already supports system calls abstractions to be easily compiled in other environments.
BIPLAN (Byte-coded Interpreted Programming Language) is an experimental programming language based on a recursive descent parser that uses only static memory allocation and operates a completely software-defined virtual machine that does not require a garbage collector. It's human-readable language called BIPLAN is compiled in an 7-bit ASCII virtual-machine language called BIP.
Many are scared of the singularity, thinking that general artificial intelligence out of human control is the greatest threat for humanity.
I am convinced that the greatest threat for humanity is more probably just a corporation operating to achieve its own interests.