I have been officially proclaimed to be the biggest threat to the Common Lisp community right now.

Well, I guess it's sort of an

Bonus content!

As of now, it is impossible to directly or indirectly fund me in an ethical manner, and in addition, I require immediate psychiatric assistance

Anyone available for this last job? Might be a particularly hard task.

@phoe I will buy your book on the strength of this condemnation.

@phoe Oh man, that reminds me the worst contest I’ve ever seen: Lisp in Summer Projects. If memory serves, it was organised in 2013 by Heow G. of LispNYC, who didn’t like critique either!

First, they published a bunch of unspecific rules, like

will judge each Entry according to the following factors: (1) creativity, (2) thoroughness, and (3) quality of work.

and not much more. There was a timeline at least…

So I’ve written a small Lisp utility, had fun with it and submitted on time. Then, at the very end of the contest, some more specific judging criteria were published. Of course my project that I didn’t treat very seriously turned out to be a piece of shit because I never imagined they’d add more rules when I had finished (or maybe it was after I had submitted my entry? can’t recall exactly).

After entry submission deadline, there was a period of total silence. I’ve sent an email to Heow asking for some updates. I’ve got some reply and they published an announcement, and then went silent for another few months. When I sent another email, he never replied. Apparently he didn’t like being criticised either, even though everyone saw it was not going well.

My friends laugh to this day when I mention the contest. All participants were told they’d get T-shirts. I’ve got mine more than a year after the contest had started! That was hilarious…

@pfm I was not aware of this piece of history! Are there any other resources detailing this?

@phoe Here's a list of completed projects:

Other than the project of the contest, I can't think of any other record. What would you like to know about it?

@pfm Just more details in general, perhaps even I could coerce you into writing an article about it; it does sound like a funny piece of Lisp history that happened too early for me to know about. :D

@phoe It was quite cool, several awesome projects have been developed for that contest. Have a look at the website yourself.

@phoe You can see the story on Google Groups too

  • 2013-10-02 — “project submission begins”
  • 2014-05-20 — “Is there anyone still working on the judgment?”

So yeah… as Heow put it:

This year’s Lisp in Summer Projects Programming Competition was a huge success.

But that was two years: develop in 2013, be judged in 2014. ;)

@phoe WHAT?! This sort of hostility is insane! Where did this all take place?

@ioa @phoe I read through most of the recent discussion on the Github issue. It starts civil enough, and then it just starts going downhill.

@loke @ioa Yes. And then it hits the bottom of the hill, and bursts right through it to keep going downwards.

@phoe @ioa OK, this one is worse. He sure have a high opinion of himself.

@phoe @loke
😳​ Oh wow.
I haven't seen this much hostility and aggression online in a long time.

@ioa @loke Well. I'm sorry that you have gone through it. But I guess that this is life.

I will publish a blogpost regarding this encounter in a few hours.

@loke @phoe @ioa This is hilarious! How can anybody believe they are the number one and still have to tell people about that?...

@phoe WTF?! Why does he claim that you are a threat (!!) to the CL community? It's senseless... 🤔

@phoe @mdallastella I took a look at some of his projects, which wasn't very hard, given that they all seem to be single-file utility libraries.

I know I'm not a highly regarded expert with decades of Common Lisp experience, which is probably why I have absolutely no idea what this library actually does, even though I'm reading the documentation:

@phoe Yeah, I'm reading it right now... the complains against thread arrows are quite stupid, the main point of Lisp is to be a meta-programming language, allowing to create your own syntax for the problems you're trying to solve.

That guy has been using CL for 14 years, but he has not grasp its core yet.

@mdallastella @phoe Personally, I don't like the threading macros either. I could make a better argument for that if I wanted, but it would boil down to personal preference in the end.

Which ironically is precisely what his argument is. The difference is that he doesn't admit it and instead asserts that his opinion is the only valid one. Which makes sense, given that he even admits that he never reads other people's code.

@loke @mdallastella ...which in turn makes him quite a poor expert since he doesn't, and can't, read other people's code. At least in the way I understand it.

@phoe @loke I didn't know this guy (probably because I'm not into CL too much). Anyway he's fascinating, I spent about an hour reading his rants all over the internet... 😆

I just feel sorry for the Lisp/CL community.

@mdallastella @phoe I read this comment from him:

"If arrows only provide some small value some of the time (and even this I doubt), then I don't think they justify all the overhead (especially cognitive overhead) associated with their use (such as learning to use them and importing them) and especially deciding when to use them or not and how and why."

Now, take that sentence, and apply it to his own micro libraries, which is essentially his entire output.

The irony 🙂

@mdallastella @phoe Typically it's just better not to invent your own syntax unless you really get some benefit from it. Some CL guys also hate format or loop exactly for these reasons.

As an CL oldtimer, I was initially also quite sceptical of the threading macros in Clojure, but in practice I find them often more clear than n-level deep nesting. Of course, you can use let to achieve similar visual clarity but to me this feels sometimes now like an imperative way of programming. I.e., sometimes this looks like "assign value to this var, use it later randomly whenever you need it" instead of clear composition.

So, to me it's all about preferences and options. Would I introduce the arrow macros into an existing CL codebase? Probably not. Would I consider using them in a new project? Sure, why not.

@schaueho @mdallastella This issue is not really about arrow macros.

If you have about twenty minutes to wasteWspend, feel free to take a deeper dive into the comments section.

@schaueho @mdallastella @phoe To join you off on this tangent :-)

Like most abstractions, they can be used to aid or harm readability. In ML, I moved from using |> to increasingly giving names to intermediate values. And made the same procession in Lisp, where I made a threading macro in like 2001 or so, but then increasingly used let* instead. Giving names to things is generally good.

@phoe @mdallastella

(loop for years from 1 below 15
collecting 'arrogance)

@phoe This is a rather interesting character to say the least, your patience is amazing

@jkb Thank you. I have actually run out of patience at some point in this discussion; the rest is the skill of discussing civilly even in face of absolute lack of patience and a non-trivial level of frustration.

I have been practicing it and I'm glad to say that the training's paying off.

@phoe Ignore him, he's obviously got issues...
The whole performance would be funny if it wasn't so sad... Your patience and behaviour even after running out of the former is something admirable.

But now I feel compelled to give you money. Perhaps by getting the book (with my cl skills will very likely understand nothing in it, but to support). Just need to wait until ~December to meet the ultimatum 100%.

@juristi Thank you. Please take your time and don't exert your finances; hopefully the book starts from the very basics of Common Lisp, so you should be able to understand it if you have ever done some programming in your life in whatever language. And then, if you have any question, and on Freenode IRC should be able to help you with understanding the Lisp basics.

(Alsoooo, my tip jar is this way, too. Just so you know.)

I'll gladly support civil and friendly developers, no problem there or with the finances. :) The ~December schedule was just taken from the "unfundable" tweet you included.

I have actually worked a couple of years with a proprietary Common Lisp asset, but that was a while ago and I cannot claim to know much. Having a working software on top of which to improve and develop is much easier than getting something done on tabula rasa. But when I have got some free time and energy, building a project with cl is definitely on the todo list. Among the millions of other ideas...
Sign in to participate in the conversation
Functional Café

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!