I read it as "A significant portion of jobs and funding in the Haskell ecosystem come from cryptocurrency organizations, giving them a lot of influence over the future of the language and the community." It's about who controls development of the tool right now, not how the tool might be used, or who has been involved in the past.
What kind of taint the current influence of the crypto-currency industry could leave on the technical side of the language?
If these guys are toxic within the development community, then, well, we have to somehow handle it — but again, we've seen highly prolific and highly toxic OSS contributors who wielded very different, "more noble" values, in the past. The problem may be the attitude, not the industry affiliation.
If Haskell became known as "the crypto people's language", many talented computer scientists and engineers would be unwilling to join the community or invest anything in the language. Partly out of a sense of "I don't want to directly help them", and partly just "I don't know those people and I don't really want to go to their conferences, and all my friends in academia are working on <new language x>, what's that all about".
For someone like Stephen Diehl who is deeply embedded in the Haskell community and has invested a lot in it, that would be a personal and professional loss. You're right that the language itself and its technical features would not be nefarious, and would be replicated in 100 other languages.
What happens if the bottom falls out of the cryptocurrency job market? Does Haskell become Scheme, a language used only for language research?
This is not true, by the way.
No, not really. The parser is written in FemtoLisp (a Scheme dialect), but that's it. It's not actually doing anything other than the parsing, and there's actually work being done to replace that with a pure julia parser.
“Our implementation of Julia consists of 11000 lines of C, 4000 lines of C++, and 3500 lines of Scheme”.
[1] https://julialang.org/blog/2012/08/design-and-implementation...
But I would argue that knowledge about something is not necessarily within that thing, but around that thing as well. A handle is a handle because we have hands that can grasp the handle. No system in this world is closed (perhaps the universe itself but still doubtful), so any knowledge pertaining to a system (or a tool) must be dependent on its context. A handle acquires meaning because of humans. Same with mathematics, programming, or otherwise.
So I would argue that yes, mathematics can be developed for nefarious purposes. Anything can be. Just because something is more pure and seemingly neutral than others does not mean that thing will stay independent of its context. The outlier example is the statistical farcity and bias in scientific experiments. Take it a step further in the direction of objectivity, and you could also notice that bias plays a role in mathematical experiments.
Another interesting question might be: is uranium evil? Or are videogames evil? Are these seemingly neutral things, containers of things, evil? Or are common manifestations of them, or the way that the medium encourages its content (and the way that Haskell and its ecosystem encourage their application) relevant to the judgment of that particular “container”?
I believe a lot of this has to do with seemingly emotion-less quality of abstractions (i.e. containers). In the abstractions-land, the mathematics land, the “pure” land, only the relevant essence of the thing at hand is extracted, thus the compression seemingly occurs losslessly. However, in the compression from the real to the abstract, we have also lost the sensual, the tactile, the emotional. We go from a soul to a 4.5 million deaths. We go from the wet texture of water to H2O. By compressing, we gain, but also we lose.
A bit sidetracked, but I think any medium can appreciate being examined in such a way.
I'll answer that when you give me a definition of the term.
Might want to start with defining "game" and then pare it down.
My point is, you can't say something is evil until you have a coherent definition of what that thing is.
The blog post is basically telling us that cryptocurrencies and its leaders are a giant scam and they don't contribute anything of value to society.
Your interpretation is very generous if you ask me. A blog post with that angle would be interesting to read though. It would have more to do with the Haskell ecosystem than this one and it would be good to have that discussion if the cryptocurrency influence on the ecosystem is too big.
I agree it would be great to have more details about how big this influence is and how it manifests itself.
They appear to be funding Haskell development.
Recently a casino was built near me, and they repaved a lot of roads and added bike lanes and stuff as part of the construction. The roads are objectively better now, but I don't want to live next to a casino no matter how good the roads are, and I would have preferred if the city government had funded that work instead, since I trust them more and I have some say in how they spend their money. If you were looking for a neighborhood to move into, the first thing you noticed wouldn't be the smooth bike lanes, it would be the huge casino you can see from anywhere in a 3 mile radius.
Have innumerable script kiddies, scammers, doorway site creators, etc, used PHP for doing bad things? Did / do they constitute a significant part of the user community? Yes.
Has PHP been used to create wonderful and world-changing things, like Wikipedia? Does PHP have great, very nicely designed tools that help people develop good things faster, like Laravel? Has the PHP community done a tremendous work to make the language much better, and its stdlib much nicer? Yes.
Crooks using your favorite tool can be a nuisance in the community, but noble-intentioned people can be jerks, too, which has many times been observed. If the community has a problem with its being nice, welcoming, constructive place, it's usually not because of people's business and even political affiliation.
I'll hazard to link to [1] as a supplementary reading on the topic.
[1]: https://www.lesswrong.com/posts/GLMFmFvXGyAcG25ni/i-can-tole... (It's a copy; unfortunately the author has taken his whole huge blog offline.)
Does PHP have a significant taint to the rest of the development community? Yes. Are its "nicely designed tools" recognized and used outside the PHP community? Not that I've seen.
Wikipedia is a web site I use and sometimes poke at. Am I going to go looking at its code? Nope. In fact, there are several tools that I decided not to fix bugs in, but also not to use myself, when I realized they were PHP.
(Aside: have they ever removed, or even deprecated, any of the layers of hideously broken interfaces in the stdlib? Or are they still lying there as a trap for the unwary?)
The difference between this and the PHP case is one of economics. Economic input gives you influence (usually). If people who's approach to life you don't agree with assume influence over the direction of a project, that can be a source of worry.
I'm not sure I think it would be in this case, I think a source of finance is probably going to outweigh it, but I see the logic.
Reportedly Lisp was hit pretty hard by its association with AI hype collapse ("The AI Winter"). Of course this doesn't change the merits of a language per se, but it can be a blow to the community and investments around it.
Dang it, how come I didn't see this before PG's essay on conformists and individualists?
Look again
https://slatestarcodex.com/2014/09/30/i-can-tolerate-anythin...
I.e., it's a call to the knife makers to stop making their knifes to the specs of mob bosses, not a call to ban knifes.
There are plenty of precedents for this kind of action, e.g. pharmaceutical companies refusing to supply chemicals for executions. (If were already going all life-and-death with the analogies)
Also, do cryptocurrency bosses ask the community to shape Haskell in the way suitable for them, e.g. in the core libraries or extensions? Or do they just produce libraries for their own use?
"More programmers should have the moral fortitude to stand up to the Facebook employees in their communities. This is not a socially acceptable career. Facebook employees have chosen to turn their skills on poisoning the very communities that gave them opportunities to thrive." [0]
"Palantir and Facebook are the largest employers of Rust engineers in the world. Rust Community: What exactly is the point of all of your long codes of conduct and community guidelines if the primary use for your language is the creation of a nightmare surveillance state?" [1]
If that is the case, it seems like Stephen would be just a little less hypocritical than most, trying to convince programmers to actually follow through.
A short while back, I mentioned here that Henry Petroski said that the origin of engineering ethics is that engineers shouldn't compete solely on price. That hasn't been the case for a long time, not since some bridge fell down and killed a bunch of people. Now, engineering ethics involves saying "no" when you boss wants you to do something you feel is unethical, illegal, or just plain stupid. Nobody wants to do that. It hurts. But some people think it's a part of professional behavior.
although this isnt twitter, i sometimes feel like the commenters on HN have spent too much time on twitter. i cant stand opinionated twitter "personalities" that tweet more than they code, and it's been bleeding over to other places as well.
That is a weird point of view, but unfortunately not all that uncommon (when applied as a general worldview) right now. I think it's worth noting that it's generally anti-open source and free software, as it generally boils down to "you should control this thing you created as a group" as opposed to "we all created this and anyone can use it for anything, but maybe we require you to share changes so it's self perpetuating".
In my personal opinion, it's the worst type of small community social pressure taken to unhealthy extremes brought wholesale to the internet age. That is, poorly rationalized, aimed people that associate with the target rather than the target, and in this case "associate" is so tenuous as include the people that made a better hammer because someone used it to build something objectionable.
When I find this I find myself wondering if these people even really believe this, or they just express this as a strategy to influence people? I don't know enough about Dielh to know what I think is more likely.
This is exactly why I find his argument absurd. Programming languages are just tools, there is no moral judgement attached to them. You don't get mad at people who manufacture other tools that are used for nefarious purposes.
The criticisms that are made are:
1) That cryptocurrency's "entire existence is purely predicated on the appeal as a speculative investment first and not on its efficacy to transmit value".
2) That crypto exchanges are "effectively digital gambling sites, in which unsophisticated investors trade unregulated products on markets that are directly manipulated by exchanges with no oversight".
Let's definitely stop using C in weapons control systems.
Crypto uses the academic big-brain alpha-nerd reputation of Haskell to make their platform appear more reputable. „Look, written by 100% organic PHD-certified FP programmers, raised on our free-range Monad Farm. Oh btw our whitepapers are Very Legit and definitely not just decorum for an ICO scam.“
Slot machines are expressly designed to feed on a person's gambling addiction and to take their money. Dirty bombs are designed to murder thousands or millions of innocent civilians. The Nazi gas chambers were designed to slaughter millions of innocent civilians.
Using a programming language benefits that programming language. This is pretty transparently obvious - a larger community means more skilled professionals, more support on stack overflow, more funding for development, and more open-source contributions.
If you strongly believe that the crypto-currency people are doing evil, it makes sense not to aid them. Whether "using Haskell" is worth worrying about is something for individuals to decide on their own. But it's absurd to say that there is no ethical dilemma in incentivizing the development of a tool that is used for evil.
The author's point is the opposite. He's calling out prominent members of the Haskell community for running cryptocurrency schemes.
The current discussion is more similar to how Python has become strongly associated with machine learning.
Anyone who cares about the Haskell language and ecosystem should do what they can to avoid it gaining a strong association with questionable crypto or other areas that will negatively impact wider adoption. This will also become a personal association whether warranted or not. This can be through promoting use in those wider areas or as this post does call attention to specific ones that the community should carefully consider rather than participate, because hey Haskell. It's like Haskell's Manhattan Project--choose wisely with eyes open.
I remember IBM had to obtain a separate license without this clause, to insure themselves against potential nice funny lawsuits claiming the breach of that clause.
https://github.com/lerna/lerna/pull/1616
https://github.com/jamiebuilds/license
Its proposed license was an extension to MIT which made using it theft for a select list of companies that supported ICE.
What about the global situation? Is it the same?
It also invented PC.
No. Personal computers were around for quite a while before IBM decided to enter the market (with a not very good and very expensive machine, I should add).
The PC mantle probably goes to Processor Technology, or maybe someone a little earlier. I'm counting 8-bit chipsets, the date gets pushed back a LOT farther if you're talking PDP-8s or earlier systems (much less commonly available to the public). Or you could take it forward to 1977/78 and give the title to Apple.
But it's definitely not IBM.
If you're trying to say that IBM was the first to officially name a personal computer "PC", I'll give you that one.
Most other makers, from Apple to Amiga, vigorously protected their small private markets where they dominated. The original Macintosh has explicitly removed all the expansion capabilities that e.g. Apple II had.
Rushing to market led to the decision to license the OS from Bill Gates instead of buying the OS or writing it in-house.
An example of a false assumption would be believing that holding the copyright on the BIOS would be enough prevent clones.
Werner von Braun has lead the US space program to launching humans to LEO, and then to the Moon.
Again, technology is morally oblivious. A sword that only serves a noble aim is strictly the stuff of fairy tales, and is not implementable in the real world (no, not even with an AGI, since humans are a reasonably good approximation of an AGI).
I may be the only one who giggles when driving past the Werner von Braun Center on Redstone Arsenal. It a very attractive, very new part of Army Missile Command.
Some technology has only one purpose, and is used only for immoral acts. An example of this would be any device invented for torture.
While those examples are uncommon, more technology is built expressly for evil acts, even if it has the capacity for good. If you are distributing plans and technology to make "dirty bombs" - devices intended to disperse lethal amounts of radiation - it's impossible for a reasonable person to believe that it is not intended to murder people via radiation. Furthermore, in the context of today's world, you know that the most likely users of such a device would be terrorist organizations who will target innocent civilians.
An even greater percentage of technology is developed to support people doing evil acts. If you provide software or hardware to people doing evil acts (in this case, the Holocaust), you are giving them material aid. The software written to tabulate Jewish residents in Germany was developed for the Nazi party. Technical support and sales continued well after Nazi Germany had invaded Poland.
The fact that a man (or company) enriched himself by doing both bad and good things does not mean that his actions were morally neutral. Most people alive have done both bad and good things.
There are certain devices, like napalm bombs, that have a narrow and specific purpose of destruction. But the technologies used to make the bomb shells or the napalm are not specific, and have all kinds of peaceful and constructive uses.
Equally, there can be bad, evil-pursuing programs in a particular general purpose language, but this does not taint that language.
For example, if you have two people arguing without weapons, the likely outcomes of the situation aren't strongly weighted towards one or both of the participants being maimed or killed --- it's difficult and requires commitment to really cause horrific damage if you're just hitting each other.
If you introduce a (supposedly value-neutral) tool, like a gun, into the situation, the outcomes become much more strongly weighted towards someone being maimed or killed.
Even though it's always a human using the tool, the tool itself can be seen as having an ethical character.
Fortran has been extensively used for nuclear weapons development. Let's stay away from Fortran!
C was and is widely used in weapons control systems. Let's stop using C!
Computers themselves were initially designed for artillery fire control, with an explicit intention of killing people. Let's not touch the technology with such a foul pedigree.
This can be continued ad nauseam, until the whole of the civilization is marked as indecent. Nearly every scientific discovery and techology achievement has been used, or attempted to be used, for some purpose one might find objectionable.
Instead we could realize that tools are outside morals. A knife could be used to cut bread or to cut throats, and it's not the knife's decision, but that of its user. The very same thing applies to everything, from nuclear fission to functional programming.
If you know what's the right, virtuous thing to do in the world, do not hesitate, go and do it. Use the most fitting tool for that job. Do not mind if that tool is used for whatever other, less noble purpose, it's not the tool's fault.