Search content
Sort by

Showing 13 of 13 results by zonezICO
Post
Topic
Board Development & Technical Discussion
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 03/03/2018, 14:13:53 UTC
@nullius @BenOnceAgain

Thanks for opening up my eyes to the pitfalls of KYC for investors.  With that being said, for any company looking to do business in the US, it would be extremely RISKY to NOT do KYC as you're basically just asking for trouble from the SEC as they want to prevent money laundering.  Please dont shoot the messenger here but until there are more defined rules, KYC imo is a must for anybody doing an ICO and planning on doing business in America unless you'd like to have a morning wakeup knock on the door. 

Now, if a company wants to try and do some offshore type structure to get around the SEC, I think you're still asking for trouble if you're ultimately going to be doing biz in US.  Much better to upfront and transparent about it.

I'd be interested to learn what technologies/safeguards could be used to make KYC more secure though as you all brought up very good points and valid concerns that I haven't heard anybody else discuss online.
Post
Topic
Board Development & Technical Discussion
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 22/02/2018, 20:06:21 UTC
This industry is very fresh. You should always have double-check code reviews with your team, if not quad-check it. This is why hackathons and bug-bounty programs exist. It should never be the responsibility of one, team work is very important. Everyone is trying to quickly get into the industry and try to make money, however ethical issues should also be kept in mind. The stronger your code is, the better your reputation is, the better your product will be.

Sorry but nobody really does doublecheck by another team anywhere in dev, so def. not in a new industry like crypto...

I respectfully disagree.  As a company, you would want to ensure your code is reliable and has been vetted by other professionals. 

Your reputation is important if you want to sustain a long term company that provides a service to the world.
Post
Topic
Board Development & Technical Discussion
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 21/02/2018, 06:47:51 UTC

Another area that needs a close look is the way that KYC is conducted in ICO/ITO offerings.  In my view, the risk of giving out your information to some project on the Internet is just as high, if not higher, than the risk of losing funds from the venture.  Identities can be stolen, either by a hack or by malicious ICO projects.  This is something that the industry could establish a decentralized solution that would balance the legal requirements with practical requirements of the crypto model.  These rules were written for banks, and while there is some overlap, there is also a different set of considerations that need to be taken into account when dealing with decentralized entities.


I think you just came up with the BILLION DOLLAR IDEA right here!


Whereas now, I am compelled to call out an object example of just how we get so much bad code, causing so many losses:


I'm being dead serious here but one of the reasons I keep coming back to this board is for experts such as yourself, HeRetiK and BenOnceAgain (hey just noticed the little rhyming pattern)

Have you thought of doing an advanced course that teaches best practices?  Why not monetize your knowledge and expertise and simultaneously benefit the community to have better standards and protocols?  
Post
Topic
Board Development & Technical Discussion
Re: I want to learn coding / with blockchain whats the best language?
by
zonezICO
on 21/02/2018, 06:40:49 UTC
@MIT2K - I second what HeRetiK recommended as the first time I ever looked at C++ code, it looked like ancient hieroglyphics to me but after becoming familiar with the syntax and patterns of higher level languages such as Python, JS, (and my personal faves Clojure and Elixir) made it much easier to comprehend what Satoshi wrote (NOT easy but easier).  With that being said, Nullius' concerns are warranted in that if you're going to be serious about writing code that handles money, there's a whole level of responsibility that goes light years above your basic html/css/JS that's found in regular websites that you'll need to be cognizant of.

What helped me start was understanding the core fundamentals of programming in general vs focusing ONLY on the clerical aspects of any one language.  At the end of the day, we're all just talking to a computer and each language is a tool that was developed for specific use cases since a computer only understands 0's and 1's (assembly language).  And anybody who knows assembly language is just a OG pimp in my eyes.

Here's a free video by Bob Martin who is a funny yet brilliant teacher:
https://cleancoders.com/episode/programming-101-episode-1/show

And the entire clean coder series is great but most of it is in Java although some of it is in Go (programming language by Google and I believe what Ethereum was written in?)
https://cleancoders.com

Regarding fundamentals, there's this former martial arts teacher, Stefan Mischook, whose teaching style I personally liked when I started.   
https://www.youtube.com/watch?v=sRj1dMkoyOw
(Warning: He is NOT a blockchain/bitcoin expert like some of the gentleman on this board but for a beginner, gives a good foundation)

I might add (and I know I might get criticized for this but someone taught me this) that if possible, try to learn, or even understand the basics of a functional language FIRST, before learning JS or Python since you'll develop habits that will help organize your thoughts in a way to avoid messy coupling that could lead to bugs.  Mutable state will fuck you up man and even the new language that ppl are hyped about, Simplicity, is a functional language that has NO loops.  If I have time, I even want to try and pick up a little bit of Haskell which Simplicity borrows from I believe.

@Joaco @alia - I wanted to try to learn Solidity awhile back also but after of all the problems Ethereum had been having, I've been reluctant to invest in something that's not solid (pun intended).  What's your opinions of Solidity?

@hgbing - I'm game.  How about maybe setting up a Slack?  If not, I'll Skype ya.



Post
Topic
Board Development & Technical Discussion
Re: Looking for someone familiar with Blockchain dev for a quick thought experiment
by
zonezICO
on 20/02/2018, 18:35:48 UTC
How would you say your idea expands on NoSQL and could it possibly be utilized with Big Data/Spark and/or new Smart City/IoT projects?  When you mentioned infrastructure, I automatically thought of Smart Cities in the future as that is an area that is exciting for me.
Post
Topic
Board Development & Technical Discussion
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 18/02/2018, 19:49:45 UTC
Most of the Bad code is a result of companies using proprietary software. In the Open source environment, proper Peer review are done, before the code is submitted and applied. Some of these companies are in such a rush to be "first to market" that they skip beta testing and review. They want to be "first to market" and then patch like cowboys in a live environment.  Angry

This is why Bitcoin is so secure. Nothing is rushed, proper testing is done on a TestNet and submitted for Peer review. We saw what happened with rush implementation with Bitcoin XT.  Roll Eyes

Thanks for this post!  I personally hadn't realized there was a lot of proprietary software being used in this space as I thought the whole point and benefit was leveraging the open source community.  I'll ask my dev partners if they know of TestNet.  I'm personally only familiar with TDD/BDD so love learning about any new testing paradigms that ensure the code is solid and not brittle.

On the other hand, I could say that people/users can be blame too for this inexplicable continuous hacking & bad news. Why?
Simply because most of them don't want projects that are slow on production.

Is it therefore more of a responsibility of the company to manage expectations and even use that as PR to showcase that the team is being extremely thorough in their testing of the code?

And in crypto pretty much every bit of code is critical while most devs still seem to be in happy-go-lucky start-up land, instead of in finance.

Your post gave me an inspirational idea.  Would having programmers who previously worked for banks be preferred since they'll be particularly aware and sensitive to the nature of finance?

I have been part of a few airdrops with bad code. Some have completed a swap and others have decided to just shut down the project and start over again.

One really good team for finding bad code is the Ethereum Blue team. They are developing the BLUE wallet, which is supposed to be very secure. One of their goals is to use statistical analysis to find flaws in contract code and warn everyone about them. They found the Etherdelta hack, the Monero Gold scam and the Etherdoge scam. Honestly, they are doing the crypto world a huge favor. 

This looks exciting.  I tried searching for the Github but is there only an SDK available right now?

An estimated $280 million worth of the cryptocurrency ether is locked up because of one person's mistake.

An unidentified user accidentally deleted the code library required to use recently created digital wallets within Parity, a popular digital-wallet provider,

Your post reminded me to this older story:
https://dealbook.nytimes.com/2012/08/02/knight-capital-says-trading-mishap-cost-it-440-million/
Post
Topic
Board Development & Technical Discussion
Merits 1 from 1 user
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 18/02/2018, 01:55:36 UTC
⭐ Merited by AGD (1)
Note that anything in the research stage does not have guaranteed results.  I think the concepts look sound, insofar as I am able to understand.  The hard maths of provable code exceed my own level of education (not only in Simplicity).  Yet if you walk through the paper, I think you’ll find the general shape of Simplicity not difficult to grasp.  It’s called “Simplicity” for a(t least one) good reason:  It’s designed to provide a foundation which will be simple to use for building powerful smart contracts (never mind the R&D to get to that point).  The people working on it do have a track record of delivering results.  I look forward to seeing how this develops.

Nullius, thanks again for the heads up on Simplicity.  I looked over the white paper and asked the Google his thoughts and am excited to give it a test drive in future.  Especially the different combinators and convenants.

Ironically though, you sort of reinforced the point I had proposed earlier, in that by possibly using a functional language (Simplicity is functional), you lessen the chances of bad code due to the nature of functional languages having immutable state.  In fact, Simplicity takes it a step further as they don't allow loops (page 1 of white paper) and use functions written in Haskell, another functional language (pg.24 of white paper) to generate Simplicity.


As these events occur again and again we get to reflect on code developers and their skills.  Should they even be allow to release these coins?

Even though most of the coin source code is found in github, do people really go through them?  They are usually provided with no clear explanation as to what is going on within the code.  Much of the system is copied (forked) from previous projects and re-used.  It takes quite some time and effort to figure out what is going on.

I see many people signing up for bounty programs for new coin announcements even though much of the business and/or technical details are missing.  The only thing the announcements seem to boast are the bounty programs.  These coins still raise millions of USD.  

By looking at some meetups activities, it looks like the waves of new coins will continue if not pick up more speed.  With such a madness to release coins so quickly, the coding errors are inevitable.  But prior to talking about code bugs, the requirement errors should be first identified.  I wonder if all these rapid releases even understand their own requirement.


I had eluded to "clean coding" in an earlier post.  Whether you like Agile or not, many lessons taught by Uncle Bob relate to the issues brought up in this thread:

"Clean code is simple and direct.  Clean code reads like well-written prose"

https://www.goodreads.com/work/quotes/3779106-clean-code-a-handbook-of-agile-software-craftsmanship-robert-c-martin

If we're depending on the open source community as a whole to advance these new ideas and new paradigms, I think it's vitally critical to write code so that anybody else can take it further very easily.  

In regards to forking, I went to a great seminar last week where a VC/ICO investor brought up an interesting point in that since forking is more commonplace, what differentiating value can a company offer other than the product?  For me, the answer was obvious.  Great community of intelligent programmers.  So the question is what do intelligent programmers want in a company?  I think it was JFK who said:

"Ask not what your programmer can do for you, rather ask what you can do for your programmer" (drum hit!)

In regards to new coin announcements with critical business details missing, I completely agree.  (pls can somebody explain why Cryptokitties has done so well and what their monetization strategy is??)  

Part of the reason I joined this forum is my startup was going the traditional VC route, working on getting ACTUAL METRICS & TRACTION first but some of our competitors launched successful ICOs so I'm hoping to learn from all of you why any sane investor would invest in an ICO with NO metrics?  We want to be the exact opposite and have maximum transparency, great metrics, great programmers (pm me) before we would even think of launching an ICO.

For those of you who aren't familiar with the VC venture capital world, ICOs are an existential threat to their industry, which is ironic since they are usually the ones disrupting entire industries.  This is great for programmers who have great ideas because unless you're lucky enough to find a VC who shares your vision of the future, it can be very time consuming to raise capital.  

Lastly, our company is a B Corp (public benefit corporation) and we'd like to set it up as a Teal corp for maximum transparency but am curious if people even care about that.  
https://www.strategy-business.com/article/00344?gko=10921
Post
Topic
Board Development & Technical Discussion
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 17/02/2018, 19:04:06 UTC
As a general rule, good programmers can write good code in whatever language they happen to use; and bad programmers will write bad code in any language they try.  Moreover, no formulaic technique will turn idiots who don’t know what they’re doing into software engineers.

Hi Nullius, thank you for your very blunt and honest answer.  I appreciate it.  

I'm going to start learning Simplicity ASAP.  

If anybody else here knows of any resources of how to best learn it, it'd be greatly appreciated.

Thanks in advance!
Z
Post
Topic
Board Development & Technical Discussion
Re: Bad Code Has Lost $500M of Cryptocurrency in Under a Year
by
zonezICO
on 17/02/2018, 04:54:21 UTC
Seeing how security and actual software engineering often comes as an afterthought, instead of serving as a fundamental requirement, it comes to very little surprise to be honest. I guess that's the downside of the comparably low entry level when it comes to developing crypto related software (as opposed to, say, traditional finance, military and aircraft applications).

Properly handling immutable, decentralized transactions is hard and mistakes are costly without recourse. Even moreso when it comes to smart contracts. It seems like a lot of companies and developers haven't yet fully fathomed the implications of what processing irreversible scripts and transactions really means.


I mean...

Quote
“There was a bug on Bitgrail where if you placed two orders you got double balance added to your account. You could then withdraw while the orders were up and steal the coins. You had negative balance in the end but you could just make a new account.”

What the. Actual. Fuck. That would be bad enough in traditional finance or actually any online application that handles money. But in crypto such a bug becomes fatal.



Quote
The cryptocurrency most commonly associated with catastrophic bugs is ethereum. That’s not due to its underlying code, but on account of the smart contracts that can be built on top of the ethereum framework.

Here's the next thing. Granted, if Solidity where more strict and rigorous its developer base would likely be much much smaller. Nonetheless I'd argue that such strictness would be required to allow somewhat reliable smart contracts. With Solidity it may not be a code issue, but it's definitely a design issue. I don't follow Ethereum all that much, so I might be missing parts of the big picture, but what I always ask myself is: If blockchain veterans such as the Ethereum development team is unable to design a sound smart contract platform, how can we expect blockchain rookies -- which is what most of us are, given how young crypto is -- to implement reliable smart contracts on that very same platform?

Sorry if this post comes off as ranty, I guess irresponsible code just kind of grinds my gears.

I wholeheartedly agree with you.  I couldn't believe that there was apparently a client-side JavaScript exploit on that Bitgrail exchange, where that was the only check it had to verifying an accounts balance!?!  Seriously, code that runs in someone's web browser, wtf?  That type of foolishness wouldn't make the cut for a web game, to say nothing of financial transactions of real value.

In my view, best-practices standards are needed for security and code audits.  There are many attempts at this out there, it needs to be pulled together, structured and maintained like RFC or BIP standards are, and proliferated through the field.  Especially considering we are dealing with a rapidly evolving technology, these standards need to be maintained on an ongoing basis.  I know the steps I take to lock down a server today in 2018 are different in quite a few ways than they were in 2014, for example.

My organization is going to be looking at this issue because it's a real problem that needs some coordinated focus.  We're conducting our launch fundraiser right now with an Ethereum ERC20 token, but I have real concerns with the stability of that platform moving forward.  A deep dive is in order with some consultations with the gurus before I make any long-term decision I'll live to regret on platforms.  In some ways it's a shame, the Ethereum platform does seem good "on paper", but has some real flaws that need to be met before I would place the kind of trust in it that you do to a financial institution.

If a bank lost $500M in a year, people would be in jail!  (Well, maybe not here in the U.S., but only because the banks own our government [for now]).  But who would bank with a company that was so careless with funds it has custodial control over?

I might sound ranty back, but it's only because it's so outrageous.

Best regards,
Ben

Do you think certain practices such as TDD/pair programming/ and certain languages such as using a functional like Haskell/Lisp/F#/Clojure/Elixir/Erlang would've prevented these types of situations to begin with?  While anybody working with the web HAS to be proficient at JS, due to bugs from mutable state and potential tight coupling, I've really been reluctant to dive deep into C++/Python/(anything JS related Node/Solidity) when by just using another language, all of these potential threats are mitigated by default of the language.

Plus, as you mentioned, people would be in jail for losing large amounts of money, the potential liability a company has, to me at least, makes this a no-brainer. 

This thread is just another reminder of how important clean code principles are. 

Z
Post
Topic
Board Archival
Re: Too many vulnerability/Hacks
by
zonezICO
on 17/02/2018, 04:41:10 UTC
...
I am not a Windows hater, I was using it all the time. But when sound drivers have key loggers, and Win10 is sending keystrokes into log files back to Microsoft, it requires a good piece of knowledge, to secure the OS at an appropriate level. By default installation this system is insecure, and a good entrance door to remote attacks. (Compare this to OpenBSD).
...

I´ll add another reason why using a different OS than Windows is a
good idea.

Malware developers obviously develop viruses and keyloggers for the OS that most
people use, because this increases the number of potential victims.
Therefore I´d estimate that 99 % of malware is targeting Windows and
simply by using an alternative OS you are decreasing the risk of running
your Bitcoin wallet on a malware-infested computer.

Besides, most Linux distributions nowadays are comparable in usability to Windows
or even have better usability. The huge advantages in terms of security make switching to
Linux (or other OS like OpenBSD) a no-brainer.

In your opinion, any particular flavor of Linux or even Ubuntu is a better option than Windows or MacOS?  I used to have a dual boot on my older Acer laptop back in the day but haven't felt the need to on Macbook
Post
Topic
Board Development & Technical Discussion
Re: Why bitcoin wasn't written in functional programming hence able to scale?
by
zonezICO
on 17/02/2018, 04:28:20 UTC
Was just working on project in Clojure. JVM man.And all this brackets ...cmon.
Erlang is awesome , no doubt , networking performance is just mind blowing.
TDD very useful, i do everything in TDD now. But to a point. If you have to spend 2 weeks writing e2e tests. Well.TDD wont help you.
It allows to pass code to other developers.
Anyhow, i think C++ choice was due to number cranching required for encryption. Cant bit C++ in raw calculation performance in general case on random os with random hardware.



Very cool! So the Clojure project was a blockchain project or something unrelated?  Yes, the brackets/parens are a lot but have you watched any of the designer of the language, Rich Hickey, videos on youtube?  His view of the world and how the mind thinks are really inspiring.  Here are two that I really enjoyed:

Hammock Driven Development (warning, he covers meditation in it)
https://www.youtube.com/watch?v=f84n5oFoZBc

Here is an interview between him and Brian Beckman.  I wish all discussions around programming could be done in this manner:
https://www.youtube.com/watch?v=wASCH_gPnDw

As for TDD, good to hear you practice it (also with blockchain projects?) but agree with you that there's a certain point that it becomes too much.  I think that was DHH's point in those videos and of course the infamous Ruby Conf where he fired the initial shots at TDD:
https://www.youtube.com/watch?v=wASCH_gPnDw

(warning: Tons of F-bombs in DHH vid)

I think the best programming language for an open source project especially at the scale of BitCoin is how strong the community is in that programming language. You don't want to scare people off by making some wierd language choices.

There are situations when a functional language might be better, but the opportunity costs associated with them for bitcoin was simply magnitudes higher.

You make a great point but as I was reading your post, I remembered an article that Paul Graham from Y Combinator said regarding using a Lisp language when everybody was making Java WAS A COMPETITIVE ADVANTAGE.  I'll paste the link below and some of the text:

http://www.paulgraham.com/avg.html

"Software is a very competitive business, prone to natural monopolies. A company that gets software written faster and better will, all other things being equal, put its competitors out of business. And when you're starting a startup, you feel this very keenly. Startups tend to be an all or nothing proposition. You either get rich, or you get nothing. In a startup, if you bet on the wrong technology, your competitors will crush you.

Robert and I both knew Lisp well, and we couldn't see any reason not to trust our instincts and go with Lisp. We knew that everyone else was writing their software in C++ or Perl. But we also knew that that didn't mean anything. If you chose technology that way, you'd be running Windows. When you choose technology, you have to ignore what other people are doing, and consider only what will work the best.

This is especially true in a startup. In a big company, you can do what all the other big companies are doing. But a startup can't do what all the other startups do. I don't think a lot of people realize this, even in startups.

The average big company grows at about ten percent a year. So if you're running a big company and you do everything the way the average big company does it, you can expect to do as well as the average big company-- that is, to grow about ten percent a year.

The same thing will happen if you're running a startup, of course. If you do everything the way the average startup does it, you should expect average performance. The problem here is, average performance means that you'll go out of business. The survival rate for startups is way less than fifty percent. So if you're running a startup, you had better be doing something odd. If not, you're in trouble.

Back in 1995, we knew something that I don't think our competitors understood, and few understand even now: when you're writing software that only has to run on your own servers, you can use any language you want. When you're writing desktop software, there's a strong bias toward writing applications in the same language as the operating system. Ten years ago, writing applications meant writing applications in C. But with Web-based software, especially when you have the source code of both the language and the operating system, you can use whatever language you want.

This new freedom is a double-edged sword, however. Now that you can use any language, you have to think about which one to use. Companies that try to pretend nothing has changed risk finding that their competitors do not.

If you can use any language, which do you use? We chose Lisp. For one thing, it was obvious that rapid development would be important in this market. We were all starting from scratch, so a company that could get new features done before its competitors would have a big advantage. We knew Lisp was a really good language for writing software quickly, and server-based applications magnify the effect of rapid development, because you can release software the minute it's done.

If other companies didn't want to use Lisp, so much the better. It might give us a technological edge, and we needed all the help we could get. When we started Viaweb, we had no experience in business. We didn't know anything about marketing, or hiring people, or raising money, or getting customers. Neither of us had ever even had what you would call a real job. The only thing we were good at was writing software. We hoped that would save us. Any advantage we could get in the software department, we would take."





Post
Topic
Board Bitcoin Discussion
Re: What programming language to learn?
by
zonezICO
on 15/02/2018, 19:57:32 UTC
Hello, sorry to bump this older thread but was curious if anybody had an opinion now in 2018 on which languages would be most helpful for bitcoin/blockchain projects?

C++ is what bitcoin is written in

Go is mature port for Ethereum but the bug with the Parity wallet in Solidity?

Many local coding schools are pitching Python as good language and since I also have an interest in data science/GIS, this would be nice since I'd be knocking out 3 birds with one stone but I also like Clojure based on the designer of the language, Rich Hickey.  Love his talks on Youtube.

Haven't found much on Scala but since Spark is built with Scala, was hoping to somehow work on how blockchain and Big Data might compliment each other?

I know Tezos was built on Ocaml but if I'm going to learn a language that has both functional and OO elements, then I'd prefer to stick with Clojure.

Lastly, not sure if how concurrency/parallelism directly impacts blockchain but if it does, why aren't more projects built using Elixir/Erlang?

Any thoughts greatly appreciated!

thanks in advance,
Z
Post
Topic
Board Development & Technical Discussion
Re: Why bitcoin wasn't written in functional programming hence able to scale?
by
zonezICO
on 15/02/2018, 19:10:12 UTC
Hello all,

First time posting here but looking to become a fellow, positive contributing member to this forum.

Sorry to bump this older thread but I did want to continue the discussion over using functional programming for blockchain/crypto projects and add that I think the CONTEXT is very important since as Nikisev mentioned, Bitcoin has scaled but doesn't C++ have BOTH functional and OO attributes?  

Unless you're Satoshi Nakamoto, statistically speaking, why would any programmer NOT use functional programming if they had the option due to the potential future bugs stemming from tight coupling and spaghetti code?

@nikisev - You brought up a good point in that if it works and allows fast bug fixing, then what's the problem?  But that means that the entire system would be DEPENDENT on YOU, right?  While the code can scale, what about the physical operations if you also have to run a business, manage other engineers, etc  

If you have to hand that codebase over to someone else, much less the open source community (which isn't that the point of ICOs to support the general community?) adds the possibility that someone else might have more challenges in maintaining that codebase than you since they won't know all the intricacies and nuances that YOU, the initial architect, had.  Versus had they used a functional programming language from the beginning, there would be NO risk of that at all.

Here's a good video by Uncle Bob of Cleancoders, who uses humor to make his point, that really changed my perspective of using languages/preemptive organizational practices to prevent decreased productivity and lost of morale for the engineers due to "spaghetti code".  

I recommend the whole video for actual business analytics but if you only have 2 min, 29:08 to 31:00 gives a simple description of the potential problems a company can face that non-technical people would never, ever know.  

https://cleancoders.com/episode/clean-code-episode-1/show

As for TDD, there was actually good Youtube discussion between the designer of Rails, DHH, who thought TDD was crap, Martin Fowler, and the actual inventor of TDD, Kent Beck.  It's a 6 part series so I'll just paste the link to the first episode:

https://www.youtube.com/watch?v=z9quxZsLcfo&t=2s

DHH made very good points that TDD isn't for everybody and actually decreased HIS productivity.  But to my novice thinking, what he failed to convince me of is that his style of working would work for an entire team since not everybody can be a genius like him and Nikisev.  If you have to rely on junior programmers on some level, wouldn't it make sense to have a very EASY way to find bugs and ideally prevent bugs from even happening?

I think that's what Elixir (based on Erlang) is good for since it tells you the exact error a lot of the time and Clojure (which still offering OO programming to attract Java guys) has the best practice of relying on the REPL.  I've never worked with F#/Haskell or Ocaml but seems to me like they'd all be better choices than a language such as Javascript

Anyways, looking forward to your thoughts as I'd like to start developing blockchain apps but C++ or Go don't inspire me as much as Elixir or Clojure.  And definitely NOT JS and hope that WebAssembly will someday free web apps from so dependent on it.

Z