Vous êtes sur la page 1sur 5

Jabari Zakiya

Jul 16 · 8 min read

Banned in the Nim Forum on the 4th


of July
As a longtime Ruby user I’ve become accustomed to how nice and friendly the
Ruby community is. There’s a saying among Rubyist — MINSWAN — Matz is
nice so we are nice. This is not just a reference to Ruby’s creator Yukihiro
Matsumoto, but also to what Rubyist feel they should be because of Matz. And
through the years I’ve been able to submit a few ideas for improving Ruby
that he’s accepted, a recent example here, Using Ruby 2.5’s new Integer#sqrt
method.

Looking to keep my programming skills current, I keep an eye out for other
languages to learn that I may nd interesting, useful, or just fun. With that in
mind, around 2015/6 I heard about Nim, then I saw this video, and after
reading this article I started trying to learn it to do some really serious stu . It
looked like it could be a nicer alternative to C/C++ to write machine level
code in.

So I join Nim’s forum, reading the threads and posts, looking at its docs, and
trying to get a feel of its community and the direction of the project. One
thing that became an immediate frustration was a lack of good (or any)
documentation, so many of my initial posts (as other newbies) were questions
about how to do basic things. Also, coming from a dynamic language like
Ruby to a compiler based language required a shift in thinking.

According to its wikipedia page, Nim was created by Andreas Rumpf (whose
forum handle is araq ) and rst appeared in the public in 2008. Here's a
video presentation he gave in 2015. As I write this, it's at version 0.18.0 (for
my Linux OS) pushing to get to 1.0.

Let me say now, Nim has some great technical potential. I can now write Nim
coded applications that are much faster than some C++ versions. But it has
remained a small niche language, not well known to the broad programmer
public, not because of a lack of technical merit, but more so because of the
attitude of its developers. They need to understand and appreciate, if you
aren’t nice to users, and respect them, and try to make them happy , your
project won’t grow.

Just as Ruby has a nice community because of Matz, Nim has nowhere near
the friendly community that creates user loyalty and love, because Nim’s devs,
led by araq , seem to (so unnecessarily) go out of their way to be
condescending, rude, and in my case, petty and vindictive. Why? Read on.

Here’s the story


On July 4th, 2018 (Independence Day in the USA) I woke up and checked the
Nim forum to nd that I had been banned from it by araq for the “o ense”
of being impertinent to him.
Because of this, it seems every post I have made, in any forum thread, has
been made invisible (at least to people who don’t login to the forum. I can log
in and see my posts, but don’t know if others who login can see them too. It
would be nice if someone would verify this).

As it happened, at the end of June I asked how to do something in Nim I


could do in Ruby|Crystal. It was as really simple question, I thought. Here’s
the Nim forum link to the thread explain this behavior to me and to the pdf of
link that contains its full content.

There’s really two parts to it. The rst part deals with the discussion around
how to get the phrase to compile (ultimately by me guring out how to
rewrite it so it would compile). Then I came back to the thread a week later
trying to convince the devs to add some syntactic sugar to the
parser|compiler so it could do this automatically, to make programmers' lives
easier.

You can see from the full thread, though I couldn’t convince most responders
to see it my way, they didn’t get personal, except for araq . For whatever
reasons, he's had a history of trolling my posts, and he starts out here being
antagonistic, and also mischaracterizes what I say, shown below.

That's just your opinion... and Yes, let's document the features that

Nim does not have. Brilliant idea. and And Swift deprecated ++

because it's bad. ;-) .

After trying to ignore these comments, I nally felt I had to respond to him
and correct his mischaracterizations of my posts. Here’s the full response of
my last post.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Well you said it yourself, there is no unambiguous intent here, at least 2


di erent interpretations are possible.

No. the two English translations of if num.inc == 10 are equivalent


phrasings and unambiguous to an English speaker. And you didn't present
your English translations of any of the examples. So if you think they are
ambiguous I am interested in seeing what you (anyone) thinks those
programming snippets are saying.

So, the examples in 1) are clear and unambiguous as to programmatic intent.

Also Ruby, Crystal (with Nim) allow this programming style, but make it easy
for programmers to do it.

Ruby: if (r += 1) == rescnt; .... end also (.....) if (r += 1) ==

rescnt

Crystal: if (r += 1) == rescnt; .... end also (.....) if (r += 1) ==


rescnt

Nim: if (r.inc; r) == rescnt: (....) also if (r += 1; r) == rescnt:

(....)

So, in all three of these languages (as a non exhaustive sample) this
programming paradigm is allowed and possible. However, while Nim could
also provide the syntactic sugar that Ruby, Crystal, et al provides, you
insist to force the programmer to become a manual parser to conform to your
whims, than to provide the simple means to deal with these cases, and make
programmers lives easier.

Well, if you’re going to force programmers to be compilers you can at least


clearly document this for their bene t.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

After making this post I was nished with the thread. Five other responses
followed, with araq posting twice, with his last post in the thread being this.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

you insist to force the programmer to become a manual parser to conform to


your whims, than to provide the simple means to deal with these cases, and
make programmers lives easier.

I checked your previous posts a bit. This was your last impertinence.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

And with this response by araq , I was arbitrarily and unceremoniously


banned on the 4th of July from the Nim forum.

What I think this was all about


Let’s breakdown that last sentence by araq . He starts with I checked your

previous posts a bit.

Here was a person who obviously had a long simmering antagonism toward
me, seething with invective, searching to justify punishing me. Of course, he
only needs a bit of a reason to do so (as Nim's creator, and a forum admin)
so no due process is necessary. But then he states The real reason for the
action, my impertinence. Here's its de nition that most likely captures what
he meant.

...a presumptuous rudeness toward persons entitled to respect.

So in his mind, he sees himself entitled to respect , and I, of all people,


did not have the status (and permission) to address him in such a manner.
And I say of all people because araq has a history of showing belligerence
and antagonism toward me, as demonstrated in these forum threads.

• How do you get thread count in Nim (2017/10) | pdf1 link

• compiler won’t scale (still) (2018/3/16) | pdf2 link

• how to add unique terms to array (2018/4/17) | pdf3 link


But as a Black person being addressed by a white male in this manner, I know
what he was really saying and doing in taking this absurdly vindictive and
extreme action. You see, by calling me impertinent he was really saying I
was being uppity, and acting outside of (in his mind) my social status. Why
else would my noncontentious statements provoke such a response? No one
else in the thread showed any hint of animosity or taking personal o ense.

Araq’s Antagonistic History


Unfortunately, araq has demonstrated bad behavior toward a lot of people in
the forum, and has mostly been allowed to get away with it without being put
in check by others. In fact, he has created permission for others to follow his
example in how to respond to, and treat, forum members.

Here’s just one example, in a thread started a month before I was banned
(June 1, 2018), where two other people spoke out about how they felt badly
treated, and unwelcomed, by araq speci cally, and other devs. Note how
others in the thread make excuses for araq's behavior.

• Do the core Nim devs want Nim to proliferate and grow?

So araq likes to respond with micro aggressive comments and statements


to others but apparently can't take the blowback from his provocations. This
obviously doesn't create an atmosphere and environment where people feel
safe to come to, and thus is detrimental to the growth of Nim as a project, and
the use of Nim by programmers as a language.

Going Forward
Nim recently issued a notice for its 2018 survey. But from the 2017 survey
results, under What improvements are needed before v1.0 can be

released? , the top item was Documentation. Creating more, better, and
useful documentation (of all forms) would absolutely attract more users and
PRs (pull requests). I think a bulk of araq 's attitude toward me has come in
my criticism of, and suggestions to improve, documentation.

Nim would also attract more none programming help and bene ts (doc
producers, translators, videos, tutorials, testimonials, user groups, nancial
support, etc), if the devs realized these non-programming elements are
essential for growing it. Just because you build it doesn’t mean people will
come, or stay, especially if not treated right and made to feel unwelcome.

It should be without saying that the Nim admins need to unban me, and then
institute (and enforce) a clear Code of Conduct for the forum, which applies
to themselves as well.

The future will show whether Nim devs learn how to create a friendly and
welcoming community, else Nim will litter the oor of programming
language history as just another unful lled promising idea which never
achieved critical mass and use.

Nim Racism Ruby Programming Code Of Conduct

Like what you read? Give Jabari Zakiya a round of applause.


From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.
Jabari Zakiya

Also tagged Racism Also tagged Programming Also tagged Racism


Be Who You Are. But Don’t You Lessons learned from my journey Of Welfare Queens and
Dare Make Them Uncomfortable. as a self-taught developer Conservative Lies

Jon Westenberg 5.9K Victor Cassone 6.8K Tim Wise 3K


11 min read 12 min read

Responses

Be the rst to write a response…

Next story
How to think like a programm…

Vous aimerez peut-être aussi