Who can make LtU2?

If we had voting on things (a la reddit, slashdot, hacker news, etc.) I think we'd all be better off. There are technological things which won't outright fix everything, but should greatly help I should think.

But we'd need somebody who can actually set that stuff up.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Drupal Plugins.

https://www.drupal.org/project/vote_up_down

The software already exists,

The software already exists, you can create a LtU2 subreddit for instance. The issue with that is moving the community though.

voting shapes content to fit average wits

Population and content change with voting because voting induces conformism ... which is basically a lobotomy if you value contributions a couple standard deviations or more away from herd consensus (metaphor: think cows or sheep). You would get a forum easily managed by any cabal simulating grass-root feedback, and subject all to politics of dumb masses.

You can start new discussions if you don't like what appears in existing ones. Probably we can get folks to honor simple requests to avoid certain topics by request at the top.

yeah

yeah, makes sense.

So what would be a reasonable request to put on our topics? I mean, I can say I would like persons X, Y, and Z to refrain from posting, but that is sort of obnoxious and doesn't prevent others from being similarly trollish. Might anybody suggest some good word smithing? "Please refrain from posts attempting to connect this to Actors, Direct Logic, Inconsistency Robustness. Please post those thoughts elsewhere on a new top level post instead." ? oy veh.

might need some experimentation and conventions over time

Forbidding specific people from posting could not work because it's antagonistic and personal. A middle ground between conformism and chaos can work, between too many rules and too few rules. You can ask folks to honor specific requests, with an informal, individual, contractual quality. Ask nicely, be brief, and expect reasonable behavior. Appeal to a sense of honor. It's a very minimal code of conduct. Non-coercive civility all around isn't much to ask of people.

Old school journalism convention puts editorial remarks inside square brackets. You might make a first or last line of a new topic be one line inside square brackets to enumerate requests. If you can get words "please" and "honor" inside, that would likely help. Ideally, the community would already have notation conventions about what goes at the front, as a label explaining what appears in square brackets. [RULES: ] has an obnoxious and didactic look, while [NOTE: ] is neutral, while [N.B. ] and [nota bene ] appeal to polite scholarly tradition. You could reply to your own first post with a short expansion on your polite request to stay on topic in your discussion. While it would be funny, avoid vulgar language like "if I hear about xyz one more time I will blow my bleeping brains out", because it's disruptive. You might try "[NB please honor my request to omit side discussion about topics swamping the adjacent discussions in this form: logic, foundations, Actors, etc.]"

Why bother? We could just

Why bother? We could just open a subreddit with less overhead and more support. The real issue is community and Jules said.

I am nothing if not unclear and easily misleading/misunderstood

I had in mind either a refinement of this LtU site at this domain, or a new LtU2 site at a new domain that would be budded off by LtUers and thus be seeded with the same accounts, etc. moved over. (It has happened before, there's an old archived LtU somewhere?)

I really don't think an LTU2 is required.

There's a couple of major issues with the site as it stands, viz:

- squeezing of posts the more they reach the right hand side due to indentation
- having >200 posts per topic destroys functionality

One should be a relatively trivial CSS fix, and the other could be mitigated by a configuration level fix setting the default posts per page to, for example, 655360[1] rather than 200.

Upvoting, polls and all that jazz are "gamification" things that arguably increase interaction level, but at the cost of significantly trivialising that interaction. Not needed or desired here, IMO.

[1] Because 640K should be enough for anyone, right?

+1

+1

Incidentally, something else I've noticed is that it's easy for me (and seemingly for the people I'm talking to) to forget the earlier context of a long-running thread. Even if I try, it's especially difficult to find the parent of a comment if there's a massive sibling subthread in between. Maybe a little "Go to parent" link would help, at least a bit.

If we had more users,

If we had more users, upvoting would be a nice crowd sourcing tool. Right now, I can look at recent posts at a glance and see everything.

Put this way: is there a desire to grow LtU to a bigger active (non-lurking) community? If so, we might want to rethink the software, but only because we've outgrown what we have.

But that isn't a problem we have.

If there is anyone to make little fixes

Older posts have character set problems.

Better handling for long threads

I don't think a whole new site is needed, but a better user interface which could import the existing discussions would be great. I don't like voting for reasons already mentioned, but I think the following would be good:

- better conversation threading, so that sub-threads can be read more like a conversation, and sub-threads you are not interested in can be ignored.

- better handling of long threads so that search works properly

- better tracking of responses to you own posts, including optional email notification (and digest option).

I think the problem people have with the current threads is that the side-conversations effectively censor the conversation by making the original thread topic difficult to follow and cause the topic "signal" to get lost in the "noise".

I think it could all be fixed so that everyone is happy, and without discouraging conversation and exploration of controversial ideas, and without voting turning it into a popularity contest.

Discourse allows forking conversations

I'm *not* (yet) proposing Discourse —but its solution to the problem is really elegant, because it allows indeed to reply as a new thread, and/or encourages that when appropriate.

In fact, Discourse really looks like a cool forum, and I'll soon get experience running it. However, transitioning to Discourse would be a major change (as they document), also because their design incorporates some ideas on how to run a forum.

no no no please god no

The "Discourse Way" is gamification of everything, and telling people that the way they've been communicating hereforth has been totally wrong.

If you want an object lesson as to how the Discourse team fail to work with existing communities, you only need to look at how the rollout to the Daily WTF forums went - hint : it involved a significant proportion of the community leaving.

As a (somewhat biased) ex-member of TDWTF, my opinion of Discourse is that, if you'll forgive the turn of phrase, it's a shit sandwich, short on the bread. You really don't want to know my opinion of Mr Atwood.

Can you elaborate?

Would it be possible for you to explain what the problems are with Discourse? Or link to someone who has? You've conveyed your strong dislike for it, but other than that, I've learned nothing from this post.

Sure.

Obviously, this take is from someone who spends far more time lurking here than contributing anything worthwhile; weight that opinion as you wish.

The visual design ethic of Discourse is very much "modern web", acres of white space, great big honking targets for fat fingers and little "this just updated" badges flashing up all over the place. Ironically enough, given its "everything is a mobile" approach, last time I checked, the masses of client-side javascript it requires meant that it failed to actually render on any of the mobile devices I have available. That said, I'm not on the bleeding edge. Visually, I can appreciate that it's not the technicolor flashing vomit many forums degrade to, but thats hardly a problem here, and even without the animated gif signatures it still manages to be less information-dense than most forums.

During the rollout to TDWTF, the way the actual UI interactions happen were changing on a daily basis. That's probably calmed down now, but there was no apparent method to the madness beyond "that's what Jeff's decided he wants". Even without UI churn, there's a lot of popup panels and notifications and this and that and the other that *demand* to be clicked. You haven't read this, you're reading this, here's a badge you've been awarded for reading 3 posts, click this to make the annoying flashing thing go away, no, I was joking, click *this* instead…

It's horrible to use. A forum system designed by someone who doesn't use forum systems. "Civilised Discourse™" as imagined by someone whose idea of civilised discourse is to reply to criticism with "meme" gifs and tell people they are "doing it wrong".

The "infinite scrolling" conceit breaks normal web navigation; by necessity browser controls (for example, search in page) are overridden, but the implementation clashes with the underlying mechanism, and it all feels like a horrible hack. Plus, for searching, it usually fails to find what you're looking for.

And then there's the gamification. "like" this. "flag" that". "badge" the other. Not optional, but fundamentally ingrained into the design. In your face. All the time.

Discourse is trying to solve problems that Jeff Atwood perceives in existing software that he, by has own admission, doesn't use, and plainly fails to understand. IMO he fails to make any improvement to the majority of them, and adds new ones in the place of the things he does manage to improve, all the while maintaining that Discourse is "quite literally" the second coming, and that anyone who disagrees is obviously doing it wrong. That there are still posts like this on the TDWTF forums, months after the rollout to an audience who had previously been suffering probably the worst forum software ever written, who were into gamification, and who even took the effort to find, and notify to the Discourse team, literally hundreds of bugs in a matter of a few weeks, should start raising red flags.

But what makes it, at least for me, a really bad fit for this forum, is that it doesn't do any better at fixing the issues we have here than any other forum software would. Indeed, it would, IMO, make things significantly worse.

I'll reply to myself here

which is generally considered bad form, but...

I just realised that discourse not only breaks the browser's scrollbar (which represents only the portion of posts the browser has dynamically injected into the DOM, rather than the number of posts in a discussion), but also it breaks the behaviour of page up and down.

No, really.

Hitting the page down key pages down more than a page at a time.

Really. Go to (for example) https://what.thedailywtf.com/t/why-hasnt-this-abomination-died-yet/37145/126, scroll up or down using the arrow keys until a biggish post crosses the bottom or top of your browser window, then page up and down.

Thanks

Too much gamification does sound obnoxious and I thought everyone knows in 2015 that modal dialogs are terrible. Do others have this same experience with it?

Conversations

I think many of the problems people complain about would be solved by allowing conversational replies that are collapsed by default and only notify followers.

I'm not certain

I'm not certain that should be the default, LtU is generally low enough volume to be able to take in what's "new" at a glance via the "recent comments" (modulo the 200 comments/page issue), but it would certainly help to resolve the issue Keean points out above to be able to collapse subthreads.

I might have a look at making a userscript to do this if I have time at work today.

Markdown

If we do change platform, I'd like Markdown formatting rather than HTML. I suspect the current setup is fine only if you avoid formatting — but that decreases readability — or if you're fine with spending time with writing HTML by hand — and I was fine with that, but only until Markdown came along.

Community

I am taking a break from LtU because I am deeply unsatisfied with the (non-silent) community consensus in this thread.

What the community considers as appropriate discourse is my only major issue with LtU as it stands. In particular, I suspect most of the perceived technical defects are actually not very important (in particular I don't care whether extremely-long thread become hard to access, because they are quite often not worth reading outside the very small group that took the tangent resulting in this mass thread).

The only personal change I would personally be curious about is the availability of moderation tools (and I think subreddits would help in this regard), but that opens another can of worms: having the option to moderate can be nice, but having to decide when and how to moderate also has its costs.

(Also reddit does not support mathjax, and that would be a regression.)

(On the other hand, I think the perceived-as-dated webdesign may scare off new users, thinking that the site is somehow defunct -- I know I have a hard time giving credibility to the c2.com wiki just because of the dated design.)

That said, I think I would still support a subreddit experiment. Someone suggested that I could start one recently, and I decided not to because I was worried it could hurt LtU.

Which consensus?

I missed that discussion first time around so I've just sat and read through the two threads for a first time. My impression was that the general consensus was that Marco had been a bit rude, and that people in general should attempt to be more polite to each other when discussing papers on LtU. Certainly, my impression of the first thread was that Josh was quite rude to an author of the paper and could have taken the time to formulate his complaints in some kind of constructive way. There were many different posters who explained to Marco why his comments were generally perceived as rude, but I did not see anyone who agreed with his position. Would that not make the general consensus that people should take the time to be polite to one another?

Moderation is a double-edged sword. If you look at slashdot over the years then moderation has never really solved the problem of trolling or people generally laying into one another with a gusto that they would not in real life. There has been quite a lot written about the effects of reddit voting on group-think, it does seem to produce a related but distinct set of problems to those on slashdot. Personally I like technical solutions to play with, but as a user I remain unconvinced that it is a real solution.

(In)actions rather than consensus

The point is that nobody cared about the issue enough to ask marco to stop. I'm willing to believe that most people don't agree with the behaviour I found problematic, but it is also apparent that there was no effective effort to change things -- the insulting behavior continued long after and there was further provocation in other (unrelated) threads.

Thinking of the formulation again, "consensus" is probably not the right word. I was (and still am) asking for something stronger than opinions/agreement: guarantees that there will be no insulting behaviour on the threads discussing the references I contribute to the website. I doesn't matter much if a majority of people individually believe that such behaviour should be avoided, if they are unable or unwilling to discourage it when it actually happens.

If I was moderator of a LtU-like subreddit, I would just remove posts that do not meet (subjective) reasonable standards of civil discourse -- I have been moderator of internet communities before. This works very well for some subreddits, for example [r/AskHistorians](https://www.reddit.com/r/AskHistorians/) that is content-rich, fascinating, and [actively moderated](https://www.reddit.com/r/AskHistorians/wiki/rules) (any long thread in this subreddit has a couple removed comments).

There has been quite a lot written about the effects of reddit voting on group-think

In my experience with technical subreddits, this kind of effects is hardly perceivable as long as the subreddit is small enough. I'm not sure LtU would reach the threshold for such mass effect to be perceivable. r/haskell is on the edge (they have to put occasional reminder to downvote only when the form is incorrect or the content irrelevant, not when one disagree with what is written), but has been kept on the "small" side by an excellent discussion culture.

Do it

Start a subreddit. I don't think it will have much of an effect on LtU. If it's successful it could even have a positive influence.

The point is that nobody cared about the issue enough to ask marco to stop.

I don't think it's a case of not caring, so much as you wanting a change in roles among LtU readers since the old moderators aren't around.

Discourse

I'm wary of quick technological "fixes", but Discourse does look like it would address a lot of desired features:

- modern design that adapts to mobile devices
- focus on facilitating civilized discourse from the very beginnings of the project (e.g., flagging trolling and badges for positive behaviour)
- ability to split off a reply into a separate but related topic
- Markdown editing (with Mathjax support via a plugin)

My dup

I hadn't seen your post when I wrote mine elsewhere — sorry. As I said, I agree, but it bakes in a different take on how to run a community, so (as documented) it would take time to find consensus.

Hosting?

I agree Discourse seems pretty nice, but where would a Discourse instance be hosted? I wouldn't mind helping to pay the $99 bill for a one-time install in the cloud (which supposedly lessens the maintenance burden), but it looks like official hosted instances do not support plugin installation, and I think LtU would need a MathJax plugin. Would people agree to host and maintain a Discourse instance for LtU on their personal servers instead?

Will this improve things?

I'd chip in, too, but is this really going to make things better? It seems like a waste of time and money to upgrade to Discourse if we're just going to get more of what we've been having lately. Your posts were great, but I don't know if you can carry the site by yourself. Have you privately spoken with anyone who thinks they would join / return with a better moderation system? (Or does anyone want to delurk and confirm that they're in this camp?)

New is better

I think revamping the technology in a user-visible way could help attract newcomers (that might be turned away by the old look). If there is enough momentum to do it, I would support a migration for this reason only -- but doing a proper migration, which is necessary given the trove that the existing content is, would require some work.

Looking into it

I'm sysadmin on some machines, and I might be able to offer hosting there. Can't make promises though.

But IIUC, with their Digital Ocean cloud install you have complete freedom (that's different from their hosted plans). The one-time 99$ fee (https://payments.discourse.org/buy/) save you 30min/one hour of simple sysadmin work — I volunteer for it, if needed (https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md). I've followed the guide yesterday, and installing on Digital Ocean or on your server follows the same steps. I've just added MathJax support *right now*.

The remaining cost is the 10€/month for Digital Ocean, which shouldn't be a problem (I'd be happy to chip in for that, too). They might make the hosting more robust.

:/ maybe just make

a site for discussing Gödel and another for discussing type theory and you can scrap LTU because no one here seems to care about programming languages.

[Edit] make a site for discussing Hewitt and another for type theory...

Gah!

...

... says the person that basically stalled a discussion of JIT techniques for Scheme by uninformed bullying on the GC implementation.

Yah it's true

I'd prefer that programming languages be useful than be mere tech demos and student projects. Because making them useful isn't that hard. So sue me.

Production-quality GC is a matter of hundred of man years

"For Java, hundreds of man years were invested into the various collectors that are part of the Hotspot virtual machine." — https://janvitek.github.io/pubs/ismm14.pdf

I believe it

though it should take a lot less time to recreate a set of capabilities the nth time than it took to forge a new solution the first time. Or maybe existing systems could be adapted.

I actually tried to create a gc with an unusual and expansive set of requirements and ... oh my God the design was hard, and a lot less than I wished was actually possible on my target.

Some of us dilettantes enjoy this site

I have a "student" project called dcc in reference to the number 700 in the titles of papers by Landin, Douence, and apparently others. This is one of the many sites I have enjoyed obtaining reference information from.

I have observed that any discussion site can descend to the level of its most obnoxious posts without diligent correction. This site seems better than many, in that people repent and reform themselves.

I do hope that the next generation of technical platform for this site stays friendly to low-tech visitors and does not put mobile users in an m.LtU jail.

Although I haven't posted anything with interesting math notation, it's obvious that accomodating such is a minimum requirement for this site.

Thinking again I do owe you an apology

It was a thread about your paper where I was talking about Racket instead.

It hadn't really sunk in with me that this is just an academic site and a low traffic one at that.

So the only real work here is papers. The only purpose is discussing papers.

It may be frustrating for the public that software written in academia is not meant to be useful, but the fact is that your work is writing papers, getting degrees or teaching classes.

It's a waste of time to you to make any software that is usable outside your classrooms or does more than demonstrate for a paper.

If I talk to you as if you're engineers, I miss the point. For working engineers or hobby engineers writing useful software is the only point.

It offends me, when people who write software that can't be used and documentation that's useless primp and pose as superior and don't deen to help (or fix problems for) lowly users who thought they could use software. And I do keep running into that attitude on the Racket project, but that's what the incentives of your work creates. From their point of view they're doing their jobs. From the point of view of people used to non-academic engineers, they may be doing a really bad job. But the academics treat the public as if they were bothersome, ignorant students - or perhaps mere pests and inferior to the most ignorant students. That creates an odd, hostile dynamic of attitudes.

So you come here to discuss your papers and you should be allowed to do that.

My interest is in trying out and creating usable programming languages. That's not the purpose of this site.

Purpose

From the very first section, "Purpose", of the LtU policies page (emph. mine):

Lambda the Ultimate (LtU) is a weblog dedicated to the study of general properties of programming languages, with an emphasis on programming language research and theory. The central focus of the site are the links to programming language related papers, articles, projects, and related news, which are posted to the home page by contributing editors. These items are intended to be discussed in the comments section associated with each item.

Drama research and theory.

My father is a professor of drama. He would have preferred to spend his time outside the classroom putting on productions and teaching students that way. But after a change of department heads, he was required instead to publish papers of "research".

He was aware that there is no such thing as useful research in drama, but he wrote a few papers anyway that of course were published in journals that no one reads.

Perhaps what's vital to programming languages can't be captured in research and even less so in theory.

I'm also reminded of linguistics departments becoming enamored of Chomsky. Maybe what would have been useful for students would be to treat language as a humanity, a human thing, meaning as art. But schools tried to force language into a theory of mathematics.

One could say that computer translation was an application of chomsky, but that's probably not true. In reality programmers probably just throw every possible random tool at the problem, and eventually come up with something useful. Theory didn't drive it, theory was rationalization that gave a gloss to random attempts.

[Edit] if "theory" means creating new programming paradigms, creating languages like Curry or any other new thing, then it seems useful and interesting. If "theory" means proofs about type systems then it seems useless. If you can point to hardware or software that has advanced or even is being tested to see if it will be better one day then I'm interested. Otherwise no.

Free software

Without getting into the specifics of the garbage collection issues you've been having with Racket (which I haven't experienced working very small projects), I think the general situation of devs not having time to resolve issues that don't affect them personally is a common theme with free software. I think that's probably a better explanation of the situation than "too much theory."

Also, I wonder if it's occurred to you that the subset of theoreticians who you acknowledge are doing practical work are themselves looking to the work of even more abstract theoreticians whose work you would dismiss as not useful?

From academia to industry

Here's an interesting interview with Martin Odersky about the origins of Scala. It has a nice discussion of the academic origins of Scala, as well as of Java Generics, and a brief mention of how a little understanding of type theory might have prevented the Java array implementation from being broken. All of which essentially serves as an example of exactly what Matt mentioned.

I don't understand

is he saying that casting array-of-string to array-of-object is unsound when array is actually array of pointers to objects anyway? I don't see why that can't work.

It can work, but...

It can work. But it means that you can't catch certain classes of errors at compile-time, only at run-time (and, consequently, that you need to add a bunch of run-time checks). You can find a succinct explanation of the problem here.

Oh I get it, assignment and sharing

Equivalent to this (which won't compile in C++)

// Example program
#include <stdio.h >

class A {
    public:
    virtual void print() { printf("Oh no, I'm an A"); }
};

class B : public A
{
    public:
    virtual void print() { printf("I'm an B"); }
};
//C++ is smart enough to not allow the automatic cast unless
//the pointer is a const
void problem(A * &a)
{
    a= new A();
}

int main(void)
{
    B *b = new B();
    problem(b);
    b->print();

    return 0;
}

Make up your mind

It's fine if you're interested in usable languages now instead of research — those are two different things, as you said two posts ago in this thread. Now you're saying that research is pointless. Some time ago, you said that Racket is cool. Please, try to make up your mind. If current Racket developers would work on GC, they couldn't work on those parts you find cool, or on new ones. If they'd done that earlier, they wouldn't have made Racket, just a more practical Scheme. Where should they set the bar?

As usual with free software, if it becomes worthwhile other people can add the missing pieces, though that's not always easy. But that's not research anymore — you just want the software, and nobody wants to read a paper about this extra work.

People are conflicted in

People are conflicted in real life, it is not always easy to be straight positive or negative about something. I really don't see why so many people have problems with that.

The narrow research focus of the PL community doesn't suit everyone, there is plenty of research on PL to do that the community isn't very interested in, but happens anyways.

Conflicted is normal

You're right, I also liked to remind some friends that being conflicted is normal. Being conflicted in a public debate does make it harder to reply, but I shouldn't take this as a debate.

The narrow research focus of the PL community doesn't suit everyone, there is plenty of research on PL to do that the community isn't very interested in, but happens anyways.

I'm happy with more research being there, I just defend theoretical research being also there — though I know there's some unbalance in general and on LtU.

This is about form, not content

I owe you a clarification. You seem to believe that my criticism comes from a disagreement on which kind of content LtU should focus on, or on the importance of academia for programming language development. It does not. My point is that you were extremely rude in this thread. And that such behaviour reduces the motivation to post more of the content you say you would like to see.

I believe you were rude *and* wrong (at least the few facts that you gave to support your peremptory, obnoxious statements seemed less than convincing; there are zillions reasons why an UI thread could freeze, and you seem deeply uninformed about the state of Racket's runtime system), but the one problem I pointed out that I think is the most important is that you were very rude -- to one of the authors of the programming system being discussed, as an aggravating factor.

I am not trying to negate your perception of programming language research or the Racket community -- I even sometimes recognize tidbits that I find convincing/interesting in the pool of your rambling comments. The point is that the way you express it is aggressive, irritating, and discourages people from engaging in potentially interesting discussions.

To be fair, it was a bit of a rhetoric effect for me to claim that you "stalled" the whole thread; it seems that people were not terribly interested in having discussions about it in the first place (but people may have been interested in the reference none the less). Your obnoxious behaviour did not, in principle, prevent other people from starting other threads of discussions that could have turned out to be more informative. That said, one should not neglect the chilling effect that one lousy sub-discussion can have on people thinking of engaging in a thread -- I at least tend to avoid those.

Hence my dry remark. You complain that there is not enough discussion about programming languages. But on this time I tried, based on feedback from people discussing here on LtU, to post a reference that is more about implementation than theory, the discussion went downhill because of you.

Maybe you should instead try to post references to work on programming languages that you think are useful and relevant -- demonstrate what you mean by positive examples.