Live data from Hacker News

But no, 80-column terminals in 2020 isn't “reasonable” any more

lkml.org

301–310 of 330 posts

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#301
post #297

Earlier quoted context omitted.

The single conclusive answer to your questions is "everything", absolutely every single component in that process is obsolete, cumbersome, finicky and convoluted. What's confusing about that description?

> that process is obsolete, cumbersome, finicky and convoluted. It just sounds like you don't like the process since you apparently aren't able to express a specific issue with it. Here's what I don't like about Github 1. You need to set up an account on there (I already have an email account) 2. You need to fork a repo rather than just simply cloning it. This means you have to go through a rather convoluted process…

> It just sounds like you don't like the process since you apparently aren't able to express a specific issue with it.

I don't like the process because it has so many issues. It's just hostile in so many ways if you aren't using a VT-100, it's fundamentally flawed because of the assumptions it makes.

> I would certainly be interested to read your specific complaints about the email based process instead of just a dismissive reply.

I'm no longer interested in being specific because it's an evangelical issue, where the other side is just not interested in improving the process no matter how detailed you are, in the end the reply will just be "it's all so perfect, look how easy and nice it is". I also know that being specific with an evangelist will just get me a reply "oh just rent a VPS if your ISP blocks SMTP", I've played this game before.

Just like you just did. If you really can't admit to see a single fault with the system, you are evangelical. That's not necessarily a bad thing, but it doesn't really allow any discussion on the topic.

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#302
post #209

Earlier quoted context omitted.

Annotate the long line to ignore that particular linter rule. This makes it clear that it's not because the coder was lazy, ignorant, etc.

Wouldn’t that make the code less readable? I think the point is that if 98% of your code fit under 110 chars when you weren’t using a linter, then maybe you don’t need a linter checking line length.

You can disable the max line length rule too.

I find linters helpful. Just yesterday it helped me catch a serious bug in Python. After fixing all linter warnings. The last one was a unused variable. Turns out it should have been used.

Sure, the line length is not as severe as a unused var, but that's why the important thing is to have a systematic approach to thinking about maybe-problems that the "compiler" doesn't care about.

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#303
post #297

Earlier quoted context omitted.

The single conclusive answer to your questions is "everything", absolutely every single component in that process is obsolete, cumbersome, finicky and convoluted. What's confusing about that description?

> that process is obsolete, cumbersome, finicky and convoluted. It just sounds like you don't like the process since you apparently aren't able to express a specific issue with it. Here's what I don't like about Github 1. You need to set up an account on there (I already have an email account) 2. You need to fork a repo rather than just simply cloning it. This means you have to go through a rather convoluted process…

Not answering your points against GitHub, they're valid and I mostly agree on them.

About your "for email all I need to do is": this looks simple and neat (and even then, does it really?) when you already know how it works. But it took me several hours of googling around to understand what I was supposed to do (I need to configure git to send emails?), how to do it (get the right sendEmail config is non-trivial), learn about multiple git commands I never heard about and never used outside of this process (format-patch, am, send-email) and their various flags, iterate to get the correct flags while quadruple-checking everything to make sure I don't send garbage on the mailing list and bother everybody, get told I didn't respect a half-dozen conventions (no HTML in emails, 80-char lines, format of the commits, the email subject and the cover letter, people CC'd...), iterate several times to finally have a patch that respects enough conventions that people are OK looking at it. I had to change my email client because it's basically impossible to respect these conventions or follow discussions without a specialised client à la Mutt, which meant more hours downloading, configuring and learning a new tool. And then I get feedback fragmented over several emails instead of a single interface, spend a ridiculous amount of time answering to make sure you respect conventions, never have a clear resolution of a feedback.

I submitted a copy change patch about a year after my first patch, and it still took me hours to get it right.

The process you're explaining makes sense and seems simple when you are already familiar with it. When you're not, it's just hours of head scratching and trying to make sense of it. Which would be fine if that was a process everybody used, we'd just learn it and practice, but nowaday very very few projects use it: I've never had to go through all these hoops ever again. Which makes it a crazy high barrier to entry and feel old and obsolete. And maybe the high barrier to entry is considered a good thing by git/linux people, it's their right, but let's not pretend it doesn't exist

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#304
post #279

Earlier quoted context omitted.

Yep. I have yet to hear a coherent argument against tabs. It’s such a tiresome squabble.

Vertical alignment of related lines.

That’s the whole point of tabs. How is this an argument against them?

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#305

Optimal reading width is like 40-90 characters, and if I end up with an excessively long line, often times, I’ll try to rewrite a bit, not just line-break my first thought, but use it as a creative spur to write better. Personally, I like 80 character lines. If I need more than 80 characters in a line, I treat it as a code smell.

40 chars is unreadable. I have a buddy who writes all his mails wrapped at 60 chars and it's already a pain to read.

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#306

Earlier quoted context omitted.

No? That just merges continuation lines. So if your original file is foo(1, \ bar, \ false) print("Hello, world") flag = \ true Then the postprocessed output is: foo(1, bar, false) print("Hello, world") flag = true And your grep output is just foo(1, bar, false)

Sorry, what language are we talking about that has escaped line continuations for expressions like that?

C

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#307
post #297

Earlier quoted context omitted.

> that process is obsolete, cumbersome, finicky and convoluted. It just sounds like you don't like the process since you apparently aren't able to express a specific issue with it. Here's what I don't like about Github 1. You need to set up an account on there (I already have an email account) 2. You need to fork a repo rather than just simply cloning it. This means you have to go through a rather convoluted process…

Not answering your points against GitHub, they're valid and I mostly agree on them. About your "for email all I need to do is": this looks simple and neat (and even then, does it really?) when you already know how it works. But it took me several hours of googling around to understand what I was supposed to do (I need to configure git to send emails ?), how to do it (get the right sendEmail config is non-trivial), le…

> About your "for email all I need to do is": this looks simple and neat (and even then, does it really?) when you already know how it works

At one time, I didn't know how it worked, but I read through the documentation (man pages for git, git format-patch, git send-email, and git am).

To be fair, when you create a new repo or fork a repo, Github will display the commands necessary to set your repository's origin or cloning the repository. It probably also tells you the commands necessary to push commits to the remote or pull from it.

There is documentation out there that gives you a general idea about how to submit patches, coding conventions, etc in [1]. It certainly would be nice if they added a short tl; dr section on how to configure git for using the format-patch and send-email commands (similar to what I did in my previous post).

> get told I didn't respect a half-dozen conventions (no HTML in emails, 80-char lines, format of the commits, the email subject and the cover letter, people CC'd...),

This is all documented in the SubmittingPatches file in the git repo itself in the Documentation directory. The maintainer and major contributors have to go through a lot of submitted patches and they, for better or worse, will apply a filter on what they accept. But reading through a text file to learn the conventions and requirements shouldn't be considered a barrier to entry.

> while quadruple-checking everything to make sure I don't send garbage on the mailing list and bother everybody,

The best way to do that is to test it against your own email account.

> I had to change my email client because it's basically impossible to respect these conventions or follow discussions without a specialised client à la Mutt,

A GUI client like Thunderbird would have worked for viewing threaded conversations and participating in them. In fact, there are a number of GUI email clients that support threaded view [2] (but would need to be configured to only send plaintext email). Submitting patches, on the other hand is best accomplished by using the format-patch and send-email commands since they ensure correct formatting. But the project could certainly do a better job documenting the actual set of commands and flags used for generating the patches and then submitting them (along with re-rolls). But the lack of concise documentation for the settings and workflow isn't something that makes the email workflow inferior or obsolete.

> then I get feedback fragmented over several emails instead of a single interface

The feedback is on a per commit basis. A patchset consisting of multiple commits can make for a large diff and make it more difficult to review (and require far more scrolling to view the diff and the comments in the Github conversation view). An email client with an index view of the commits along with their associated comment threads makes it easy to see which comments have been read or not, what you've replied to, etc.

> Which makes it a crazy high barrier to entry and feel old and obsolete. And maybe the high barrier to entry is considered a good thing by git/linux people, it's their right, but let's not pretend it doesn't exist

I guess the real argument comes down to whether reading documentation and reading through the mailing list before submitting a patch should be considered a high barrier for entry. Regardless of whether a project is managed via email, Github/Gitlab, or some other tool like Gerrit or Phabricator, there are always some conventions to follow in terms of code organization, style, commit message conventions, etc. At some point, one will have to learn by observing how things work from previous submissions and/or read through the documentation. There may be people who are willing to lead others through the process and show them what to do, but, that's not always the case.

I guess you could think of it as joining in a game that people are playing (soccer, basketball, poker, etc), but not knowing the rules. You could either read up on the rules beforehand and watch how they play before joining in or just start participating and learn as you play. But if you keep making mistakes and not respond to feedback, then others will be less inclined to work with you.

[1] https://github.com/git/git/tree/master/Documentation

[2] https://en.wikipedia.org/wiki/Comparison_of_email_clients#Ge...

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#308
post #297

Earlier quoted context omitted.

> that process is obsolete, cumbersome, finicky and convoluted. It just sounds like you don't like the process since you apparently aren't able to express a specific issue with it. Here's what I don't like about Github 1. You need to set up an account on there (I already have an email account) 2. You need to fork a repo rather than just simply cloning it. This means you have to go through a rather convoluted process…

> It just sounds like you don't like the process since you apparently aren't able to express a specific issue with it. I don't like the process because it has so many issues. It's just hostile in so many ways if you aren't using a VT-100, it's fundamentally flawed because of the assumptions it makes. > I would certainly be interested to read your specific complaints about the email based process instead of just a dis…

> I don't like the process because it has so many issues

And you still haven't described any of them.

> It's just hostile in so many ways if you aren't using a VT-100

That's a strawman. At some point, you're going to have to use git on the command line to stage code, push it up to the remote or pull new code from the remote. You're going to have to learn how to deal with code conflicts, resolve them and push up the resolution. You can certainly participate in the email patch workflow with a GUI email client and a few git commands either executed on the command line, or may be as part of a graphical git GUI client.

> where the other side is just not interested in improving the process

I already mentioned a few things in my reply to williamdclt pertaining to tl; dr documentation for setting up git format-patch and git send-email much like Github displays the commands to clone, set the remote, push and pull commits. But I don't think it's fair to say they're not interested in improving the process. For example, a new utility called GitGitGadget was written to provide an interface between Github pull requests and the Git mailing list and it's also mentioned in the Documentation folder of the git repository [1].

> in the end the reply will just be "it's all so perfect, look how easy and nice it is"

The problem is that you're being too dismissive in your criticism and comments rather than specifically describing what could be improved within their process. Effectively telling a project that they need to discard a process that they've successfully used since its inception and move to an entirely new process is a non-starter.

> I also know that being specific with an evangelist will just get me a reply "oh just rent a VPS if your ISP blocks SMTP"

Some people prefer to run their own SMTP servers rather than use Big Company's product. In my case, I have no problem doing this through the email account I have with my ISP.

> If you really can't admit to see a single fault with the system, you are evangelical.

I did mention in my other reply that the documentation for setting up the environment could be more concise, but not everything that's old is necessarily worse or obsolete. A lot of Webapps perform worse in terms of latency and input lag on my laptop with a multicore processor, gigabytes of memory and over a terabyte of secondary storage compared to the equivalent desktop application from decades ago on a machine with megabytes of memory, a single core processor running at less than a quarter GHz and secondary storage less than a quarter GB.

[1] https://github.com/git/git/blob/master/Documentation/MyFirst...

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#309
post #57

Earlier quoted context omitted.

This is what Linus has said in the past regarding soft-wrapping: https://github.com/torvalds/linux/pull/17#issuecomment-56611...

After reading that, I'm really thankful that git-by-email is dying. Hard wrapping is just really terrible for anyone not using a VT-100.

I'm pretty sure that most people would prefer their code hard-wrapped at a certain line length.

Re: But no, 80-column terminals in 2020 isn't “reasonable” any more

#310

Earlier quoted context omitted.

If the author thinks it's okay, and the reviewer thinks it's okay, a robot that can't actually understand code doesn't need a vote.

The reason for the robot is to have an impartial judge where neither author nor reviewer are okay with the opposing judgement. At the end of the day, a human’s judgement cycle is better reserved for something of a higher priority/use.

Both parties should be able to cede style arguments graciously. You can't really win the argument by quoting policy, only postpone the argument and burn team goodwill.
Post reply on HN